DNA_OS v0.431 help
ZET-9
Last edit 29.05.2005
DNA_OS v0.431 - это экспериментальная
демонстрационная версия системы DNA.
1. Что такое система DNA?
Система DNA (далее по тексту - система)
представляет собой пакет подпрограмм и
утилит, предназначенный для работы с вин─
честерами,RAM-дисками и гибкими магнитными
дисками (дискетами).В состав пакета входит
собственно ядро системы,файлы конфигурации
системы, оболочка системы,утилиты,драйвера
памяти и вспомогательные файлы.
2. Использование системы
DNA можно использовать двумя способами:
1) Запускать утилиты, входящие в состав
пакета. Каждая утилита предназначена для
решения конкретной задачи (например, прос─
мотр картинки; с помощью оболочки можно
просматривать каталоги дисковых устройств,
запускать файлы и т.д.).
2) Использовать в своих п-мах функции,
предоставляемые ядром системы, входящим в
состав пакета (например,для получения дос─
тупа к файлам,расположенным на HDD).
3. Загрузка системы
При загрузке сначала в память загружае─
тся ЗАГРУЗЧИК ядра системы (из ПЗУ, с дис─
кеты или RAM-диска).Он загружает ядро сис─
темы с определенного у-ва,называемого заг─
рузочным, и передаёт ядру управление.
Ядро системы берет номер загрузочного
у-ва (из своих системных переменных) и за─
гружает с этого у-ва файлы конфигурации.
Если нажать клавишу "Space", то файлы
конфигурации не загружаются (так же и в
случае отсутствия их на загрузочном у-ве).
После загрузки файлов конфигурации меняют─
ся системные переменные, драйвер памяти, и
номер загрузочного у-ва также может изме─
ниться (это зависит от файлов конфигура─
ции).
Далее ядро загружает с загрузочного
у-ва оболочку (или п-му, имя которой было
указано в файле конфигурации) и передаёт
управление ей.
Загрузка с гибкого магнитного диска
В этом случае используется стандартная
дискета TR-DOS с системными файлами (т.е.
файлами,входящими в состав пакета).Для за─
грузки системы необходимо запустить бей─
сик-файл DNAos431. Сейчас система настрое─
на на загрузку с диска A:. Чтобы запустить
с другого устройства,систему нужно перена─
строить (см. ниже).
Загрузка с винчестера
Сначала необходимо установить систему
на винчестер, используя утилиту INSTALL
(эта утилита входит в состав пакета,подро─
бности см.: "7. Установка системы" ).После
этого можно загружать систему с винчестера
с помощью загрузчика,расположенного в ПЗУ.
Можно использовать прошивку Mr. Gluk Reset
Service v6.1 от Alone Coder'a. Oна позво─
ляет,используя пункт меню hdd_Boot, загру─
жать систему с винчестера, подключенного
как Master.
При отсутствии загрузчика в ПЗУ систему
можно загружать, используя бейсик-загруз─
чики,запускаемые с дискеты TR-DOS.(В пакет
входят две версии,одна версия для загрузки
с винчестера, подключенного как Master,
вторая - для Slave).
Загрузка с RAM-диска
Под RAM-диском подразумевается RAM-диск
с файловой системой TR-DOS, который может
быть создан в памяти компьютера с помо─
щью различных средств: Real Commander'ом
или специальной версией TR-DOS (например,
5.12; 5.13f; 6.05e; 6b09e ).
Сначала необходимо настроить систему на
загрузку с RAM-диска (подробности см.: "8.
Настройка системы" );скопировать системные
файлы на RAM-диск и после этого загружать
систему, как и с гибкого магнитного диска.
4. Работа с системой
Перед работой систему необходимо наст─
роить. Подробно про настройку см. в конце.
После загрузки системы будет загружена
оболочка. Оболочка системы предназначена
для навигации по дисковым у-вам и запуска
файлов и утилит.
В оболочке две панели с названиями фай─
лов: каталог загрузочного у-ва (на левой
панели) и каталог системного у-ва (на пра─
вой панели).
Управлять стрелочкой можно мышкой,джой─
стиком и клавишами QAOP. Выбор - клавиша
"M" (на мышке - это левая клавиша,на джой─
стике - "выстрел"). По умолчанию мышка и
джойстик отключены. Включить их можно в
окне настройки.
В оболочке доступны следующие функции.
При нажатии на левый/правой стороне
экрана осуществляется листание каталога:
страница назад/вперёд.Аналог - кнопки 1,2.
При нажатии в левом верхнем углу - окно
настройки оболочки: в нём можно отключить/
включить Kempston Mouse,Kempston Joystick,
поменять цвет BORDER'а и сохранить настро─
йки оболочки в файл оболочки,расположенный
на загрузочном у-ве (при его отсутствии
окно настройки остаётся на экране).
Нажатие на верхней границе экрана при─
водит к смене текущей панели.Заголовок те─
кущей панели подсвечен желтым цветом.Также
можно нажать клавишу "3" для этой же цели.
При нажатии клавиши "R" каталог текущей
панели перечитывается.
Нажатие на заголовке панели (надписи
типа: A:SPECTRUM или A:DIMA ) приводит к
появлению окна выбора у-ва.Для выбора у-ва
необходимо нажать над его названием. У-во
будет инициализировано, и отобразится его
каталог или окно ошибки (если нет дискеты
или раздела на HDD).
В этом окне названия у-в жестко заданы.
Если в настройках системы изменить типы
у-в,здесь они останутся такие же (т.е. уже
не будут соответствовать реально установ─
ленным у-вам).
- Диск A,Диск B,Диск C,Диск D - соответс─
твуют физическим дисководам A,B,C,D ;
- RAM_0, RAM_1 - 2 RAM-диска с номерами 0
и 1 (по умолчанию RAM_0 начинается в стра─
нице 63, "растёт" вниз, длиной 56 страниц;
RAM_1 - нач.в стр.31, "растёт" вниз,длиной
24 стр.);
- HDD_M0 - 1-й основной раздел на HDD
Master;
- HDD_S0 - то же на Slave;
- HDD_M4;HDD_M5;HDD_M6;HDD_M7 - 1-й, 2-й,
3-й и 4-й дополнит. разделы на HDD Master;
- HDD_S4;HDD_S5;HDD_S6;HDD_S7 - то же на
Slave;
- HDD_M2;HDD_M3 - 3-й и 4-й основные раз─
делы HDD Master (их можно создать на пц
п-мой Partition Magic 8.0 );
- HDD_S2;HDD_S3 - то же на Slave.
При нажатии в правом верхнем углу эк─
рана появится окно выхода в STS, ALASM,
BASIC128, BASIC48, TR-DOS или в кэш.
При нажатии на нижней стороне экрана
или по клавише "Т" появится т.н. "окно за─
дач". В нём показано количество свободных
страниц памяти. На Спектруме с объёмом па─
мяти 128k будет показано 4 страницы; при
объёме памяти 512k и 1024k будет показано
соответственно L и l страниц памяти (это
глюк) при наличии соответствующего драйве─
ра верхней памяти.И ниже п-мы,обнаруженные
в памяти. Пока что там только ядро системы
и её файл - это оболочка (SHELL). Если вы
увидите много названий DNA, это может оз─
начать, что драйвер памяти,установленный в
системе, не подходит к вашему компьютеру
(см.: "Настройка системы" ).
При нажатии на файле:
- если это бейсик,происходит попытка его
запуска;
- если это программа/утилита системы DNA
(имеет расширение SEP ), она запускается;
- нажатие на файлах с другим расширением
приводит к тому, что оболочка ищет файл с
именем EXTEND.TXT и в нём смотрит имя ути─
литы, предназначенной для открытия файла с
выбранным расширением; далее оболочка вы─
зывает ядро системы, передаёт ему имя фай─
ла, который надо открыть, и имя п-мы,с по─
мощью которой открывать; ядро системы ищет
на системном у-ве п-му и запускает её.
После выхода из п-мы управление переда─
ётся в ядро, и ядро загружает оболочку с
загрузочного у-ва (или не оболочку,а п-му,
имя которой указано в файле конфигурации).
При отсутствии файла EXTEND.TXT на дис─
ке с открываемым файлом EXTEND.TXT ищется
на системном у-ве.
Запускать/открывать можно файлы с таки─
ми расширениями:
SNA - снапшот SNA-48k;
SCR - стандартный экран;
TRF - кодовый блок;
TXT - текстовый файл;
TRD - образ диска тр-дос;
SCL - набор файлов тр-дос.
Чтобы зайти в подкаталог,надо нажать на
его имени;чтобы выйти - нажать на "..".
Можно удалить файл, нажав клавишу "8",
при этом стрелка должна быть над именем
файла. Появится предупреждение "Удалить
файл?". Нельзя удалять подкаталоги (т.к.
место,занимаемое файлами внутри подкатало─
га,останется занятым).Удаление не работает
на разделе, отформатированном как FAT12.
Чтобы скопировать файл,наведите стрелку
на имя файла и нажмите клавишу "5". Оболо─
чка вызовет ядро системы для загрузки ути─
литы COPY.SEP и передаст ей имя копируемо─
го файла.
При невозможности скопировать файл вы
увидите белый BORDER (например,если файл с
таким именем уже существует),тогда нажатие
клавиши "1" позволит скопировать файл в
уже существующий. При этом,если существую─
щий файл имеет меньший размер, то будет
скопирована начальная часть файла (сколько
поместится в существующий файл). В осталь─
ных случаях (нет места на диске и т.д.)
происходит выход в оболочку.
Скопировать файл на тот же дисковод, но
на другую дискету вам не удастся.
5. Краткое описание программ и утилит,
входящих в состав пакета
1) OPEN_SCR.SEP предназначена для показа
стандартных спектрумовских картинок длиной
6912 и расширением SCR(scr) (была сделана
для тестирования системы);
2) RUN_TRF.SEP запускает файлы в формате
trf(TRF) (формат trf придумал INSIDE - это
аналог кодовых файлов,свободно "живущих" в
других файловых системах). Не запускает
trf'ы, имеющие стартовый адрес <#6200;
3) RUN_SNA.SEP запускает файлы в формате
снапшотов 48k, расширение файлов sna(SNA).
В самом конце,непосредственно перед запус─
ком sna, включает 0-ю страницу памяти пря─
мым обращением к порту #7FFD (а внутри
программы обращение к драйверу,через рези─
дент).Можно исправить,но будет портить эк─
ран сильнее (сейчас первые 20 или 14 байт
в начале экрана).
Запуск файла SNA-48k занимает времени:
- с дискеты MS-DOS (FAT12) (через #3D13)
ок.1 мин.;
- с дискеты TR-DOS (#3D13) ок.15 сек.;
- с винчестера MS-DOS (FAT16) ок.1 сек.;
- с RAM-диска TR-DOS ок.0.5 сек.
4) TRD2DISK.SEP копирует файлы с расши─
рением .TRD на TR-DOS'ные диски. После за─
грузки ждёт нажатия 1,2,3,4 для выбора ди─
сковода A,B,C,D соответственно.
Внимание! Если система загружена с дис─
кеты на компьютере с одним дисководом,и мы
хотим записывать на этот же дисковод (а не
на RAM-диск), то самое время поменять дис─
кету!
При нажатии на любую другую клавишу -
завершение работы п-мы.Уничтожает содержи─
мое тр-досного диска без дополнительных
запросов,заменяя его содержимым файла .TRD
(файл - образ диска TR-DOS). Проверки на
принадлежность файла .TRD к миру TR-DOS не
производится, будьте осторожны (встречал
кучу TRD-файлов на CD-диске,при тщательном
осмотре оказались текстовыми файлами с
описанием п-м). Запись на дискету TR-DOS
ведётся через #3D13, без обработки ошибок,
со всеми вытекающими изо всех дырок после─
дствиями (в том числе можно копировать на
RAM-DISK, у кого TR-DOS 5.13 ).
Загрузка TRD-файла ведётся через функ─
ции системы.
При работе меняет цвет BORDER'а: белый
цвет - загрузка файла с источника; зелёный
- запись на диск-приёмник.
Длина файла TRD не проверяется: если он
длиной в пол-диска - будет записана поло─
вина дискеты, если длина больше - будет
произведена попытка записи на 160-165 тре─
ки и далее.
Даже в существующем виде п-ма рекомен─
дуется для широкого применения - насыпать
кучу TRD-файлов с компакта на винт (пока
что на пц), подрубить винт к Спектруму и
вперёд.
5) SCL2DISK.SEP копирует файлы из SCL на
дискету TR-DOS. Управление:как в TRD2DISK.
Ведётся проверка на кол-во файлов в ката─
логе (128), на свободное место на диске, а
также на принадлежность файла .SCL к миру
SCL (внутри файла ищется идентификатор
SINCLAIR ). Если файлы в образе SCL имеют
имена, совпадающие с именами на диске-при─
ёмнике, они добавляются на диск без вопро─
сов. Если общая длина файлов в образе SCL
превышает длину свободного пространства на
диске, на диск запишется столько файлов,
сколько влазит. SCL может располагаться на
у-ве с файловой системой TR-DOS, при этом
длинные файлы SCL не "распаковываются",
т.к.невозможно прочитать за пределами фай─
ла, если >255 сект.
6) DAT2VID.SEP преобразовывает картинки
BMP из файла с видеороликом *.DAT (не PC-
шный) в спектрумовские экраны и записывает
их в файл такой же длины *.VID (файл уже
должен быть на винте в том же каталоге,что
и *.DAT ). В процессе работы отображает
картинки на экране. Очень долго работает
(6.8 мегабайт конвертирует минут 7).
7) PLAY_VID.SEP проигрывает видеоролики,
полученные предыдущей прогой. Скорость с
винта 12 кадров в секунду (48 k/с - чтение
с винта через функции системы).Файл видео─
ролика должен быть непрерывным (без фраг─
ментации). Enter - выход, Space - пауза/
продолжить. В конце файла останавливается.
Клавиша 1 - повторить,другая - выход.
Примечание: п-мы PLAY_VID и DAT2VID
создавались с целью отладки драйвера фай─
ловой системы FAT16/FAT12, для тестирова─
ния работы с длинными (несколько мегабайт)
файлами. Практического применения сейчас
не имеют.
8) VIEW_TXT.SEP - совсем сырая, пробная
версия. Грузит текст в память (первые 26.5
k). Не показывает 43-й символ в строке,ис─
пользует два экрана и переключает их не
через системный драйвер, а напрямую в порт
#7ffd (караул!!!).
Клавиши управления:
Е - выход в оболочку;
Q - на страницу вперед;
W - на страницу назад;
R - на строку вперед;
T - на строку назад.
9) CONFIG.SEP устанавливает в систему
элементы системы (*.DNK), перечисленные в
списке в памяти. Неполноценная,при запуске
думает, что включена страница с системой и
в памяти есть список эл-тов. Запускается
системой при загрузке, если в корневом ка─
талоге загрузочного у-ва обнаружен файл
CONFIG.DNA. Ручной запуск не имеет смысла.
10) COPY.SEP - копировщик, копирует один
файл. Вызывается оболочкой. Ручной запуск
не имеет смысла.
6. Ядро системы
Ядро системы во время работы находится
в одной из страниц памяти (49152-65535).
Ядро состоит из ЭЛЕМЕНТОВ.
Элемент - это набор подп-м,объединённых
общей тематикой (либо это драйвер конкрет─
ного у-ва).
Эл-ты расположены в ядре в виде цепоч─
ки. В начале эл-та расположен указатель на
следующий эл-т. Эл-т имеет имя длиной 8
байт.
Ядро делится (условно) на дисковую сис─
тему и систему управления ресурсами.
В состав дисковой системы обязательно
входит эл-т DOS и хотя бы один драйвер
файловой системы и один драйвер блочного
ввода-вывода. Для удобства драйвера файло─
вой системы имеют имена с окончанием DFS
(TR_DFS), а имена драйверов блочного вво─
да-вывода имеют окончание DRV (FDD_DRV,
HDD_DRV).
Часть ядра,управляющая ресурсами, имеет
обязательно эл-ты:
RUNEXE - занимается запуском п-м (файлы
с расширением SEP ): загружает файл п-мы,
формирует таблицу с данными про текущие
настройки системы,передаёт п-ме адрес этой
таблицы и управление.
SYSTEM - предоставляет п-мам копию сис─
темных переменных, а также отвечает за из─
менение режимов прерываний (например,драй─
вер файловой системы TR-DOS обращается к
эл-ту SYSTEM, чтобы включить режим преры─
ваний IM 1 перед тем, как обратиться к ПЗУ
TR-DOS в точку входа #3d13).
Также в ядре расположена копия драйвера
страничной памяти, таблицы с данными про
логические дисковые у-ва.
Для вызова функций системы надо знать
имя эл-та, а также номера и входные данные
для той или иной функции.Параметры переда─
ются через таблицу.В общем случае програм─
ма должна сформировать в основной памяти
(<49152) таблицу:
defs m ;здесь будут переменные эл-та
defw 0 ;здесь будет сообщ.от системы
TABLE
defb "RUNEXE " ;8 байт имя эл-та
defb 0 ;номер функции
defb 0 ;номер подфункции
defs n ;входные данные для функции
IX должен указывать на метку TABLE. По─
сле вызова эл-та по адресу TABLE-2 будет 2
байта сообщения: если они оба равны нулю -
всё ОК, иначе при выполнении операции были
ошибки.В конкретных случаях может отсутст─
вовать номер подфункции и даже номер функ─
ции (например,эл-т RUNEXE выполняет только
одну функцию, поэтому по смещению TABLE+8
сразу идут входные данные;описание функций
всех эл-тов см. в DNAmake.txt ), а также
эл-т может использовать для своих перемен─
ных область в таблице (от TABLE-m-2 до
TABLE-2 ).
7. Установка системы на винчестер
Требования к винчестеру
Требуется стандартный IDE HDD, подклю─
ченный как Master или как Slave через кон─
троллер IDE по схеме Nemo. Необходим такой
винчестер, на которым уже имеется один или
несколько (максимум - семь) разделов. Раз─
делы должны быть отформатированы в файло─
вой системе FAT16 (либо FAT12 - если раз─
мер раздела меньше 16 мегабайт).
К сожалению, в данной версии системы
отсутствует утилиты для создания разделов
на винчестере и их последующего формати─
рования, поэтому создавать и форматировать
разделы надо на другом компьютерe,на кото─
ром есть для этого средства.
Процесс установки на винчестер
Перед установкой настройте систему (см.
"Настройка системы" ).
Загрузите систему с дискеты [не с HDD -
обязательное требование!].
Запустите утилиту INSTALL.SEP.
Выберите винчестер,на который будет ус─
тановлена система (Master или Slave).
Выберите тип ядра: ядро системы DNA_OS.
Далее выбираете запись ядра; ядро будет
записано,начиная с 3-го сектора винчестера
(считая сектора с единицы), предварительно
эта область будет загружена в память и за─
писана на дискету в файлы BOOT_SEC.SYS и
SECTOR01.SYS.
Если ядро не поместится в boot-сектор
винчестера,будет предложено прочитать файл
INSTALL.TXT (в нём сказано,что в этом слу─
чае необходимо при установке выбирать ядро
пользователя, которое короче).
Далее выберите пункт "копирование фай─
лов". Если всё в порядке, то появится над─
пись "Система успешно установлена" и будет
предложено запустить систему с винчестера
для проверки правильности установки.
Файл DNA_OS.SYS в корневом каталоге HDD
для работы системы не используется - ре─
зерв.
8. Настройка системы
При настройке необходимо:
- указать номера загрузочного и систем─
ного у-в в файле-ядре системы и в файле
SYSTEM.DNA; для ядра для загрузки и работы
с HDD инсталлятор сам установит эти номера
в файле DNA_OS.SYS, а файл SYSTEM.DNA на
HDD при установке не копируется;
- для загрузки системы с другого диско─
вода указать номера 0,1,2,3 для дисководов
A,B,C,D соответственно (см.также про наст─
ройку RAM-диска);
- если на компьютере всего 128k памяти,
удалите или переименуйте файл HIMEMORY.DNA
(в ядре системы уже есть драйвер для Спек─
трума-128 );
- если памяти больше,выбрать драйвер па─
мяти и переименовать его в HIMEMORY.DNA.
Список имеющихся драйверов: PENT_256.DNA,
PENT_512.DNA, PENT_1M.DNA, PROFI_1M.DNA.
По умолчанию HIMEMORY.DNA содержит драйвер
памяти PENT_1М (для Pentagon-1024 );
- настроить RAM-диск(и), если памяти бо─
льше, чем 128k;
- включить/отключить режим LBA для вин─
тов Master и Slave;
Изменять параметры нужно в ядре системы
(в файле D4.C ) с помощью STS. Для версии
системы,предназначенной для загрузки и ра─
боты с винчестера,изменения вносить в файл
DNA_OS.SYS [он не отличается от D4.C ].
Настройка RAM-диска(ов)
Драйвер RAM-диска подключен к драйверу
файловой системы TR-DOS.
Загрузите файл ядра D4.C или DNA_OS.SYS
в STS на адрес #BE00.
(В этой версии адрес начала системных
переменных, т.е. SYS_VAR-5, равен #E575 .)
По адресу #E739 есть слово RAMSETUP. По
адресу #E741 один байт - количество рам-
дисков (сейчас драйвер поддерживает 4 рам-
диска),далее с адреса #E742 идут по 5 байт
на каждый RAM-диск:
1-й байт: если 0 - диск растёт вверх;
если 1 - диск растёт вниз;
2 и 3 байты - номер стр.начала RAM-диска;
4 и 5 байты - длина диска в страницах.
Сейчас RAM-диски имеют такие настройки:
RAM_0 - со стр.63,растёт вниз,дл.56 стр.;
RAM_1 - со стр.31,вниз,24 стр.;
RAM_2 - со стр.15,вниз,8 стр.
(его нет в окне выбора у-в в оболочке);
RAM_3 - со стр.8,вверх,56 стр.
(его тоже там нет).
Если планируется загружать систему с
RAM-диска,то установите номера загрузочно─
го и системного у-в равными 4 (для RAM_0)
или 5 (для RAM_1):по адресу #E57C и адресу
#E57D поместите эти номера у-в. Сохраните
ядро системы с адреса #BE00 длиной #2B00 с
именем файла D4.C. Установите такой же но─
мер у-ва в файле SYSTEM.DNA для загрузоч─
ного и системного у-в (байты по смещению
7, 8 от начала файла).
Включение/отключение режима LBA
По умолчанию для винта Master LBA вклю─
чен; для винта Slave - отключен.
Загрузите файл ядра D4.C или DNA_OS.SYS
в STS на адрес #BE00.
По адресу #E756 есть слово SETUPHDD. По
адресу #E760 поставьте 1 (для LBA) или 0
(не использовать режим LBA) для винта Mas─
ter. По адресу #E763 - то же для Slave.
Сохраните ядро системы с адреса #BE00
длиной #2B00 с именем D4.C (или DNA_OS.S,
если устанавливать на HDD, потом в комман─
дере переименуйте на DNA_OS.SYS ).
Файлы конфигурации системы
HIMEMORY.DNA, SYSTEM.DNA, CONFIG.DNA
ВНИМАНИЕ! Система может нормально рабо─
тать без этих файлов! (только не будет до─
ступен RAM-диск,если он расположен в памя─
ти свыше 128k).
При удержании клавиши "Space" в начале
загрузки файлы игнорируются (так же при их
отсутствии),и система будет работать с на─
чальными настройками.
1) Память компьютера.Поддерживаются раз─
личные типы компьютеров при наличии ДРАЙ─
ВЕРА СТРАНИЧНОЙ ПАМЯТИ.
Драйвер (в данный момент) должен быть
настроен на адрес загрузки #5B7B. Его дли─
на должна быть не более 100 байт. Файл
драйвера должен называться HIMEMORY.DNA и
присутствовать в корневом каталоге на заг─
рузочном у-ве. (При этом сам файл может
иметь длину >100 байт, но использовано бу─
дет только первых 100 байт.)
Для Спектрума-128 драйвер не нужен!
2) Расположение ядра системы.
По умолчанию ядро системы находится в
странице с номером 6.
Чтобы выбрать страницу, в которой будет
располагаться ядро системы при работе,
берём и смотрим файл SYSTEM.DNA: в нём 2
байта по смещению 2 - номер страницы,в ко─
торой должно располагаться ядро при рабо─
те. После загрузки этого файла ядро будет
перемещено в эту страницу.
Внимание!Проверки на существование этой
страницы нет!
3) В файле SYSTEM.DNA хранится информа─
ция про логические у-ва, установленные в
систему.
По смещению #B1 1 байт - количество ло─
гических у-в.
По смещению #B2 по 3 байта на у-во:
1-й байт - номер драйвера файловой сис─
темы для данного логического у-ва (нумера─
ция с единицы);
2-й байт - номер драйвера блочного вво─
да-вывода для данного логического у-ва
(нумерация с единицы);
3-й байт - номер виртуального диска (ну─
мерация с нуля).
По смещению #27 - кол-во имён драйверов
файловой системы.
По смещению #28 расположено 6 (на дан─
ный момент) имён драйверов файловых систем
(по 8 байт на имя).
По смещению #58 - кол-во имён драйверов
блочного ввода-вывода.
По смещению #59 расположено 10 (на дан─
ный момент) имён драйверов блочного ввода-
вывода (по 8 байт на имя).
Пример у-в: TR-DOS'ные дисководы.4 шту─
ки. Имя драйвера файловой системы для всех
TR_DFS располагается по смещению #28, со─
ответственно, 1-й байт в тройке у всех ло─
гических у-в имеет значение 0; имя драйве─
ра блочного ввода-вывода для всех FDD_DRV
располагается по смещению #59, соответст─
венно, 2-й байт в тройке имеет значение 0.
Номера виртуальных дисков для у-в: A=0;
B=1; C=2; D=3. Следовательно, 3-й байт в
тройке будет у каждого у-ва 0, 1, 2, 3 со─
ответственно. Т.о., имеем:
по смещ. #27 байт 1 (1 драйвер файловой
системы);
по смещ. #58 байт 1 (1 драйвер блочного
ввода-вывода);
по смещ. #b1 байт 4 (4 лог. у-ва);
По смещ. #b2 (12 байт) - 4 по 3 байта:
0,0,0; 0,0,1; 0,0,2; 0,0,3.
Естественно, в ядре системы должны быть
эл-ты с именами TR_DFS и FDD_DRV. На дан─
ный момент зарезервировано 6 имён драйве─
ров файловой системы и 10 имён драйверов
блочного ввода-вывода, кол-во логических
у-в может быть 26, т.е.зарезервировано под
у-ва 26*3=78 байт (это ограничение связано
с размером файла SYSTEM.DNA - 256 байт), в
дальнейшем будет больше.Сама система может
иметь до 256 у-в - но можно сделать драй─
вер, который будет предоставлять несколько
у-в как папки на одном у-ве,и тогда кол-во
у-в будет не ограничено).
Сейчас в системе установлено 20 у-в:
- 4 физических дисковода;
- 2 RAM-диска;
- по 7 разделов на HDD Master и Slave.
4) Файл CONFIG.DNA (текстовый) содержит:
- по смещению 0 - имя первой запускаемой
п-мы (8 байт). П-ма с указанным именем и
расширением SEP будет загружена из корне─
вого каталога на загрузочном у-ве.
- по смещению 8 любой байт (не использу─
ется,служит для визуального отделения име─
ни п-мы от дальнейшего текста).
- по смещению 9 идут строки текста,окан─
чивающиеся на символ 13, конец файла - си─
мвол 3. Из каждой такой строки берётся имя
файла эл-та - первые 8 байт строки. Файл с
таким именем и расширением DNK ищется в
корневом каталоге загрузочного у-ва; если
найден - загружается и устанавливается в
систему. Если 1-й байт в строке равен ";",
то строка считается закомментированной и
игнорируется.
5) В файле SYSTEM.DNA хранятся номера,
присвоенные у-вам:
по смещению 7 - номер загрузочного у-ва;
по смещению 8 - номер системного;
по смещению 9 - номер быстрого;
по смещению 10 - номер у-ва для свопа.
Проверки на номера у-в не ведутся. Если
в примере с 4-мя у-вами (см. выше) указать
номер загрузочного больше 3 (у-ва нумерую─
тся от нуля), то файл CONFIG.DNA и сама
оболочка загружены не будут, и тогда пере─
ход в 7-ю страницу,в STS, без проверки на─
личия оного.
DNA_OS v0.431
Система DNA поддерживает FDD, HDD(Nemo)
и RAM-Disk.
Существующий драйвер RAM-диска позволя─
ет использовать до 4 RAM-дисков, созданных
в страницах верхней памяти с помощью Real
Commander (такие RAM-диски начинаются в
последней странице и "растут" вниз) или
прошивками ПЗУ TR-DOS, такими как dos513f,
dos605e и подобными (эти прошивки, в отли─
чие от dos6b09e, создают менее удобный
RAM-диск, который "растёт" вверх).
Существующие драйвера винчестера позво─
ляют:
- одновременно использовать два HDD;
- использовать разделы на HDD: на стан─
дартных MBR-винтах система "видит" пять
разделов - один основной и четыре дополни─
тельных; а всего данная версия распознаёт
7 разделов (3 основных и 4 дополнительных)
на HDD, подключенном как Master, и ещё 7
разделов на HDD, подключенном как Slave;
- обращаться к HDD, используя режим LBA
(если HDD поддерживает данный режим адре─
сации).
В системе есть драйвера памяти для:
- Spectrum-128;
- Pentagon 256,512,1024;
- Profi-1M.
DNA работает со следующими файловыми
системами:
- TR-DOS (на дискетах,на RAM-Disk);
- FAT12, FAT16 (на HDD ).
Mожет читать/записывать/создавать/уда─
лять файлы. Драйвер TR-DOS создаёт файлы
длиной максимум 65280 байт (255 секторов),
драйвер FAT16 создаёт файлы длиной макси─
мум 16 мегабайт минус 1 байт, а при чте─
нии/записи длина до 4 Гб. На FAT12 функция
удаления файла отсутствует.
Может предоставлять программам каталог/
подкаталоги в универсальной форме (преоб─
разование каталогов разных файловых систем
выполняется, если при вызове функции "чи─
тать каталог" уставлен флаг "преобразо─
вать").
Может копировать файлы с помощью систе─
мной утилиты COPY. Файлы копируются по од─
ному,в любом направлении: TR-DOS<>RAM-Disk
<>HDD.
При копировании на устройство с файло─
вой системой TR-DOS (дискета или RAM-Disk)
длина копируемого файла должна быть є 255
секторов.
При копировании на устройство с файло─
вой системой FAT12/FAT16 (HDD) длина файла
должна быть є 16 мегабайт минус 1 байт.
Протестирована с контроллером по схеме
Nemo на следующих винтах (на Спектруме):
- Seageate 130M;
- Western Digital Caviar WD2200 212M;
- DHAA2270 258M.
И с этими же винтами на пц на эмуляторе
Z80 Stealth v5.03 с эмуляцией компьютера
KAY1024 и эмуляцией контроллера IDE Nemo.
С контроллером SMUC не тестировалась.
Драйвера памяти тестировались:
а) На Спектрумах:
- Profi-1M - на Пентагоне-1024 с перек─
лючением страниц по стандарту Профи;
- Пентагон-512,1024 на Пентагоне-1024.
б) В эмуляторах на пц:
- эмулятор Шалаева 3.05 с плагином под─
держки памяти Профи - PROFMEM.ADD;
- Unreal Speccy v0.20;
- Z80 Stealth v5.03.
Система успешно применяется для записи
образов TRD (расположенных на винте) на
реальные дискеты,а также для записи файлов
из образов SCL, расположенных либо на вин─
те, либо на этой же дискете (либо на RAM-
диске, или на дискете в другом дисководе).
Также можно читать тексты с дискеты,
RAM-диска или HDD (грузятся только первые
26.5 k текста), смотреть стандартные экра─
ны, запускать снапшоты 48k и файлы формата
TRF.
ZET-9 (Дмитрий Аврята), г.Харьков