карта памяти
8C00.0000 
.kod boot+data
8C00.2999
....? mem
8C01.0000
.kod main
8C0F.9010
.данные
8C0F.90C0 шрифт 4  16х32
8C0F.D0D0 шрифт 4 симв 16х32
8C10.10E0 шрифт 4 12x26   не используется похоже, можно сюда рус
8C10.37F0 шрифт 4 5шт значки перемотки 16x16
8C10.3940 шрифт 16x20 для надписей меню итд.     16 цветные
8C10.8950 шрифт 16x20 симв для надписей меню итд. 16 цветные

8C10ED60
??? 
8C110F30
Jpg
8C1408FC
wav
8C1460D2
data
8C193970 -end

D0008000 -stek
---------------------------------------
адреса процедур и переменных(Hex)

+8C020344 -print string  st(10)-adrStr,a0-x,a1-y,a2-adrFont,a3-color
 8C020EFC тоже но в рамке
-+8C05A44C -view jpg а0 а1 а2 а3
+8C0284EC - выбор надписи {v0=a0*8+#8C146AA4+(4*язык0/1)}
-+8C09C104 -Play_WAV a0-adr a1-size a2=1?

+8C01A208    печать значков режима повтора (#8C41815D) 0/1/*
-8C01ABAC  ?ходилка по мп3
+8C01F06C    печать значков сверху карта,питание,сеть 
?8C01AE34   ?показывает инфу о мп3/wma файле, теги
+8C026C8C    вывод надписей меню аксесори/мемори/календарь 
+8C014D10 ----- вывод надписи Ок/Select
+8C0AC474 -форматирование строк Си а1-адр строки формата а2-значение а0-приемник
+8C0AC538 -форматирование строк Си + пишет в буфер или порт а0-адрес надписи 
 a1-значение копирует в rs232 и буфер. пишет в порт по флагу из порта возможно 
 в rs232 для отладки и в буфер
(8C195470) буфер приемник форматированных строк от s8C0AC538
(8C192A28) адрес обработчика отладки если 0 то пишет в порт 1025 по флагу 1026

(8C41815D) режимы повторов. 0- 1- 2-
b(8C18BEB3) 0-аксесори 3-мемори 4-календарь
b(8C18A098) -питание 0-полное 1 среднее 2 низкое
w(8C19399C) -вставлена флеш карта 0-нет
b(8C18A096) - питание от сети
w(8C18B078) - высота видео 244/288(пал)
b(8C193C32) флаг 0/1 0-не читает шрифт с флеш

(8C193B18) перекл для вывода написей внизу  0/1 фото/видео нет/есть
написано видео режим?
(8C18A4C8)  видео 0-нет (1 2 #10 #40)выводит  (в области прошивки) FF FF FF FF
(8C18A3A4) фото/видео 1/#10
(8C18A4D0) фото=0/1   вместо LOGO надо сделать HIDE и убирать надписи и время
(8C18A4C8) не (8C18A4D0)
байт(8C41.8120)=1 #8C18A4D0=0 (8C18A4C8)=2/16

+8C015754- вывод нижнего меню и сверху режима VIDEO PHOTO
+8C017764- вывод нижнего меню и сверху режима SETUP
+8C028554- вывод нижнего меню и сверху режима RECORD
+8C01B7C0 вывод нижнего меню и сверху режима AUDIO
+8C0218B0 ----- //вывод картинок: меню сетап аксесори
+8C028B44  запись или меню ходилка
+8C0EDE84  определяет длину строки? 0-на конце и еще что то 4байта
8C01AE34 ----- //вывод инфы мп3 файлов?
+8C029864  печать надписи по номеру выравненных вправо ширина 16 480
+8C028248 -----  ходилка по меню аксесори
+8C027E38 -----  про каледарь   
+8C027A10 печать календаря а0-год а1-месяц а2-число (глюк с $fp) и криво
+8C026F50 ----- показывает сколько свободной памяти на флешке  
+8C02646C ----- что то печатает какой то квадрат зеленый фиг знает.
+8C02A8B8 печать кит меню из 5 пунктов слева и есть FM 1/20
+8C0C7D88 рисует линию
(8C196244) вертикальные не рисует пока тут 0, а сюда из порта читаетh(#B00070D6)

+8C0C7F5C рисует прямоугольник и закрашивает
+8C0C84AC рисует прямоугольник и закрашивает
+8С020A94 - обработчик таймера! выводит значек уровень питания и время в углу
+8C0AA680 -чтение кнопок
+8C0C7D00 -чистка экрана
+8C028248 - меню аксесори, игры память календарь, всё работает!

8C02905C ----- запись WAV и еще чего то
+8C028248 -----   ходилка по меню аксесори?
+8C027E38 ----- что то про каледарь ходилка выбиралка?
+8C026F50 ----- показывает сколько свобной памяти на флешке?
8C01ABAC ----- ходилка по мп3?
8C01B534 ----- игралка wav?
8C01C364 ----- вывод служебной инфы о системе?
8C020240 -----загрузка большого шрифта из флеш в озу по секторам?
8C035870 загрузка из флеш в озу разного
8C0176A4 -----создает папки на флешке
8C016B0C -----играет асф и показывает жпг?

+8C0A9F9C - разрешает прерывания с кнопок
+8C0145F8 'считать нажата кнопка по адр а0
+8C0AA680 'ждать нажать кнопки и вернуть код в (v0)
+8C0145F8 'нажатие по адр а0   15-?/3-влево 1-вверх 2-вниз 4-вправо 
0-enter 5-esc 

(8C41812C)?=0/1
(8C41812E)
8C0BBD90-записывает 320х240 в порты а0 а1 .для вывода?
(8C192BBC)=320  (8C192BC0)=240    Sub s8C0B6304() считывает
8C0C7D00 чистка экрана 0000, (8C196244)=240  (8C196004)=480


значки из симв-16 8-9 10-11 12-13 14-15 уровень питания
18-19 стрелки в 4 стороны 20-21 вверхвниз 22-23 ентер 30-31 повтор все подряд
40-41 видеокамера 46-47 лок-он 48-49 лок офф 61-62 повтор по кругу 120-121 усб
124-125 микрофон 128-129 квадр кн 130-131 значек М 132-133 кругл кн 136-137 карта
138-139 перемотка вправо 140-141 перемотка влево 142-143 плей 144-145 пауза
146-147 сеть 116-117 динамик без контура   82

===================================
Status 12 interrupt mask and enable bits //12 раз вызавается
Cause  13 exception type and pending interrupt bits   //один раз вызывается
EPC    14 address of instruction that caused exception //2 раза вызывается
я так думаю что разрешает показ времени, нажатие кнопок итд
=====================================

$gp + #8110 -таблица функций?
переменные
(8C19623C) сколько бит(цветов) в точке шрифта
(8C196238) w h font 4-16color и 04.ww.00.hh
(8C418120) кол-во языков  - байт 0- англ язык 1-кит язык
(8C218D10) адрес большого национального шрифта
(8C196010) буфер для вывода точек 8-16b
(8C1936D0)
AC000000-адрес экрана? +(8C193E70)+(8C193B54)*2 (надо выяснить точно)
adr|AC000000 это похоже на адреса в флешке ,

+ помечены процедуры работающие в эмуляторе на бейсике.

вначале работы процедура 8С01.0000
копирует из флеш в ОЗУ 8c10800-8c193970
копирут 8c10000-8c10800 в 8c00000 не знаю зачем.(затирает загрузчик прошивки)
затем от 8C193988 до 8C51F5C0 чистка 0 
дальше заполняет адресами и какимито данными,
и на флеш что то пишет. читает из портов,
пишет в порты, инициализирует переменные.

Для реальных разработчиков, вышлю подробную информацию
о процедурах, что куда и зачем и самые последние версии
дизасемблера в бейсик и эмулятора M3.

-гипотезы-----------------------
наверно адреса 8С** это озу а АС** это флеш, первые 16мб(8) или кэшируемая
часть зависищая от значения записанных в порты.(это надо выяснить)

адрес экрана похоже AC00.0000-AC01.FFFF но это еще тоже не ясно,
точно AC00.0000+(8C193E70)+(8C193B54)*2 , а что в этих ячейках
пока не выяснил, надо выяснять что туда записывается из портов
или при инициализации. 
Экран текстовый 480х240(234) и графический 320х240
у текстового экрана 16 цветов на точку, 0-цвет прозрачный и видно
сквозь него графический экран (на эмуляторе пока не реализовано)
графика напрямую вроде не выводится (но это еще не точно), а 
даются адреса источника медиаданных и буферов графич. сопроцессору,
через его порты и он декодирует и выводит графику, музыку итд.
но возможно что это не совсем так, пока не разобрался..


16 февраля 2007г