Я пишу OpROM(BIOS) для конкретного контроллера SCSI. BIOS работает нормально перед подключением к серверной плате Intel S2600CW. Жесткий диск подключен к контроллеру SCSI, сканируется и распознается SCSI BIOS. Но когда система загружается в среду MS-DOS (через флэш-накопитель USB), устройство SCSI просто отсутствует! Проверка BIOS BDA 0:475h и есть только 1 устройство (USB-накопитель).
Но если я нажму F2, чтобы войти в настройку BIOS после завершения SCSI BIOS, отсканированное устройство SCSI отобразится в меню выбора загрузочного устройства!
Мне удается предварительно выделить область в EBDA BIOS, чтобы записать, как системный BIOS вызывает SCSI, и не могу найти ничего необычного. SCSI BIOS BCV вызывается после этапа инициализации, затем процедура int13 вызывается примерно 52 раза, при этом передаются различные команды, такие как 08h, 41h, 48h и 42h, и все они выполняются без ошибок.
Я написал BIOS для другого контроллера SCSI, и он прекрасно работает на том же Intel M/B.
Интересно, была ли по ошибке реализована какая-либо функция int13, которая делает BIOS системы Intel несчастным?