Страница 4 из 10

286 AMI BIOS with autodetect

Добавлено: 27.06.2020,16:41
Mx_Serg
i8088 писал(а): 27.06.2020,16:38 Ну тут главное понять в чем
дело
Это - да. Но хорошая новость - пока нет обращения к HDD - ничего не виснет. Например, косяк "Трайденты 9000c - CF" проявляется мусором на экране еще задолго до инициализации HDD.

286 AMI BIOS with autodetect

Добавлено: 27.06.2020,17:03
i8088
Mx_Serg писал(а): 27.06.2020,16:41 Но хорошая новость - пока нет обращения к HDD - ничего не виснет. Например, косяк "Трайденты 9000c - CF" проявляется мусором на экране еще задолго до инициализации HDD.
Да, можно в отдельном exe файле изучать в чем дело, подключив HDD, но не определяя
его в BIOS. Я так патч для автоопределения отлаживал, в EXE файле.

286 AMI BIOS with autodetect

Добавлено: 29.06.2020,08:44
i8088
Mx_Serg, вчера опять проверил ST3660A/3491A на VLSI. Неожиданно начал грузить DOS
даже в самой проблемной комбинации (Trident+простая мультикарта). Однако я поймал пропадание
видеосигнала при запуске AMIDIAG и зависание при запуске TS. А комбинация мулькарта Winbond + VGA
OAK работает полностью нормально. Расследованием этого вопроса займусь попозже - возможно
потребуется аппаратная доработка.

А тем временем прилагаю новый AMI BIOS M04. Код патча переделан (многие процедуры почти
полностью взяты из BIOS). Теперь ST157A определяется с первого раза.

286 AMI BIOS with autodetect

Добавлено: 29.06.2020,12:45
i8088
Обнаружил любопытную проблему с ST157A (с патчем не связано). Со slave CF он не заработал (я
особо и не надеялся), но если просто в BIOS выставить любой диск D, то процедура штатного time-out
нарушается, стоит очень долго, но один раз я дождался, но строка <press F1...> стала появляться по
~одному символу в секунду. Захода в SETUP я уже не дождался. Очень похоже на некорректную работу
IOCHRDY, те очень сильно тормозит работу и может даже сорвать регенерацию. Возможно с ST157A это
может происходить при записи в регистр 1F6 0xBx (для slave).

И с ST3660A/3491A тоже похоже было, только уже single master было достаточно (хотя наличие slave
усугубляло ситуацию). Те скорее всего это не зависание или пропадание видеосигнала было, а просто
чрезвычайно медленная работа. Те в первую очередь надо проверить, что с IOCHRDY, и если дело в этом,
то какие условия приводят к такому багу на VLSI1xxxx.

286 AMI BIOS with autodetect

Добавлено: 30.06.2020,09:48
i8088
А вот новый BIOS, M07. Теперь выводятся сообщения об автодетекте в формате

Detecting Drive C ... C/H/S (или None)
Detecting Drive D ... C/H/S (или None)

C/H/S пока что в HEX виде.

286 AMI BIOS with autodetect

Добавлено: 30.06.2020,12:32
i8088
А вот еще один BIOS, M08
Он как M07, но вывод C/H/S в десятичном формате

286 AMI BIOS with autodetect

Добавлено: 30.06.2020,20:46
Mx_Serg
Я не успеваю скачивать )) А по части глюка с сигейтами что-то есть новенькое?
Жаль, что этот БИОС не впихнуть в 2x16. Я так понимаю, даже если диагностику выбросить - все-равно не влезет... А можно тот самый "волшебный" 30 тип как-то выделить из остальных? Нулевые параметры CHS, например, задать. Или вообще отдельную опцию "Авто" прицепить вместо scratch RAM, типа Autodetect HDD 0/1

286 AMI BIOS with autodetect

Добавлено: 01.07.2020,10:21
i8088
Прилагаю BIOS M09 - теперь после C/H/S выводится паспортное имя диска
Mx_Serg писал(а): 30.06.2020,20:46 Я не успеваю скачивать )) А по части глюка с сигейтами что-то есть новенькое?
Я пока BIOS-ом занимался, а потом уже попробую Seagate заняться, чтобы
не раздваиваться. Вообще удивительно, как я раньше на этот баг не нарвался, тк
часто и Seagate пользовал, и VLSI платы. Видимо, хорошая комбинация
мультикарты+VGA попадалась.
Mx_Serg писал(а): 30.06.2020,20:46 Жаль, что этот БИОС не впихнуть в 2x16. Я так понимаю, даже если диагностику выбросить - все-равно не влезет...
Диагностику там просто так не убрать, но можно попробовать добавить autodetect в древний AMI с
текстовым SETUP. В принципе, я посмотрел, можно и в AWARD добавить, но там к сожалению нет
отдельной процедуры типа hdd_parm_init, а подача команды INITIALIZE_DEVICE_PARAMS является
частью "простыни" кода. Те придется заниматься фигурным выпиливанием по дереву:)
Mx_Serg писал(а): 30.06.2020,20:46 А можно тот самый "волшебный" 30 тип как-то выделить из остальных? Нулевые параметры CHS, например, задать. Или вообще отдельную опцию "Авто" прицепить вместо scratch RAM, типа Autodetect HDD 0/1
Хм, я умышленно так сделал, чтобы новая функциональность по возможности не нарушила старую,
и сохранить аутентичность BIOS. Те подключим например MFM с параметрами типа 30, контроллер
MFM команду ATA_IDENTIFY отвергнет, и параметры будут взяты из типа 30. А так да, если это не
нужно, то можно и обнулить.

Scratch RAM убирать тоже считаю нежелательно, в теме были примеры когда она пригодилась, хотя
это довольно странно. Кроме того, по любому должны быть две опции, ведь вполне вероятна ситуация,
когда один диск на autodetect-е, а второй с ручными параметрами. Я ставил как master HDD на
autodetect-е, а как slave CF с параметрами типа 7 (CF после испытаний на AWARD и AMI без user type)

286 AMI BIOS with autodetect

Добавлено: 01.07.2020,11:00
Mx_Serg
i8088 писал(а): 01.07.2020,10:21 Хм, я умышленно так сделал, чтобы новая функциональность по возможности не нарушила старую,
и сохранить аутентичность BIOS.
Да мне оно тоже абсолютно не мешает. Просто если делается универсальный БИОС - хоть какая-то интуитивность в настройках была бы полезна. Хотя-бы текстовая подсказка. Иначе все-равно будет куча вопросов "почему мой диск не самоопределяется". Да и сами можем забыть "какой такм диск ставить, чтобы само определилось". В старом AMI БИОС с этим чуть проще - там в подсказке напротив 30 типа можно вывести "Autodetect" - Получится целостно и винтажно ))
i8088 писал(а): 01.07.2020,10:21 Кроме того, по любому должны быть две опции, ведь вполне вероятна ситуация,
когда один диск на autodetect-е, а второй с ручными параметрами.
А вот это действительно проблема. Конечно, можно было бы в тот же scratch забить 0 - оба ручные (no), 1 - первый авто (First), 2-второй (Second), 3-оба (Both), но это тоже не очень интуитивно. Если планируется scratch оставить, а новое поле, как я догадываюсь, просто так не добавить, тогда самый компромиссный вариант будет либо текстовое напоминание, либо хотя-бы нулевые значения СHS в 30-м типе, как намек на "autodetect".

286 AMI BIOS with autodetect

Добавлено: 01.07.2020,11:06
i8088
Mx_Serg писал(а): 01.07.2020,11:00 тогда самый компромиссный вариант будет либо текстовое напоминание, либо хотя-бы нулевые значения СHS в 30-м типе, как намек на "autodetect".
Нулевые значения СHS в 30-м типе самое простое, тогда в случае ABORT на
ATA_IDENTIFY уже не надо будет исполнять hdd_parm_init

286 AMI BIOS with autodetect

Добавлено: 01.07.2020,17:34
i8088
Я решил оставить параметры в типе 30, но изменить текст справки. Правда лаконично,
тк место ограничено (новый текст не может быть больше старого), а перемещать
строку в свободное место (те делать новую строку) не хотелось, тк это место для
патчей, и его уже немного осталось.

Прилагаю BIOS M10 с измененной справкой