AIDS v.01b — ZXNet «zxnet.soft»

AIDS v.01b

ZXNet echo conference «zxnet.soft»



from: Max Harchenko
to: All
date: 14 August 2003
Привет, _All_ ! Ловите текстовый файл. /*─═>/* Здесь начинается aidsv01b.t /*<═─/* Данная программа предназначена для корректного и быстрого вос- становления, форматирования и проверки дисков. Основные требова- ния, которые мы возлагали на AIDS - это качество, удобство и быстрота работы этой утилиты и, надеюсь, это у нас получилось. Судите сами: Управление: Стрелка управляется кнопками Q,A,S,X,O,P,M,SPACE,ENTER,BREAK, ESC,SINCLAIR, KEMPSTON JOYSTIKS (если выключена или нет KEMPSTON MOUSE), KEMPSTON MOUSE. Причем если мыша в SetUp'е включена, а на компе она отсутствует, то она автоматически отключится. CUR- SOR всегда управляет рамкой. При наличии включенной K. MOUSE все перечисленные кнопки также управляют рамкой. Hе знаю, пра- вильно ли это, но по мнению CORVAX'a так должно быть - он объяс- няет это тем, что если есть мыша, то зачем стрелой управлять другими кнопками. Дисковые функции: !!! Все параметры даны для дисководов с нормальным временем пе- ремещения головок - 6 mkSec.!!! Сделаны и оттестированы все основные дисковые процедуры. Дисковые функции работают пока только со всем диском полностью. FORMAT: В форматтере можно включить FAST FORMAT(идея CARDINAL/PGC/BDA) - т. е. дорожка будет форматироваться не до конца,за счет чего по- является время на перемещение головки дисковода и диск форматит- ся без проверки за 32 секунды. С проверкой время выполнения не зависит от состояния FAST FORMAT и составляет 64 сек. т. е. один оборот на формат и один на проверку - сравните с RDS :). Причем полный формат без проверки занимает 64 сек, и с проверкой тоже 64 сек :). Вообще - на любые операции с диском тратится по одному обороту на каждую операцию на одном треке т. е.например READ-FORMAT-WRI- TE-VERIFY всего диска будет занимать 32сек*4=128сек или 2мин 08сек! Если после формата обнаружена ошибка, то программа попытается отформатировать так, чтобы все ошибки на треке находились на не- используемом месте в области пробелов (в межсекторных промежут- ках). С каждой новой попыткой ReFORMAT'а будут пересчитываться расстояния между всеми секторами чтобы области данных попали в "хорошие" области трека. Таким образом происходит сдвиг секто- ров и, возможно, те диски, которые Вы собирались уже выкидывать, прекрасно отформатятся без всяких BAD'ов. В RETRY FORMAT опти- мально ставить число около 5. При окончании попыток выведется меню и Вы сможете выбрать что дальше делать с этим диском: RETRY - попытаться еще ABORT - прекратить формат IGNORE или SKIP - продолжить дальше Вы можете остановить работу нажатием BREAK, ESC, CANCEL - также будет меню с выбором ваших дальнейших действий. После окончания форматирования, или после выбора ABORT в меню "DISK ERROR" или "BREAK" Вам будет предложено ввести имя диска. Ввод происходит по OverWrite, работает DELETE (cs/0) и INSERT (cs/3). При нажатии на BREAK, ESC, CANCEL каталог записываться не будет, при нажатии на ENTER запишется каталог с количеством реально отформатированных треков. Последнее название диска запо- минается. RESTORE: VERIFY в меню "RESTORE" будет означать проверку после WRITE, а если включено VERIFY в меню "FORMAT", то будет происходить про- верка после FORMAT - т.е. можно выбрать режим восстановления: READ-FORMAT-WRITE совсем без проверок READ-FORMAT-VERIFY-WRITE проверка только после формата READ-FORMAT-WRITE-VERIFY проверка только после записи READ-FORMAT-VERIFY-WRITE-VERIFY проверка после формата и после записи Если включена хотя-бы одна проверка, то при нахождении ошибки ReFORMAT будет происходить сo сдвигом секторов, причем если стоит проверка после WRITE, то будут сравниваться реально запи- санные и считанные данные, что увеличивает возможность коррект- ного сдвига битых секторов. BREAK не будет срабатывать пока данные не запишутся. Если стоит проверка после FORMAT, и кончились попытки ReFORMAT, ABORT сра- ботает как IGNORE (в сообщении о месте и типе ошибки будет на- писано :"Error: Format"). ReRead в меню "RESTORE" означает количество попыток чтения при нахождении ошибки, что также действительно для любой операции чтения, в том числе и каталога. CHECK Просто проверяет диск на предмет сбойных треков и секторов. Все данные проверки заносятся в таблицу и в будущем можно будет пос- мотреть на каком треке, секторе, файле и какая ошибка есть. При включенном RESTORE происходит восстановление трека с ошибкой так-же как и описано выше. VERIFY в меню "CHECK" включает про- верку после WRITE. При нахождении ошибки пишется что это за ошибка: ERROR CRC: ошибка контрольной суммы - т. е. данные не верны. Та- кую ошибку еще можно восстановить или проигнориривать, если там находится картинка или что-либо не очень важное. Просто будут испорчены несколько байтов. ARRAY NOT FOUND: а вот при такой ошибке данным уже ничем не по- можешь :(. Вытащить оттуда какие-нибудь данные нельзя - произош- ла ошибка в системной информации на данный сектор и он не нахо- дит данных этого сектора. В "System information" можно посмотреть данные о диске. !!!WARNING!!! корректность каталога не проверяется !!! (диски других форматов лучше не пихать). Slow format не поддерживается, но определяется. Также определя- ется LAG на диске. Slow/Fast и LAG определяется путем анализа нулевого и первого трека. Если "CHECK" с RESTORE то сравнивается LAG на диске и установленный в меню "FORMAT" - если он разный, то выводится меню выбора LAG'а. Кнопки SCROLL'а и он сам тоже функционируют. Сделан очень хитрый фреймовый по линиям SCROLL :). В меню "EXIT TO..." работают все опции кроме "Programm". В CASHE выход работает по CALL #0066. Если CASHE отсутствует и в прошивке ничего не изменено по этому адресу, то при выборе этой функции ничего не произойдет. SetUp пока не отгружается, но его можно поменять любым Диск- Доктором. Он находится в BASIC'е и вот его значения: ;Копия SetUp'а находящегося в BASIC'е DB "SetUp:" ; 76543210 SUP_FLG DB %01001000 ;флаг для Set Up ;BIT 0,1 - DRIVE ;BIT 2 - BEEP, BIT 3 - AY ;BIT 4 - VERIFY IN FORMAT = 1 - есть ;BIT 5 - FAST FORMAT = 1 - есть ;BIT 6 - CONTROL DISK = 1 - есть ; 76543210 WND_FLG DB %11000000 ;флаг для окон ; |||||||--;BIT 0,1 - VOLUME ; ||||||---;BIT 2 - RESTORE = 1 - есть RESTORE ; |||||----;BIT 3 - VERIFY = 1 - есть проверка ; ||||-----;BIT 4 - NUMBER = 1 - DEC ; |||------;BIT 5 - CLOCK = 1 - есть ; ||-------;BIT 6 - MOUSE = 1 - есть ; |--------;BIT 7 - INV.BUT = 1 - LMB-FIRE DB 3 ;RETRY IN RESTORE DB 10 ;REREAD IN RESTORE DB 5 ;RETRY IN FORMAT DB 80 ;CYLINDER FOR FORMAT DB 0 ;LAG FOR FORMAT В дальнейшем планируется значительно наворотить эту утилиту - все будет зависеть от ваших отзывов, замечаний, предложений и т. д. Пока работает и на 48 Kb., но в дальнейшем наверное нужно бу- дет не менее 128. Программа выходит оттестированная полностью (сам восстанавливал диск с ее же исходняками), но не оптимизиро- ванная - т.е. как есть. Извините за некоторую нескладность описания - текст должен был написать CORVAX, но так как у него сдох комп, пришлось мне (DIAMOND'у) набивать все это, а я не мастер писать всякие писа- нины и как основной кодер этой утилиты описал Вам технические возможности. В принципе все должно быть понятно и без описания. Используемый софт: ALASM 4.2 - 4.44bf STS 6.2 RealCommander 1.96 - 2.3 BGE 2.6-3.05 RFE 1.0 RDS v3.1 ACedit ISDOS Chic. В программе были использованы библиотеки FASTER'а и SerzhSofta. Огромное спасибо авторам софта и библиотек. Авторы: Идея, дизайн, GFX, FONT, немного кода ....................CORVAX Основной код ............................................DIAMOND Моральная поддержка .............все спектрумисты г.Hовосибирска Приветы: Привет всем кто еще не забыл SPECTRUM !!! Как связаться: CORVAX (Алексей): 8-913-902-7998 (383-2) 531-049 SMS E-Mail: 79139027998@scs-900.ru DIAMOND (Дмитрий) 8-913-902-8003 SMS E-Mail: 79139028003@scs-900.ru E-Mail: timon_hard@tut.by blastoff@tut.by debosh@tut.by Hабито все это в ACedit0.71 09 июля 2003 To be continued... AREAsoft/Hовосибирск. /*─═>/* А здесь, видимо, не начинается aidsv01b.t /*<═─/* Еще сконнектимся!!! Пока, _*All*_ !