cjdb@sphinx.uchicago.edu (Charles Blair) (09/08/87)
I'm curious if the byte at F000:FFFF is meaningful in the PC BIOS. I notice that on some BIOS'es dated 10/27/82 this byte is "w" while on others it's "x." A particular hardware configuration will work with one group of machines but not with the other. Does this byte signify minor changes to the BIOS? The information seems not to be in Norton's Programmer's Guide. -- Bitnet: lib.cb@uchicago.bitnet Internet: lib.cb@chip.uchicago.edu uucp: ..!ihnp4!gargoyle!sphinx!cjdb
dan@srs.UUCP (Dan Kegel) (09/09/87)
> I'm curious if the byte at F000:FFFF is meaningful in the PC BIOS. I > notice that on some BIOS'es dated 10/27/82 this byte is "w" while on > others it's "x." Does this byte signify minor changes to the BIOS? According to the IBM PS/2 & PC BIOS interface Tech Ref, only ffff:000e is defined, and it indicates the model, and only sometimes the BIOS version. But who knows? For newer BIOSes, though (XT after 1/10/86, PC Conv, XT 286, PS/2), you can use the Get System Configuration call to get more info. The call is AH = C0h, INT 15h; on return, CF = 1 if BIOS doesn't support this call (i.e. is early XT, etc), or sets ES:BX to point to a ROM table containing the structure byte_count dw ? ; number of bytes following model db ? ; PC=ff, XT=fe or fb, PCjr = fd, etc, etc submodel db ? ; distingushes between AT and XT/286, etc. BIOS_rev db ? ; 0 for first release, 1 for 2nd, etc. featbyte db ? ; 80h = DMA channel 3 used by hard disk BIOS, ; 40h = 2nd 8259 installed, ; 20h = RTC installed, ; 10h = INT 15h called upon INT 9h ; 8h = wait for external event supported, ; 4h = extended BIOS area (at 640K) allocated, ; 2h = bus is Micro Channel instead of PC. ; 1h reserved (This manual is very useful for BIOS users- you can get it at 1-800-IBM-PCTB.) - Dan Kegel