Недокументированные особенности КР1818ВГ93

ZXNet эхоконференция «code.zx»

От Дмитрий Лимонов Кому All 12.12.2006

Hello, All После операции чтения/записи сектора возникает необходимость чтения порта #1F, на предмет проверки возникновения ошибки на предыдущей операции. В TR-DOS мне попался следующий кусок (по адресу #3EF3): ┌─- CODE ─── IN H,(C) .wait; IN; A,(#FF) AND #C0 JR Z,.wait EI RET M DI IN A,(#7F) JR .wait └── CODE ─── Понятно, что напрямую эту часть для чтения произвольного порта не получится, т.к. после завершения команда чтения/записи сектора это приведет к зацикливанию. Hо этого можно избежать. После завершения какой-либо операции мы посылаем в регистр #1F код #E0 (команда "сырого" чтения дорожки). Эта команда не изменяет содержимое регистра состояния до своего завершения, а значит считываемое значение состояние контроллера остается от предыдущей операции. Посылка же команды "сырого" чтения дорожки контроллеру позволяла всего лишь избежать зацикливания. Hу вот, всю идею я вроде описал, а теперь мне интересно, чтобы кто-нибудь проверил это на реальных машинах, потому что в эмуляторах это, кажется, не учитывается. Можно ли использовать данный трюк при программировании контроллера ВГ93? Будет ли он работать на всех машинах?

От Evgeny Muchkin Кому All 13.12.2006

Hello, EARL Если не ошибаюсь, то как раз этот момент в ПЗУ все и используют для вышеописанной надобности чтения любого порта TR-DOS (например если посмотреть 35 номер ZXNews - статья про CMOS часы). :)

От Марк Антонов Кому All 13.12.2006

Hello, Evgeny Muchkin Evg> Если не ошибаюсь, то как раз этот момент в ПЗУ все и используют для Evg> вышеописанной надобности чтения любого порта TR-DOS (например если Evg> посмотреть 35 номер ZXNews - статья про CMOS часы). нет, в прошивках трдос профпзу (всех версий) по одним и тем же адресам адресам #3ffx прошиты out (c),a ret и in a,(c) ret но ориентироваться на это само собой нельзя

От Дмитрий Лимонов Кому All 13.12.2006

Hello, Evgeny Muchkin Evg> Если не ошибаюсь, то как раз этот момент в ПЗУ все и используют для Evg> вышеописанной надобности чтения любого порта TR-DOS (например если Evg> посмотреть 35 номер ZXNews - статья про CMOS часы). :) Во как оказывается! А я и не знал. Похоже я слишком отстал от жизни и прогресса в мире спектрума :v2_blink: