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


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



от: Дмитрий Лимонов
кому: All
дата: 12 Dec 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 Dec 2006
Hello, EARL

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

от: Марк Антонов
кому: All
дата: 13 Dec 2006
Hello, Evgeny Muchkin

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

нет, в прошивках трдос профпзу (всех версий) по одним и тем же адресам адресам
#3ffx прошиты
out (c),a
ret
и
in a,(c)
ret
но ориентироваться на это само собой нельзя

от: Дмитрий Лимонов
кому: All
дата: 13 Dec 2006
Hello, Evgeny Muchkin

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

Во как оказывается! А я и не знал. Похоже я слишком отстал от жизни и прогресса
в мире спектрума :v2_blink:




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Реклама - реклама и обьявления.
WANTED - Розыск программ...
Советы начинающему сисопу - инструкция по работе с пользователем.

В этот день...   25 сентября