PDA

Просмотр полной версии : Эмуляция КСМ ДВК



shattered
02.11.2014, 20:32
Моя конечная цель -- добавить к MESS весь ДВК (и есть успехи -- см. соседнюю тему (http://zx-pk.ru/threads/26624-emulyatsiya-vychtekhniki-na-mpk-k1801-v-mame-mess.html), но для разминки -- КСМ.

Версия 0.156 (26 ноября 2014) вышла с работающим драйвером dvk_ksm.

Исходные данные:

http://www.emuverse.ru/downloads/computers/DVK/docs/KSMSchema1.djvu
схема и ТО

http://archive.pdp-11.org.ru/BIBLIOTEKA/DVKTXT/KSM_MS7004/
KSM_MS7004.rar: прошивки и комментированные дизассемблированные листинги (спасибо Alex_K за них). Они же -- https://github.com/shattered/retro-bios/tree/master/dvk_ksm

http://zx-pk.ru/attachment.php?attachmentid=46900&d=1395503848
Вариант прошивки, который соответствует ТО -- системное ОЗУ по адресу 0x2000..0x20FF.

http://www.phantom.sannata.ru/forum/index.php?t=17079
Правильный дамп ksm_02_PLM_D16.BIN (эмулятору не нужен)

http://zx-pk.ru/showthread.php?t=20092
http://zx-pk.ru/showthread.php?t=18184
http://zx-pk.ru/showthread.php?t=10371
http://zx-pk.ru/showthread.php?t=18351
http://zx-pk.ru/showthread.php?t=2348
Залежи информации :-)



порты

5E-5F i8259
6E-6F i8251 <keyboard>
76-77 i8251 <line>
78-7B i8255
PA код номера первой строки текущей страницы
PB DIPs
0 стоп-битов - 1 или 2
1 контроля по четности
2 разрешение или запрет контроля по четности/нечетности
3 разрешение отображения управляющих символов
4 разрешение/запрет фиксации курсора в крайних положениях строки
5 запрет автоповтора
6 авто ПС, ВК
7 выбор КОИ Н0 и Н1 (0) или КОИ Н2 (1)
PC0..3 DIPs
0 режим XON/XOFF
1..3 скорость обмена
PC5..6 скорость в линии
PC7 мерцание символов

карта памяти

0000-0FFF ROM
2000-20FF SRAM
C000-FFFF VRAM
=
C000..D7FF 1 и 2 страницы маркера
E000..F7FF 1 и 2 страницы символов
F8B0..F8FF служебная строка


https://img-fotki.yandex.ru/get/4613/264743.3/0_aab7c_390e1c73_orig.png (http://fotki.yandex.ru/users/shattered/view/699260)

Чтобы воспользоваться, нужно взять MESS 0.156 или новее, положить в нужное место прошивки и


# подключить к заглушке -- должно быть видно эхо вводимых символов
mess dvk_ksm -rs232 loopback
# проверка работы на большом потоке символов (tcp/ip chargen)
mess dvk_ksm -bitb socket.localhost:19
# telnet BBS
mess dvk_ksm -bitb socket.telehack.com:23
mess dvk_ksm -bitb socket.rsx.pdp-11.org.ru:23


КСМ настраивается либо через DIP switches (в соотв. меню MESS), либо на ходу -- F4 (УСТ РЕЖИМА на клавиатуре 7004) и одной из клавиш цифровой клавиатуры. 0 выбирает скорость порта, 1-9 -- режимы (http://zx-pk.ru/showthread.php?t=2348&page=203). F9 очищает память, F20 (никуда не назначено по умолчанию) переключает режимы ЛИН/АВТ.

Titus
02.11.2014, 20:34
Кстати, сэмулирован в EmuStudio, можно сравнить, если что)

shattered
02.11.2014, 20:55
Только начал и уже обнаружил, что их было два варианта -- 7.102.076 -- с "движковыми переключателями" и 7.102.228 -- без них.

в скане ТО и схемы по ссылке -- ТО от первого, а схема и сборочный чертеж от второго. прошивка при этом одинаковая?

shattered
03.11.2014, 22:09
Добавил клавиатуру 7004. Занятный факт -- скорость обмена с ней не 4800, а скоре 4960 (иначе в КСМ срывается синхронизация). В ТО на КСМ ошибка, указано и вовсе 9600. Может быть, ошибка и в ТО 7004 -- номинал кварца указан 4.608 МГц?

https://img-fotki.yandex.ru/get/6817/264743.3/0_aaba3_8f4b7658_orig.png (http://fotki.yandex.ru/users/shattered/view/699299)

shattered
04.11.2014, 11:36
Второй занятный факт -- прошивка знакогенератора тоже есть в двух вариантах. На картинке видно, что у буквы G не хватает одной точки в нижнем ряду. В Emustudio лежит прошивка с точкой, и я не думаю, что это ошибка чтения -- исправлены обе копии (в нижней и верхней части таблицы).

shattered
04.11.2014, 15:47
Давайте проверим, растягиваются ли символы псевдографики на полный размер ячейки (7x8 -> 10x11) -- тест в приложении.

https://img-fotki.yandex.ru/get/4800/264743.3/0_aabab_7ea7dd4_orig.png (http://fotki.yandex.ru/users/shattered/view/699307)

MiX
04.11.2014, 19:47
shattered, Есть такой эмулятор как Башкирия 2м. Там есть прошивки КСМ в составе эмуляции ДВК и могут отличатся от твоих (не проверял).

Если что-здесь (bashkiria-2m.narod.ru/files/emu.rar)

P.S. Что с эмулятором фрязинского дисплея? Проект будет развиваться?

shattered
04.11.2014, 21:48
В b2m уже известные прошивки КСМ.

К фрязинскому надо написать документацию (как запускать, как настраивать сам терминал) и перепроверить мелочи (раскладка клавиатуры), а в целом он работает.

Ну и общее ограничение MESS -- использовать настоящий COM порт не выйдет, только по сети, и скорость зафиксирована на 9600. То же относится и КСМ.

shattered
05.11.2014, 00:30
Готовый результат уехал в github -- https://github.com/mamedev/mame/pull/34

Прошивки во вложении. Я подозреваю, что прошивка "память на 0x2100" -- это ошибка чтения, но пока пусть будет.

Alex_K
05.11.2014, 00:38
... Я подозреваю, что прошивка "память на 0x2100" -- это ошибка чтения, но пока пусть будет.
А вот как раз это правильная прошивка, т.к. в цикле очистки памяти значение в HL декрементируется.

shattered
05.11.2014, 00:56
там DCR L, не DCX H, поэтому получается счет от 20ff до 2000.

shattered
12.11.2014, 00:02
картинка для привлечения внимания. сам тетрис запущен в simh (и не работает дальше заставки)

https://img-fotki.yandex.ru/get/5507/264743.3/0_aabcb_86f1a6a_orig.png (http://fotki.yandex.ru/users/shattered/view/699339)

Kinder5912
02.01.2019, 00:31
Исходные данные:
http://www.emuverse.ru/downloads/computers/DVK/docs/KSMSchema1.djvu Схема и ТО


Всем привет! Ссылка сдохла... :-(
Ищу полную схему КСМ. Та схема, что есть в сети обрезанная...((.
Если у кого есть (в хорошем качестве) очень прошу выложить куда-нить или мне на почту выслать.
Заранее спасибо!

MiX
02.01.2019, 01:00
Ссылка сдохла... :-(
На том же ресурсе- схема. (http://www.emuverse.ru/downloads/computers/DVK/docs/KSM/)

Kinder5912
02.01.2019, 01:50
Эта схема есть в куче мест, но она не полная. Неужели только я это вижу :-))
Смотрим первый же лист (он центральный из первого ряда - так как, как я понимаю, планировалось делать 3 скана на лист по горизонтали).
Смотрим на его правую часть. Видим м/с D35.2, D38 и не видим что дальше, правее их...

Именно эта схема лежит в КУЧЕ МЕСТ. Но она кривая :-((, нужен еще кусочек - правее D35.2