Page 1 of 2

modify bios so that it supports int13 extensions

Posted: Thu Aug 21, 2003 12:00 pm
by ekoing
Hello,

I have a bios that does not seem to support bios int13 extensions :( .
I have 8O seen topics concerning the 32GB and 64GB limit, but I never
found samples of modifications to break the 8.4GB limit. :cry:
Does anyone know :?:

Bye, X.

Posted: Thu Aug 21, 2003 1:22 pm
by Denniss
You have to reprogram parts of the Bios to break this limit - not possible without source code

Posted: Mon Sep 15, 2003 1:55 am
by ekoing
Oups, Sorry for the wait ! :oops:

Well, what do you mean exactly by "reprogram parts of the Bios" ?
Does "source code" mean the "original.tmp" and "bios.rom" obtained with modbin.exe ? Well I don't know much about this, so forgive my innoncence :? .
Is there a method to tweak the bios ? Where can I find samples of such modifications ?

Bye, X.

Posted: Mon Sep 15, 2003 5:32 pm
by NickS
Source code is human readable. It is compiled to produce the machine code found in image files such as original.tmp. Even if you use for your source code "assembly language" ("assembler") which normally maps directly to machine code most people will use a "macro" assembler which allows them to use names for constants, jump addresses and subroutines. This makes the code readable. To patch the code to include extended Int 13h handling requires you to have a suitable handler routine and know where to patch the original code to include it. It is much easier if you have the human readable code.
You may find it easier to find an existing BIOS which will run on the target board; you will need the same chipset and I/O on the board at the same memory and I/O addresses (or be able to change the the addresses to suit the target board).

Posted: Mon Sep 15, 2003 11:17 pm
by ekoing
Nick, What kind of "macro" assembler should I use ?

I tried Sourcer but I didn't succeed (see my brief experience with it below). However Sourcer is not a"macro" assembler. Am I wright ?

Otherwise I have flash bioses files that include int13h extensions. I verified it with extbios tool (from Jan) and wdtblchk (from western digital).

You wrote :
You may find it easier to find an existing BIOS which will run on the target board; you will need the same chipset and I/O on the board at the same memory and I/O addresses (or be able to change the the addresses to suit the target board).
Do you mean that I should find the int13h extensions code on these files ? How can I do that ?

In fact here is my problem : I have two bios files for my M537V3.1 that are an "Award Beta Version" and an"Amptron PM8600A" version.
I have problems with the "Award Beta Version" version that allows the 2x to be understood as 6x with my K6-2, but it does not recognize my 120GB.
I have problems with the "Amptron PM8600A" version that allows the >8GB limit, but the 2x is not understood at all with the K6-2 (no boot). And the Amptron version includes the int13h extensions.

Bye, X.


My unluckily Experience with Sourcer :
I read in the "BIOS disassembly" post of this forum that Sourcer is a good disassembler. I tried it two or three times under dos, but it didn't produce the assembly source code I was expecting, since sourcer did not translate the following sentence "81 BE CC 01 FF 00 76 03" that deals with CPU tables (see post "BIOS disassembly"). Using the hiew.exe program I could find them in my own bios files! I may have made a mistake with sourcer!!

I recall that my mother board is a M537 V3.1, not exactly the same as the M537 V5.2 or M537dma33, but not far from it.

Posted: Mon Sep 15, 2003 11:56 pm
by Rainbow
The Award BETA version can be patched to support HDDs up to 128GB. I can send you this patched version if you want.

Posted: Tue Sep 16, 2003 2:53 pm
by KachiWachi
Hi ekoing.

Same machine as the post over at PCChips?

The CPU tables can also be patched into Amptron BIOS, which is what BiosMan did for me.

Just another alternative...

Posted: Tue Sep 16, 2003 6:04 pm
by ekoing
Well KachiWachi, you're wright, it is the same M537 the V3.1, and what you tell comfort me. That would mean the Amptron, that supports from now on <32GB Hds (and thus include the int13h extensions), could be patched to support the K6-2, and and also the 128GB limit.

Thank you Rainbow, for your help. Biosman worked on the "award beta version", and there were enhancements, since his patched version allowed my 120GB Seagate to be recognized in bios (that mean with the hdd autodetect ) as a 120GB. But it only recognizes 8.4GB under windows. And testing the patched version with both extbios utility (from Biosman) and chkbios utility (from Western Digital) showed that the int13h extensions were "lacking" (same result with the orginal Award beta version). Below the results of these tests.

Now the problem would be to know which one is the easiest ? Patching the Award Beta version or the Amptron pm8600 ?

Many thanks to your interest! Especially to biosman, X.


Results of extbios.exe
Detection utility for Int 13h extensions v1.3
Harddisk 1: Int 13h extensions not supported or drive not present.
Harddisk 2: Int 13h extensions not supported or drive not present.

Results of wdtblchk.exe (chkbios program from Western Digital)

Code: Select all

WDTBLCHK  2.30  -  Show Drive And System Info 

>>>>>>> DRIVE INFO: 

                        DRIVE 1                   DRIVE 2
MODEL:       MDT MD100EB-00BHF0                ST3120026A
SERIAL:        MDT-MMA714207955                  3JT170BM
FIRMWARE:              15.15M15                      3.06
CYLINDERS:                16383                     16383
HEADS:                       16                        16
SPT:                         63                        63
PHY. SECTORS:          19541088                  66055248
PHY. SIZE (MB):           10005                     33820


>>>>>>> INT 13 INFO: 
INT 13 FUNCTION 8:
  DRV  ACTIVE   CYL  HDS  SPT SZ(MB)
    1     YES  1024  255   63   8422
    2     YES  1024  255   63   8422
    3      NO     0    0    0      0
    4      NO     0    0    0      0

INT 13 FUNCTION 41/48 (EXTENSIONS):
  DRV  ACTIVE    F41 F48       CYL   HDS   SPT    SECTORS   SZ(MB)
    1     YES     NO  NO       ** NOT VALID **    *******   ******
    2     YES     NO  NO       ** NOT VALID **    *******   ******
    3      NO     NO  NO       ** NOT VALID **    *******   ******
    4      NO     NO  NO       ** NOT VALID **    *******   ******

>>>>>>>> INT 41/46 INFO: 
                INT 41 DRIVE              INT 46 DRIVE

LOG. CYLS:              1216                      4111
LOG. HEADS:              255                       255
LOG. SPT:                 63                        63

DRV. CYLS:             19386                        -5
DRV. HEADS:               16                        16
DRV. SPT:                 63                        63

SIGNATURE:               A0H                       A0H
CHECKSUM:              VALID                     VALID
ENHANCED TABLE:          YES                       YES
(Edited for readability by NickS)

Posted: Wed Sep 17, 2003 7:52 am
by edwin
since his patched version allowed my 120GB Seagate to be recognized in bios (that mean with the hdd autodetect ) as a 120GB. But it only recognizes 8.4GB under windows.
use a windows 98se or windows me version of fdisk should take care of that, original dos version is limited to 8GB...

Posted: Wed Sep 17, 2003 11:59 am
by ekoing
Edwin,

I use windows 98se, or I didn't understand your suggestion!

Posted: Wed Sep 17, 2003 1:31 pm
by edwin
windows 98 se bootdisk. fdisk from DOS6.x is limited to 8.4GB and it looks like that is what you are experiencing.

Posted: Wed Sep 17, 2003 3:31 pm
by ekoing
Edwin,
I think I use windows 98SE fdisk version, since I boot in dos by using the F8 trick. In other words, I don't use a boot floppy disk.
And I have just made a test, by flashing my dos with 86a123s.bin flash bios file (that is the Amptron version, that supports <32GB HDD). The "32GB limit clip jumper" being set on my 120GB HDD, I get it recognized under dos (using F8 trick), fdisk recognizes the 120GB as a 32GBs (which is normal with the 32GB clip jumper). Furthermore, extbios and wdtblchk (still in same DOS mode) recognize the good sizes (see here after).

Comparing them with the Award beta version (see results in the previous post) clearly shows that the award beta version does not include int13h extensions.




Results of extbios.exe "with Amptron version"

Code: Select all

 Detection utility for Int 13h extensions  v1.3   

ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
 Harddisk 1: Int 13h extensions version 2.1 detected.
 Subset supported: Extended disk access support (for > 8GB) : Yes
                   Drive locking and ejecting support       : No
                   Enhanced Disk Drive (EDD) support        : No
 Device features : DMA boundary errors handled transparently: No
                   Device supports write with verify        : No
                   Media is removable                       : No
 Addressable geometry (CHS) is 19364x16x63 Cylinders-Heads-Sectors/track
 A total of 19518912 Sectors of 512 Bytes (9530 MB) are addressable in LBA.

 Harddisk 2: Int 13h extensions version 2.1 detected.
 Subset supported: Extended disk access support (for > 8GB) : Yes
                   Drive locking and ejecting support       : No
                   Enhanced Disk Drive (EDD) support        : No
 Device features : DMA boundary errors handled transparently: No
                   Device supports write with verify        : No
                   Media is removable                       : No
 Addressable geometry (CHS) is 65503x16x63 Cylinders-Heads-Sectors/track
 A total of 66027024 Sectors of 512 Bytes (32239 MB) are addressable in LBA.

Results of wdtblchk.exe "with Amptron version"

Code: Select all

WDTBLCHK  2.30  

Drives Reported By INT 13 : 2

>>>>>>>>>>>>>>>>>>>> DRIVE INFO: 

                        DRIVE 1                   DRIVE 2

MODEL:       MDT MD100EB-00BHF0                ST3120026A
SERIAL:        MDT-MMA714207955                  3JT170BM
FIRMWARE:              15.15M15                      3.06
CYLINDERS:                16383                     16383
HEADS:                       16                        16
SPT:                         63                        63
PHY. SECTORS:          19541088                  66055248
PHY. SIZE (MB):           10005                     33820


>>>>>>>>>>>>>>>>>>>> INT 13 INFO: 

INT 13 FUNCTION 8:
  DRV  ACTIVE   CYL  HDS  SPT SZ(MB)
    1     YES  1023  255   63   8414
    2     YES  1023  255   63   8414
    3      NO     0    0    0      0
    4      NO     0    0    0      0

INT 13 FUNCTION 41/48 (EXTENSIONS):
  DRV  ACTIVE    F41 F48       CYL   HDS   SPT    SECTORS   SZ(MB)
    1     YES    YES YES       ** NOT VALID **   19518912     9994
    2     YES    YES YES       ** NOT VALID **   66027024    33806
    3      NO     NO  NO       ** NOT VALID **    *******   ******
    4      NO     NO  NO       ** NOT VALID **    *******   ******

>>>>>>>>>>>>>>>>>> INT 41/46 INFO: 

                INT 41 DRIVE              INT 46 DRIVE

LOG. CYLS:              1216                      4111
LOG. HEADS:              255                       255
LOG. SPT:                 63                        63

DRV. CYLS:             19364                       -33
DRV. HEADS:               16                        16
DRV. SPT:                 63                        63

SIGNATURE:               A0H                       A0H
CHECKSUM:              VALID                     VALID
ENHANCED TABLE:          YES                       YES

Posted: Fri Sep 19, 2003 12:49 pm
by BiosMan
Hi All, back from vacation. 8)

As I did the 128GB patch for ekoing, let me recap wat has happened so far.

Ekoing has an M537 V3.1 and approached me for a patched BIOS with K6-2 / K6-III and 128GB support. At that time he already upgraded to the Amptron PM8600A (86a123s.bin) BIOS (ID: 10/14/97-VXPro-UMC8670-2A5LAH09C-00), but this BIOS doesn't support the K6-2 and later AMD CPUs. In addition, the board has a lineair Vcore regulator and lowest Vcore of 2.5V so for the K6-2/-III a voltage regulator adaptor is needed. Alternately a K6-2 AHX (2.4V) could be used directly on the 2.5V Vcore.

I have an M537 beta BIOS 2a5lah09.bin with K6-2 support (ID: 02/19/98-VT82C580VP-UMC8-2A5LAH09C-00) and that can be patched for K6-III and K6+ support. I believe I got this BIOS from the, now dead, Award test site.
I did the 128GB patch on this BIOS and sent it to ekoing for testing. It works fine with a K6-2, however he got problems with detecting IDE drives. Both his 10GB and 120GB drive were not detected correctly. Using detection utilities it appeared the Int13 extensions are not enabled for these drives. Only the normal Int13 interface works, thereby limiting the usuable drive size to 8.4GB. :(
Using the 10GB and (32GB clipped) 120GB drive with the 86a123s BIOS works fine.

Both the original and the patched 2a5lah09 beta BIOS displayed the same problem. This let ekoing believe that this BIOS doesn't have the Int13 extensions. However the extensions ARE there, only the drives are not detected correctly. :o

Does anyone have a simular experience with the 2a5lah09 BIOS?

I will report back here with further developments.

Posted: Fri Sep 19, 2003 3:01 pm
by Rainbow
Oh, I see now. This problem appears on many older BIOSes from the Award BETA site... Int13 extensions are there - for CD-ROM booting but not for HDDs over 8,4GB.

Posted: Sat Sep 20, 2003 6:10 pm
by BiosMan
Rainbow, thanks for this info. I was unaware of that. :?

I've already made a Sourcer disassembly listing of the 2a5lah09 beta BIOS for the K6+ mod and I will check if this Int13 extensions "bug" can be fixed.
If not, I will patch the 86a123s BIOS...