Замена микросхемы BIOS на SCSI контроллере

Есть SCSI контроллер BusLogic FlashPoint LW (чипсет BA81C15) на ней флешка AT29C256
Решил заменить флешку на AT29C512 (место под установку предусмотрено) чтобы прошить BIOS 64Kб и избавиться от необходимости использовать дискету для входа в настройки контроллера.
Впаял отсутствующюю перемычку на линию A15
Запустил утилиту FPCONFIG.exe которой можно указать размер биоса 32кб или 64кб
Она прописала в EEPROM по адресу 2Bh значение 81h

Выдержка из даташита на BA81C15
The BIOS Size Register is one bit (bit 7), of Word Address Ox2B. FlashPoint currently
requests a 32K ROM space and in the future, we may need to request 64K. If the
byte in the SEEPROM contains OxOO, then ROM address bit 15 is writable and PCI
Configuration will assign 32K. If the SEEPROM contains Ox8X, then bit 15 of the
ROM address is not writable and PCI Configuration will assign 64K. The values of
the SEEPROM register will not affect bit 2 of the Feature Ctrl (Reg. Ox29) BIOS
SHADOW (0 = 32K, 1 = 64K), but in the case of 64K it will have no effect.

И все равно программы (icdiag, uniflash) показывают что BIOS размером 32Кб
Если считать эти 32Кб, то это будут вторые 32Кб BIOS'а первые 32Кб куда-то пропадают
Может знающие люди скажут куда еще копнуть?

Обновлено:
Добавил PDF на BA81C15 и фото платы. Может на какие мысли наведет.
Фото

ВложениеРазмер
ba81c15.pdf6.15 МБ

Так, ну если я правильно прочитал номер ревизии

mov dx, 0EC00h
add dx, 0033h
in al, dx

выдало 0Fh

Интегрировать можно было бы, но она периодически мигрирует от компа к компу

Может штатный прошивальщик, каким-то специфическим образом прошивку по флешке раскидывает? (Поковырялся в отладчике, исключил)

Нашел тут что-то вроде Q&A
Проверил первый пункт:


На материнке где проверяю как раз чипсет VIA (VT82C694X)
Взял материнку с nForce 430, все аналогично как и на VIA
Проверил второй пункт:
У меня же тоже выдает "bios size invalid"
Залил прошивку 2.02O (64кб), все без изменений
Проверено на VIA и nForce

Видимо проблема все же железная, а не программная.
Походу надо забить и пользоваться тем что есть. Думал дело на 5 минут, выпаять старую, впаять новую и все.
А уже вторая неделя пошла

Вот как выглядит карта памяти на VIA

ВложениеРазмер
map.png 24.66 КБ

У Вас есть осциллограф, чтобы проверить есть ли фактическое изменение логического уровня на
ROM_AD15 микросхемы?

Осциллографа к сожалению нет

Если нет осциллографа, можно какой-нибудь триггер ловушку соорудить, для обнаружения факта
логического перепада при инициализации(отработке boot-ROM). Проверить и 0->1 и 1->0

Аватар пользователя savely

А что нам это даст?
Варианты:
- ROM_AD15 не дергается. Вывод N1 - виноват BA81C15?
- ROM_AD15 дергается. Но в комп попадают 0xFF. Вывод N2 - виноват BA81C15?

Цитата:
Проверить и 0->1 и 1->0

Интересно, как создать условия для 1->0? ;)

Цитата:
при инициализации(отработке boot-ROM)

Так нету отработки-то. Не запускает основной BIOS этот, ибо CRC не сходится.
Есть только чтение флешки через ROM-BAR, насколько я понимаю.

А кому счас легко...

Цитата:

Так нету отработки-то. Не запускает основной BIOS этот, ибо CRC не сходится.

Ну по крайней мере при подсчете контрольной суммы обращение должно быть,
иначе как основной BIOS "узнает" что option-ROM corrupted?

А таки да, проблема вероятно железная и как Вы писали, наиболее реальный способ решения
проблемы - "ужимание" нового BIOS до 32Kb , если это возможно.

Цитата:
Так нету отработки-то. Не запускает основной BIOS этот, ибо CRC не сходится.

На сколько я понял BIOS контроллера запускается, но не находит нужных данных и выходит с ошибкой

Цитата:
"ужимание" нового BIOS до 32Kb , если это возможно.

Была мысль, но даже 7zip до 47кб сжал, там походу уже пожатые данные

Аватар пользователя savely

Цитата:
На сколько я понял BIOS контроллера запускаеися, но не находит нужных данных и выходит с ошибкой

А, ну да. Main BIOS часто грешат непроверкой CRC.
При инициализации пишет "'ERROR: BIOS SIZE INVALID. PRESS ANY KEY TO CONTINUE", да?
Ну, проверяет сигнатуру 0xAA55 по cs:word_8CDB (т.е. за 32К, ее там нет, вот и пишет).
Т.е. до уровня функционала образа в 32K его можно попатчить, похоже, но смысл? При нажатии Ctrl-B код идет за 0x8000, а там будет пусто.

А кому счас легко...

Цитата:

Была мысль, но даже 7zip до 47кб сжал, там походу уже пожатые данные

Я имел ввиду дизассемблирование новой прошивки и ее оптимизацию с целью
уменьшения размера.

В принципе можно попробовать вообще удалить BIOS с контроллера и интегрировать его
в motherboard BIOS. Но тогда это будет работать только на той материнке, BIOS которой имеет
интегрированный модуль.

Аватар пользователя savely

Цитата:
В принципе можно попробовать вообще удалить BIOS с контроллера и интегрировать его в motherboard BIOS.

Баян! Я на прошлой страничке уже предложил.;)

А кому счас легко...

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You can use BBCode tags in the text. URLs will automatically be converted to links.

Подробнее о форматировании текста

Антибот - введите цифру.
Ленты новостей