How insert 3 ISA option ROM to Award bios?

Only for programmers and BIOS gurus with technical questions.
Post Reply
Awbios
New visitors - please read the rules.
Posts: 11
Joined: Mon Jan 20, 2014 6:26 pm

Hi. I have Award bios with gPXE PCI option ROM. ROM's memory mapped:

Code: Select all

VGA ROM (40K) 'A000h' in C0000
PCI ROM (42K) 'A800h' in CC000 (C0000+A000+2000 -> VGA location+VGA size+8K)
Next I added 2 ISA option ROM like this:

Code: Select all

cbrom bios.bin /isa first.bin (4K) '1000h' (auto map to D7000)
cbrom bios.bin /isa second.bin d800:0 (1K) '400h'
First ISA ROM is added with /isa and CBROM added this as type ISA ROM[1]
Second ISA ROM need add like /isa xxxx:0 because /isa add same type like first [1]

Until now everything works:
  • PCI driver[A] - CC000
  • ISA ROM[1] - D7000
  • ISA ROM[A] - D8000
Now I want add one more ISA ROM (2K) to D9000 but after starting the computer ROM is not in memory. At D9000 is only FF FF FF:

Code: Select all

debug
-d d900:0 FF FF FF FF ....
I try also add third ISA ROM to E0000 but still not in memory after PC boot :-(. I noticed that the first ISA ROM is mapped always at address D7000 no matter how you insert:

cbrom bios.bin /isa first.bin

or

cbrom bios.bin /isa first.bin d700:0

or

cbrom bios.bin /other 40a4 first.bin

but

/isa always add as type ISA ROM[1]
/isa xxxx:0 always add as ISA ROM[A] (not ISA ROM[2]. Why not ISA ROM[2] or [3] ?)
/other 40a4 always add as ISA ROM[1]
What does it depend? Why the second ISA ROM's are always of type [1] if try add only with /isa parameter???

I know all ISA ROM types for /other -> Award module types

Code: Select all

ADD_STANDART_AWARD_MOD(0x40A0, "ISA ROM A" )
ADD_STANDART_AWARD_MOD(0x40A1, "ISA ROM B" )
ADD_STANDART_AWARD_MOD(0x40A2, "ISA ROM C" )
ADD_STANDART_AWARD_MOD(0x40A3, "ISA ROM D" )
ADD_STANDART_AWARD_MOD(0x40A4, "ISA ROM 1" )
ADD_STANDART_AWARD_MOD(0x40A5, "ISA ROM 2" )
ADD_STANDART_AWARD_MOD(0x40A6, "ISA ROM 3" )
I try also add all ISA ROM's with /other (40a0, 40a1 and 40a2) but then works only first added 8O
edwin
The Hardware Archivist
Posts: 6286
Joined: Wed Mar 20, 2002 7:11 pm
Location: Netherlands
Contact:

Do you still have enough free space in your bios? Did you check?
edwin/evasive

Do not assume anything

System error, strike any user to continue...
Awbios
New visitors - please read the rules.
Posts: 11
Joined: Mon Jan 20, 2014 6:26 pm

edwin wrote:Do you still have enough free space in your bios? Did you check?
Yes, of course bios have free space. CBROM add module OK but third ROM is not mapped to RAM. If add ISA e.g. like this:

Code: Select all

cbrom bios.bin /isa third.bin d900:0
after PC boot in DEBUG.EXE (MS-DOS) check memory and no code 55AA.... only FF FF FF...

I thought that this is PMM (Post Memory Manager) issue but in opened bios.bin in MODBIN in unpacked ORIGINAL.BIN (128K) or AWARDEXT.BIN not find header $PMM in hex editor :| I try also find $PMM in RAM with DEBUG.EXE in segment E0000 but there are only FF FF FF...

All modules working OK singly or two together. Only third not work because not mapped in RAM.
Attachments
specspmm101.zip
(102.61 KiB) Downloaded 498 times
edwin
The Hardware Archivist
Posts: 6286
Joined: Wed Mar 20, 2002 7:11 pm
Location: Netherlands
Contact:

can you zip up the bios and the modules you're trying to load?
edwin/evasive

Do not assume anything

System error, strike any user to continue...
Awbios
New visitors - please read the rules.
Posts: 11
Joined: Mon Jan 20, 2014 6:26 pm

Bios is from Abit BF6. 3 ISA ROM's in the bios added like:
  • first ROM -> /isa
  • second ROM -> /isa d800:0
  • third ROM -> /isa df80:0

Code: Select all

6. ISA ROM[1]        01000h(4.00K)00A4Bh(2.57K)sgabios.bin
7. ISA ROM[A]        07400h(29.00K)072F2h(28.74K)plopfisa.rom
8. ISA ROM[B]        00800h(2.00K)0031Ch(0.78K)isa32os.bin
Attachments
bios.zip
(214.9 KiB) Downloaded 525 times
edwin
The Hardware Archivist
Posts: 6286
Joined: Wed Mar 20, 2002 7:11 pm
Location: Netherlands
Contact:

This all feels quite experimental and I see other people having strange behaviour when using PLOP modules, for instance changing out their AGP video card makes things work (original Matrox not work, with S3 work). And there is at least one report that says PLOP and SGABIOS cannot work together.

If I use just /isa I get this:

Code: Select all

c:\Downloads\_elhvb\zz_misc\AWARD>CBROM32_198.EXE Beh_70.bin /D
CBROM32_198.EXE V1.98 [08/27/08] (C)Phoenix Technologies 2001-2008

              ********   Beh_70.bin BIOS component ********

 No. Item-Name         Original-Size   Compressed-Size Original-File-Name
================================================================================
  0. System BIOS       20000h(128.00K)  1626Bh(88.60K)  BEH_70.BIN
  1. XGROUP CODE       0BB40h(46.81K)   074E2h(29.22K)  awardext.rom
  2. CPU micro code    01000h(4.00K)    00C14h(3.02K)   CPU.BIN
  3. ACPI table        02419h(9.02K)    00F23h(3.78K)   ACPITBL.BIN
  4. EPA LOGO          00642h(1.56K)    002A0h(0.66K)   AWARDEPA.BIN
  5. PCI ROM[A]        0AA00h(42.50K)   0A608h(41.51K)  gpxedec.rom
  6. ISA ROM[1]        01000h(4.00K)    00A4Bh(2.57K)   sgabios.bin
  7. ISA ROM[1]        07400h(29.00K)   072F2h(28.74K)  plopfisa.rom
  8. ISA ROM[1]        00800h(2.00K)    0031Ch(0.78K)   isa32os.bin

  Total compress code space  = 36000h(216.00K)
  Total compressed code size = 31B85h(198.88K)
  Remain compress code space = 0447Bh(17.12K)
is there anything wrong with handling it like this and did you check and verifiy that this does NOT work? Any reason you want to have your modules in those specific addresses in the first place?
edwin/evasive

Do not assume anything

System error, strike any user to continue...
Awbios
New visitors - please read the rules.
Posts: 11
Joined: Mon Jan 20, 2014 6:26 pm

Yes, I noticed that PLOP may not work with certain VGA cards or when you enable the USB Keyboard Support in CMOS Setup. Please read this my post on PLOP forum:

but if add only 2 ISA ROM's: SGABIOS + PLOP this working and also possible navigate through graphical PLOP menu with Putty (COM1) :-)
In this case, it is not rather a problem of graphics card.
edwin wrote:is there anything wrong with handling it like this and did you check and verifiy that this does NOT work? Any reason you want to have your modules in those specific addresses in the first place?
If add all ISA ROM's like /isa ISA ROM[1] then work only third module - ISA32OS.BIN
Post Reply