Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Эмуляторы отечественных компьютеров (http://zx-pk.ru/forumdisplay.php?f=61)
-   -   Эмулятор ДВК (http://zx-pk.ru/showthread.php?t=18351)

Titus 14th December 2013 21:29

Quote:

Originally Posted by Alex_K (Post 652114)
Так что надо будет хорошо изучить работу троицы из 1801ВП1-095 и -096.

Да уж давно пора не изучить, а сточить эту братию, сфоткать кристалл и понять точно, как это работает. Вон, таймер в УКНЦ - сколько исследований, и все равно до конца не поняли, потому что разбираем последствия, а не причины.

Patron 14th December 2013 22:24

Quote:

Originally Posted by Alex_K (Post 652114)
А большая сложность там будет в том, что контроллер MY получает доступ к адресному пространству материнской платы ДВК через механизм ПДП. В УКНЦ нигде ПДП не используется. Так что надо будет хорошо изучить работу троицы из 1801ВП1-095 и -096.

Для начала ПДП будет эмулироваться очень упрощённо, взаимодействие с устройствами на чужой шине будет невозможно, поэтому не используемые в прошивке супер-экстремальные возможности контроллера MY ( вроде ввода символов с порта клавиатуры ДВК ) работать не будут. Что же до совместного доступа процессоров к памяти, то эмуляторы обоих процессоров будут работать с общей памятью, вообще не думая друг о друге.

Относительно реализации окна ДМА в КМД - есть любопытное наблюдение. Чтобы изменить границу окна - прошивка пишет одинаковые байты в старший и младший байты регистра данных. В итоге эмулируется это так, что если при записи процессором КМД в регистр данных старший и младший байты совпадают - изменяется базовый адрес окна.

Alex_K 14th December 2013 22:44

Quote:

Originally Posted by Patron (Post 652134)
Для начала ПДП будет эмулироваться очень упрощённо, взаимодействие с устройствами на чужой шине будет невозможно, поэтому не используемые в прошивке супер-экстремальные возможности контроллера MY ( вроде ввода символов с порта клавиатуры ДВК ) работать не будут. Что же до совместного доступа процессоров к памяти, то эмуляторы обоих процессоров будут работать с общей памятью, вообще не думая друг о друге.

Ну эти две подпрограммки для взаимодействия с регистрами терминала де-факто не используются. А вот со стороны материнки КМД взаимодействует сам с собой, это подпрограмма по адресу 2722.
Quote:

Originally Posted by Patron (Post 652134)
Относительно реализации окна ДМА в КМД - есть любопытное наблюдение. Чтобы изменить границу окна - прошивка пишет одинаковые байты в старший и младший байты регистра данных. В итоге эмулируется это так, что если при записи процессором КМД в регистр данных старший и младший байты совпадают - изменяется базовый адрес окна.

А заносит он два одинаковых значения только потому, что доступ к 22-разрядной адресной шине реализуется с помощью двух микросхем 1801ВП1-095, при этом AD21-AD19 идут с младшего байта, а AD18-AD14 - со старшего.

Titus 14th December 2013 22:48

Обьясните, чем так хорош этот MY и почему его сделали таким сложным?

Alex_K 14th December 2013 22:57

Quote:

Originally Posted by Titus (Post 652143)
Обьясните, чем так хорош этот MY и почему его сделали таким сложным?

Так как собственно контроллер дисковода сделан на 1801ВП1-128, которая не могёт ни ПДП, ни прерываний, то программа обмена с дисководом вынуждена занимать все процессорное время с запретом всех прерываний. Это недопустимо для систем реального времени. Потому и оформили данный контроллер с отдельным процессором. А так дал ему команду, он её выполнит и сообщил о результате. Почти как в УКНЦ. А ещё прошивки -092, неофициальная -093 и -255 могут исполнять подпрограмму пользователя в памяти вычислителя через окно доступа.

Patron 14th December 2013 23:19

Quote:

Originally Posted by Alex_K (Post 652141)
доступ к 22-разрядной адресной шине реализуется с помощью двух микросхем 1801ВП1-095, при этом AD21-AD19 идут с младшего байта, а AD18-AD14 - со старшего.

А какие биты регистра данных на какие AD подключены ?

Alex_K 14th December 2013 23:33

Quote:

Originally Posted by Patron (Post 652150)
А какие биты регистра данных на какие AD подключены ?

Разряды 15-13 - не используются;
разряды 12-08 - AD18-AD14;
разряды 07-05 - AD21-AD19;
разряды 04-00 - не используются.

Поэтому, чтобы не путаться, заносить одинаковые значения надо в оба байта. Все это видно на схеме КМД, микросхема D15 обрабатывает старший байт, а D16 - младший, соответственно для РК и РД на обеих магистралях.

Titus 14th December 2013 23:48

Quote:

Originally Posted by Alex_K (Post 652145)
А ещё прошивки -092, неофициальная -093 и -255 могут исполнять подпрограмму пользователя в памяти вычислителя через окно доступа.

Эти неофициальные возможности в каких-либо программах применялись?

Alex_K 14th December 2013 23:56

Quote:

Originally Posted by Titus (Post 652156)
Эти неофициальные возможности в каких-либо программах применялись?

Не знаю, с ДВК был знаком только как пользователь. У Владимира Полетаева есть программка определения номера прошивки с использованием этих недокументированных возможностей.
Хотя еще вроде для КЦГД защита дискеты с KEYGP делалась.

hobot 15th December 2013 01:11

возможности MY контроллера (тема эмуляция)
 
Alex_K, ещё KZ.SYS ! есть-был у Владимира Полетаева)

http://s5.hostingkartinok.com/upload...8c9f19b587.jpg

---------- Post added 15.12.2013 at 00:00 ---------- Previous post was 14.12.2013 at 23:36 ----------

+++ Покопался в архиве там только SYS !!!
Суть KZ.SYS на первых двух листах, сейчас сфоткаю !!!

---------- Post added at 00:11 ---------- Previous post was at 00:00 ----------



(!) Добавил фотки (!)


А дальше непосредственно исходник самого драйвера на макро-11.
Если нужно могу все листы сфотать.


All times are GMT +4. The time now is 02:59.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.