Сообщение от
Filin
Перебрал стандартные варианты (debug g=c800:5, g=c800:6, g=d800:5
Я так понимаю, что контроллер без своего BIOS? В исходниках bios v2.1 программы форматирования low level нет. Есть только обработчик int 13h для жесткого диска. c800, d800 - это область дополнительных расширенных BIOS, и если на контроллере нет ПЗУ, то там (в этой области) 0xFF скорее всего. Убедиться можно командой в том же DEBUG'е d c800 и тд.
- - - Добавлено - - -
И наверное нужно поступать как с ранними контроллерами для IBM - прям в debug набросать простенькую прогу, типа такой:
Код:
a 100
mov ax,707
mov cx,1
mov dx,80
int 13
int 3
Потом нажать еще раз Enter, чтоб дебаг вывалился в командный режим и потом ввести команду g и Enter. Должно начаться форматирование (функция 07h прерывания int 13h). В AL - 07h - по идее Interleave, тут можно поиграться. Начать с первого сектора нулевой головки (CX = 01h). Первый жесткий диск (DX=80h; DX=81h - второй жесткий диск и тд). int 3 - отобразить состояние регистров по завершению.
- - - Добавлено - - -
UPD: А, вот нашел, где я это видел: http://minuszerodegrees.net/ibm_xebe..._llf_debug.htm
- - - Добавлено - - -
А, наверное, не прокатит. В BIOS v2.1 Поиска на месте функции 07h прерывания int 13h (форматирования) - заглушка.
Код:
;-------------------------------------------------------
; BAD_COMMAND ;
; ЭТА ПРОЦЕДУРА ВОЗВРАЩАЕТ ОШИБКУ ;
; ВОЗВРАЩАЕТ ;
; AH = 01 ;
;-------------------------------------------------------
HDISK_SEEK: mov di,1
jmp HDISK_VERF
PARK_HEAD:
FMT_BAD:
FMT_DRV:
RD_BUFF:
WR_BUFF:
BAD_COMMAND:
MOV AX,BAD_CMD*256
RET
- - - Добавлено - - -
UPD2: Еще есть вариант попробовать отформатировать через загрузочные дискеты IBM Advanced Diagnostics. Правда я точно не знаю, не вызывается ли там тот же int 13h с функцией 07h, но может повезет, и там они напрямую с WD1010 регистрами работают. В любом случае, попытка не пытка. Как это сделать написано здесь: http://minuszerodegrees.net/ibm_xebe...ec_llf_add.htm