• Please review our updated Terms and Rules here

8086/8088 BIOS Manufacturers

For the 6300+, which is IIRC, a 286 machine, but I've never seen the source for the plain-Jane 6300.

It's in the tech ref, which I have, but for which scanning is a herculean job. I've been putting it off.

I'll make a note to see if I can locate it quickly and re-evaluate how to scan it.
 
It's in the tech ref, which I have, but for which scanning is a herculean job. I've been putting it off.

I'll make a note to see if I can locate it quickly and re-evaluate how to scan it.

Perhaps someone with better scanning equipment might be willing to do it for you. I found that there are sufficient similarities in the BIOS with that of the plus that I could puzzle my way through issues.
 
I found it. It's the System Programmer's Guide and I likely have the only copy left in existence (I also have the system tech ref with all the logic diagrams, and the troubleshooting guide which is 2 inches thick). Since this is the only published source of the BIOS, it's important, so I'll start scanning it tonight and update when done.

Edit: Fun fact, it contains info on programming the DEB too.
 
Okay, all done. Pick up the System Programmer's Guide, and others if you choose, here:

ftp://ftp.oldskool.org/pub/misc/Hardware/ATT/Documentation/

They're all OCR'd as well, so searches actually work. I took great care to ensure the BIOS listing was readable. OCR is not 100% perfect, but you can certainly scan for things like "disk" or "video" and it will work.

I'd add it to the 6300 shrine, but it's too big (part had to be in color because of shaded diagrams). 6300 shrine should probably be moved to a proper platform at some point.

If Al Kossow or anyone wants to dump it all into bitsavers, I certainly wouldn't complain, although the collection isn't complete -- I still need to scan the hardware ref and system repair brick at some point.
 
Beautiful :D! Thank you for this contribution.

First thoughts:
Lots of IBM-compatible entry point goodness, except curiously INT 0x02, the reset vector jump, and parts of int 0x10. It seems this system comes with ROM routines that extend from 0xC0000 to 0xFFFFF (no Ethernet card, I guess :()!
 
Well, I don't enjoy being a single point of failure :) Glad to help.

So I noticed a lot of the IBM-compatible entry-point stuff, and honestly, I don't understand why maintaining that was important. It made the BIOS easier to challenge in court, and what software referenced that data directly anyway? I've RE'd over 100 x86 programs in the last five years (when I finally got good at it) and I haven't seen a single instance of referencing location-specific data except for strings and model byte (ie. for machine detection).

cr1901: The int 0x10 changes were likely because the 6300 supports an additional video mode over CGA. However, I'm confused by the ROM extension coverage you mentioned, as I definitely have used ethernet cards in my 6300. (In fact, I *had* to because the parallel port didn't work with my Xircom PE3 for some reason)
 
Well, I don't enjoy being a single point of failure :) Glad to help.

So I noticed a lot of the IBM-compatible entry-point stuff, and honestly, I don't understand why maintaining that was important. It made the BIOS easier to challenge in court, and what software referenced that data directly anyway? I've RE'd over 100 x86 programs in the last five years (when I finally got good at it) and I haven't seen a single instance of referencing location-specific data except for strings and model byte (ie. for machine detection).

cr1901: The int 0x10 changes were likely because the 6300 supports an additional video mode over CGA. However, I'm confused by the ROM extension coverage you mentioned, as I definitely have used ethernet cards in my 6300 (In fact, I *had* to because the parallel port didn't work with my Xircom PE3 for some reason)
Sergey has mentioned instances of programs and Option ROMs that directly access BIOS (I guess it's possible for a ROM closer to 0xF6000 to need BIOS services, but said were hooked by a previous ROM closer to 0xC0000 that can screw things up). I also figured that some zealous game programmers also used the BIOS and skipped the INT instruction to save cycles for tasks where speed was important, but duplicating BIOS functionality was inconvenient. Ya know, those "every last cycle counts within reason" people :p.

Even COMPAQ's BIOS, which looks very different from IBM's (It's kinda reads like a FORTH to me, where BP is the Forth IP), keeps entry-point compatibility for a number of BIOS functions.

I really wish maintaining them WASN'T important. It would make writing a BIOS much easier without needing to worry about this information. Keeping track of the BDA is bad enough.


As for the Ethernet card remark: The ROMable code seems to stretch from 0xC0000 to 0xFFFFF, and at least the Ethernet cards I have like to use the 0xD0000 region or thereabouts. Is it possible to disable the AT&T ROMs to avoid contention?
 
Back
Top