please dont rip this site
addr.   size description 
----- ------ -------------------------------------------------------------
40:00   word COM1 port address |   These addresses are zeroed out in the 
40:02   word COM2 port address |   OS/2 DOS Compatibility Box if any of 
40:04   word COM3 port address |   the OS/2 COM??.SYS drivers are loaded. 
40:06   word COM4 port address |   
40:08   word LPT1 port address 
40:0A   word LPT2 port address 
40:0C   word LPT3 port address 
40:0E   word LPT4 port address	(not valid in PS/2 machines) 
40:0E   word PS/2 pointer to BIOS/ExtData extended Data Area at top of RAM
40:10   word Installed Equipment Flag BIOS/40/10
40:12   byte reserved (PC, AT) 
             number of errors detected by infrared keyboard link (PCjr) 
             POST status (Convertible) 
40:13   word availible memory size in Kbytes (less display RAM in PCjr) 
             this is the value returned by Int/12
             also serves as a pointer to the Extended BIOS Data Area
40:15   word reserved 
40:17  2byte keyboard Flags BIOS/40/17
40:19   byte storage for alternate keypad entry (not normally used) 
40:1A   word pointer to keyboard buffer head character
40:1C   word pointer to keyboard buffer tail character 
40:1E 32byte 16 2-byte entries for keyboard circular buffer. Int/16
40:3E	byte drive seek status BIOS/40/3E
40:3F	byte diskette motor status BIOS/40/3F
40:40   byte motor off counter 
             starts at 37 and is decremented 1 by each system clock tick. 
             motor is shut off when count = 0. 
40:41	byte status of last diskette operation BIOS/40/41
40:42 7 byte Floppy controller status bytes
40:49	byte current CRT mode (hex value) BIOS/40/49
40:4A   word number of columns on screen, coded as hex number of columns 
             for example 20, 40, and 80 are 14h, 28h, and 46h
40:4C   word screen buffer length in bytes 
	     (number of bytes used per screen page, varies with video mode) 
40:4E   word   current screen buffer starting offset (active page) 
40:50 8 words  cursor position pages 1-8 
		the first byte of each word gives the column (0-19, 39, or 79) 
		the second byte gives the row (0-24) 
40:60   byte   end line for cursor   (normally 1) 
40:61   byte   start line for cursor (normally 0) 
40:62   byte   current video page being displayed  (0-7) 
40:63   word   base port address of 6845 CRT controller or equivalent 
               for active display           3B4h=mono, 3D4h=color 
40:65   byte   current setting of the CRT mode register 
40:66   byte   current palette mask setting  (CGA) 
40:67 5 bytes  temporary storage for SS:SP during shutdown (cassette interface) 
40:69	byte	Disk drives installed data (Columbia PCs) (not valid on most
		clone computers) BIOS/40/69
40:6C	word	timer counter low word. See Int/1Af/00
40:6E	word	timer counter high word. See Int/1Af/00
40:70   byte   24 hour timer overflow 1 if timer went past midnight 
                it is reset to 0 each time it is read by Int/1A
40:71   byte   BIOS break flag (bit 7 = 1 means break key hit) 
40:72   word   reset flag  
		PCjr keeps 1234h here for softboot when a cartridge is installed
		bits 1234h = soft reset, memory check will be bypassed 
		     4321h = preserve memory (PS/2 other only) 
		     5678h = system suspended (Convertible) 
		     9ABCh = manufacturing test mode (Convertible) 
		     ABCDh = system POST loop mode (Convertible)
40:74   byte   status of last hard disk operation; PCjr special disk control 
40:75   byte   # of hard disks attached (0-2)    ; PCjr special disk control 
40:76   byte   HD control byte; temp holding area for 6th param table entry 
40:77   byte   port offset to current hd adapter ; PCjr special disk control 
40:78 4 bytes  timeout value for LPT1,LPT2,LPT3,LPT4 
40:7C 4 bytes  timeout value for COM1,COM2,COM3,COM4 (0-0FFh secs, default 1) 
40:80   word   pointer to start of circular keyboard buffer, default 03:1E 
40:82   word   pointer to end of circular keyboard buffer, default 03:3E 
40:84   byte   rows on the screen minus 1 (EGA only) 
40:84   byte   PCjr interrupt flag; timer channel 0  (used by POST) 
40:85   word   bytes per character (EGA only) 
40:85 2 bytes  (PCjr only) typamatic char to repeat 
40:86 2 bytes  (PCjr only) typamatic initial delay 
40:87	word	mode options and feature bit switches (EGA only)
40:87   byte   (PCjr only) current Fn key code 
40:88   byte   (PCjr only) special keyboard status byte 
		bit 7 function flag      3 typamatic (0=enable,1=disable) 
		    6 Fn-B break         2 typamatic speed (0=slow,1=fast) 
		    5 Fn pressed         1 extra delay bef.typamatic (0=enable) 
		    4 Fn lock            0 write char, typamatic delay elapsed 
40:89   byte   PCjr, current value of 6845 reg 2 (horiz.synch) used by 
		ctrl-alt-cursor screen positioning routine in ROM 
40:8A   byte   PCjr CRT/CPU Page Register Image, default 3Fh 
40:8B   byte   last diskette data rate selected 
40:8C   byte   hard disk status returned by controller 
40:8D   byte   hard disk error returned by controller 
40:8E   byte   hard disk interrupt (bit 7=working int) 
40:90 4 bytes  media state drive 0, 1, 2, 3 
40:94 2 bytes  track currently seeked to drive 0, 1 
40:96   byte   keyboard flag byte 3 (see Int/09)
40:97   byte   keyboard flag byte 2 (see Int/09)
40:98  dword   segment:offset pointer to users wait flag 
40:9C  dword   users timeout value in microseconds 
40:A0   byte   real time clock wait function in use 
		bits 7    wait time elapsed and posted flag 
		     6-1  reserved 
                     0    Int/15f/86 (WAIT) has occurred
40:A1   byte   LAN A DMA channel flags 
40:A2 2 bytes  status LAN A 0,1 
40:A4  dword   saved hard disk interrupt vector 
40:A8  dword   EGA pointer to table of 7 parameters. Format of table: 
       dword	pointer to 1472 byte table containing 64 video parms
       dword	reserved
       dword	reserved
       dword	reserved
       dword	reserved
       dword	reserved
       dword	reserved
40:B4   byte   keyboard NMI control flags              (Convertible) 
40:B5  dword   keyboard break pending flags            (Convertible) 
40:B9   byte   port -0060 single byte queue		(Convertible) 
40:BA   byte   scan code of last key                   (Convertible) 
40:BB   byte   pointer to NMI buffer head              (Convertible) 
40:BC   byte   pointer to NMI buffer tail              (Convertible) 
40:BD 16bytes  NMI scan code buffer                    (Convertible) 
40:CE   word   day counter                             (Convertible and after) 
04:8F		end of BIOS Data Area

See also:

file: /Techref/bios/dataarea.htm, 7KB, , updated: 1999/2/20 11:24, local time: 2019/5/24 07:55,

 ©2019 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?
Please DO link to this page! Digg it! / MAKE! / 

<A HREF=""> Memory Map of the 000400-000500 BIOS Data Area</A>

After you find an appropriate page, you are invited to your to this massmind site! (posts will be visible only to you before review) Just type in the box and press the Post button. (HTML welcomed, but not the <A tag: Instead, use the link box to link to another page. A tutorial is available Members can login to post directly, become page editors, and be credited for their posts.

Link? Put it here: 
if you want a response, please enter your email address: 
Attn spammers: All posts are reviewed before being made visible to anyone other than the poster.
Did you find what you needed?


Welcome to!

Site supported by
sales, advertizing,
& kind contributors
just like you!

Please don't rip/copy
(here's why

Copies of the site on CD
are available at minimal cost.

Welcome to!