Reposting on behalf of PeteTheHack so it's archived here:
Just looked at the io256kimage.bin file that was up on the unnamed usenet group....
The area in the ROM from 03a000 to 03a267 is the ACFG (ESCD) PCI config space area...that's all based on the old EISA ESCD spec,
extended for more modern busses...
The length word at the atart of 268 followed by the 'ACFG' string and version bytes following, and ending with the checksum word
(at 03A266 and 02A267) confirm this...as well as a bunch of ACFG headers embedded within this block...I don't have an ESCD spec
handy here at home, so I can't decode exactly what the changed byte (from 74 to F4) exactly does, but it sure IS NOT executed
code!!!!)
REPEAT...the changed bytes are NOT executable code...
Not sure what device or resource they descripe, but if the PCI config code is anything like others, that might be an indicator in the
'resource descriptors' to disable this resource...(end effect is that the controller would either be 'not where it should be' (if they
moved an IO or IRQ resource), or just disabled (might cause a config error that causes the devie to not be enabled)...I will try and
decode if I can tomorrow, or if anyone wants a shot...decode the following ESCD byte stream (starting at 03a144 all the way to the
end checksum at 03a267)
Neat part is you can see towards the end of that block, the addresses of the 2 serial ports (3f8,2f8), and the printer port (378),
most likely a 'private data area' for onboard superio config data they store there...
More news tomorrow, hopefully...
here's the block in question...
|---starts here...
3A140 01 00 C0 18 41 43 46 47-01 02 04 00 00 00 00 00 ....ACFG........
3A150 00 00 00 00 01 00 20 84-23 10 00 00 00 00 32 F2 ...... .#.....2.
3A160 06 01 00 00 00 00 00 00-40 40 00 00 0B 00 01 00 ........@@......
3A170 14 02 00 81 20 00 01 A0-00 17 00 01 00 18 04 00 .... ...........
3A180 8F 00 00 82 81 00 80 87-00 82 89 00 82 8F 00 1F ................
3A190 C0 00 08 00 01 00 14 00-00 03 40 00 08 00 01 00 ..........@.....
3A1A0 14 08 00 01 70 00 0B 00-01 00 14 01 00 80 60 00 ....p.........`.
3A1B0 00 64 00 06 00 01 00 10-00 61 00 08 00 01 00 14 .d.......a......
3A1C0 0D 00 0F F0 00 18 00 01-00 02 98 08 00 00 00 80 ................
3A1D0 02 98 08 00 FE FF 80 00-18 08 00 10 00 00 F4 1F ..............t. F4 was 74
3A1E0 00 01 00 02 98 08 00 0F-00 10 00 98 08 40 0F 00 .............@..
3A1F0 10 00 98 08 80 0F 00 10-00 18 08 C0 0F 00 10 00 ................
3A200 33 00 01 00 10 81 D0 04-87 F8 0C 8F 80 04 9F 00 3...............
3A210 40 9F 20 40 9F 40 40 9F-60 40 9F 80 40 9F A0 40 @. @.@@.`@..@..@
3A220 9F C0 40 9F E0 40 9F 00-50 9F 00 60 9F 20 60 9F ..@..@..P..`. `.
3A230 40 60 1F 60 60 05 00 01-00 04 0C 00 06 00 01 00 @`.``...........
3A240 10 07 08 02 08 00 01 00-14 04 00 07 F8 03 08 00 ................
3A250 01 00 14 03 00 07 F8 02-08 00 01 00 14 07 00 07 ................
3A260 78 03 00 00 00 00 5D 9F 5D was DD (checksum word for ESCD)
Have fun....(gee, I hope mine comes from COMPUSA soon...)
OK, this is a TOTAL rathole......
The difference between the version with the '74/DD' (good) and the version with 'F4/5D' (bad) is.....
(are you ready for this....)
NOTHING.....
The BIOS images when taken were for machine with 2 different memory sizes....
the supposedly 'bad' machine had 64Meg installed when the dump was taken...the 'good' machine had the original 32Meg of
memory installed...
The difference is in the ESCD's system board structure...
the memory descriptors show the memory between 0x100000-0x1dfffff as usable memory above 1meg on the 'good' machine and
0x10000-0x3dfffff on the 'bad' machine
(dump analysis from Phoenix's nvram utility)
done on 'good' machine...
06: Slot#= 0, Id=@@@0000
0 : Irq2, 20h-21h, A0h-A1h,
1 : Dma4, 0h-Fh, 81h-83h, 87h, 89h-8Bh, 8Fh-91h, C0h-DFh,
2 : Irq0, 40h-43h,
3 : Irq8, 70h-71h,
4 : Irq1, 60h, 64h,
5 : 61h,
6 : Irq13, F0h-FFh,
7 : 0x0-0x9FFFF, 0xFFFE0000-0xFFFFFFFF, 0x100000-0x1DFFFFF,
8 : 0xF0000-0xF3FFF, 0xF4000-0xF7FFF, 0xF8000-0xFBFFF, 0xFC000-0xFFFFF,
9 : 4D0h-4D1h, CF8h-CFFh, 480h-48Fh, 4000h-401Fh, 4020h-403Fh, 4040h-405Fh,
4060h-407Fh, 4080h-409Fh, 40A0h-40BFh, 40C0h-40DFh, 40E0h-40FFh, 5000h-501Fh,
6000h-601Fh, 6020h-603Fh, 6040h-605Fh, 6060h-607Fh,
10 : Irq12,
11 : 208h-20Fh,
12 : Irq4, 3F8h-3FFh,
13 : Irq3, 2F8h-2FFh,
14 : Irq7, 378h-37Fh,
The only difference is on line 7, the 1dfffff changes to 3dfffff (the change from 32m to 64m)...
NET RESULT: THIS AIN'T IT!!!!!!!
BZZZZZ...thank you for playing....NEXT....