http://rom.by/biosedit/examples/ami.rar Там как раз есть разобранный биос от TX100. Что

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