{"id":691,"date":"2020-12-06T01:03:58","date_gmt":"2020-12-06T01:03:58","guid":{"rendered":"https:\/\/www.ecsdump.net\/?page_id=691"},"modified":"2020-12-06T12:25:01","modified_gmt":"2020-12-06T12:25:01","slug":"bios-data-segment","status":"publish","type":"page","link":"https:\/\/www.ecsdump.net\/?page_id=691","title":{"rendered":"BIOS Data Segment"},"content":{"rendered":"\n<pre class=\"wp-block-code\"><code>Format of BIOS Data Segment at segment 40h:\n        {items in curly braces not documented by IBM}\n\nOffset  Size    Description\n 00h    WORD    Base I\/O address of 1st serial I\/O port, zero if none\n 02h    WORD    Base I\/O address of 2nd serial I\/O port, zero if none\n 04h    WORD    Base I\/O address of 3rd serial I\/O port, zero if none\n 06h    WORD    Base I\/O address of 4th serial I\/O port, zero if none\n            Note: Above fields filled in turn by POST as it finds serial\n            ports. POST never leaves gaps. <a href=\"https:\/\/en.wikipedia.org\/wiki\/Disk_operating_system\" data-internallinksmanager029f6b8e52c=\"2\" title=\"DOS\" target=\"_blank\" rel=\"noopener\">DOS<\/a> and BIOS serial device\n            numbers may be redefined by re-assigning these fields.\n 08h    WORD    Base I\/O address of 1st parallel I\/O port, zero if none\n 0Ah    WORD    Base I\/O address of 2nd parallel I\/O port, zero if none\n 0Ch    WORD    Base I\/O address of 3rd parallel I\/O port, zero if none\n 0Eh    WORD    &#91;non-PS] Base I\/O address of 4th parallel I\/O port, zero if none\n        &#91;PS] Segment of Extended BIOS Data Segment\n            Note: Above fields filled in turn by POST as it finds\n            parallel ports. POST never leaves gaps. DOS and BIOS\n            parallel device numbers may de redefined by re-assigning\n            these fields.\n 10h    WORD    Installed hardware:\n            bits 15-14: number of parallel devices\n            bit     13: &#91;Conv] Internal modem\n            bit     12: reserved\n            bits 11- 9: number of serial devices\n            bit      8: reserved\n            bits  7- 6: number of diskette drives minus one\n            bits  5- 4: Initial video mode:\n                    00b = EGA,VGA,PGA\n                    01b = 40 x 25 color\n                    10b = 80 x 25 color\n                    11b = 80 x 25 mono\n            bit      3: reserved\n            bit      2: &#91;PS] =1 if pointing device\n                &#91;non-PS] reserved\n            bit      1: =1 if math co-processor\n            bit      0: =1 if diskette available for boot\n 12h    BYTE    &#91;Conv] POST status\n        &#91;AT] {Manufacturing test initialisation flags}\n 13h    WORD    Base memory size in kbytes (0-640)\n 15h    BYTE    &#91;AT] {Manufacturing test scratch pad}\n 16h    BYTE    &#91;AT] {Manufacturing test scratch pad}\n        &#91;PS\/2 Mod 30] BIOS control flags\n 17h    BYTE    Keyboard status flags 1:\n            bit 7 =1 INSert active\n            bit 6 =1 Caps Lock active\n            bit 5 =1 Num Lock active\n            bit 4 =1 Scroll Lock active\n            bit 3 =1 either Alt pressed\n            bit 2 =1 either Ctrl pressed\n            bit 1 =1 Left Shift pressed\n            bit 0 =1 Right Shift pressed\n 18h    BYTE    Keyboard status flags 2:\n            bit 7 =1 INSert pressed\n            bit 6 =1 Caps Lock pressed\n            bit 5 =1 Num Lock pressed\n            bit 4 =1 Scroll Lock pressed\n            bit 3 =1 Pause state active\n            bit 2 =1 Sys Req pressed\n            bit 1 =1 Left Alt pressed\n            bit 0 =1 Left Ctrl pressed\n 19h    BYTE    Keyboard: Alt-nnn keypad workspace\n 1Ah    WORD    Keyboard: ptr to next character in keyboard buffer\n 1Ch    WORD    Keyboard: ptr to first free slot in keyboard buffer\n 1Eh 16 WORDs   Keyboard circular buffer (but see 80h, 82h for override)\n 3Eh    BYTE    Diskette recalibrate status:\n            bit 7 =1 Diskette hardware interrupt occurred\n            bits 6-4 reserved\n            bit 3 =1 Recalibrate diskette 3\n            bit 2 =1 Recalibrate diskette 2\n            bit 1 =1 Recalibrate diskette 1\n            bit 0 =1 Recalibrate diskette 0\n 3Fh    BYTE    Diskette motor status:\n            bit 7 =1 current operation is write or format\n              =0 current operation is read or verify\n            bit 6    reserved\n            bits 5-4 diskette drive number selected (0-3)\n            bit 3 =1 diskette 3 motor on\n            bit 2 =1 diskette 2 motor on\n            bit 1 =1 diskette 1 motor on\n            bit 0 =1 diskette 0 motor on\n 40h    BYTE    Diskette motor turn-off time-out count\n 41h    BYTE    Diskette last operation status (0 = OK)\n            bit 7 =1 drive not ready\n            bit 6 =1 seek error\n            bit 5 =1 general controller failure\n            bits 4-0:\n                00h no error\n                01h invalid request\n                02h address mark not found\n                03h write-protect error\n                04h sector not found\n                06h diskette change line active\n                08h DMA overrun\n                09h DMA across 64k boundary\n                0Ch media type unknown\n                10h CRC error on read\n 42h  7 BYTEs   Diskette\/Fixed disk status\/command bytes\n 49h    BYTE    Video current mode\n 4Ah    WORD    Video columns on screen\n 4Ch    WORD    Video page (regen buffer) size in bytes\n 4Eh    WORD    Video current page start address in regen buffer\n 50h 16 BYTEs   Video cursor position (col, row) for eight pages, 0 based\n 60h    WORD    Video cursor type, 6845 compatible, hi=startline, lo=endline\n 62h    BYTE    Video current page number\n 63h    WORD    Video CRT controller base address: color=03D4h, mono=03B4h\n 65h    BYTE    Video current setting of mode select register 03D8h\/03B8h\n 66h    BYTE    Video current setting of CGA palette register 03D9h\n 67h    DWORD   POST real mode re-entry point after certain resets\n 6Bh    BYTE    POST last unexpected interrupt\n 6Ch    DWORD   Timer ticks since midnight\n 70h    BYTE    Timer overflow, non-zero if has counted past midnight\n 71h    BYTE    Ctrl-Break flag: bit 7=1\n 72h    WORD    POST reset flag:\n            = 1234h if to bypass memory test (warm boot)\n            = 4321h &#91;PS\/2 MCA only] if to preserve memory\n            = 5678h &#91;Conv] system suspended\n            = 9ABCh &#91;Conv] manufacturing test mode\n            = ABCDh &#91;Conv] POST loop mode\n            =   64h Burn-in mode\n 74h    BYTE    Fixed disk last operation status: {except ESDI drives}\n            00h no error\n            01h invalid function request\n            02h address mark not found\n            03h write protect error\n            04h sector not found\n            05h reset failed\n            07h drive parameter activity failed\n            08h DMA overrun\n            09h DMA data boundary error\n            0Ah bad sector flag detected\n            0Bh bad track detected\n            0Dh invalid number of sectors for Format\n            0Eh control data address mark detected\n            0Fh DMA arbitration level out of range\n            10h uncorrectable ECC or CRC error\n            11h ECC corrected data error\n            20h general controller failed\n            40h seek failed\n            80h time out\n            AAh drive not ready\n            BBh undefined error\n            CCh write fault on selected drive\n            E0h status error\/error register is zero\n            FFh sense failed\n 75h    BYTE    Fixed disk: number of fixed disk drives\n 76h    BYTE    Fixed disk: control byte    {IBM document only for XT}\n 77h    BYTE    Fixed disk: I\/O port offset {IBM document only for XT}\n 78h  3 BYTEs   Parallel devices 1-3 time-out counters\n 7Bh    BYTE    parallel device 4 time-out counter &#91;non-PS]\n        bit 5 set if Virtual DMA Spec supported &#91;PS] (see INT 4B)\n 7Ch  4 BYTEs   Serial devices 1-4 time-out counters\n 80h    WORD    Keyboard buffer start as offset from segment 40h (normally 1Eh)\n 82h    WORD    Keyboard buffer end+1 as offset from segment 40h (normally 3Eh)\n        &#91;XT BIOS dated 11\/08\/82 ends here]\n 84h    BYTE    Video EGA\/MCGA\/VGA rows on screen minus one\n 85h    WORD    Video EGA\/MCGA\/VGA character height in scan-lines\n 87h    BYTE    Video EGA\/VGA control: &#91;MCGA: =00h]\n            bit 7:  =1 if not to clear RAM (see INT 10h, AH=00h)\n            bits 6-5: RAM on adapter = (this field + 1) * 64K\n            bit 4:  reserved\n            bit 3:  =0 if EGA\/VGA video system active, =1 if inactive\n            bit 2:  =1 if to wait for display enable (what means this?)\n            bit 1:  =0 for color or ECD monitor, =1 for mono monitor\n            bit 0:  =0 alphanumeric cursor emulation enabled, =1 not.\n                When enabled, text mode cursor size (INT 10,AH=01h)\n                settings looking like CGA ones are translated to\n                equivalent EGA\/VGA ones.\n 88h    BYTE    Video EGA\/VGA switches: &#91;MCGA: reserved]\n            bits 7-4: power-on state of feature connector bits 3-0\n            bits 3-0: configuration switches 4-1 (=0 on, =1 off)\n              Values as read:\n            0h Pri MDA,     Sec EGA+old color display 40 x 25\n            1h Pri MDA,     Sec EGA+old color display 80 x 25\n            2h Pri MDA,     Sec EGA+ECD normal mode (CGA emul)\n            3h Pri MDA,     Sec EGA+ECD enhanced mode\n            4h Pri CGA 40 x 25, Sec EGA mono display\n            5h Pri CGA 80 x 25, Sec EGA mono display\n            6h Pri EGA+old color display 40 x 25,  Sec MDA\n            7h Pri EGA+old color display 80 x 25,  Sec MDA\n            8h Pri EGA+ECD normal mode (CGA emul), Sec MDA\n            9h Pri EGA+ECD enhanced mode,          Sec MDA\n            Ah Pri EGA mono display,           Sec CGA 40 x 25\n            Bh Pri EGA mono display,           Sec CGA 80 x 25\n            When bit4 of 40h:89h is 0, VGA emulates 350-line EGA if\n            this byte is x3h or x9h, otherwise emulates 200-line CGA in\n            400-line double scan. VGA resets this byte to x9h after the\n            mode set.\n 89h    BYTE    Video MCGA\/VGA mode-set option control:\n            bits 7 and 4:\n            0 0  350-line mode requested\n            0 1  400-line mode at next mode set\n            1 0  200-line mode requested\n            1 1  reserved\n            Apparently VGA BIOS mode set disregards bit 7 and uses\n            byte 40h:88h to determine 200\/350 selection when bit 4\n            is zero. Presumably bit 7 is a convenience for other\n            purposes. Bit 7 is reset to zero after the mode set.\n            bit 6:  =1 if display switching enabled, =0 if disabled\n            bit 5:  reserved\n            bit 4:  &#91;VGA]  =1 if to use 400-line mode at next mode set\n                   =0 if to emulate EGA at next mode set\n                      This bit set to 1 after the mode set.\n                &#91;MCGA] =1 use 400-line mode at next mode set\n                   =0 emulate CGA, digital monitor, 200 lines,\n                      8 x 8 text font at next mode set\n                      Bit unchanged by mode set.\n            bit 3:  =0 if default palette loading enabled at mode set\n            bit 2:  =1 if mono display, =0 if color display\n            bit 1:  =1 if gray scale summing enabled, =0 if disabled\n            bit 0:  &#91;VGA] =1 if VGA active, =0 if not\n                &#91;MCGA] reserved, zero\n 8Ah    BYTE    Video &#91;MCGA\/VGA]: index into Display Combination Code table\n 8Bh    BYTE    Diskette media control &#91;not XT]:\n            bits 7-6: Last data rate set by controller:\n                  00=500kbps, 01=300kbps, 10=250kbps, 11=reserved\n            bits 5-4: Last diskette drive step rate selected\n            bits 3-2: {Data rate at start of operation}\n            bits 1-0: reserved\n 8Ch    BYTE    Fixed disk controller status &#91;not XT]\n 8Dh    BYTE    Fixed disk controller Error Status &#91;not XT]\n 8Eh    BYTE    Fixed disk Interrupt Control &#91;not XT]\n 8Fh    BYTE    Diskette controller information &#91;not XT]:\n            bit 7:  reserved\n            bit 6:  =1 drive 1 determined\n            bit 5:  =1 drive 1 is multi-rate, valid if drive determined\n            bit 4:  =1 drive 1 supports 80 tracks, always valid\n            bit 3:  reserved\n            bit 2:  =1 drive 0 determined\n            bit 1:  =1 drive 0 is multi-rate, valid if drive determined\n            bit 0:  =1 drive 0 supports 80 tracks, always valid\n 90h    BYTE    Diskette drive 0 media state\n 91h    BYTE    Diskette drive 1 media state\n            bits 7-6: Data rate: 00=500kbps, 01=300kbps, 10=250kbps\n            bit    5: =1 if double stepping reqd (e.g. 360kB in 1.2MB)\n            bit    4: =1 if media established\n            bit    3: reserved\n            bits 2-0: on exit from BIOS, contain:\n                000 trying 360kB in 360kB\n                001 trying 360kB in 1.2MB\n                010 trying 1.2MB in 1.2MB\n                011 360kB in 360kB established\n                100 360kB in 1.2MB established\n                101 1.2MB in 1.2MB established\n                110 reserved\n                111 all other formats\/drives\n 92h    BYTE    Diskette drive 0 media state at start of operation\n 93h    BYTE    Diskette drive 1 media state at start of operation\n 94h    BYTE    Diskette drive 0 current track number\n 95h    BYTE    Diskette drive 1 current track number\n 96h    BYTE    Keyboard status byte 3\n            bit 7 =1 read-ID in progress\n            bit 6 =1 last code read was first of two ID codes\n            bit 5 =1 force Num Lock if read-ID and enhanced keyboard\n            bit 4 =1 enhanced keyboard installed\n            bit 3 =1 Right Alt pressed\n            bit 2 =1 Right Ctrl pressed\n            bit 1 =1 last code read was E0h\n            bit 1 =1 last code read was E1h\n 97h    BYTE    Keyboard status byte 2\n            bit 7 =1 keyboard transmit error flag\n            bit 6 =1 LED update in progress\n            bit 5 =1 RESEND received from keyboard\n            bit 4 =1 ACK received from keyboard\n            bit 3 reserved, must be zero\n            bit 2 Caps Lock LED\n            bit 1 Num Lock LED\n            bit 0 Scroll Lock LED\n 98h    DWORD   Timer2: &#91;AT, PS exc Mod 30] ptr to user wait-complete flag\n                        (see INT 15, AX=8300h)\n 9Ch    DWORD   Timer2: &#91;AT, PS exc Mod 30] user wait count in microseconds\n A0h    BYTE    Timer2: &#91;AT, PS exc Mod 30] Wait active flag:\n            bit 7 =1 wait time elapsed\n            bits 6-1 reserved\n            bit 0 =1 INT 15h, AH=86h has occurred\n A1h  7 BYTEs   reserved for network adapters (oh really?)\n A4h    DWORD   &#91;PS\/2 Mod 30] Saved Fixed Disk Interrupt Vector\n A8h    DWORD   Video: EGA\/MCGA\/VGA ptr to Video Save Pointer Table (see below)\n ACh-AFh    reserved\n B0h    DWORD   ptr to 3363 Optical disk driver or BIOS entry point.\n            When 3363 BIOS present, the signature \"OPTIC \",00h occurs 3\n            bytes beyond this entry point.\n            When 3363 BIOS and 3363 File System Driver present, the\n            signature \"FILE SYSTEM DRIVER\",00h occurs 3 bytes beyond\n            this entry point.\n B4h    WORD    reserved\n B6h  3 BYTEs   reserved for POST?\n B9h  7 BYTEs   ???\n C0h 14 BYTEs   reserved\n CEh    WORD    count of days since last boot?\n D0h-EFh    reserved\n F0h-FFh    reserved for user\n100h    BYTE    Print Screen Status byte\nFormat of Extended BIOS Data Area (see 40:0Eh for ptr) &#91;PS only]\nOffset  Size    Description\n 00h    BYTE    Length of EBDA in kilobytes\n 01h 15 BYTEs   reserved\n 17h    BYTE    Number of entries in POST error log (0-5)\n 18h  5 WORDs   POST error log (each word is a POST error number)\n 19h-21h    reserved\n 22h    DWORD   Pointing Device Driver entry point\n 26h    BYTE    Pointing Device Flags 1\n           bit 7:    =1 command in progress\n           bit 6:    =1 resend\n           bit 5:    =1 acknowledge\n           bit 4:    =1 error\n           bit 3:    =0 reserved\n           bits 2-0: index count\n 27h    BYTE    Pointing Device Flags 2\n           bit 7:    =1 device driver far call flag\n           bits 6-3: reserved\n           bits 2-0: package size\n 28h  7 BYTEs   Pointing Device Auxiliary Device Data\n 2Fh    BYTE    reserved\n 30h    DWORD   Vector for INT 07h stored here during 80387 interrupt\n 34h    DWORD   Vector for INT 01h stored here during INT 07h emulation\n 38h    BYTE    Scratchpad for 80287\/80387 interrupt code\n 39h    WORD    Timer3: Watchdog timer initial count\n 3Bh    BYTE    ??? seen non-zero on Model 30\n 3Ch    BYTE    ???\n 3Dh 16 BYTEs   Fixed Disk parameter table for drive 0 (oh really?)\n 4Dh 16 BYTEs   Fixed Disk parameter table for drive 1 (oh really?)\n            Neither of above seen on any Model 30, 50, 60 yet.\n 5Dh-6Bh    ???\n 6Ch    BYTE    Fixed disk: (=FFh on ESDI systems)\n            bits 7-4: Channel number 00-0Fh\n            bits 3-0: DMA arbitration level 00-0Eh\n 6Dh and up:    ??? seen non-zero on Model 60\n3F0h    BYTE    Fixed disk buffer (???!!!)\nFormat of Video Save Pointer Table &#91;EGA\/VGA\/MCGA only]:\nOffset  Size    Description\n 00h    DWORD   ptr to Video Parameter Table\n 04h    DWORD   ptr to Parameter Dynamic Save Area, else 0 &#91;EGA\/VGA only]\n 08h    DWORD   ptr to Alphanumeric Character Set Override, else 0\n 0Ch    DWORD   ptr to Graphics Character Set Override, else 0\n 10h    DWORD   &#91;VGA only] ptr to Secondary Save Pointer Table, must be valid\n 14h    DWORD   reserved, zero\n 18h    DWORD   reserved, zero\nNote: table initially in ROM, copy to RAM to alter, then update 40h:A8h.\n\nFormat of Secondary Video Save Pointer Table &#91;VGA only]:\nOffset  Size    Description\n 00h    WORD    Length of this table in bytes, including this word (1Ah)\n 02h    DWORD   ptr to Display Combination Code Table, must be valid\n 06h    DWORD   ptr to second Alphanumeric Character Set Override, else 0\n 0Ah    DWORD   ptr to User Palette Profile Table, else 0\n 0Eh    DWORD   reserved, zero\n 12h    DWORD   reserved, zero\n 16h    DWORD   reserved, zero\nNote: table initially in ROM, copy to RAM to alter, then alter Save Ptr Table.\n\nFormat of Video Parameter Table &#91;EGA, VGA only]:\nAn array of 23 &#91;EGA] or 29 &#91;VGA] elements, each element being 64 bytes long.\nElements appear in the order:\n 00h-03h    Modes 00h-03h in 200-line CGA emulation mode\n 04h-0Eh    Modes 04h-0Eh\n 0Fh-10h    Modes 0Fh-10h when only 64kB RAM on adapter\n 11h-12h    Modes 0Fh-10h when >64kB RAM on adapter\n 13h-16h    Modes 00h-03h in 350-line mode\n 17h        VGA Modes 00h or 01h in 400-line mode\n 18h        VGA Modes 02h or 03h in 400-line mode\n 19h        VGA Mode  07h in 400-line mode\n 1Ah-1Ch    VGA Modes 11h-13h\nFormat of Video Parameter Table element &#91;EGA, VGA only]:\nOffset  Size    Description\n 00h    BYTE    Columns on screen         (see 40h:4Ah)\n 01h    BYTE    Rows on screen minus one      (see 40h:84h)\n 02h    BYTE    Height of character in scan lines (see 40h:85h)\n 03h    WORD    Size of video buffer          (see 40h:4Ch)\n 05h  4 BYTEs   Values for Sequencer Registers 1-4\n 09h    BYTE    Value for Miscellaneous Output Register\n 0Ah 25 BYTEs   Values for CRTC Registers 00h-18h\n 23h 20 BYTEs   Values for Attribute Controller Registers 00h-13h\n 37h  9 BYTEs   Values for Graphics Controller Registers 00h-08h\nFormat of Video Parameter Table &#91;MCGA only] {guesswork from inspection}:\n    - 16 triplet BYTEs of R,G,B DAC info for 16 colors;\n    - An array of 11 elements, each element being 32 bytes long.\n      Elements appear in the order:\n        Modes 00h,01h in 200-line mode for digital displays\n        Modes 00h,01h in 400-line mode for analog displays\n        Modes 02h,03h in 200-line mode for digital displays\n        Modes 02h,03h in 400-line mode for analog displays\n        Modes 04h,05h in 200-line mode for digital displays\n        Modes 04h,05h in 400-line mode for analog displays\n        Mode  06h in 200-line mode for digital displays\n        Mode  06h in 400-line mode for analog displays\n        Mode  11h\n        Mode  13h in 200-line mode for digital displays\n        Mode  13h in 400-line mode for analog displays\n\nFormat of Video Parameter Table element &#91;MCGA only]:\nOffset  Size    Description\n 00h    BYTE    Columns on screen         (see 40h:4Ah)\n 01h    BYTE    Rows on screen minus one      (see 40h:84h)\n 02h    BYTE    Height of character in scan lines (see 40h:85h)\n 03h    WORD    Size of video buffer          (see 40h:4Ch)\n 05h    WORD    ??? always zero\n 07h 21 BYTEs   Video data registers 00h-14h to port 3D5h indexed by 3D4h\n 1Ch    BYTE    PEL Mask to port 3C6h\n 1Dh    BYTE    CGA Mode Control to port 3D8h\n 1Eh    BYTE    CGA Border Control to port 3D9h\n 1Fh    BYTE    Extended Mode Control to port 3DDh\nFormat of Video Parameter Dynamic Save Area &#91;EGA, VGA only]:\nOffset  Size    Description\n 00h 16 BYTEs   Last data written to Attribute Controller Palette Registers 0-15\n 10h    BYTE    Last data written to Attribute Controller Overscan Register\n 11h-FFh    Reserved\n        Note: Need for table was that EGA registers were write-only.\n        Note: If default values (from the Video Parameter Table) are\n              over-ridden at a mode set by the VGA User Palette Profile\n              Table, then the Dynamic Save Area is updated with the\n              default values, not the User Profile ones.\n\nFormat of Alphanumeric Character Set Override:\nOffset  Size    Description\n 00h    BYTE    Length in bytes of each character in font table\n 01h    BYTE    Character generator RAM bank to load, 0=normal\n 02h    WORD    Number of characters in font table, normally 256\n 04h    WORD    Code of first character in font table, normally 0\n 06h    DWORD   ptr to font table\n 0Ah    BYTE    Displayable rows (FFh=use maximum calculated value)\n 0Bh    BYTEs   Array of mode values to which this font is to pertain\n    BYTE    FFh end of array\nFormat of Second Alphanumeric Character Set Override:\nAuthorities differ, some say same as first override above, but IBM say:\nOffset  Size    Description\n 00h    BYTE    Length in bytes of each character in font table\n 01h    BYTE    Character generator RAM bank to load, normally non-zero\n 02h    BYTE    reserved\n 03h    DWORD   ptr to font table\n 07h    BYTEs   Array of mode values to which this font is to pertain\n    BYTE    FFh end of array\nFormat of Graphics Character Set Override:\nOffset  Size    Description\n 00h    BYTE    Number of displayable character rows\n 01h    WORD    Length in bytes of each character in font table\n 03h    DWORD   ptr to font table\n 07h    BYTEs   Array of mode values to which this font is to pertain\n    BYTE    FFh end of array\nFormat of Display Combination Code Table &#91;VGA only]:\nOffset  Size    Description\n 00h    BYTE    Number of entries in the DCC table at offset 04h\n 01h    BYTE    Version number\n 02h    BYTE    Maximum display type code that can appear in DCC table\n 03h    BYTE    reserved\n 04h    ARRAY OF 2 BYTEs Each pair of bytes gives a valid display combination\n            Meaning of each byte:\n            00h no display\n            01h MDA with mono display\n            02h CGA with color display\n            03h reserved\n            04h EGA with color display\n            05h EGA with mono display\n            06h Professional Graphics Controller\n            07h VGA with mono display\n            08h VGA with color display\n            09h reserved\n            0Ah MCGA with digital color display\n            0Bh MCGA with analog mono display\n            0Ch MCGA with analog color display\n            FFh unrecognised video system\nFormat of User Palette Profile Table &#91;VGA only]:\nOffset  Size    Description\n 00h    BYTE    Underlining: 01h=enable in all alphanumeric modes\n                 00h=enable in monochrome alphanumeric modes only\n                 FFh=disable in all alphanumeric modes\n 01h    BYTE    reserved\n 02h    WORD    reserved\n 04h    WORD    Number (0-17) of Attribute Controller registers in table\n 06h    WORD    Index (0-16) of first Attribute Controller register in table\n 08h    DWORD   ptr to table of Attribute Controller registers to override\n            Table is an array of BYTEs.\n 0Ch    WORD    Number (0-256) of video DAC Color registers in table\n 0Eh    WORD    Index (0-255) of first video DAC Color register in table\n 10h    DWORD   ptr to table of video DAC Color registers to override\n            Table is ??? triplets ??? of BYTEs???\n 14h    BYTEs   array of mode values to which this profile is to pertain\n    BYTE    FFh end of array\nFrom http:\/\/www.nondot.org\/sabre via the Wayback Machine<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":683,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"page-templates\/full-width.php","meta":{"footnotes":""},"categories":[4,73],"tags":[63,20],"wf_page_folders":[69],"class_list":["post-691","page","type-page","status-publish","hentry","category-boot-process","category-source","tag-bios","tag-boot"],"jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=\/wp\/v2\/pages\/691","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=691"}],"version-history":[{"count":0,"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=\/wp\/v2\/pages\/691\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=\/wp\/v2\/pages\/683"}],"wp:attachment":[{"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=691"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=691"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=691"},{"taxonomy":"wf_page_folders","embeddable":true,"href":"https:\/\/www.ecsdump.net\/index.php?rest_route=%2Fwp%2Fv2%2Fwf_page_folders&post=691"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}