Коллега, не слишком ли много требований в одном письме?
Вид для печати
Коллега, не слишком ли много требований в одном письме?
В разных системах команд клавиатура 15ИЭ-00-013 генерит разные коды:
Код:┌───────┬───────┬───────┐
│1. │2. │3. │
│ V~~| │ ^ │ ^\_| │
│ │ │ │ │
├───────┼───────┼───────┤
│4. │5. │6. │
│ <─── │ ^\ │ ───> │
│ │ \ │ │
├───────┼───────┼───────┤
│7. │8. │ │9. │
│ <──┤ │ V │ ├──> │
│ │ │ │
├───────┼───────┼───────┤
│10 ╤ │11 │ │12 ^ │
│ │ │ V │ │ │
│ V │ . │ ╧ │
└───────┴───────┴───────┘
Код:система команд # 2 система команд # 1
клавиша код последовательность код последовательность
1. 33 25 Esc Cntrl/U 25 Cntrl/U
2. 33 101 Esc A 34 Cntrl/\
3. 15 Cntrl/M 15 Cntrl/M
4. 33 104 Esc D 32 Cntrl/Z
5. 33 10 Esc Cntrl/H 10 Cntrl/H
6. 33 103 Esc C 31 Cntrl/Y
7. 33 24 Esc Cntrl/T 24 Cntrl/T
8. 33 102 Esc B 35 Cntrl/]
9. 33 23 Esc Cntrl/S 23 Cntrl/S
10. 33 120 Esc P 26 Cntrl/V
11. 33 121 Esc Q 2 Cntrl/B
12. 33 122 Esc R 22 Cntrl/R
---------- Post added at 16:07 ---------- Previous post was at 16:01 ----------
Там процессор 1801ВМ2 на частоте 6..12 МГц.
Чтобы узнать на какой частоте работает конкретная ДВК-2, ДВК-3 или ДВК-4 - на ней нужно запустить программу PDPCLK.SAV
...
Образ диска Patron выкладывал тут: http://zx.pk.ru/showpost.php?p=591414&postcount=189
Прямая ссылка на архив с эмулятором: http://bashkiria-2m.narod.ru/files/emu.rar
Картинка
http://zx.pk.ru/attachment.php?attac...1&d=1365859021
У меня на 2х-ядерном проце под Vista_64 не виснет ( Emulation time = 10% ).
Но есть глюк эмуляции многокодовых посылок клавиатуры.
Если выключить SL и позажимать стрелки - результат должен быть таким:
Код:.SE SL OFF
.$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A^C
.$B$B$B$B$B$B$B$B$B$B$B$B$B$B$B$B$B$B$B$B$B$B$B$B$B$B$B$B^C
.$D$D$D$D$D$D$D$D$D$D$D$D$D$D$D$D$D$D$D$D$D$D$D$D^C
.$C$C$C$C$C$C$C$C$C$C$C$C$C$C$C$C$C$C$C$C$C$C$C$C$C$C$C^C
.
---------- Post added at 18:09 ---------- Previous post was at 17:40 ----------
На одноядерном проце под XP - Emulation time = 120%, но тоже не виснет.
Никак не справился. Не работает. Полноэкранный режим вот единственная положительная эмоция пока. Всё остальное грубо скажем - не пашет у меня )
Вообще никак. Повисон, через какое-то время вообще на клавиатуру перестаёт реагировать окно эмулятора. Клоунада какая-то, балаган ! )
Новая версия системного диска DX с системой RT-11 v5.7, новой версией DAY.SAV, которая сама переключает терминал во 2-ю систему команд, оригинальным тетрисом для "Электроники 60" и другими играми.
...
Сделал загрузочный диск ТМОС с DX. Места почти нет, убрал все лишнее - тесты КЦГД, КГД, КЖД ...
Как ни странно, тест основных команд процессора 791401 пройден без ошибок. Но вот с прерываниями полный бардак. Неправильно работает 1801ВП1-035, которая сидит на адресах терминала. Если уж зарегистрировано прерывание, то оно пытается отработать по полной, даже если сбросить бит 6. Надо запустить тест 791404, там уже все видно будет. Кстати, после ошибки перезапуск по адресу 30124 не проходит, все время сваливается по прерыванию 60 от клавиатуры.
Также есть глюк - при начальном запуске в RS содержится значение 2350, а должно 350.
Обновил эмулятор, с клавиатурой должно быть лучше. KLOP и TETRIS вроде работают, но на доп. клавиатуре. С нубуками проблема будет. XONIX по прежнему не реагирует на клаву. Подозреваю, опрашивает флаг доп. клавиш, я его пока не сделал...
Если зажимать стрелки, то при их отпускании иногда пролазят:
http://emulator.pdp-11.org.ru/misc/Arrows.pngКод:$A = ^\
$B = ^]
$C = ^Y
$D = ^Z
---------- Post added at 15:52 ---------- Previous post was at 15:46 ----------
На эмулируемой ДВК-1 @ 5.3 МГц тест SPEED.SAV ( он есть на первом образе DX ) даёт такой результат:
Код:.SPEED
ТЕСТ БЫСТРОДЕЙСТВИЯ
КОМАНДА СЛОЖЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 376
КОМАНДА СЛОЖЕНИЯ РЕГИСТР-ПАМЯТЬ
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 176
.
Я как-то упустил из виду, что таймер включался вручную :) Сделаю кнопку на тулбаре.
---------- Post added at 20:59 ---------- Previous post was at 20:58 ----------
Исправил ещё одну ошибку, XONIX заработал.
---------- Post added at 21:01 ---------- Previous post was at 20:59 ----------
Если бы я ещё знал, какие числа должны быть... :rolleyes:
Хотя, один хрен, задержки на шине всё равно пока не эмулируются.
Для этого есть красная кнопка "Сброс", или Ctrl+Break
Неправильно работает. По всей видимости перенесена по аналогии с БК. Там (на БК) действительно на вход IRQ1 подается импульс. Здесь же сигнал должен удерживаться постоянно в положении ПУЛЬТ и сниматься в положении ПРОГРАММА. К тому же когда процессор находится в т.н. HALT-режиме (установлен разряд 10 в PSW), то прерывание по этому сигналу замаскировано. В положении ПУЛЬТ в ДВК можно по шагам отлаживать программу командой "P" в пультовом отладчике.
А какой это даёт эффект? Я имею ввиду по сравнению с импульсом? После возвращения из режима HALT снова в него входить?
Да, тут недоработочка.
А вообще, что происходит если переключатель перевести в положение ПУЛЬТ, а потом обратно?
Команда STEP в процессоре у меня пока не реализована - руки не дошли. :)
Если активен сигнал IRQ1 (положение ПУЛЬТ) то при запуске по команде START программа не выполняется, а сразу же сваливается в пульт по адресу запуска. А команда STEP в отличии от START запрещает все прерывания на один шаг, поэтому одна команда стопроцентно выполнится, а если активен сигнал IRQ1, то после выполнения этой команды и произойдет выход в пульт. Таким образом отличие команд START и STEP состоит только в том, что STEP на один шаг запрещает все прерывания (также как и RTT при установленном бите T).
Это они и есть.
При запуске SPEED.SAV результат должен быть таким:
Код:.SPEED
ТЕСТ БЫСТРОДЕЙСТВИЯ
КОМАНДА СЛОЖЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 376
КОМАНДА СЛОЖЕНИЯ РЕГИСТР-ПАМЯТЬ
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 176
.
---------- Post added at 21:50 ---------- Previous post was at 21:47 ----------
Ровно то же самое, что и по команде HALT
---------- Post added at 21:58 ---------- Previous post was at 21:50 ----------
Бит 10 блокирует все внешние прерывания, а бит 11 - блокирует только IRQ1.
У 1801ВМ1 есть глюк обработки прерываний - при возникновении любого аппаратного или программного прерывания старший байт PSW сохраняется в стеке вместе с младшим, потом обнуляется и уже ни при каких условиях обратно не восстанавливается.
При установленном бите 10 - прерывание зависания ( Trap_To_4 ) обрабатывается как HALT-trap - это единственное отличие HALT-моды ВМ1 от USER-моды.
Возможно это действительно была дока про ВМ2. Мне казалось, разница там только в процедуре начального пуска и прерываниях в HALT режиме.
b2m, с помощью wcx-плагина от Patrona, и на базе существующего образа DX,
можно для проверки совместимости и просто ради интереса вот отсюда брать и гонять
классические символьные ДВКашные игры (практически все там есть).
http://archive.pdp-11.org.ru/ukdwk_a..._symbol_games/
http://hobot.pdp-11.ru/ukdwk_archive..._symbol_games/ - зеркало.
Отдельной темы по ЕС1842 нет, ну и ладно.
Вопрос: конкретно чем отличается К1810ВМ86М от К1810ВМ86? Известно, что
И что это за Дирижер такой?Цитата:
В качестве базового микропроцессора в ЕС 1842 использован микропроцессор К1810ВМ86М. В отличие от микропроцессора К1810ВМ86 он имеет ряд дополнительных команд (из системы команд 80286), дополнительные шины прерываний и некоторые дополнительные функции для реализации виртуальной памяти.
Функции микропроцессора 80286, не выполняемые в микропроцессоре К1810ВМ86М и КВП, осуществляются с помощью программного эмулятора, размещенного в защищенной области памяти. Таким образом, в ЕС 1842 создан полный функциональный аналог микропроцессора 80286.
Кроме того, для выполнения в мультизадачном режиме программ, написанных для микропроцессора типа 8088/8086, на базе микропроцессора К1810ВМ86М, КВП и программного эмулятора предусмотрен режим виртуализации микропроцессора 8086 (VM86).
Для поддержки этого режима разработана специальная многозадачная операционная система «Дирижер». Она обеспечивает выполнение в четырех разделах прикладных и системных программ, разработанных для ПЭВМ на микропроцессоре типа 8088/8086. В этом режиме на компьютере могут функционировать независимо четыре операционные системы типа MS DOS или СР/М 86.
Перенес пост из http://zx.pk.ru/showthread.php?t=21240
МК-88 под видом Искры 1031 даже как-то работает в MESS, но криво (не реагирует на Shift клавиатуры, не грузится с диска...). ЗГ тот, что уже был в MESS (думаю, что он 1:1 совпадает с ЕС1841). BIOS 3.92:
http://img-fotki.yandex.ru/get/5644/...5417de2_XL.png
http://img-fotki.yandex.ru/get/6445/...6a23dbf_XL.png
---------- Post added at 00:37 ---------- Previous post was at 00:34 ----------
Вдогонку:
МК-88
Ассистент-128Цитата:
все дампы есть на http://zxbyte.ru/mk88.htm. Разница в том, что компьютеры ранних и поздних исполнений отличаются. Например, у позднего исполнения для знакогенератора стоит SRAM, а у раннего - ПЗУ. И другие, не менее серьёзные, отличия.
Есть статья в ruwiki и чей-то комментарий в ru_oldpc (livejournal):
Цитата:
у Ассистента не было контроллера ПДП (8237)
Обращение к диску по 13Н прерыванию полностью обслуживал процессор, со всеми ожиданиями и проверками готовности. Остальная работа при этом замирала, и на экране "снег" появлялся.
---------- Post added at 01:06 ---------- Previous post was at 00:37 ----------
Подключил Ассистент как клон 5150
http://img-fotki.yandex.ru/get/6443/...f8d936cb_L.png
После этого -- черный экран в режиме 40x25 с курсором в углу и все.
В отладочном логе видно, что идет попытка грузиться с дискеты, подсунул дискету -- вроде как прочлось, но картинка все та же.
Нужна тех. документация к Ассистенту (и вообще любая документация) и его родной софт. Если есть исходники BIOS (именно исходники, не дизассемблированные) -- совсем хорошо.
Насчет ПДП - КР1810ВТ37 там всё же есть если не ошибаюсь, проверю. Документацию отсканирую ту что в комплекте.
Родной софт - руссифицированный IBM-овский тест-прогон на бейсике.
Исходников BIOS нет, я навскидку сравнивал куски с исходниками из IBM Technical Reference Manual, один-в один. Попробую дизассемблировать и сравнить полностью.
Micko уже добавил Ассистент в MESS, а вам спасибо за дамп.
Нашел тему про Ассистента - http://zx.pk.ru/showthread.php?t=9579 и там пишут, что
Но как-то он нестандартно подключен, на форуме MESS пишут, чтоЦитата:
Контроллер дисковода у Асистента был PC-совместимый, тоесть 765 (NEC uPD765A)
Цитата:
It looks to have some non-standard use for bit 7 of the dor. It reads one sector then toggles that bit. It then looks for the FDC to be waiting for data (rather than sending it). <...> I bet bit 7 sets the tc line.
Похоже, к нему подключались односторонние 80-дорожечные дисководы?
c TEAC FD-55BR я его заставить работать так и не смог. К сожалению, я не электронщик, поэтому причину определить мне сложно. Читает только с МС-5305, записывать на дискеты тоже не получается, скорей тут уже причина в дисководе.
MESSdevs пилят asst128 и говорят, что дамп знакогенератора неполный -- с F4000 начинаются символы 0x80 -- http://forums.bannister.org/ubbthrea...8386#Post88386
Можете проверить, есть ли другая половина?
ув. тов. SoftCat поделился полными прошивками от Ассистента. Остается только Бейсик скинуть. Хотя там наверняка байт-в байт IBM-овский бейсик за исключением копирайта смоленского при запуске.
Я тем временем пытаюсь заставить MESS эмулировать Поиск-овое видео, пока успехов нет :(