Info Guide #07
31 мая 2005
  Софт  

Sofтинка - DNA_OS v0.431 - пакет утилит для работы с винчестерами, RAM-дисками и дискетами.

<b>Sofтинка</b> - DNA_OS v0.431 - пакет утилит для работы с винчестерами, RAM-дисками и дискетами.
            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 (Дмитрий Аврята), г.Харьков 



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

Классика - Альманашник. А. С. Пушкин.

For Coderz - Распознавание и вычисление арифметических выражений по их символьной записи.

Inferno - Авторы журнала.

For Coderz - О дисциплине при создании больших проектов.

Интервью - Вопросы Константину Свиридову (Conan) о сайте zxnext.narod.ru.

Ликбез - Принципы конвертирования графики PC-ZX.

For Coderz - Программирование смены диска/дисковода на Скорпионе.

Sofтинка - DNA_OS v0.431 - пакет утилит для работы с винчестерами, RAM-дисками и дискетами.

For Coderz - Программирование под DNA_OS ZET-9, пакет утилит для работы с устройствами хранения данных.

Sofтинка - Проблемы и недоработки пакета утилит для работы с устройствами хранения данных DNA_OS.

Ликбез - Подробно о дисковых форматах, имеющих FAT.

Inferno - Вступление от редактора.

Inferno - Ошибки в предыдущих номерах.

For Coderz - Маленькие программерские хитрости.

Gameland - О новых играх: Oneyroid, Dizzy forever, Dridlock.

For Coderz - Пишем архиватор. Практические принципы LZ упаковки.

Gameland - Прохождение новых отгрузок для игры "Чёрный Ворон".

For Coderz - Программирование для видеорежима 384x304.

Inferno - Письма в редакцию.

Звук - Идеи Megus'а по поводу трекера для AY/YM.

Inferno - Об оболочке.

For Coderz - Основы оптимизации под процессор Z80.

Ликбез - Расположение разделов на винчестере.

Gamedev - 3D проецирование пола/трассы в играх.

Звук - Дикие идеи для AY трекеров.

Реклама - Реклама от Романа Чунина.

Реклама - Реклама от В. Богдановича

For Coderz - Как делается крупная перемещаемая программа.

Ремонт - Неисправности Pentagon 128+ и их ремонт.

Inferno - Содержание номера.

Разное - Мысли о конкурсе на лучший софт.

Others - Перенос программного обеспечения на ZX Spectrum с PC.

Видео - Об упаковке видео для ZX Spectrum.


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

Похожие статьи:
Обо всем - разьяснение.
My +D Power Pack Is Shagged!
Предисловие - Неудачи у редакторов газеты.
Demo-строение - древний эффект под хитрым названием Moving Shit.
Мир звуков Спектрума - глава 4.6: Обработка внешних сигналов - оцифровка.

В этот день...   25 апреля