Доки по AMIBCP

Народ, может кто знает где взять доки по AMIBCP? А то неохота ковырятся наугад...

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

А что надо-то? Если есть неплохое знание асма - могу помочь - ручками будет проще...

Вообще хочу как-нибудь исправить следующие проблемы со своей материнкой (Zida TX100 на VIA VPX): корявое включение UDMA для винта IBM Deskstar (40 Gb, UDMA 100) и подвисание при определении его размера (сейчас работает как 32 гиговый). Все это умеет BIOS Patcher, но, к моему сожалению, только для AWARD биосов. Так что я решил пойти окольными путями. Наткнулся вот на amibcp, но не знаю, могу ли я что нибудь исправить с его помощью.


Что же касается асма, то знание такового имеется. Было дело и под дос страдал и под вин (это когда на 486 сидел и места на винте под Visual C/C++ и Delphi не хватало, а WinApi изучать хотелось:) ). Так что буду рад узнать, как мое железо можно перепрограммить.

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

rom.by/biosedit/examples/ami.rar
Там как раз есть разобранный биос от TX100.
Что касается HDD>32Gb - берёшь модуль Int-13 (0Dh), ищешь там:

pushf
cli
cld
mov cx,00100 ;"? "
repe insw
popf
pop di
pop dx
call 00000004D -------- (
pushf
push bx
je 000000032 -------- (
push eax
pop ax
pop dx
mov bx,007A1 ;"•б"
cmp dx,bx
jb 000000022 -------- (
mov ax,0FFFF ;"  "
jmps 00000002E -------- (
div bx
shr bx,1
cmp bx,dx
ja 00000002E -------- (
inc ax
jne 00000002E -------- (
dec ax
shl eax,010 ;"?"
pop bx
mov cx,es:[bx][00002]
mov ax,es:[bx][00006]
mov dh,al
mov bx,es:[bx][0000C]
mov al,001 ;"?"
popf
jne 0FFFFFFCD
or ah,bh
je 0FFFFFFCD
jmp 00000FFCB


mov eax,es:[bx][00078]
cmp eax,000FBFC10 ;" ?№?"
jb 000000062 -------- (
cmp w,es:[bx][00002],03FFF
je 000000065 -------- (
xor eax,eax
or eax,eax
retn

...и меняешь в нём на такое:

pushf
push bx
or eax,eax
je 000000054 -------- (
push eax
mov al,es:[bx][0000C]
mul b,es:[bx][00006]
mov cx,ax
cmp eax,003EFFC10 ;"?я№?"
jbe 00000003B -------- (
mov b,es:[bx][00006],0FF ;
cmp eax,03EC0C13F ;">???"
jbe 00000003B -------- (
mov b,es:[bx][0000C],0FF ;
mov al,es:[bx][0000C]
mul b,es:[bx][00006]
mov cx,ax
pop ax
pop dx
div cx
shr cx,1
cmp dx,cx
jb 000000050 -------- (
inc ax
mov cx,ax
jmps 000000058 -------- (
mov cx,es:[bx][00002]
pop bx
mov ax,es:[bx][00006]
mov dh,al
mov bx,es:[bx][0000C]
mov al,001 ;"?"
popf
jne 00000FFAC
or ah,bh
je 00000FFAC
jmp 00000FFAA
xor eax,eax
test b,es:[bx][00063],002 ;
je 000000092 -------- (
mov eax,es:[bx][00078]
cmp eax,000FBFC10 ;" ?№?"
jb 000000092 -------- (
cmp w,es:[bx][00002],03FFF
je 000000096 -------- (
cmp al,al
jmps 000000099 -------- (
or eax,eax
retn

Или лучше всего добавляешь переход на такую процедурку:

_AMI32G:

je .skip

push eax
mov al, [es:bx+0Ch]
mul byte [es:bx+6]
mov cx, ax
cmp eax, 03EFFC10h
jbe @F

mov byte [es:bx+6], 0FFh
cmp eax, 03EC0C13Fh
jbe @F
mov byte [es:bx+0Ch], 0FFh
@@:
mov al, [es:bx+0Ch]
mul byte [es:bx+6]
mov cx, ax
pop ax
pop dx
div cx

shr cx, 1
cmp dx, cx
jb @F
inc ax
@@:
mov cx, ax
jmp .exit

.skip:
mov cx, [es:bx+2]
.exit:
ret

Огромное спасибо! Буду разбираться. Главное ничего не запороть:). Как чего выйдет, сообщу на форум.

Сразу пару обломов и вопросов:)
IDA у меня старше чем надо, не хотит открывать файлы созданные более новой идой. Буду искать новую версию...
А что в этих файлах? Измененный биос или просто дизассемблированный?
Как я понял менять модуль int13h надо в HIEW (или я ошибаюсь ?)

Ёёёёё!!! У меня точно такой же код (в смысле на который надо поменять) в модуле int13h! Биос версии 1.08. Я так понимаю он уже умеет держать 40 гиговые винты! Но почему он завис когда 40 гиговик подключили (правда это был не мой винт и давно:) ) !? Надо забэкапить инсталяшки на cd и попробовать врубить 40 гб.
Кстати, как винт отнесется к тому, что проснувшись однажды, почувствует себя 40 гиговым?:)
И еще: а где правиться глюк с UDMA?

Thanks заранее

Винт перенес возрождение 40 гиговым нормально!!!! Все зашибись! Лишние 8 гигов очень даже кстати:)

Правда UDMA по-прежнему глючит. Очень жду помощи.

мне в лом заводить новую ветку.... так что сори...
надобно перепаковать 512кб в 256Кб... в 512Кб очень много места под лого и буут блок 128Кб!!!(занятых данных в бутблоке мение 32Кб)
AMIBCP... юзал, тыкался безполезно

Что сказали татары прийдя на Русь? "Сдавайтесь русские-нас орда!"
И что им ответили русские?
"А нас-рать!" ) (с)

Энто надо Романа спрашивать, а он куда-то исчез...
Роман, откликнись! Ты нужен людям!
...И если откликнешься, то скажи пожалуйста, как мне мое чертово UDMA исправить:) Заранее спасибо.

Вернулся я тут к проблеме с UDMA. Роман, пожалуйста, откликнетесь!
Киданите хотя бы ссылку на доки по чипсету или подскажите, где про это вообще было написано!

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

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые 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.

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

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