Interrupt List Release 61 Last change 16jul00
Copyright (c) 1989-1999,2000 Ralf Brown
Index for interrupt INT 18

Table of Contents by Order
18 - INT 18 - DISKLESS BOOT HOOK (START CASSETTE BASIC)
1800 - INT 18 - NEC PC-9800 series - KEYBOARD - GET KEYSTROKE
1801 - INT 18 - NEC PC-9800 series - KEYBOARD - CHECK FOR KEYSTROKE
1802 - INT 18 - NEC PC-9800 series - KEYBOARD - GET SHIFT STATUS
1803 - INT 18 - NEC PC-9800 series - KEYBOARD - INITIALIZE
1804 - INT 18 - NEC PC-9800 series - KEYBOARD - KEY PRESSED
18 - INT 18 - NEC PC-9800 series - VIDEO
180E - INT 18 - NEC PC-9800 series - SET SINGLE DISPLAY AREA
181B - INT 18 - NEC PC-9800 series - SET DISPLAY MODE
185350BX4849 - INT 18 - SPHINX C-- - WB.COM - API
186900 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - GET STATUS
186901 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - RESET
186902 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET VOLUME FOR SPECIFIC VOICE
186903 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET FREQUENCY FOR VOICE
186904 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET LEFT/RIGHT BALANCE
186905 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - PLAY MUSIC
186906 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - LOAD SOUND DATA
186907 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - STOP VOICE
186908 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET VOICE END
186909 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - RAMP VOLUME
18690A - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - GET VOLUME
18690B - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - GET POSITION
18690C - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SAVE SOUND DATA
18690D - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - RESTART VOICE
188000 - INT 18 - Gravis Ultra Sound EURO_MOD.EXE - INITIALIZE
188001 - INT 18 - Gravis Ultra Sound EURO_MOD.EXE - LOAD .MOD FILE
188002 - INT 18 - Gravis Ultra Sound EURO_MOD.EXE - PLAY .MOD FILE
188003 - INT 18 - Gravis Ultra Sound EURO_MOD.EXE - STOP PLAYING
188004 - INT 18 - Gravis Ultra Sound EURO_MOD.EXE - SHUTDOWN


18 - INT 18 - DISKLESS BOOT HOOK (START CASSETTE BASIC)
INT 18 - DISKLESS BOOT HOOK (START CASSETTE BASIC)
Desc:	called when there is no bootable disk available to the system
Notes:	very few PCs other than those produced by IBM contain BASIC in ROM, so
	  the action is unpredictable on compatibles; this interrupt often
	  reboots the system, and often has no effect at all
	some PC and XT clones had an optional IBM CASSETTE BASIC stored
	  in the ROM, too.
	most BIOSes will display an error message similar to "NO BASIC", and
	  either reboot or return to the caller.
	PS/2 machines usually pop up a graphical box to the effect that
	  the user should enter a floppy and press F1.
	Some clones display the message "No boot device available,
	  strike F1 to retry, F2 for setup utility"
	network cards with their own BIOS can hook this interrupt to allow
	  a diskless boot off the network (even when a hard disk is present
	  if none of the partitions is marked as the boot partition)
SeeAlso: INT 2F/AX=4A06h,INT 86"NetBIOS",INT 2F/AX=4A06h,INT 2F/AX=4A07h

Top
1800 - INT 18 - NEC PC-9800 series - KEYBOARD - GET KEYSTROKE
INT 18 - NEC PC-9800 series - KEYBOARD - GET KEYSTROKE
	AH = 00h
Return: AX = keystroke
SeeAlso: AH=01h,AH=02h,INT 16/AH=00h

Top
1801 - INT 18 - NEC PC-9800 series - KEYBOARD - CHECK FOR KEYSTROKE
INT 18 - NEC PC-9800 series - KEYBOARD - CHECK FOR KEYSTROKE
	AH = 01h
Return: BH = status
	    00h no keystrokes available
	    01h keystroke available
		AX = keystroke
SeeAlso: AH=00h,AH=02h,INT 16/AH=01h

Top
1802 - INT 18 - NEC PC-9800 series - KEYBOARD - GET SHIFT STATUS
INT 18 - NEC PC-9800 series - KEYBOARD - GET SHIFT STATUS
	AH = 02h
Return: AL = shift flags
SeeAlso: AH=00h,AH=02h,AH=03h,AH=04h,INT 16/AH=02h

Top
1803 - INT 18 - NEC PC-9800 series - KEYBOARD - INITIALIZE
INT 18 - NEC PC-9800 series - KEYBOARD - INITIALIZE
	AH = 03h
	???
Return: ???
SeeAlso: AH=00h,AH=04h

Top
1804 - INT 18 - NEC PC-9800 series - KEYBOARD - KEY PRESSED
INT 18 - NEC PC-9800 series - KEYBOARD - KEY PRESSED
	AH = 04h
	???
Return: ???
Note:	details are not available at this time
SeeAlso: AH=00h,AH=02h,INT 16/AH=00h,INT 16/AH=01h,INT 16/AH=02h

Top
18 - INT 18 - NEC PC-9800 series - VIDEO
INT 18 - NEC PC-9800 series - VIDEO
	AH = function
	    0Ah set video mode
	    0Bh get video mode
	    0Ch start text screen display
	    0Dh end text screen display
	    0Eh set single display area
	    0Fh set multiple display area
	    10h set cursor shape
	    11h display cursor
	    12h terminate cursor
	    13h set cursor position
	    14h read font patter
	    16h initialize text video RAM
	    1Ah define user character
	    others
	???
Return: ???
Notes:	details are not available at this time
	text video RAM is located at segments A000h (characters) and A200h
	  (attributes), graphics video RAM at segment C000h

Bitfields for NEC PC-9800 series video attributes:
Bit(s)	Description	(Table 00648)
 0	disable drawing character
 1	blinking
 2	reverse video
 3	underline
 4	vertical line
 7-5	color
	(0=black, 1=blue, 2=red, 3=purple, 4=green, 5=cyan, 6=yellow, 7=white)

Top
180E - INT 18 - NEC PC-9800 series - SET SINGLE DISPLAY AREA
INT 18 - NEC PC-9800 series - SET SINGLE DISPLAY AREA
	AH = 0Eh
	DX = offset of first byte to display???
Return: ???
SeeAlso: AH=1Bh,MEM 0050h:0001h

Top
181B - INT 18 - NEC PC-9800 series - SET DISPLAY MODE
INT 18 - NEC PC-9800 series - SET DISPLAY MODE
	AH = 1Bh
	AL = ??? (00h for text mode)
Return: ???

Top
185350BX4849 - INT 18 - SPHINX C-- - WB.COM - API
INT 18 - SPHINX C-- - WB.COM - API
	AX = 5350h ('SP')
	BX = 4849h ('HI')
	CX = 4E58h ('NX')
	DH = function
	    01h set ???
		DL = ???
	    02h get ???
		Return: DL = ???
	    03h get ???
		Return: ES:DI -> ??? data buffer
	    06h ???
Return: AX = 7370h ('sp') if installed
	BX = 6869h ('hi') if installed
	CX = 6E78h ('nx') if installed
Program: SPHINX C-- is a shareware compiler by Peter Cellik for a language
	  which is a cross between C and assembler; WB.COM is the driver which
	  launches the WorkBench

Top
186900 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - GET STATUS
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - GET STATUS
	AX = 6900h
Return: AX = amount of DRAM on card or 0000h if GUS not available
Program: YEA_GUS is a driver for the Graphics Ultra Sound which hooks INT 18h
	  and then shells out the the program requiring its services
SeeAlso: AX=6901h,AX=690Ah,AX=690Bh

Top
186901 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - RESET
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - RESET
	AX = 6901h
	BX = number of active voices (14-32)
Return: nothing
SeeAlso: AX=6900h

Top
186902 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET VOLUME FOR SPECIFIC VOICE
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET VOLUME FOR SPECIFIC VOICE
	AX = 6902h
	BX = voice number (00h-1Fh)
	CX = linear volume (0000h-01FFh)
Return: nothing
SeeAlso: AX=6900h,AX=6903h,AX=6904h,AX=6909h,AX=690Ah

Top
186903 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET FREQUENCY FOR VOICE
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET FREQUENCY FOR VOICE
	AX = 6903h
	BX = voice number (00h-1Fh)
	CX = frequency in Hz (0-44100)
Return: nothing
SeeAlso: AX=6902h,AX=6904h

Top
186904 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET LEFT/RIGHT BALANCE
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET LEFT/RIGHT BALANCE
	AX = 6904h
	BX = voice number (00h-1Fh)
	CX = balance (0 = left, 7 = even, 15 = right)
Return: nothing
SeeAlso: AX=6902h,AX=6903h

Top
186905 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - PLAY MUSIC
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - PLAY MUSIC
	AX = 6905h
	BL = voice number
	BH = sample type (0 = 8-bit, 1 = 16-bit)
	CL = looping type (0 = none, 1 = forward, 2 = back and forth)
	CH:DI = 20-bit starting address for voice data
	DL:SI = 20-bit address for loop start
	DH:BP = 20-bit address for loop end
SeeAlso: AX=6903h,AX=6906h,AX=690Bh

Top
186906 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - LOAD SOUND DATA
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - LOAD SOUND DATA
	AX = 6906h
	BL = data format (1 = twos-complement, 0 = not)
	BH = sample type (0 = 8-bit, 1 = 16-bit)
	CX = number of bytes to send
	ES:SI -> buffer containing data
	DL:DI = 20-bit address of GUS DRAM at which to load sound data
SeeAlso: AX=6900h,AX=6905h,AX=690Ch

Top
186907 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - STOP VOICE
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - STOP VOICE
	AX = 6907h
	BX = voice number (00h-1Fh)
Return: nothing
SeeAlso: AX=6908h,AX=690Dh

Top
186908 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET VOICE END
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET VOICE END
	AX = 6908h
	BX = voice number (00h-1Fh)
	CL:DX = 20-bit ending address
Return: nothing
SeeAlso: AX=690Bh

Top
186909 - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - RAMP VOLUME
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - RAMP VOLUME
	AX = 6909h
	BL = voice number (00h-1Fh)
	BH = looping type (0 = none, 1 = forward, 2 = back and forth)
	CX = starting volume
	DX = ending volume
	DI:SI = time
Return: nothing
SeeAlso: AX=6902h,AX=690Ah

Top
18690A - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - GET VOLUME
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - GET VOLUME
	AX = 690Ah
	BX = voice number (00h-1Fh)
Return: AX = current non-linear volume for voice
SeeAlso: AX=6902h,AX=6909h

Top
18690B - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - GET POSITION
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - GET POSITION
	AX = 690Bh
	BX = voice number
Return: BX:AX = 20-bit address at which voice is playing
SeeAlso: AX=6900h,AX=6905h,AX=6908h

Top
18690C - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SAVE SOUND DATA
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SAVE SOUND DATA
	AX = 690Ch
	BL = data format (1 = twos-complement, 0 = not)
	BH = sample type (0 = 8-bit, 1 = 16-bit)
	CX = number of bytes to get
	ES:SI -> buffer for retrieved data
	DL:DI = 20-bit address in GUS DRAM from which to read voice data
Return: nothing
SeeAlso: AX=6906h

Top
18690D - INT 18 - Gravis Ultra Sound YEA_GUS.EXE - RESTART VOICE
INT 18 - Gravis Ultra Sound YEA_GUS.EXE - RESTART VOICE
	AX = 690Dh
	BX = voice
	CX = sample type (0 = 8-bit, 1 = 16-bit)
	DX = looping type (0 = none, 1 = forward, 2 = back and forth)
Return: CX = balance value
SeeAlso: AX=6907h,AX=6908h

Top
188000 - INT 18 - Gravis Ultra Sound EURO_MOD.EXE - INITIALIZE
INT 18 - Gravis Ultra Sound EURO_MOD.EXE - INITIALIZE
	AX = 8000h
Program: EURO_MOD is a .MOD file player for the Gravis Ultra Sound which hooks
	  INT 18h and then shells out to the program requiring its services
SeeAlso: AX=8001h,AX=8004h

Top
188001 - INT 18 - Gravis Ultra Sound EURO_MOD.EXE - LOAD .MOD FILE
INT 18 - Gravis Ultra Sound EURO_MOD.EXE - LOAD .MOD FILE
	AX = 8001h
	BX:CX -> ASCIZ filename
SeeAlso: AX=8000h,AX=8002h

Top
188002 - INT 18 - Gravis Ultra Sound EURO_MOD.EXE - PLAY .MOD FILE
INT 18 - Gravis Ultra Sound EURO_MOD.EXE - PLAY .MOD FILE
	AX = 8002h
SeeAlso: AX=8002h,AX=8003h

Top
188003 - INT 18 - Gravis Ultra Sound EURO_MOD.EXE - STOP PLAYING
INT 18 - Gravis Ultra Sound EURO_MOD.EXE - STOP PLAYING
	AX = 8003h

Top
188004 - INT 18 - Gravis Ultra Sound EURO_MOD.EXE - SHUTDOWN
INT 18 - Gravis Ultra Sound EURO_MOD.EXE - SHUTDOWN
	AX = 8004h
SeeAlso: AX=8000h,AX=8003h

Top
Home Interrupt Index: by Category by Number TOC: by Order Top