• Please review our updated Terms and Rules here

Option ROM at E000:0?

Chuck(G)

25k Member
Joined
Jan 11, 2007
Messages
44,517
Location
Pacific Northwest, USA
I wonder if anyone can shed some light on two curiosities with the PC AT BIOS for me...

Get out your PC AT Techref and check out the following:

1. If you peruse the PC AT BIOS listing at the end of Test 2 (pp. 5-65, 5-66), you'll see that the ROM at E000:0 is special-cased after all of the other option ROM space has been processed and the presence of disks, printer, etc. has been verified. Post Code 42H is sent before E000:3 is called and code 43H is sent on return. What is this about? Special manufacturing test code? Network boot? Plans for diskless ROM cartridges? Anyone know for certain? All of the "clone" BIOSes (at least Award, AMI and Phoenix) also have this code.

2. The listing for Test 6 is truncated on page 5-76 and Test 7 starts on page 5-77. Did IBM ever issue a correction with the missing code?

Thanks for any light on the matter(s)!
 
System ROM expansion

System ROM expansion

It was for System Rom Expansion (as opposed to an expansion ROM)
I think this is also the cart space on the PC Jr.
I think it was originally for carts, only they decided not to go down that route.

patscc
 
The BIOS listing only identifies it as "System Code". Why keep it in the PC AT (and subsequent platforms) if it's not used? You're not going to run Peanut carts in your AT.

This is the last thing that the BIOS does before the INT 19H bootstrap call. Another online reference suggests that it's for network IPL, but the Cluster Adapter maps in at D000 and just hooks the INT 19H vector the way you'd expect it to.

What is for certain is that the E000 ROM spot is the last extension ROM called, so it would be a way to secure a PC from being booted from disk.

I wondered if it might be a hook for government (and possibly corporate) customers.
 
Rom

Rom

It's not declared as extension rom, it's declared as system expansion rom. The reference I got this from makes an explicit difference. (The Programmers PC source book, second edition)
Seeing as how I don't have teh AT ref in front of me, is the E000 scanned for the 55AAh sig, or for something different.
It wouldn't be the first time Big Blue did something incomprehensible.

It would be fun to hack an expansion card, like maybe a drive controller, into that address space and see what happens. Does anyone out there have an expansion card that let's you map it into the E000 region ?

patscc
 
It's not declared as extension rom, it's declared as system expansion rom. The reference I got this from makes an explicit difference. (The Programmers PC source book, second edition)
Seeing as how I don't have teh AT ref in front of me, is the E000 scanned for the 55AAh sig, or for something different.
It wouldn't be the first time Big Blue did something incomprehensible.

Got the book; thick paperback from Microsoft Press. The Phoenix books mention it only as "ROM at E000"; apparently it's also part of the PS/2 platform. The ROM carries the 55AA signature, is checksummed and is entered at offset 3 and has the length in blocks at offset 2, just like regular option ROM.

So, has anyone ever seen a specimen of this ROM?

Anyone have one of the DOS-in-ROM PS/1 systems? What's at E000:0 there?
 
I know it is an old thread, I found it while searching for PS/1 DOS in ROM info and this is what I know.

Anyone have one of the DOS-in-ROM PS/1 systems? What's at E000:0 there?
I have a PS/1 2011 with PC DOS 4.00 in ROM. The system has four 27C010 EPROMS, one pair for even bytes and the other pair for odd bytes. That makes a sum of 512 KB, but only the last 128 KB are mapped in the first MB, from E0000 to FFFFF. It seems that the entire ROM is mapped at the end of the 16 MB space, but I don't know how to dump that area to confirm it.

The 512 KB ROM contains:
- The 256 KB ROM DRIVE with PC DOS 4.0 BOOT
- The BASIC interpreter
- The VGA BIOS (there is no ROM from C0000 to C7FFF)
- The PC BIOS

These are the contents at E0000:

Code:
00000000   31 31 30 30  35 35 37 37  37 37 35 36  38 30 20 20  11005577775680
00000010   28 28 43 43  29 29 20 20  43 43 4F 4F  50 50 59 59  ((CC))  CCOOPPYY
00000020   52 52 49 49  47 47 48 48  54 54 20 20  49 49 42 42  RRIIGGHHTT  IIBB
00000030   4D 4D 20 20  43 43 4F 4F  52 52 50 50  4F 4F 52 52  MM  CCOORRPPOORR
00000040   41 41 54 54  49 49 4F 4F  4E 4E 20 20  31 31 39 39  AATTIIOONN  1199
00000050   38 38 31 31  2C 2C 20 20  31 31 39 39  38 38 39 39  8811,,  11998899
00000060   20 20 41 41  4C 4C 4C 4C  20 20 52 52  49 49 47 47    AALLLL  RRIIGG
00000070   48 48 54 54  53 53 20 20  52 52 45 45  53 53 45 45  HHTTSS  RREESSEE
00000080   52 52 56 56  45 45 44 44  20 20 55 AA  48 38 E9 14  RRVVEEDD  U.H8..
00000090   2A 00 00 08  00 10 00 20  00 40 00 60  00 80 00 A0  *...... .@.`....
000000A0   00 C0 00 E0  00 00 01 40  01 80 01 C0  01 00 02 40  .......@.......@
000000B0   02 80 02 C0  02 00 03 40  03 80 03 02  00 00 00 00  .......@........
000000C0   00 00 00 FF  FF FF FF 00  00 FF FF FF  FF 00 00 FF  ................
000000D0   FF FF FF 00  00 FF FF FF  FF 00 00 00  00 00 00 00  ................
000000E0   00 00 00 00  00 08 00 10  00 00 00 00  00 00 00 00  ................
000000F0   00 4E 00 00  00 00 00 00  62 63 00 00  FF 00 01 03  .N......bc......
00000100   03 40 00 00  01 32 00 00  00 01 00 00  00 01 32 32  .@...2........22
00000110   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................
00000120   00 00 00 00  00 00 00 00  00 00 80 02  C8 00 00 20  ...............
00000130   50 00 00 40  08 00 08 00  08 00 08 00  01 01 00 00  P..@............
00000140   00 00 00 00  00 00 00 00  00 00 00 00  00 01 05 0F  ................
00000150   FF 00 00 65  6D 00 00 00  00 00 00 00  00 F8 03 0C  ...em...........
00000160   EF F8 02 0B  F7 00 00 00  00 00 00 00  00 00 00 00  ................
00000170   00 00 00 00  00 00 06 26  6E 05 00 00  01 00 F2 01  .......&n.......
00000180   F8 01 6D 00  2D 01 FE 01  17 00 B0 01  04 02 A9 00  ..m.-...........
00000190   16 02 0A 02  41 00 00 03  10 02 04 00  1C 05 00 00  ....A...........
000001A0   02 00 84 1E  FF 10 00 03  00 30 00 FF  FF FF FF FF  .........0......
000001B0   FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF  ................
000001C0   FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF  ................
000001D0   FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF  ................
000001E0   FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF  ................
000001F0   FF FF FF FF  FF FF FF FF  FF FF FF 00  00 00 00 00  ................
00000200   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................
00000210   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................
00000220   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................
00000230   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................
00000240   00 00 00 00  00 00 00 00  00 00 00 00  00 FF 3F FF  ..............?.
00000250   1F FF 0F FF  07 FF 03 FF  01 FF 00 7F  00 3F 00 1F  .............?..
00000260   00 FF 01 FF  10 FF 30 7F  F8 7F F8 7F  FC 00 00 00  ......0.........
00000270   40 00 60 00  70 00 78 00  7C 00 7E 00  7F 80 7F 00  @.`.p.x.|.~.....
00000280   7C 00 6C 00  46 00 06 00  03 00 03 00  00 00 00 D4  |.l.F...........
00000290   03 FF FF 00  77 00 00 00  00 00 00 00  00 00 00 00  ....w...........
000002A0   00 00 00 00  00 00 00 00  00 00 00 00  00 00 46 03  ..............F.
000002B0   00 00 00 00  14 00 14 00  00 00 00 B8  00 B8 00 00  ................
000002C0   01 00 FF FF  FF FF E6 03  00 00 00 00  00 00 00 00  ................
000002D0   00 00 00 90  00 00 00 00  00 00 00 00  00 00 00 00  ................
000002E0   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................
000002F0   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................


All the DOS in ROM mechanism is very well explained by IBM in the US5307497 patent: Disk operating system loadable from read only memory using installable file system interface
 
I know about the PS/1 and the patent; but the 5150 BIOS had special treatment for the E0000 range and the date of the patent filing is 1990 (granted in 1994). It's a stupid patent anyway; other machines (e.g. Grid) had DOS in ROM; indeed it was a Microsoft offering long before 1990, so I'm calling the PS/1 patent a red herring.
 
Back
Top