Кто-нибудь из обладателей реальной УКНЦ, пожалуйста прогоните у себя сканер портов?
http://pdp-11.nsk.ru/files/rt-11/ioscan.zip
Вид для печати
Кто-нибудь из обладателей реальной УКНЦ, пожалуйста прогоните у себя сканер портов?
http://pdp-11.nsk.ru/files/rt-11/ioscan.zip
Прогнал. Результат:
176570-176576
176640-176646
176660-176676
177560-177566
В эмуляторе так же.
А для чего регистры 176670 и 176672 ? в описании не нашел.
В "Техническом описании" они упоминаются на стр. 34 -- "Резерв. Формируется сигнал СИП."
Не представляю что это такое.
Дык вроде где обычно:
http://uknc.narod.ru/Strelets/index.htm начиная со ссылки 000-001.zip
---------- Post added at 02:16 ---------- Previous post was at 02:09 ----------
Про эти регистры нашёл ещё в журнале "УКНЦ" №1/1995, что "Считывается «лог. 0»" и формируется сигнал микросхемой D18. D18 это контроллер байтового обмена ЦП/ПП.
Было бы ещё интересно взглянуть на результат программы IOSCAN, адаптированной для шины ПП.
Это только на чтение. На запись совсем иная будет картина.
Это-то понятно. Но универсальной программы на запись не сделаешь. Если про стандартные регистры еще известно и понятно как их восстановить, то запись в регистры нестандартного оборудования смерти подобна, регистр может различаться по чтению и записи, может на чтение не реагировать, ну т.д. и т.п.
Как должно выглядеть при записи на стандартном оборудовании:
Код:177010-177102
177130-177132
177700-177704
177710-177712
177716
Алексей, спасибо за тест!
Получилась разница с реалом по адресам 177712-177713.
Там в эмуляторе стоит чтение буферного регистра таймера. Согласно ТО действительно там только W.
Не за что! А вот по записи разница в эмуляторе и реальной машине будет большая. Диапазон 177030-177052,177056 реагирует только на запись. Регистр 177714 только на чтение.
А насчет ТО, то не всегда ему можно доверять, бывают расхождение с реалом. Недавно я убедился в этом насчет ловушки адреса, не описано, что в режиме выдачи сигнала ПОРТ формируется одновременно RPLY, т.е. эта ячейка для процессора появляется в адресном пространстве (в эмуляторе это уже сделано). Из-за предвыборки и медленного чтения ОЗУ возникают интересные эффекты, это я пока не дотестировал, времени нет. Ну и по DCLO и INIT ловушка адреса не сбрасывается, в этом расхождение с ТО, т.е. поставили ее в режим прерываний, то даже после сброса по кнопке СБРОС, она так и останется в режиме прерываний.
А уж сколько Titus про программируемый таймер выяснил, тут целый трактат можно писать.
Ну и главное: сетевой таймер дает прерывания не каждые 20 мс, а каждые 19,968 мс, а минимальный квант программируемого таймера равен не 2 мкс, а 1,92 мкс. Вот так-то, все подтверждено практическими исследованиями. Вполне вероятно, что и клавиатура опрашивается не каждые 64 мкс, а каждые 61,44 мкс. Соответственно надо по новой высчитать частоты генератора звука, исходя из кванта в 1,92 мкс.
число 0.019968 (секунд) очень напоминает результат деления 15.4 МГц (dot clock) / 800 (ширина растра в пикселах) / 384.384 (высота его же в пикселах)
т.е. и кадровая не 50, а 50.080(128205)?
Похожий вопрос у меня был здесь http://zx-pk.ru/threads/14702-raschj...l=1#post880314
как-то остался без ответа :)