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

@SetMode

Version

IBM 5150 and higher

Brief

Set the current video mode

BIOS Interrupt

INT10H: 00H

Family API

VioSetMode

Syntax

@SetMode mode

Parameters

mode (BYTE) - 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

IBM standard modes do not clear the screen if the high bit of AL is set (EGA or higher only)

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