Inferno
#04
22 июня 2003 |
|
Sofтинка - IDEDOS - доступ к жёстким дискам в ОС ZXVGS.
IDEDOS - доступ к жёстким дискам IDEDOS означает расширенные возможности операционной системы +3e, написанное Garry Lancaster'ом. Для дополнительных деталей ознакомьтесь с его страничкой по адресу: http://www.zxplus3e.plus.com/ В ZXVGS и CPM22QED применена таблица пар- тиций IDEDOS (называемая также системной партицией IDEDOS). Поиск структур IDEDOS: 1. Читаем sector 1 на cylinder 0 и head 0. 2. Если длина сектора равна 512B (полный IDE), перейти к пункту 5. 3. (Простой IDE - длина сектора 256B.) Если найдена сигнатура "PLUSIDEDOS", пере- йти к пункту 10. 4. Не подключать этот диск. 5. Если найдена сигнатура "PLUSIDEDOS", перейти к пункту 10. 6. Если найдена сигнатура "P?L?U?S?I?D?E?D?O?S", переключить доступ к диску в 8-битный режим и перейти к пунк- ту 10. 7. Прочитать sector 1 на cylinder 0 и head 1. 8. Если найдена сигнатура "PLUSIDEDOS", перейти к пункту 10. 9. Не подключать этот диск. (Или попыта- ться анализировать таблицы партиций MS- DOS.) 10. Анализировать таблицу партиций IDEDOS. 64-байтный элемент партиции: Длина Описание +0 16 Имя партиции (регистр не важен, имя добивается пробелами). +16 16 Определение партиции: +16 1 Тип партиции (0=free handle) +17 2 Начальный cylinder. +19 1 Начальная head. +20 2 Конечный cylinder. +22 1 Конечная head. +23 4 Наибольший логический номер сектора. +27 5 Типозависимая информация. +32 32 Типозависимая информация. Типы партиций: #00 Неиспользованная партиция/free handle. #01 Системная партиция. Первая партиция на диске, начинающаяся с логического сектора 0, всегда системная и содержит список 64-байтных элементов партиции, которые определяют все партиции на диске (включая системную партицию). Только одна партиция этого типа (ptype_system) разрешена на диске, и она всегда первая. Имя её всегда "PLUSIDEDOS" (с 6 пробелами в конце). #02 Партиция файла подкачки(?) (swap partition). #03 Партиция +3DOS. Максимальный теорети- ческий размер партиции +3DOS чуть ме- ньше 32Mb. XDPB имеет логическую гео- метрию. #04 Партиция CP/M с XDPB, которая отражает физическую структуру диска. Так, если диск имеет 17 spt (секторов на дорож- ку), LSPT равен 68. Партиция всегда использует целое число cylinders и ис- пользует cylinder целиком (начиная с head 0). Иначе (если не с track 0) это конвертируется в зарезервированные дорожки (OFF в XDPB). Это требуется для низкоуровневых драйверов диска DSKHNDLR. #05 Загрузочная партиция. Это всего лишь один файл, сохранённый как партиция. Используется для загрузки компьютера. Например, Timex FDD 3000, расширенный через YABUS.TF, будет искать таблицу партиций IDEDOS, чтобы найти партицию "YABUS.TF". Если она найдена,её содер- жимое загружается в ОЗУ и запускается. Размер партиции обычно от 8k до 64kB, что даёт 1..2 дорожки (или 1..8 доро- жек для дисков с 17 spt).Число загру- жаемых секторов лежит в определении партиции. #06 Партиция образа диска TR-DOS. Обычно 640kB. (Я не уверен, начинаются ли они всегда с новой стороны,поэтому возмож- но требуется секторное смещение, и мо- гут появиться дорожки, распределённые между двумя партициями TR-DOS после перевода диска в IDEDOS.) #07 Партиция образа диска MB-02. Обычно 1804kB. Я проверяю,имеют ли они секто- рное смещение. #FE Сбойная область диска. #FF Свободная область диска. ------------------------------------------ (c) 2002-10-11 23:56:22 Jarek Adamski {zxvgs@yarek.com},{http://zxvgs.yarek.com}
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября