dk_spb, Схема ПЗУ в IDE контроллере довольно забавная. Там припаяны в параллель К573РФ5 (8*2Кб) младший байт и К155РЕ3 (8*32 байт) старший байт. В результате нижние 64 байт (32 слов) - правильные, а дальше начинается каша из содержимого РФ5 (верного!) и повторяющегося содержимого РЕ3 (мусор). Но к счастью в нижних 32 словах сидит "загрузчик" который переносит побайтовое верное содержимое из РФ5 в память ПП, регистрирует хэндлер и запускается там.
Аплодирую авторам стоя
Вдобавок содержимое ПЗУ вроде как должно быть инвертировано. Так что генератор из кода в прошивки надо писать скрипт.
Прошивки есть, снятые с монитора ПП, то есть в той форме как его видит проц, 32+каша, а не с живых ПЗУ. Могу попробовать разобрать на ПЗУ-шки и дизассемблировать.
http://www.phantom.sannata.ru/forum/...&key=989263667
Как-то так:
Код:
ROM:000000 .PSECT ROM
ROM:000000 nop
ROM:000002 mtps #200
ROM:000006 mov #100000, SP
ROM:000012 mov #70, R3
ROM:000016 mov #32, R2
ROM:000022 mov R2, R1
ROM:000024 loc_000024: ; CODE XREF: ROM:000030
ROM:000024 movb (R1)+, (R2)+
ROM:000026 inc R1
ROM:000030 sob R3, loc_000024
Обратите внимание что код работает с адреса 0 и команда с адресом 000032 генерится на лету "побайтовым" вытаскиванием из образа.
Upd Продолжение балета:
Код:
ROM:000032 movb R0, byte_113
ROM:000036 loc_36: ; CODE XREF: ROM:000042 ROM:000054
ROM:000036 tstb @#176674
ROM:000042 bpl loc_36
ROM:000044 tstb @R1
ROM:000046 bmi loc_56
ROM:000050 mov (R1)+, @#176676
ROM:000054 br loc_36
ROM:000056 ; ---------------------------------------------------------------------------
ROM:000056 loc_56: ; CODE XREF: ROM:000046
ROM:000056 mov word_120, R3
ROM:000062 mov #1000, R2
ROM:000066 mov R2, R1
ROM:000070 loc_70: ; CODE XREF: ROM:000074
ROM:000070 movb (R1)+, (R2)+
ROM:000072 inc R1
ROM:000074 sob R3, loc_70
ROM:000076 br loc_104
ROM:000076 ; ---------------------------------------------------------------------------
ROM:000100 .word locret_102
ROM:000102 locret_102: rti
ROM:000104 ; ---------------------------------------------------------------------------
ROM:000104 loc_104: ; CODE XREF: ROM:000076
ROM:000104 jmp @#loc_1000