Format of Extended BIOS Data Area (PhoenixBIOS 4.0) (Cont.)
10h CRC error on read
Note: the following values for this byte differ somewhat from the
bitfield definition above:
30h drive does not support media sense
31h no media in drive
32h drive does not support media type
AAh diskette drive not ready
--------B-M00400042--------------------------
MEM 0040h:0042h - DISK - FLOPPY/HARD DRIVE STATUS/COMMAND BYTES
Size: 7 BYTEs
See Also: MEM 0040h:0041h
42h BYTE XT: command byte to hard disk controller
AT: write precompensation cylinder number / 4
43h BYTE XT: bit 5 = drive number, bits 3-0=head number
AT: sector count
44h BYTE XT: bits 6,7 = high bits of track, bits 5-0 = start sector-1
AT: starting sector
45h BYTE low byte of track number
46h BYTE XT: sector count
AT: high bits of track number
47h BYTE XT: controlbyte from HD parameters (step rate,...)
AT: 101DHHHH, D=drive number, HHHH=head number
48h BYTE XT: INT 13h subfunction number
AT: comand byte to hard disk controller
--------B-M00400042--------------------------
MEM 0040h:0042h - DISK CONTROLLER STATUS REGISTER 0
Size: BYTE
See Also: MEM 0040h:0043h
Bitfields for diskette controller status register 0:
Bit(s) Description (Table M015)
7-6 interrupt code
00 normal completion
01 abnormal termination during execution
10 invalid command
11 abnormal termination: ready line on/diskette change
5 requested seek complete
4 drive fault
3 drive not ready
2 head state at time of interrupt
1-0 selected drive (drives 2&3 on PC,XT only)
See Also: #M016
--------B-M00400043--------------------------
MEM 0040h:0043h - DISK CONTROLLER STATUS REGISTER 1
Size: BYTE
See Also: MEM 0040h:0042h,MEM 0040h:0044h
Bitfields for diskette controller status register 0:
Bit(s) Description (Table M016)
7 attempted access beyon last cylinder
6 unused
5 CRC error on read
4 DMA overrun
3 unused
2 data error
1 disk write protected
0 missing address mark
See Also: #M015,#M017
--------B-M00400044--------------------------
MEM 0040h:0044h - DISK CONTROLLER STATUS REGISTER 2
Size: BYTE
See Also: MEM 0040h:0043h
Bitfields for diskette controller status register 0:
Bit(s) Description (Table M017)
7 unused
6 found deleted data address mark
5 CRC error in data field
4 wrong cylinder number read
3 verify equal
2 can't find sector matching verify condition
1 bad cylinder
0 unable to find address mark
See Also: #M016
--------V-M00400049--------------------------
MEM 0040h:0049h - VIDEO - CURRENT VIDEO MODE
Size: BYTE
See Also: MEM 0040h:004Ah,INT 10/AH=00h
--------V-M0040004A--------------------------
MEM 0040h:004Ah - VIDEO - COLUMNS ON SCREEN
Size: WORD
See Also: MEM 0040h:0049h,MEM 0040h:004Ch,MEM 0040h:004Eh,INT 10/AH=0Fh
--------V-M0040004C--------------------------
MEM 0040h:004Ch - VIDEO - PAGE (REGEN BUFFER) SIZE IN BYTES
Size: WORD
See Also: MEM 0040h:004Ah,MEM 0040h:004Eh,MEM 0040h:0050h
--------V-M0040004E--------------------------
MEM 0040h:004Eh - VIDEO - CURRENT PAGE START ADDRESS IN REGEN BUFFER
Size: WORD
See Also: MEM 0040h:004Ch,MEM 0040h:0050h,MEM 0040h:0062h,INT 10/AH=05h
--------V-M00400050--------------------------
MEM 0040h:0050h - VIDEO - CURSOR POSITIONS
Size: 8 WORDs
Desc: contains row and column position for the cursors on each of eight
video pages
See Also: MEM 0040h:004Eh,MEM 0040h:0060h,INT 10/AH=02h
--------V-M00400060--------------------------
MEM 0040h:0060h - VIDEO - CURSOR TYPE
Size: WORD (big-endian)
Desc: contains cursor start scan line and cursor end scan line
See Also: MEM 0040h:0050h,MEM 0040h:0062h,INT 10/AH=03h
--------V-M00400062--------------------------
MEM 0040h:0062h - VIDEO - CURRENT PAGE NUMBER
Size: BYTE
See Also: MEM 0040h:004Eh,MEM 0040h:0063h,INT 10/AH=05h
--------V-M00400063--------------------------
MEM 0040h:0063h - VIDEO - CRT CONTROLLER BASE I/O PORT ADDRESS
Size: WORD
Note: normally 03B4h for mono and 03D4h for color video boards
See Also: MEM 0040h:0065h,MEM 0040h:0066h
--------V-M00400065--------------------------
MEM 0040h:0065h - VIDEO - CURRENT MODE SELECT REGISTER
Size: BYTE
Desc: contains last value written to I/O port 03B8h / 03D8h
See Also: MEM 0040h:0063h,MEM 0040h:0066h
Bitfields for current video mode select register:
Bit(s) Description (Table M018)
7-6 unused
5 attribute bit 7 controls blinking instead of background
4 mode 6 graphics in monochrome
3 video signal enabled
2 monochrome
1 graphics
0 80x25 text
--------V-M00400066--------------------------
MEM 0040h:0066h - VIDEO - CURRENT SETTING OF CGA PALETTE REGISTER
Size: BYTE
Desc: contains the last value written to I/O port 03D9h
See Also: MEM 0040h:0063h,MEM 0040h:0065h,INT 10h/AH=0Bh/BH=01h
Bitfields for CGA palette register:
Bit(s) Description (Table M019)
7-6 unused
5 palette (0/1)
4 intense background colors in text mode
3 intense border color (40x25) / background color (mode 5)
2 red
1 green
0 blue
----------M00400067--------------------------
MEM 0040h:0067h - PC only - CASSETTE TIME COUNT
Size: WORD
See Also: INT 15/AH=00h
----------M00400067--------------------------
MEM 0040h:0067h - RESET RESTART ADDRESS
Size: DWORD
Desc: this address stores the address at which to resume execution after a
CPU reset (or jump to F000h:FFF0h) when certain magic values are
stored at 0040h:0072h or in CMOS RAM location 0Fh
See Also: MEM 0040h:0072h,MEM F000h:FFF0h,CMOS 0Fh,INT 19
----------M00400069--------------------------
MEM 0040h:0069h - CASSETTE (PC only) - CASSETTE CRC REGISTER
Size: WORD
See Also: MEM 0040h:006Bh"CASSETTE",INT 15/AH=02h
----------M00400069--------------------------
MEM 0040h:0069h - V20-XT-BIOS - KEY REPEAT
Size: BYTE
Bitfields for V20-XT-BIOS key repeat flags:
Bit(s) Description (Table M020)
7 key repeat disabled
6 Ctrl-Alt pressed instead of just Alt
----------M0040006B--------------------------
MEM 0040h:006Bh - CASSETTE (PC only) - LAST VALUE READ FROM CASSETTE
Size: BYTE
See Also: MEM 0040h:0069h"CASSETTE",INT 15/AH=02h
----------M0040006B--------------------------
MEM 0040h:006Bh - POST LAST UNEXPECTED INTERRUPT (XT and later)
Size: BYTE
Desc: this is a bitmask of IRQs which have occurred while the corresponding
interrupt vector points at the default system BIOS handler
(bit 0 = IRQ0 to bit 7 = IRQ7; bit 2 = IRQ8-15 on AT and later)
See Also: INT 0F"IRQ7",INT 70"IRQ8",INT 77"IRQ15"
----------M0040006C--------------------------
MEM 0040h:006Ch - TIMER TICKS SINCE MIDNIGHT
Size: DWORD
Desc: updated approximately every 55 milliseconds by the BIOS INT 08 handler
See Also: MEM 0040h:0070h,INT 08"IRQ0",INT 1A/AH=00h
----------M00400070--------------------------
MEM 0040h:0070h - TIMER OVERFLOW
Size: BYTE
Desc: non-zero if timer has counted past midnight since last call to
INT 1A/AH=00h
Note: the original IBM BIOS, and thus most other BIOSes, sets this byte to
01h at midnight; a few (such as the Eagle PC-2) increment it each
time midnight is passed. The former behavior results in lost days
if multiple midnights pass between "get-time" calls while the machine
is powered up.
See Also: MEM 0040h:006Ch,INT 1A/AH=00h
--------K-M00400071--------------------------
MEM 0040h:0071h - Ctrl-Break FLAG
Size: BYTE
Desc: bit 7 is set when Ctrl-Break has been pressed
See Also: INT 1B
----------M00400072--------------------------
MEM 0040h:0072h - POST RESET FLAG
Size: WORD
Desc: specify the action the BIOS should take at the beginning of the