А что надо-то? Если есть неплохое знание асма - могу помочь - ручками будет проще...
28 Окт 2003 - 17:41 Unknown BIOS
Вообще хочу как-нибудь исправить следующие проблемы со своей материнкой (Zida TX100 на VIA VPX): корявое включение UDMA для винта IBM Deskstar (40 Gb, UDMA 100) и подвисание при определении его размера (сейчас работает как 32 гиговый). Все это умеет BIOS Patcher, но, к моему сожалению, только для AWARD биосов. Так что я решил пойти окольными путями. Наткнулся вот на amibcp, но не знаю, могу ли я что нибудь исправить с его помощью.
Что же касается асма, то знание такового имеется. Было дело и под дос страдал и под вин (это когда на 486 сидел и места на винте под Visual C/C++ и Delphi не хватало, а WinApi изучать хотелось ). Так что буду рад узнать, как мое железо можно перепрограммить.
Огромное спасибо! Буду разбираться. Главное ничего не запороть. Как чего выйдет, сообщу на форум.
3 Ноя 2003 - 18:15 Unknown BIOS
Сразу пару обломов и вопросов
IDA у меня старше чем надо, не хотит открывать файлы созданные более новой идой. Буду искать новую версию...
А что в этих файлах? Измененный биос или просто дизассемблированный?
Как я понял менять модуль int13h надо в HIEW (или я ошибаюсь ?)
3 Ноя 2003 - 18:34 Unknown BIOS
Ёёёёё!!! У меня точно такой же код (в смысле на который надо поменять) в модуле int13h! Биос версии 1.08. Я так понимаю он уже умеет держать 40 гиговые винты! Но почему он завис когда 40 гиговик подключили (правда это был не мой винт и давно ) !? Надо забэкапить инсталяшки на cd и попробовать врубить 40 гб.
Кстати, как винт отнесется к тому, что проснувшись однажды, почувствует себя 40 гиговым?
И еще: а где правиться глюк с UDMA?
Thanks заранее
6 Ноя 2003 - 21:47 Unknown BIOS
Винт перенес возрождение 40 гиговым нормально!!!! Все зашибись! Лишние 8 гигов очень даже кстати
мне в лом заводить новую ветку.... так что сори...
надобно перепаковать 512кб в 256Кб... в 512Кб очень много места под лого и буут блок 128Кб!!!(занятых данных в бутблоке мение 32Кб)
AMIBCP... юзал, тыкался безполезно
Что сказали татары прийдя на Русь? "Сдавайтесь русские-нас орда!"
И что им ответили русские?
"А нас-рать!" ) (с)
28 Ноя 2003 - 21:20 Unknown BIOS
Энто надо Романа спрашивать, а он куда-то исчез...
Роман, откликнись! Ты нужен людям!
...И если откликнешься, то скажи пожалуйста, как мне мое чертово UDMA исправить Заранее спасибо.
26 Дек 2003 - 23:11 Unknown BIOS
Вернулся я тут к проблеме с UDMA. Роман, пожалуйста, откликнетесь!
Киданите хотя бы ссылку на доки по чипсету или подскажите, где про это вообще было написано!
А что надо-то? Если есть неплохое знание асма - могу помочь - ручками будет проще...
Вообще хочу как-нибудь исправить следующие проблемы со своей материнкой (Zida TX100 на VIA VPX): корявое включение UDMA для винта IBM Deskstar (40 Gb, UDMA 100) и подвисание при определении его размера (сейчас работает как 32 гиговый). Все это умеет BIOS Patcher, но, к моему сожалению, только для AWARD биосов. Так что я решил пойти окольными путями. Наткнулся вот на amibcp, но не знаю, могу ли я что нибудь исправить с его помощью.
Что же касается асма, то знание такового имеется. Было дело и под дос страдал и под вин (это когда на 486 сидел и места на винте под Visual C/C++ и Delphi не хватало, а WinApi изучать хотелось ). Так что буду рад узнать, как мое железо можно перепрограммить.
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. Роман, пожалуйста, откликнетесь!
Киданите хотя бы ссылку на доки по чипсету или подскажите, где про это вообще было написано!
Отправить комментарий