__________________________________________ (C) 2000 KAPsoft __________________________________________ BOOTING В своей статье я хочу обсудить некото- рые вопросы создания файловых оболочек на SPECCY, и рассмотреть SPECTRUM'овские DO- S'ы, вообще. Итак, начнем... PART I КАТАЛОГОВАЯ СИСТЕМА В TR-DOS Все знают удобства каталоговых систем. Все знают, что TR-DOS - не каталоговая система. Многие программисты ( да и, вооб- ще, все, кто серьезно работает на SPECT- RUM'е ) знают, какое это мучение... Выход есть !!! Я предлагаю создать каталоговую систему не на уровне DOS ( это невозможно ), а на уровне файловых оболочек. Объясняю подробнее. На диске содержится файл, в котором записана информация о ка- талогах этого диска. Файловый коммандер читает этот файл, и выдает пользователю каталоговую структуру файлов этого диска. Таким образом, структура диска нисколь- ко не меняется - те же 128 файлов в одном каталоге. Но для пользователя они будут распиханы по небольшим каталогам-папкам. Далее я предлагаю стандарт файла-описа- теля каталогов. - Максимальное кол-во файлов 128 - Максимальное кол-во каталогов 32 - Длина имени каталога 6 - Кол-во файлов в каталоге до 128 - Подкаталоги есть Длина файла-описателя - 2 сектора. Имя файла-описателя - director.C 1 сектор : 32 записи по 8 байт : 0-5 имя каталога 6 начало информации о файлах и под- каталогах во 2-ом секторе. 7 кол-во файлов и подкаталогов в этом каталоге. 2 сектор : N записей по M байт ( N - число существующих ка- талогов ; M - кол-во файлов в каждом ката- логе. ) : 0-М1 номера файлов в 1-ом сущ. катало- ге. 0-М2 номера файлов во 2-ом сущ. катало- ге. и т. д. Номера файлов: 0-127 - файлы из TR- DOS'овского каталога. 128-159 - подкаталоги. 128 - первый 129 - второй . . . 159 - тридцать второй Надеюсь, что кто-нибудь понял мою идею. В принципе, на этом можно было бы и за- кончить описание идеи, но я хочу привести один алгоритм по работе с файлом-описате- лем. * ЗАПИХИВАНИЕ ФАЙЛА В КАТАЛОГ * Вход: А-номер файла (подкаталога) В-в какой каталог (0-31) 1.Смотрим 1 сектор: байт (а*8)=0 ? Да - выход (ошибка - каталог не существует) 2.Пусть С=(а*8+6) ┌─3.Цикл I=0 до 31 │ 4.Если (I*8+6)>С ,то (I*8+7)=(I*8+7)+1 └─5.Следующий I 6.Смотрим 2 сектор: сдвигаем байты на- чиная с С по 254 на один. Т.е. (С) =(С+1) (С+1)=(С+2) . . . (254)=(255) 7.Пусть (С)=А 8.Отгрузить новый каталог: SAVE "director" CODE И еще один момент. Как определить, ка- кие файлы (каталоги) находятся в главном каталоге? Очень просто - все файлы и ка- талоги, номера которых отсутствуют во 2 секторе, находятся в главном каталоге. Имя главного каталога - имя диска. Еще хочу сказать, что подобная система нужна не для игровых дисков, а для рабо- чих. Желательно также, чтобы она применя- лась в мощных файловых оболочках, которые имеют возможность работы с оверлеями. Считайте эту статью, как установление стандарта на подобного рода системы. Я хо- чу, чтобы создатели ...-COMMANDER'ов вос- пользовались моей идей и создали удобную файловую оболочку для рабочих людей. В крайнем случае, я сам, когда дойдут руки, сделаю такой COMMANDER (надеюсь, что это произойдет где-то в середине 2001 го- да). PART II DOS'ы на ZX - O-O-H MY GOD... Итак, чем же мы пользуемся... TR-DOS (старая добрая сказка)... Достоинства: 1. Пожалуй, самым главным достоинством этой системы является то, что она вшита в ПЗУ компьютера. Никаких проблем с загруз- кой системы - что бы не случилось, она ни- куда не изчезнет из ПЗУ. 2. Вторым и последним ее достоинством является ОГРОМНАЯ программная поддержка. Все системки и игры пишутся только под DR- -DOS. Недостатки: 1. Отсутствие каталоговой структуры. 2. Все файлы последовательные, пишутся подряд даже на сбойные участки. 3. Нет поддержки дополнительной памяти и RAM-диска. 4. Неграмотно написана. 5. Нет возможности изменить DOS(вот ми- нусы того, что она в ПЗУ). 6. ... Таким образом, как хорошо кто-то напи- сал в Ревю'шке, TR-DOS - убыстренный вари- ант магнитофона. IS-DOS Достоинсатва: 1. Это была удачная попытка написать на SPECTRUM'е настоящую операционку. 2. Каталоговая структура, поддержка до- полнительной памяти и все то, чего не бы- ло у TR-DOS. 3. Довольно много программного обеспе- чения. Недостатки: 1. Система ориентировалась на популяр- ный в то время NORTON COMMANDER и была попросту списана с него. Но ведь коммандер он на то и коммандер, что его можно выки- нуть и поставить другой, более современ- ный. Попробуйте отделить IS-DOS oт SHELL. Ни за что не получится. 2. Отсутствие многооконности. Это,в об- щем-то, и не большой недостаток, но я час- то попадал в такую ситуацию, когда нужно было посмотреть кое-что, не отрываясь от EDIT'а. Помню, я сильно ругался :). 3. Система более совместима с MS-DOS, чем с TR-DOS, что, конечно, не радует. 4. С самого начала IS-DOS ориентирова- лась на делового человека, но зарабатывать деньги на SPECTRUM'е могут лишь единицы:(. По этим и некоторым другим причинам, в общем-то, неплохая DOS не стала стандар- том. В настоящее время в IS-DOS'е только пишут документы (EDIT - самая лучшая прога для IS-DOS)... Ну, вот и все на сегодня. Итак уже на- писал более двухсот строк. Кто со мной не согласен - с удовольст- вием побеседую. Кого заинтересовала первая часть моей статьи - пишите. Отвечу всем. 612831 Кировская обл. В-Камский р-н. пос. Рудничный, ул. Орджоникидзе, д.33, кв.48, Киселев Александр Петрович ------------------------------------------