__________________________________________
(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,
Киселев Александр Петрович
------------------------------------------
Other articles: