|
Echo
#02
30 ноября 1996 |
|
Знаете ли вы... - Гасить ВГ-шку нулем в порт #FF нельзя. Перед записью через #3D13 на конкретную дорожку, если моторчик включен, а головка на ней торчит. Как ускорить процедуру чтения и загрузки через #3D13, если необходимо загрузить/записать несколько небольших блоков подряд.

┌════════════════════════════════════════┐
│░░░░░░░░░░░░ Знаете ли вы... ░░░░░░░░░░░│
└════════════════════════════════════════┘
(C) VfNG/NEW
1. Что гасить ВГ-шку нулем в порт #FF
ну никак нельзя! Сам так недавно делал и
после нарывался на ряд неприятностей. По-
чему, спрашиваеться, нельзя? Да черт его
знает, но некоторые контроллеры после ну-
ля в порт #FF оживить можно только целой
пачкой разномастных процедур, даже Home с
прерыванием всех остальных команд не всег-
да помогает. Не всегда удается и мотор-
чик завести. К тому же, после нуля в порт
#FF ВГ-шка вроде как считает, что она на
нулевой дороге, а значит при первом обра-
щении, например в #3D13, если вы реально
стоите на n-ном треке, и попытаетесь что
-либо с этого трека считать, то нарветесь
на попытку контроллера поставить голову на
2*n-ную дорогу, что весьма неприятно.
Как же лучше выключать мотор дисково-
да? Я это сейчас делаю так:
LD A,(#5D16) ;Kопия системного регис-
;тра
LD IX,#1FF3 ;OUT (#FF),A: RET
PUSH IX
JP #3D30
Вроде бы так безопасно.
2. Что перед записью через #3D13 на
конкретную дорожку, если моторчик выключен
и головка на ней торчит, то надо обяза-
тельно дать позиционирование на эту самую
дорожку. Сама процедура записи это толком
сделать не сможет и некоторые дисководы,
например, EC-5311, могут запросто подпо-
роть диск. Я это сам лично видел не раз!
3. Что если вы грузите или пишите че-
рез #3D13 несколько небольших блоков под-
ряд, то для ускорения процедуры целесооб-
разно после каждого обращения к #3D13 де-
лать так:
LD A,(#5D16)
OR #2C
LD IX,#1FF3
PUSH IX
JP #3D30
Это не даст моторчику возможности при-
тормозиться между чтениями, а значит, не
надо будет тратить время на его разгонку.
И все будет круто.
Вообще, я проверял установку #5D16
только после процедур #05, #06 ДОС. В
другие времена там торчит нечто иное
(когда и что-уже не помню. Давно по ПЗУшке
лазил).
Вот и все пока. Если я где-то был не
прав, исправляйте меня на страницах Echo!
Другие статьи номера:
Похожие статьи:
В этот день... 30 октября