Specifications

MICROPROCESSADORES
INTERRUPÇÕES
5
Luís Miguel Charrua Figueiredo 5 - 11 E.N.I.D.H.
01h write modem control register
BL = modem control register (see #00334)
Return: AX = status
DX = port number
Note
: also supported by ArtiCom
SeeAlso
: AH=00h,AH=1Fh,AX=8000h"ARTICOM",AH=FBh
Bitfields for modem control register:
Bit(s) Description (Table 00334)
0 data terminal ready
1 request to send
2 OUT1
3 OUT2
4 LOOP
5-7 reserved
INT 15 C - KEYBOARD - KEYBOARD INTERCEPT (AT model
3x9,XT2,XT286,CONV,PS)
AH = 4Fh
AL = hardware scan code (see #00006)
CF set
Return
: CF set to continue processing scan code
AL = possibly-altered hardware scan code (see #00006)
CF clear
scan code should be ignored
Notes
: called by INT 09 handler to translate scan codes; the INT 09 code
does not examine the scan code it reads from the keyboard until after this function
returns. This permits software to rearrange the keyboard; for example, swapping
the CapsLock and Control keys, or turning the right Shift key into Enter. DOS 6
KEYB.COM will not pass through this function if Ctrl-Alt-Del is pressed and a
SmartDrive v4- compatible cache is installed which has dirty cache buffers; some
other disk caches such as HyperDisk operate similarly in order to prevent loss of
cached data which has not yet been written to disk IBM classifies this function as
required
SeeAlso
: INT 09,INT 15/AH=C0h
INT 15 C - OS HOOK - DEVICE OPEN (AT,XT286,PS)
AH = 80h
BX = device ID
CX = process ID
CF clear
Return
: CF clear if successful
AH = 00h
CF set on error
AH = status (see #00496)
Note
: this function should be hooked by a multitasker which wishes to keep
track of device ownership; the default BIOS handler merely returns successfully
SeeAlso
: AH=81h,AH=82h
(Table 00496)
Values for status:
80h invalid command (PC,PCjr)
86h function not supported (XT)
INT 15 C - OS HOOK - DEVICE CLOSE
AH = 81h
BX = device ID
CX = process ID
CF clear
Return
: CF clear if successful
AH = 00h
CF set on error
AH = status (see #00496)
Note
: this function should be hooked by a multitasker which wishes to keep
track of device ownership; the default BIOS handler merely returns successfully
SeeAlso
: AH=80h,AH=82h
INT 15 C - OS HOOK - PROGRAM TERMINATION
AH = 82h
BX = process ID
CF clear
Return
: CF clear if successful
AH = 00h
CF set on error
AH = status (see #00496)
Notes
: closes all devices opened by the given process ID with function 80h
this function should be hooked by a multitasker which wishes to keep track of
device ownership; the default BIOS handler merely returns successfully
SeeAlso
: AH=80h,AH=81h
INT 15 - BIOS - JOYSTICK SUPPORT (XT after 1982/11/8,AT,XT286,PS)
AH = 84h
DX = subfunction
0000h read joystick switches
Return: AL bits 7-4 = switch settings
0001h read positions of joysticks
Return: AX = X position of joystick A
BX = Y position of joystick A
CX = X position of joystick B
DX = Y position of joystick B
Return
: CF set on error
AH = status (see #00496)
CF clear if successful
Notes
: if no game port is installed, subfunction 0000h returns AL=00h (all
switches open) and subfunction 0001h returns AX=BX=CX=DX=0000h a
250kOhm joystick typically returns 0000h-01A0h
SeeAlso
: AH=84h"V20-XT-BIOS"
INT 15 - BIOS - WAIT (AT,PS)
AH = 86h
CX:DX = interval in microseconds
Return
: CF clear if successful (wait interval elapsed)
CF set on error or AH=83h wait already in progress
AH = status (see #00496)
Note
: the resolution of the wait period is 977 microseconds on many
systems because many BIOSes use the 1/1024 second fast interrupt from the AT
real-time clock chip which is available on INT 70; because newer BIOSes may
have much more precise timers available, it is not possible to use this function
accurately for very short delays unless the precise behavior of the BIOS is known
(or found through testing)
SeeAlso
: AH=41h,AH=83h,INT 1A/AX=FF01h,INT 70
INT 15 - SYSTEM - COPY EXTENDED MEMORY
AH = 87h
CX = number of words to copy (max 8000h)
ES:SI -> global descriptor table (see #00499)
Return
: CF set on error
CF clear if successful
AH = status (see #00498)
Notes
: copy is done in protected mode with interrupts disabled by the default
BIOS handler; many 386 memory managers perform the copy with interrupts
enabled on the PS/2 30-286 & "Tortuga" this function does not use the port 92h for
A20 control, but instead uses the keyboard controller (8042). Reportedly this may
cause the system to crash when access to the 8042 is disabled in password
server mode (see also PORT 0064h,#P0398) this function is incompatible with the
OS/2 compatibility box
SeeAlso
: AH=88h,AH=89h,INT 1F/AH=90h
(Table 00498)
Values for extended-memory copy status:
00h source copied into destination
01h parity error
02h interrupt error
03h address line 20 gating failed
80h invalid command (PC,PCjr)
86h unsupported function (XT,PS30)
Format of global descriptor table:
Offset Size Description (Table 00499)
00h 16 BYTEs zeros (used by BIOS)