- Контроллер КМД / ДВК
- [+] Старые сообщения (24)
-
? ra3qdp - 13.12.2013 20:10
как тут регистрироваться ?
хочу связаться с anonymous
-
? Волька - 13.12.2013 20:18
ra3qdp, пока никак, запросите у него здесь email, или дайте свой, чтобы он связался с вами.
-
? ra3qdp - 13.12.2013 20:33
для anonymous : свяжитесь со мной, пожалуйста: ra3qdp@mail.ru
-
? Alex_K@ - 13.12.2013 23:59
Patron, да на тех же 4 МГц.
-
? Patron - 20.12.2013 13:48
Вопрос по работе КМД в составе ДВК-1.
При включении питания ДВК - КМД запускает длительный тест, а потом обращается на шину ДВК, чтобы записать 0 по адресу 172140 - в свой регистр состояния.
Но уже через несколько команд после включения питания ДВК - системное ПЗУ ДВК-1 отключает от шины регистр 172140 и подключает на его место тестовое ПЗУ.
У меня в эмуляторе ДВК-1 это приводит к тому, что при попытке записи по адресу 172140 после завершения начального теста КМД - процессор КМД получает прерывание зависания ( Trap to 04 ).
А что происходит на самом деле при работе КМД в составе ДВК-1 ?
¤
-
? MM@ - 20.12.2013 14:13
Очень интересно, как это ПЗУ на матери может отключать КМД, ведь там несколько лет разницы во времени ?
*
Механика такова : если КМД производит запрос ПДП на запись, то сама на него и отвечает сигналом RPLY .
Можно это слегка поизучать на примере БК11М с КМД - с помощью полностью пассивного переходника МПИ, а на место РЕ1 поставить для наглядности РЕ2-330 - прямо поверх РЕ2-324.
*
Насчет эмуля ДВК - нельзя ли там предусмотреть еще и эмуль клавы МС7004 - вот это было бы действительно здорово, особенно с небольшим хелпом по соответствию кнопок, который можно было бы вызвать мышью прямо из рабочего пространства эмуля.
( Цель - исключение раскладки QWERTY как не-ДВКшной, что бы было полное соответствие именно ЙЦУК-JCUK. )
*
А самая красота бы была - приделать драйвер, например, FT: -что бы напрямую лазить в Фат/НТ диски, например FT0: - диск "A", FT1: -
диск "С" (можно корневой каталог ) и т.д. Да еще бы и для ДВК/БК такой дровишк написать - это была бы просто великая революция в мире сопряжения дисков/ЭВМ.
-
? Patron - 20.12.2013 15:43
> если КМД производит запрос ПДП на запись, то сама на него и отвечает сигналом RPLY
Т.е. при записи в окно ПДП - контроллер ПДП в КМД не ждёт RPLY от шины ДВК, сразу выставляя RPLY на шину КМД ?
Значит, процессор КМД не может получить Trap_to_04 при записи/чтении адресов в окне ПДП ?
-
? Alex_K@ - 20.12.2013 20:04
Patron, КМД всегда существует на шине вычислителя, на сигнал BS оно не реагирует, а само формирует его при доступе ПДП по адресам 17760000-17777777. Поэтому при подключении ПЗУ на МС1201.01 по адресам 172140 и 172142 сидят и ПЗУ и КМД. Но на запись ПЗУ не реагирует, а реагирует только КМД.
-
? Patron - 20.12.2013 20:31
Понятно. Ноль запишется куда надо, потому что ПЗУ не реагирует на запрос записи.
Но команда CLR сначала ещё и читает адрес 172140 - что при этом происходит на шине ДВК ?
Типа - и ПЗУ, и регистр 172140 будут выствлять RPLY и данные "одновременно"..
-
? Alex_K@ - 20.12.2013 20:39
Да, будут выставлять одновременно. Если время реагирования одинаковое, то данные сложатся по ИЛИ.
-
? Patron - 30.12.2013 21:05
> Насчет эмуля ДВК - нельзя ли там предусмотреть еще и эмуль клавы МС7004. Цель - исключение раскладки QWERTY как не-ДВКшной.
---
Обсуждать развитие эмулятора ДВК лучше в соответствующей теме: ( http://zx.pk.ru/showthread.php?t=18351 )
Сегодня там добавилась эмуляция КМД и возможность полностью отключать раскладку QWERTY: ( http://zx.pk.ru/showthread.php?postid=657336 ).
-
? Patron - 02.01.2014 19:01
Вопрос по работе КМД.
В описании КМД прямо сказано, что бит требования 0200 в регистре статуса КМД сбрасывается при любом обращении к регистру данных - и при чтении, и при записи.
Но это значит, что при "ручной" загрузке КМД при помощи записи по адресу 172140 команды 37 ( Load ) - в момент открытия в пульте ДВК адреса регистра данных 172142 - КМД должен воспринимать его чтение пультом ДВК как запись в этот регистр номера загружаемого привода и немедленно выполнять чтение загрузчика с нулевого привода ( два младших бита регистра данных КМД, которые рассматриваются в качестве номера привода - после включения ДВК обнулены ).
Это на самом деле так или в описании КМД ошибка и сброс бита 0200 в регистре статуса происходит только при ЗАПИСИ в регистр данных ?
-
? anonymous - 05.01.2014 18:02
Patron, можно тесты под MY сделать и исследовать его работу в тонкостях. Команда 035 позволяет запускать свой программный код на процессоре ВМ1 в составе MY.
-
? Patron - 05.01.2014 18:29
Alex_K сейчас как раз пишет такой тест для КМД, а мне интересно, что будет в регистре статуса КМД после выполнения следующих действий:
...
@172140/000040 37 ВК
@/000200 ПС
172142/000004 ^
172140/??????
¤
-
? anonymous - 05.01.2014 18:57
0200 и остается.
-
? Patron - 05.01.2014 19:16
Значит описание КМД врёт.
Там специально подчёркивается, что "система может сбросить этот разряд в состояние 0, обратившись в регистр данных по записи или чтению".
Но получается, что когда пульт ДВК читает регистр данных КМД - с битом 0200 в регистре статуса ничего не происходит.
-
? anonymous - 05.01.2014 19:23
Там не сказано, каким образом. А не программно ли сбрасывает этот бит процессор КМД? Но тогда не ясно, как он детектит запись в 0172142. Я не ковырял прошивку, может, стоит ее дизассемблировать и посмотреть, как именно принимаются команды?
-
? Alex_K@ - 05.01.2014 19:40
anonymous, те прошивки, что Вы выкладывали, я уже расковырял, дизассемблировал, написал комментарии (может кое-где и неверно, как понимал на тот момент). Скачать можно http://kisly-alexey.pisem.net/kmd_fw.rar .
-
? anonymous - 05.01.2014 19:41
Единственная команда, которая должна ожидать, что ЦП заберет слово из РД - 023 - чтение регистра ошибок и состояния, не использует при работе 7й бит. Скорее всего ваше предположение верно относительно срабатывания только при записи в РД механизма очистки 7го бита, команд, которым бы требовалось его сбрасывать по чтению - нет. Сейчас на голой конфигурации без ОС, потому тест набирать в пульте нет желания.
-
? anonymous - 05.01.2014 19:43
Alex_K, спасибо!
-
? Patron - 05.01.2014 19:59
> А не программно ли сбрасывает этот бит процессор КМД?
...
Это полностью исключено, потому что после ввода пользователем команды 037 в регистр статуса - процессор КМД выполняет следующий код:
003152 MOV #200, (R2)
003156 TSTB (R2)
003160 BPL 003172
003162 BIT #40000, (R2)
003166 BEQ 003156
Если при чтении регистра 172142 бит 0200 не сбрасывается, а после записи в регистр 172142 - бит 0200 сбрасывается, значит это происходит без участия процессора КМД.
- << Форум