This is an old revision of the document!
−Table of Contents
Note: This IBM PC BIOS API call is for DOS/Win16 personality only. Use Family API for portability.
Note: osFree Macro Library provides macros for most of functions
Int 10H, AH=00H
Version
IBM 5150 and higher
Brief
Specify the display mode for the currently active display adapter
osFree Macro Library
Family API
Input
- AH = 00h
- AL = Mode
Return
- AL = video mode flag (Phoenix, AMI BIOS)
- 20h mode > 7
- 30h modes 0-5 and 7
- 3Fh mode 6
- AL = CRT controller mode byte (Phoenix 386 BIOS v1.10)
Notes
- Install check/adapter detect:
- for Ahead adapters, the signature “AHEAD” at C000h:0025h
- for Paradise adapters, the signature “VGA=” at C000h:007Dh
- for Oak Tech OTI-037/057/067/077 chipsets, the signature “OAK VGA” at C000h:0008h
- for ATI adapters, the signature “761295520” at C000h:0031h; the byte
- at C000h:0043h indicates the chipset revision:
- 31h for 18800
- 32h for 18800-1
- 33h for 18800-2
- 34h for 18800-4
- 35h for 18800-5
- 62h for 68800AX (Mach32) (see also #00732)
- the two bytes at C000h:0040h indicate the adapter type
- “22” EGA Wonder
- “31” VGA Wonder
- “32” EGA Wonder800+
- the byte at C000h:0042h contains feature flags
- bit 1: mouse port present
- bit 4: programmable video clock
- the byte at C000h:0044h contains additional feature flags if chipset
- byte > 30h (see #00009)
- for Genoa video adapters, the signature 77h XXh 99h 66h at C000h:NNNNh, where NNNNh is stored at C000h:0037h and XXh is
- 00h for Genoa 6200/6300
- 11h for Genoa 6400/6600
- 22h for Genoa 6100
- 33h for Genoa 5100/5200
- 55h for Genoa 5300/5400
- for SuperEGA BIOS v2.41+, C000h:0057h contains the product level
- for Genoa SuperEGA BIOS v3.0+, C000h:0070h contains the signature “EXTMODE”, indicating support for extended modes
- IBM standard modes do not clear the screen if the high bit of AL is set (EGA or higher only)
- the Tseng ET4000 chipset is used by the Orchid Prodesigner II, Diamond SpeedSTAR VGA, Groundhog Graphics Shadow VGA, Boca Super X VGA, Everex EV-673, etc.
- intercepted by GRAFTABL from Novell DOS 7 and Caldera OpenDOS 7.01.
Note
Text based on Ralf Brown Interrupt List Release 61
IBM PC BIOS API | |
---|---|
Video I/O | INT 10H: 00H, 01H, 02H, 03H, 05H, 06H, 07H, 08H, 09H, 0AH, 0BH, 0CH, 0DH, 0EH, 0FH |
Hardware info | INT 11H, INT 12H |
Serial I/O | INT 14H: 00H, 01H, 02H, 03H |
Tape I/O | INT 15H: 00H, 01H, 02H, 03H |
Keyboard I/O | INT 16H: 00H, 01H, 02H |
Printer I/O | INT 17H: 00H, 01H, 02H |
Disk I/O | INT 13H: 00H, 01H, 02H, 03H, 04H, 05H |
Date and Time | INT 1AH: 00H, 01H |
osFree Macro Library | |
---|---|
Video I/O | @SetMode @SetCurSz @SetCurPos @GetCur @SetPage @ScrollUp @ScrollDn @Scroll @GetChAtr @PutChAtr @PutCh @SetPalet @SetColor @SetDot @GetDot @WrtTTY @VideoState @GetMode @GetDisplay @GetVideoState @GetEGAInfo @Cls |
Hardware info | @Equipment @MemSize |
Serial I/O | @AuxInit @AuxSendChar @AuxRecieveChar @AuxStatus |
Tape I/O | @TapeOn @TapeOff @TapeRead @TapeWrite |
Keyboard I/O | @KbdStatus @CharIn @CharPeek |
Printer I/O | @PrnPrint @PrnInit @PrnStatus |
Disk I/O | @DskReset @DskStatus @DskRead @DskWrite @DskVerify @DskFormat |
Date and Time | @SetTime @GetTime |
Mouse | @MouInit @MouShowPointer @MouStatus @MouSetPos @MouSetMickey @MouRegion |
Memory manager | @ModBlok SET_BLOCK |