Капитан, всё ненадо, интересен загрузчик. Думаю что там только DX и МХ.
Вид для печати
kapitan-u, Я имел ввиду что в автоматизированных системах частота вообще не должна уходить (плата промышленная).
IMHO как раз в серьезных приложениях писать программы ориентируясь во времени на циклы процессора - это плохо. Надо работать с таймерами.
---------- Post added at 20:23 ---------- Previous post was at 20:16 ----------
:-) шара не катит! Там все довольно хитрожопо устроено. Либо все - либо ничего. Ну или у вас уже опыт есть по раскрутке десятка таких мониторов, тогда может и реально выцепить кусок.
Из того что я разобрал:
- размещение ПЗУ в памяти 140000
- стартовый вектор 140000 и он равен 14300
- в начале монитор проверяет контрольную сумму ПЗУ, которая лежит в последнем слове. Если она несовпадает - ждет reset и проверяет снова пока несовпадет.
- потом читает перемычки и разруливает старт согласно перемычкам.
- всякие старты на пользовательское ПЗУ 170000 видны довольно четко
- нормальный начальный старт монитора уже намного хитрее. он переносит здоровый кусок кода и данных в RAM причем USER Ram и стартует его там в USER mode
- этот код перемещаемый и зная его точку входа можно продолжить дизассемблирование в ПЗУ, что и сделано
дальше уже сил нехватило и я просто понаходил структуры данных типа сообщений и обозначил как строки, а так же выбор загрузчиков, который хорошо видно по коммандам монитора
а вот и неправда. сигнал для платы таймера 50Гц вырабатывается на плате вычислителя микросхемой SART, а она сидит на кварце. вобще у меня такое впечатление, что идейно все сделано очень хорошо, а вот технологически (во всяком случае та плата, что у меня в руках) довольно хреново.
пока нет кварца, загнал конденсаторами на 6.6Mhz - работает.
пробую грузить с MX0 выдает 011000
подскажите пожалуйста, что это значит