ZX Pilot #40
30 декабря 2000
  Софт  

Сделай сам - исправление программы для форматирования дисков FAST FORMAT'а.

<b>Сделай сам</b> - исправление программы для форматирования дисков FAST FORMAT'а.
          С Д Е Л А Й  С А М  I

──────────────────────────────────────────

(C) SKL-KEEPER


        Исправление FAST FORMAT'а.

   Появилась у  меня не так давно програм-
мка, по  всей видимости, интересная (прис-
лал уважаемый ZePagan). Почему по всей ви-
димости? Да потому, что на  моем Скорпионе
она не пошла :-( Неправильный опрос mouse,
поэтому  она у меня загружается и "висит",
не реагируя на клавиатуру. А судя по тому,
что  я видел на экране, программа с интри-
гующим  названием FAST FORMAT, разработан-
ная Владимирон Чепрасовым из Днепропетров-
ска, позволяет форматировать дискеты как в
системе TR-DOS, так и в IS-DOS, и в MS-DOS
(360, 720 и 800 kB), и даже в CP-M!
   Обидно мне стало... Ну нет у меня этого
"девайса", и, может, никогда не будет, так
что  ж я, и  не человек, что-ли?! (Кстати,
аналогичная ситуация  у меня  была и с ZX-
WINDOWS 1.4...)
   И решил я попробовать  ее  "оживить"...
Вот этому я и хочу посвятить свою заметку.
   Итак, воспользовавшись теневым монитор-
ом  своего "Скорпиона", я выяснил, что от-
ключить мышку можно очень даже просто. Оп-
рашивается она  командой CALL #9BE5, а на-
ходится эта команда по адресу #9C61. Стоит
нам забить нулями эти три байта и дело сд-
елано! Мышка  отключена и можно воспользо-
ваться  клавиатурой для выбора опций и за-
пуска! Но есть одно "но"... Это ведь самое
простое, что можно сделать, и после такого
грубого вмешательства  вряд-ли  вам скажет
спасибо какой-нибудь Спектрумист, которому
вы  подарите  доработанную  таким  образом
программу, если mouse у него имеется...
   Дорабатывать, так уж цивилизованно! :-)
Надо  просто  вставить  в  свободное место
программы  небольшую  процедурку,  которая
определяет  наличие "мышонка" правильно и,
если таковой будет ею обнаружен при запус-
ке программы, она ничего  не будет делать,
а просто передаст управление основной про-
грамме. Если же такого  девайса эта проце-
дура не обнаружит, она забьет  нулями  это
самое CALL #9BE5 и программа будет коррек-
тно работать уже только от клавиатуры.
   Теперь конкретные рекомендации тем, кто
оказался в такой же безвыходной  ситуации,
как и я (а  иначе зачем бы я стал хозяйни-
чать в чужой программе?).
   С помощью GLOBAL COMMANDER'а 1.31i  или
другим способом разрежьте файл FASTFORM на
два - длиной в 1  и 27  секторов. Первый -
это  BASIC-загрузчик, а второй - это запа-
кованный с помощью программы HRUST 1.0 ко-
довый  блок. Распаковать его можно элемен-
тарно-простым способом с помощью великоле-
пного (не  могу скрыть  своего  восхищения
этой программой!) BEST VIEW 2.9. После то-
го, как файл будет записан на Вашу рабочую
дискету, дисковым доктором подправьте ста-
ртовый адрес этого кодового блока на #8000
(32768), а заодно исправьте  расширение  с
"B" на "C".
   Процедуру, которая корректно определяет
наличие мышки, я нашел в приложении газеты
ZX-Pilot #36.
   В любом ассемблере наберите програмку:

; Kempston Mouse Interface

        ORG     46355
        HALT
        LD      BC,65503
        IN      H,(C)
        LD      B,251
        IN      L,(C)
        DEC     B
        IN      A,(C)
        CP      L
        JP      NZ,32768    ;Мышка есть!
        CP      H
        JP      NZ,32768    ;Мышка есть!
        XOR     A           ;Мышки нет!
        LD      (#9C61),A
        LD      (#9C62),A
        LD      (#9C63),A
        JP      32768

   Отассемблируйте ее  и объектный код за-
пишите  на  диск под именем "mouse". Длина
этой процедуры будет 34 байт.
   Теперь запишите его сразу следом за ра-
спакованным Fast Format'ом с помощью прос-
той программы на BASIC'е:

   10 CLEAR 30000:RANDOMIZE USR 15619:REM:
LOAD "UNPACK" CODE 32768,13587
   20 RANDOMIZE USR 15619:REM:LOAD "mouse"
CODE 46355,34
   30 RANDOMIZE USR 15619:REM:SAVE "NEWFF"
CODE 32768,13621

   Пришла  пора опять запаковать уже изме-
ненный нами кодовый блок. Для этого загру-
зите  HRUST  1.3,  выберите  курсором этот
файл и  запакуйте его, установив следующие
параметры:

   Адрес блока    - CAT
   Длина          - CAT

   Декомпрессор   - 32000
   Куда распачить - 32768
   Прерывания     - EI
   Автостарт      - 46355
   Стек           - OFF
   DePacker       - ON

   Последнее, что надо сделать - это опять
"склеить" первый файл с  длиной 1 сектор и
только-что запакованный нами  файл  длиной
27 секторов. Сделать  это  можно тем же GC
1.31i или  REAL  COMMANDER-ом или еще чем-
нибудь, что Вам больше нравится :-)
   И все! Теперь отсутствие мышонка не ом-
рачит вашего существования :-)
   Несколько слов напоследок об этой прог-
рамме. Прога отличная, скорость форматиро-
вание - невероятная (быстрее  мне не попа-
далось форматера). Что интересно, попробо-
вал  отформатировать  в  IS-DOSе - процесс
прошел отлично, диск отформатировался и на
нем оказалось уже  созданным  устройство в
3200  секторов с наименованием диска - IS-
DOS! Проверка доктором  показала, что фор-
матирование  прошло отлично! (Правда, спа-
ведливости ради, замечу, что в IS-DOS 1999
года  диск,  отформатированный  программой
FAST FORMAT, не  определяется, как IS-DOS'
овский при  попытке его  открыть :-( В MS-
DOS'е и CP-M не стал форматить, т.к. не на
чем  проверить :-( А  TR-DOS'овский формат
значительно лучше по качеству, чем, к при-
меру, форматтер REAL COMMANDER'а (проверял
на "запиленных" дискетах). В общем, прогр-
амма стоящая! Попробуйте и сами убедитесь!



Другие статьи номера:

Новости - новости от Ковровских спектрумистах, о Черном Вороне и т.п.

О разном - сетевые новости из Москвы и не только.

О разном - спектрум умирает, а виноваты мы сами?

Разборки - прохождение квестовой игры Seaquest.

Сделай сам - исправление программы для форматирования дисков FAST FORMAT'а.

Сделай сам - календарик на тему Speccy.

Железо - схема расширения памяти Пентагона до 256кб.

Демопати - глобальный отчет Ковровских Спектрумистов о путешетсвие на питерское пати Chaos Construction 2001.

Imagination - Моя сказка.

Comics - приколы и казусы из жизни Ковровских спектрумистов: Vel, Vik, Kool, Ash.

Comics - Путешествие оттуда и сюда: ЕЖИК

Реклама - реклама и обьявления, софт и игры для спектрума.

Credits - создатели газеты.


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

Похожие статьи:
Пати - Официальные результаты FunTop'98.
King's Bounty 3 - новелла по игре.
Demomaking - История демомейкинга и его традиции.
Лоzheние - Группа CRUSHERS представляет свою мини игру: Flintstones: Fred in the magic wood.
Nonsense - логические операторы.

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