Note: This API call is for DOS and Win16 personality only. Use Family API for portability.
1 and higher
DIRECT CONSOLE OUTPUT/INPUT
AH = 06h DL = output character (except FFh) DL = FFh - input character
On output:
AL = character output (despite official docs which state nothing is returned) (at least DOS 2.1-7.0)
On input:
ZF set if no character available AL = 00h
ZF clear if character available AL = character read
does not check ^C/^Break
writes to standard output, which is always the screen under DOS 1.x, but may be redirected under DOS 2+
if the returned character is 00h, the user pressed a key with an extended keycode, which will be returned by the next call of this function
this function reads from standard input, which is always the keyboard under DOS 1.x, but may be redirected under DOS 2+
although the return of AL=00h when no characters are available is not documented, some programs rely on this behavior
Text based on Ralf Brown Interrupt List Release 61
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 |