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!
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября