Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
hddxt [2022/09/05 13:51]
admin [BIOS XT и HDD]
hddxt [2022/09/05 14:04] (current)
admin [Контроллеры для XT и их BIOS]
Line 90: Line 90:
 Контроллер Xebec 1210 поддерживал два жестких диска Seagate ST-412 и имел на борту ПЗУ (Optional ROM), то есть расширение BIOS. Интерфейс между BIOS и Optional ROM, как известно, является стандартом на IBM PC: во время POST процедуры BIOS материнской платы XT сканирует область дополнительных ROM и, если находит сигнатуру, пытается эти ROM запустить. Получив управление BIOS контроллера, в свою очередь, тестирует жесткий диск (читает 1-й сектор) и переписывает на себя вектора прерываний INT 13 и INT 19 (включается первым в цепочку). Если же диск неисправен - выводится ошибка 1701. Контроллер Xebec 1210 поддерживал два жестких диска Seagate ST-412 и имел на борту ПЗУ (Optional ROM), то есть расширение BIOS. Интерфейс между BIOS и Optional ROM, как известно, является стандартом на IBM PC: во время POST процедуры BIOS материнской платы XT сканирует область дополнительных ROM и, если находит сигнатуру, пытается эти ROM запустить. Получив управление BIOS контроллера, в свою очередь, тестирует жесткий диск (читает 1-й сектор) и переписывает на себя вектора прерываний INT 13 и INT 19 (включается первым в цепочку). Если же диск неисправен - выводится ошибка 1701.
  
-Новый обработчик INT 13H добавляет поддержку устройства с номером 80H (и 81H для второго диска). Обработка старых устройств (как мы помним - флопиков с номерами 00H и 01H) передается предыдущему обработчику INT 13 (стрый адрес сохраняется на INT 40). Новый обработчик INT 19 меняет логику загрузки: сначала пытается загрузиться с флопика, а в случае неудачи - с первого жесткого диска (устройство 80H).+Новый обработчик INT 13H добавляет поддержку физических дисковых устройства с номером 80H (и 81H для второго диска). Обработка старых устройств (как мы помним - флопиков с номерами 00H и 01H) передается предыдущему обработчику INT 13 (стрый адрес сохраняется на INT 40). Новый обработчик INT 19 меняет логику загрузки: сначала пытается загрузиться с флопика, а в случае неудачи - с первого жесткого диска (устройство 80H).
  
-BIOS контроллера XT использует некотрые ячейки [[http://stanislavs.org/helppc/bios_data_area.html|BDA]] (BIOS data area), а кроме того, он заполняет область FDPT (Fixed Disk Parameter Table), на которую указывает INT 41 (INT 46 для второго диска). Обратите внимание, этот вектор используется не для вызова, а именно как FAR-указатель на данные параметров жесткого диска. Указывать он может как прямо на таблицу в области ROM контроллера диска, так и в память. Для таблички FDPT часто используется или область старших прерываний (INT C0-C3 и INT C4-C7) которые не использует никто кроме ROM Basic, или область стека BIOS 0000:0500h, что конечно чревато ее затиранием. Иногда используют последний килобайт памяти 9000:FС00 (там же размещается EBDA (Extended BIOS Data Area)) и остается 639К вместо 640К. Для устройств от 82H и выше таблицы FDPT не ведется, их параметры можно узнать только через INT 13H функцию 8H.+BIOS контроллера XT использует некотрые ячейки [[http://stanislavs.org/helppc/bios_data_area.html|BDA]] (BIOS data area), а кроме того, он заполняет область FDPT (Fixed Disk Parameter Table), на которую указывает INT 41 (INT 46 для второго диска). Обратите внимание, этот вектор используется не для вызова, а именно как x86 FAR-указатель на данные параметров жесткого диска. Указывать он может как прямо на таблицу в области ROM контроллера диска, так и в память. Для таблички FDPT часто используется или область старших прерываний (INT C0-C3 и INT C4-C7) которые не использует никто кроме ROM Basic, или область стека BIOS 0000:0500h, что конечно чревато ее затиранием. Иногда используют последний килобайт памяти 9000:FС00 (там же размещается EBDA (Extended BIOS Data Area)) и остается 639К вместо 640К. Для устройств с нормерами от 82H и выше таблицы FDPT не ведется, их параметры можно узнать только через INT 13H функцию 8H.
  
 При старте MS-DOS опрашивает BIOS и FDPT на наличие жестких дисков в системе. Поддержка MS-DOS для жесткого диска устроена также несколько сложнее, чем для дискеты. Появилась поддержка Таблиц Разделов (Partition Table) и специальная программа FDISK в составе DOS (начиная с 2.0) для работы с разделами. Загрузчик в Boot Sector-е жесткого диска тоже несколько сложнее - он проверяет таблицу разделов и грузится с первого "активного" раздела. Когда загружается MS-DOS, он присваивает устройству 80H (а точнее, первому активному разделу) символическое имя C:, так как на уровне BIOS никаких имен нету, только номера. При старте MS-DOS опрашивает BIOS и FDPT на наличие жестких дисков в системе. Поддержка MS-DOS для жесткого диска устроена также несколько сложнее, чем для дискеты. Появилась поддержка Таблиц Разделов (Partition Table) и специальная программа FDISK в составе DOS (начиная с 2.0) для работы с разделами. Загрузчик в Boot Sector-е жесткого диска тоже несколько сложнее - он проверяет таблицу разделов и грузится с первого "активного" раздела. Когда загружается MS-DOS, он присваивает устройству 80H (а точнее, первому активному разделу) символическое имя C:, так как на уровне BIOS никаких имен нету, только номера.
  
 {{ wd1002.jpg?nolink&200}} {{ wd1002.jpg?nolink&200}}
-Следом за Xebec, другие производители также выпустили на рынок массу контроллеров для XT. Самой, пожалуй, популярной была серия Western Digital WD1002-WX. Благодаря тому, что IBM опубликовала полные спецификации, контроллеры WD были практически совместимы с Xebec на уровне регистров, хотя и сделаны на других чипах. Кроме WD часто встречались контроллеры фирм Longshine, DTC и SMC OMTI. Даже фирма Seagate поспешила на рынок со своими ST-11M и ST-11Rстранно что они сразу не выпустили контроллер ISA-8 для своего сверх-популярного диска ST-412. В СССР также выпускались машины с жестким диском MFM. ПЭВМ "Искра-1030" имела контроллер жесткого диска, повторяющим ранний WD1002-WX на микросхемах - клонах набора WD. ПЭВМ "ЕС-1841" имела контроллер - близкий аналог Xebec.+Следом за Xebec, другие производители также выпустили на рынок массу контроллеров для XT. Самой, пожалуй, популярной была серия Western Digital WD1002-WX. Благодаря тому, что IBM опубликовала полные спецификации, контроллеры WD были практически совместимы с Xebec на уровне регистров, хотя и сделаны на других чипах. Кроме WD часто встречались контроллеры фирм Longshine, DTC и SMC OMTI. Даже фирма Seagate поспешила на рынок со своими контроллерами ST-11M и ST-11R (странно что они сразу не выпустили контроллер XT ISA-8 для своего сверх-популярного диска ST-412). В СССР также выпускались машины с жестким диском MFM. ПЭВМ "Искра-1030" имела контроллер жесткого диска, повторяющим ранний WD1002-WX на микросхемах - клонах набора WD. ПЭВМ "ЕС-1841" имела контроллер - близкий аналог Xebec.
  
 Дополнительные материалы для чтения: Дополнительные материалы для чтения:
Navigation