modify bios so that it supports int13 extensions

Only for programmers and BIOS gurus with technical questions.
ekoing
BIOS Newbie
Posts: 18
Joined: Fri Mar 14, 2003 5:33 pm
Location: France

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.
In the fog, but in terested
Denniss
BIOS Guru
Posts: 3153
Joined: Thu Mar 21, 2002 8:16 pm
Location: Near Hannover (CEBIT) Germany
Contact:

You have to reprogram parts of the Bios to break this limit - not possible without source code
ekoing
BIOS Newbie
Posts: 18
Joined: Fri Mar 14, 2003 5:33 pm
Location: France

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.
In the fog, but in terested
NickS
BIOS Bodhisattva
Posts: 3145
Joined: Fri May 03, 2002 10:34 am
Location: Thames Valley, UK

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).
ekoing
BIOS Newbie
Posts: 18
Joined: Fri Mar 14, 2003 5:33 pm
Location: France

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.
In the fog, but in terested
Rainbow
The UniFlasher
Posts: 3122
Joined: Wed Mar 20, 2002 4:16 pm
Location: Slovakia
Contact:

The Award BETA version can be patched to support HDDs up to 128GB. I can send you this patched version if you want.
Patched and tested BIOSes are at http://wims.rainbow-software.org
UniFlash - Flash anything anywhere
KachiWachi
The New Guy
Posts: 1451
Joined: Fri Mar 29, 2002 10:32 pm
Location: Pennsylvania, USA

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...
ekoing
BIOS Newbie
Posts: 18
Joined: Fri Mar 14, 2003 5:33 pm
Location: France

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)
edwin
The Hardware Archivist
Posts: 6286
Joined: Wed Mar 20, 2002 7:11 pm
Location: Netherlands
Contact:

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...
edwin/evasive

Do not assume anything

System error, strike any user to continue...
ekoing
BIOS Newbie
Posts: 18
Joined: Fri Mar 14, 2003 5:33 pm
Location: France

Edwin,

I use windows 98se, or I didn't understand your suggestion!
In the fog, but in terested
edwin
The Hardware Archivist
Posts: 6286
Joined: Wed Mar 20, 2002 7:11 pm
Location: Netherlands
Contact:

windows 98 se bootdisk. fdisk from DOS6.x is limited to 8.4GB and it looks like that is what you are experiencing.
edwin/evasive

Do not assume anything

System error, strike any user to continue...
ekoing
BIOS Newbie
Posts: 18
Joined: Fri Mar 14, 2003 5:33 pm
Location: France

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
BiosMan
The BIOS Patcher
Posts: 81
Joined: Mon May 20, 2002 9:20 pm
Location: The Netherlands
Contact:

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.
The Unofficial AMD K6-2+ / K6-III+ page
http://web.inter.nl.net/hcc/J.Steunebrink/k6plus.htm
Rainbow
The UniFlasher
Posts: 3122
Joined: Wed Mar 20, 2002 4:16 pm
Location: Slovakia
Contact:

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.
Patched and tested BIOSes are at http://wims.rainbow-software.org
UniFlash - Flash anything anywhere
BiosMan
The BIOS Patcher
Posts: 81
Joined: Mon May 20, 2002 9:20 pm
Location: The Netherlands
Contact:

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...
The Unofficial AMD K6-2+ / K6-III+ page
http://web.inter.nl.net/hcc/J.Steunebrink/k6plus.htm
Post Reply