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.



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

Ликбез - Аккумуляторы. Практика использования.

Ликбез - Аккумуляторы. Результаты опытов с различными аккумуляторами.

Возможности Спектрума - Описание формата ani-файлов на ZX.

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

Возможности Спектрума - Способы воспроизведения многоканальной музыки на бипере.

Возможности Спектрума - О поддержке формата DVD на ZX.

Gameland - О конкурсе нелепых (или корявых) игр для ZX Spectrum - Crap Games Competition.

Графика - Как быстро рисовать цветные картинки.

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

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

For Coderz - Код Грея и оптимизация программ.

For Coderz - Построение графического пользовательского интерфейса.

Форматы - Подробно о декодере jpeg.

Железо - Описание микросхемы К561ПУ4.

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

Форматы - Формат пакованного файла MegaLZ.

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

ZX Клоны - Мультиплатформенность на ZX Spectrum. Компьютеры SAM Coupe и MSX.

Реклама - Реклама NedoPC.

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

Активный отдых - Команда "Спектрум" на соревновании по ночному ориентированию Окинчица 2004.

Sofтинка - Сравнительная таблица результатов упаковки кодовых файлов различными упаковщиками.

Реклама - Реклама King of Evil.

Sofтинка - Программы для печати в приложении к журналу.

Sofтинка - Музыкальный редактор Pro Tracker v3.71. История изменений.

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

Железо - О некоторых RND-генераторах.

Возможности Спектрума - Аппаратный скроллинг на ZX Spectrum.

Pentagon - Синхроселектор видеосигнала на Pentagon. Проблемы и схема.

DIY - Универсальный TAPE интерфейс. Схема загрузки и записи с ленты.

Звук - Особенности звукового устройства TurboSound FM.

DIY - Схема анализатора состояния TTL вывода.

Будущее Спектрума - Видеоконтроллеры V9990. Расширение графических возможностей ZX Spectrum.

Sofтинка - Обновления в просмотрщиках картинок: ANSI viewer, MCX viewer.

Интервью - Интервью с музыкантом X-Raizor из Omega Hackers Group.


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

Похожие статьи:
Железо - о винчестерах: что это такое, зачем оно нужно и как выглядит изнутри.
Switch 3.5' - Как юзать 3.5 привод после его подключения.
CD-ROM'ы - Принцип работы дисковода CD-ROM.

В этот день...   17 июля