Inferno #10
30 апреля 2007
  Железо  

Scorpion ZS - Структура разметки винчестера на компьютере Scorpion.


Аппаратное обеспечениеПериферийное оборудованиеХранение информацииНакопители информации - дисководы и жесткие диски

      Структура разметки винчестера
          на компьютере Scorpion

Влад Сотников (Vega) 

   В системе MS-DOS программы для Спектру─
ма, разумеется,работать без определённой и
очень  трудоемкой адаптации не могут. Тре─
бовалось  создать на жестком диске систему
TR-DOS. Авторы Теневого Монитора подошли к
решению  этой проблемы довольно оригиналь─
но: на винчестере создается последователь─
ность  TR-DOS  образов дисков, и каждый из
этих  образов можно "подсоединить" к носи─
телю A, B, C или D, и операционная система
TR-DOS будет  работать  с этим образом, не
подозревая,что это не реальный диск. Отсю─
да идет терминология:диск физический (гиб─
кий флоппи-диск) и диск эмулированный (HDD
образ).

      Файловая структура винчестера

   Структурная  организация  размещения на
винчестере  информации  выглядит следующим
образом.
 

  1. Создастся глобальный подраздел, нося─
щий всегда название MFS (MOA FileSystem?).
Теневой  Монитор  будет  работать только с
ним. Кроме этого подраздела на жестком ди─
ске  могут  находиться  подразделы  других
операционных  систем. Таким  образом, один
винчестер  можно использовать как на Спек─
труме, так и на других компьютерах.
 

  2. Внутри глобального подраздела создаю─
тся  так называемые  локальные подразделы.
 Они могут быть следующих видов:
   - TR-DOS. Этот подраздел содержит в се─
бе последовательность  TR-DOS образов дис─ 
 ков (от 1 до 51). 
   - MicroDos. Как  писал  автор  Теневого
Монитора,этот подраздел зарезервирован для 
совместимости с ПК, использующими  эту ОС, 
и программная  поддержка этого  подраздела 
планировалась написаться  в дальнейшем. Но 
до  настоящего времени так ничего написано 
 и не было. 
   - IS-DOS. Подраздел  для ОС с одноимён─
 ным названием. 
   - BAD. С помощью  этого  подраздела  на
винчестере  покрывается  область,  имеющая 
сбойные сектора. 

   Способы  работы  с этой структурой вин─
честера  через  меню  Теневого  Монитора и
подпрограмму  RST 8 довольно разнообразны.
Здесь же  я приведу описание того, как эта
структура выглядит "изнутри".

      Структура описания подразделов

   Список глобальных подразделов находится
в 0-м относительном  секторе (0 цилиндр, 0
головка, 1 сектор) по адресу #01BE и зани─
мает 16 байт, где:
 

   +0  - У MOA 0.
 

    +1  - головка     |
    +2  - сектор      | начала
   +3  - цилиндр (?) | подраздела.
 

   +4  - у MOA #53 - MFS.
 

    +5  - ?
    +6  - ?
   +7  - ?
 

    +8  |
    +9  | относительный адрес
    +10 | подраздела.
   +11 |
 

    +12 |
    +13 | Длина подраздела
    +14 | (в секторах).
   +15 |

   Всего  таких  описателей  может быть 4.
Четвёртый  байт  #53 - признак  подраздела
MFS. Смысл 5,6 и 7 байта мне так разгадать
и не удалось. Также  я не совсем  уверен в
значении 3-го байта.Тем не менее,2-й и 3-й
байты  указывают местоположение списка ло─
кальных подразделов.
   Он занимает 2 сектора (1024 байта).Опи─
сание  каждого подраздела занимает 16 байт
и выглядит следующим образом.
 

    +0 - тип подраздела:
         1 - TR-DOS.
         2 - MicroDos.
         3 - Is-DOS.
        4 - BAD.
 

    +1 |
    +2 | относительный адрес
    +3 | подраздела.
   +4 |
 

    +6 |
    +7 | Длина подраздела
    +8 | (в секторах).
   +9 |
 

   +10 - имя подраздела (6 символов).

   С помощью 4-байтного относительного ад─
реса мы можем  обратиться  к началу любого
локального подраздела.

     Внутренняя структура подразделов

   Подразделы  MicroDos  и  BAD внутренней
структуры не имеют. Подраздел IS-DOS такую
структуру имеет, но определяется она цели─
ком  и полностью  только этой операционной
системой.

       Структура подраздела TR-DOS

   Теперь  рассмотрим подраздел TR-DOS. Он
является  одним из центральных подразделов
на винчестере, поскольку большинство прог─
рамм  работают  именно с этой операционной
системой. Поэтому его мы рассмотрим наибо─
лее подробно. Структура подраздела такова:
в первых  двух секторах находится описание
TR-DOS образов дисков. Описание  абсолютно
аналогично по своей структуре описанию ло─
кальных дисков. Каждый диск описан 16 бай─
тами, где +0 - всегда 1 (TR-DOS), +1 - ад─
рес образа диска плюс 1, +6 - длина  диска
(всегда 1,5,0,0 - поскольку  длина  TR-DOS
образа строго фиксирована: 1280+1 512-бай─
тных секторов), +10 - имя диска. Стандарт─
ное  имя - "Disk??", где "??" - порядковый
номер диска,но его можно безболезненно для
Теневого Монитора менять.
   Обратите внимание,что к адресу диска на
винчестере необходимо прибавлять 1 сектор.
Дело в том,что перед каждым диском непоня─
тно зачем  существует 512-байтная область,
заполненная нулями.
   Хочу  также обратить внимание на макси─
мально  допустимое количество образов дис─
ков  в TR-DOS  подразделе. Мне  доводилось
встречать мнение,что их может быть больше,
чем 51. Объясняю, в чём здесь заблуждение:
дело в том,что Теневой Монитор для обраще─
ния  к дискам внутри подраздела использует
16-разрядный  регистр. Относительно начала
подраздела  адрес 51-го диска будет #FF33,
а адрес 52-го диска был бы #010434. Именно
поэтому  максимальное  количество дисков в
подразделе - 51.




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

Похожие статьи:
Железяки - загрузка программ в спектрум с CD с использованием SP-Dif.
Switch 3.5' - Как юзать 3.5 привод после его подключения.
Железо - К вопросу о дисководах и multiloader'ах.... "Как ни крути... три дисковода не добавят тебе мастерства!"

В этот день...   26 сентября