[comp.sys.ibm.pc] BIOS question

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