Page 1 of 1

Uniflash reports boot block problem with patched BIOS

Posted: Thu May 09, 2002 12:16 pm
by NickS
Please can someone suggest what I have got wrong with the following BIOS patch process ?

Jan Steunebrink's patched PC-Chips M577/Amptron PM9900 BIOS has the BIOS ID string modified to PM9900 instead of M577. Rainbow kindly provided a large disk version to test on my M577, but I wanted it to say "M577" (and AWDFLASH complained that it was the wrong BIOS).

I used CBROM 2.05 to extract and release the PCI (ncr307.16k) and VRS (Anti_Virus) modules but it would not touch the XGROUP module (Awardext.rom). I found that I could extract and release it as an "other" module using CBROM 1.13. I released the EPA module using CBROM 2.05.

I used MODBIN to obtain the ORIGINAL.TMP uncompressed. I patched the BIOS ID string and re-compressed it using LHARC 2.55. Following Rainbow's instructions on another thread I removed the original compressed ORIGINAL.TMP with a hex editor and put my own in using "COPY /B ORIGINAL.LZH+TEMP.BIN NEWBIOS.BIN", removing four FF bytes to retain the original length. At this point CBROM shows two modules, with negative free space.

I then used MODBIN 4.50.80C to make a minor change to the startup string and updated the file. Now CBROM showed only one (BIOS) module in NEWBIOS.BIN. I used CBROM 2.05 to add the EPA, XGROUP, VRS and PCI modules. (CBROM 2.05 is happy to add XGROUP, but not to extract or release it). I used MODBIN again to make the final changes to the startup string. AWDFLASH no longer complained that it was the wrong BIOS and flashed the mobo quite happily. Boot failed, blank screen and no beeps.

AWDFLASH 6.28 would not reflash the ROM on another board, saying there was an error clearing flash. Uniflash would reflash it, but warned that there was a boot block incompatibility. This worked, so I tried using Uniflash to flash my modified BIOS. Again, it warned of a boot block incompatibility and again the M577 did not boot, so I have reflashed the ROM to the original BIOS.

Help, please! What is likely to cause this boot block compatibility issue ?

Here's what CBROM says about the NEWBIOS.BIN:
CBROM V2.05 (C)Award Software 1999 All Rights Reserved.

******** newbios.bin BIOS component ********

No. Item-Name Original-Size Compressed-Size Original-File-Name
=========================================================================
0. System BIOS 20000h(128.00K) 14210h(80.52K) original.tmp
1. EPA pattern 0168Ch(5.64K) 0041Dh(1.03K) awardbmp.bmp
2. XGROUP CODE 03480h(13.12K) 024F3h(9.24K) awardext.rom
3. VRS ROM 0239Dh(8.90K) 014A6h(5.16K) Anti_vir.bin
4. PCI driver[A] 04000h(16.00K) 02594h(9.39K) NCR307.16K

Total compress code space = 1B000h(108.00K)
Total compressed code size = 1A55Ah(105.34K)
Remain compress code space = 00AA6h(2.66K)

and here's what it says about Jan Steunebrink's BIOS:
CBROM V2.05 (C)Award Software 1999 All Rights Reserved.

******** 990309j.bin BIOS component ********

No. Item-Name Original-Size Compressed-Size Original-File-Name
=========================================================================
0. System BIOS 20000h(128.00K) 141FBh(80.50K) original.tmp
1. EPA pattern 0168Ch(5.64K) 0041Dh(1.03K) AwardBmp.bmp
2. XGROUP CODE 03480h(13.12K) 024F3h(9.24K) awardext.rom
3. VRS ROM 0239Dh(8.90K) 014A6h(5.16K) ANTI_VIR.BIN
4. PCI driver[A] 04000h(16.00K) 02594h(9.39K) ncr307.16k

Total compress code space = 1B000h(108.00K)
Total compressed code size = 1A545h(105.32K)
Remain compress code space = 00ABBh(2.68K)

Posted: Thu May 09, 2002 8:58 pm
by Rainbow
You probably did something wrong during the modification. When joining the files using COPY /B command, you have to strip the extra bytes from the BEGINNING of the TEMP.BIN (or whatever you named it) file (there's empty space there), not the end (there's bootblock!)

Posted: Thu May 09, 2002 10:27 pm
by NickS
Well, I thought I did that, but maybe I'd better try again. BTW, AWDFLASH 7.8 is happy to flash any ROM in the M577 mobo and doesn't complain like 5.35 and 6.23.
BTW, the 64Gb fix seems fine - now I need to stop the drive responding with UDMA 5... maybe the BIOS could be patched not to set UDMA 5?
Thanks

Posted: Thu May 09, 2002 11:08 pm
by Rainbow
Don't know how to fix the UDMA bug, but it can be done easily - disable UDMA66/100 using utility provided by HDD manufacturer.

Posted: Sat May 11, 2002 9:40 am
by NickS
Tried again - same result. Rainbow, what versions of CBROM and MODBIN do you use please ?

Posted: Sat May 11, 2002 12:26 pm
by Rainbow
MODBIN 4.50.80C and CBROM 1.32. I use this to manipulate AWARDEXT ROM: "cbrom bios.bin /other 4100:0000"

Posted: Sun May 12, 2002 9:46 am
by NickS
Thanks, Rainbow. I'll try again using exclusively CBROM 1.32 instead of reloading the modules with CBROM 2.05 and see if that makes any difference.

Posted: Tue May 14, 2002 9:59 am
by NickS
OK! I used CBROM 1.30 to extract and release all the loadable modules using /other 4100:0 for awardext.rom, cut everything up to 0x1B000, patched and compressed the original.tmp and then filled it out to 0x1AFFF with 0xFF. Joined the part1 and part 2 with copy /b, CBROM shows only one BIOS module. Previously it showed 1 BIOS and 1 other, each 128k. I don't know what I did wrong, but it's fine now. Loaded in the modules (using /other 4100:0 again for awardext.rom), tweaked the BIOS message and it's working. Thanks for your help, Rainbow, I now have a working M577 >32 Gb BIOS which says M577 not PM9900. Now for extensive testing...

Posted: Tue May 14, 2002 8:01 pm
by Rainbow
I know that it works - I have done it many times :wink: