Outils pour utilisateurs

Outils du site


back2root:ibm-pc-ms-dos:interrupts:old:ms_interrupt_list-17-20

MSDOS - Interrupt List 17h-20h

INT 17

———-17—-DX0ABC———————– INT 17 - PRINTER - LPTx v5.x INSTALLATION CHECK

DX = 0ABCh

Return: AX = AAAAh

DX = BAAAh
ES = code segment of resident portion

———-17—-DX0B90———————– INT 17 - PRINTER - LPTx v6.x INSTALLATION CHECK

DX = 0B90h

Return: DX = ABBBh

ES = code segment of resident portion

———-17—-DX0B91———————– INT 17 - PRINTER - LPTx v7.x INSTALLATION CHECK

DX = 0B91h

Return: DX = ABCBh

ES = code segment of resident portion

———-17—-DX0F5F———————– INT 17 - PRINTER - LPTx v4.x INSTALLATION CHECK

DX = 0F5Fh

Return: AX = AAAAh

DX = F555h
ES = code segment of resident portion

———-1700——————————- INT 17 - PRINTER - WRITE CHARACTER

AH = 00h
AL = character to write
DX = printer number (00h-02h)

Return: AH = printer status

    bit 7: not busy
	6: acknowledge
	5: out of paper
	4: selected
	3: I/O error
	2: unused
	1: unused
	0: timeout

SeeAlso: AH=84h“AX”,AH=F1h,INT 16/AX=FFE3h,INT 1A/AH=11h“NEC” ———-1701——————————- INT 17 - PRINTER - INITIALIZE PORT

AH = 01h
DX = printer number (00h-02h)

Return: AH = printer status (see AH=00h) SeeAlso: AH=02h,INT 1A/AH=10h“NEC” ———-1702——————————- INT 17 - PRINTER - GET STATUS

AH = 02h
DX = printer number (00h-02h)

Return: AH = printer status (see AH=00h) SeeAlso: AH=01h,AH=F2h,INT 1A/AH=12h“NEC” ———-1702–DX0000———————– INT 17 - INSET - INSTALLATION CHECK

AH = 02h
DX = 0000h
CX = 07C3h (1987d)

Return: CX = 07C2h (1986d) if installed Note: INSET is a text/graphics integration program ———-1720——————————- INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER

AH = 20h
AL = function number
    00h installation check
    	Return: BX = driver version number (BH=major,BL=minor)
		CH = ??? (00h)
		CL = ???
		DX = ??? (0100h)
	Note: also enables the remaining functions
    01h set ??? flag
    02h get information
    	CL = subfunction
	    00h get printer type
	    	Return: ES:DI -> ASCIZ printer name
	    01h get paper size
	    	DX = size index
		Return: ES:DI -> ASCIZ paper size description
	    02h get ???
	    	Return: BX = ???
	    03h get printer information???
	    	DX = ???
		ES:BX -> buffer for ??? (min 134 bytes)
    03h ???
    	ES:BX -> ???
    04h get ???
    	Return: ES:DI -> ???
    05h advance printer to next page
    	Note: also clears flag set by function 01h
    06h advance printer to next page and shut down
    	Note:	also clears flag set by function 01h and disables
		  functions other than 00h
    07h not implemented, AX returned unchanged
BL = printer number???

Return: AX = status

    0000h successful
    0001h invalid printer???
    0002h ???
    0003h invalid subfunction
    0005h driver disabled, must call function 00h first
    0009h unknown printer error
    000Bh printer not selected
    000Ch printer out of paper
    000Eh error while writing to serial printer
    000Fh ???
    0010h invalid function number
    0011h value out of range

———-172400—————————– INT 17 - Shamrock Software NET.24 v3.11+ - ENABLE/DISABLE API FUNCTIONS

AX = 2400h
DL = new state
    00h disabled
    01h enabled

Return: DL = 24h if installed

DH = minor version number
CX = network address of this machine
AL = status
    00h successful
    01h timeout
    02h header error
    03h data error
    04h busy
    05h invalid parameters

SeeAlso: AX=2403h,INT 16/AX=4500h ———-172401—————————– INT 17 - Shamrock Software NET.24 v3.11+ - RECEIVE BLOCK, NO HANDSHAKE

AX = 2401h
BL = timeout in clock ticks

Return: AL = status (see AX=2400h)

DX:BX -> receive buffer

SeeAlso: AX=2402h,AX=2404h,AX=2408h ———-172402—————————– INT 17 - Shamrock Software NET.24 v3.11+ - TRANSMIT BLOCK, NO HANDSHAKE

AX = 2402h
transmit buffer filled (see AX=2403h)

Return: AL = status (see AX=2400h) SeeAlso: AX=2401h,AX=2403h,AX=2404h,AX=2409h ———-172403—————————– INT 17 - Shamrock Software NET.24 v3.11+ - GET STATUS AND TRANSMISSION BUFFER

AX = 2403h

Return: AL = status (see AX=2400h)

CX = number of characters in receive ring buffer
DX:BX -> transmit buffer

SeeAlso: AX=2400h,AX=2402h ———-172404—————————– INT 17 - Shamrock Software NET.24 v3.11+ - SEND ACK BLOCK

AX = 2404h
BX = target address

Return: AL = status (see AX=2400h) SeeAlso: AX=2402h,AX=2405h ———-172405—————————– INT 17 - Shamrock Software NET.24 v3.11+ - SEND NAK BLOCK

AX = 2405h
BX = target address

Return: AL = status (see AX=2400h) SeeAlso: AX=2402h,AX=2404h ———-172406—————————– INT 17 - Shamrock Software NET.24 v3.11+ - PREPARE CHARACTER-ORIENTED RECEIVE

AX = 2406h

Return: AL = status (see AX=2400h) SeeAlso: AX=2407h,AX=240Ah ———-172407—————————– INT 17 - Shamrock Software NET.24 v3.11+ - RECEIVE CHARACTER FROM REMOTE

AX = 2407h

Return: AL = status (see also AX=2400h)

    06h end of data
DL = received character

SeeAlso: AX=2406h ———-172408—————————– INT 17 - Shamrock Software NET.24 v3.11+ - RECEIVE BLOCK, WITH HANDSHAKE

AX = 2408h

Return: AL = status (see also AX=2400h)

    06h end of data
CX = number of bytes in receive buffer
DX:SI -> receive buffer

SeeAlso: AX=2401h,AX=2405h,AX=2409h ———-172409—————————– INT 17 - Shamrock Software NET.24 v3.11+ - TRANSMIT COMMAND, WITH HANDSHAKE

AX = 2409h
BX = target address
CX = number of data bytes
DL = command code to send
DS:SI -> data bytes for command

Return: AL = status (see also AX=2400h)

    03h no response
    06h remote currently unable to perform command

SeeAlso: AX=2405h,AX=2408h ———-17240A—————————– INT 17 - Shamrock Software NET.24 v3.11+ - PREPARE CHARACTER-ORIENTED TRANSMIT

AX = 240Ah

Return: AL = status (see AX=2400h) SeeAlso: AX=2406h,AX=240Bh,AX=240Ch ———-17240B—————————– INT 17 - Shamrock Software NET.24 v3.11+ - TRANSMIT SINGLE CHARACTER TO REMOTE

AX = 240Bh
DL = character to send

Return: AL = status (see also AX=2400h)

    03h transmission error
    06h write error

SeeAlso: AX=2407h,AX=240Ah,AX=240Ch ———-17240C—————————– INT 17 - Shamrock Software NET.24 v3.11+ - END CHARACTER-ORIENTED TRANSMIT

AX = 240Ch

Return: AL = status (see also AX=2400h)

    03h transmission error
    06h remote breaks connection

SeeAlso: AX=240Ah,AX=240Bh ———-175000—————————– INT 17 - AX (Japanese AT) PRINTER - SET PRINTER COUNTRY CODE

AX = 5000h
BX = country code
    0001h USA (English), 0051h Japan

Return: AL = status

    00h successful
    01h bad country code
    02h other error

SeeAlso: AX=5001h,AH=51h,INT 10/AX=5000h,INT 16/AX=5000h ———-175001—————————– INT 17 - AX (Japanese AT) PRINTER - GET PRINTER COUNTRY CODE

AX = 5001h

Return: AL = status

    00h successful
    	BX = country code
    02h error

SeeAlso: AX=5000h,AH=51h,INT 10/AX=5001h,INT 16/AX=5001h ———-1751——————————- INT 17 - AX (Japanese AT) PRINTER - JIS to Shift-JIS CONVERSION

AH = 51h
DX = 2-byte JIS code

Return: DX = shift-JIS value or 0000h on error Note: one of AH=51h and AH=52h converts from JIS (Japanese Industry Standard)

  characters to Shift-JIS characters, and the other performs the
  opposite conversion

SeeAlso: AX=5000h,AH=52h ———-1752——————————- INT 17 - AX (Japanese AT) PRINTER - Shift-JIS to JIS CONVERSION

AH = 52h
DX = 2-byte shift-JIS code

Return: DX = JIS code or 0000h on error Note: one of AH=51h and AH=52h converts from JIS (Japanese Industry Standard)

  characters to Shift-JIS characters, and the other performs the
  opposite conversion

SeeAlso: AH=51h ———-1760——————————- INT 17 - FLASHUP.COM - INSTALLATION CHECK

AH = 60h

Return: AL = 60h

DX = CS of resident code

Notes: FLASHUP.COM is part of Flash-Up Windows by The Software Bottling Co.

FLASHUP also hooks INT 10 and receives commands via INT 10/AH=09h,0Ah
  consisting of an 80h followed by the actual command

SeeAlso: INT 10/AH=09h,INT 10/AH=0Ah ———-1761——————————- INT 17 - SPEEDSCR.COM - INSTALLATION CHECK

AH = 61h

Return: AL = 61h

DX = CS of resident code

Note: SPEEDSCR.COM is by The Software Bottling Co. ———-1781——————————- INT 17 - Alloy NTNX, MW386 - CANCEL JOBS FOR CURRENT USER

AH = 81h
AL = 00h (NTNX compatibility mode)
CL = number of jobs to cancel

Return: AL = status

    00h success
    01h..7Fh warning
    80h general failure
    81h host overloaded (NTNX only)
    82h module busy (NTNX only)
    83h host busy (NTNX only)
    84h re-entry flag set
    85h invalid request
    86h invalid printer
    87h invalid process ID
    89h access denied
    8Ah option not available for given port type
    8Bh option not available for given task type
    91h printer busy
    C2h file not found
    C3h path not found
    C4h file access failure

Note: cancels the last CL printouts for the current task SeeAlso: AH=82h ———-1782——————————- INT 17 - Alloy NTNX, MW386 - CANCEL ALL JOBS FOR CURRENT USER

AH = 82h
AL = 00h (NTNX compatibility mode)

Return: AL = status (see AH=81h) SeeAlso: AH=81h ———-1783——————————- INT 17 - Alloy NTNX, MW386 - SET NUMBER OF COPIES

AH = 83h
AL = mode
    00h NTNX compatibility
	CL = number of copies (max 99, default 1)
    02h MW386 v2+
	BX = logical device number
	    00h-03h = LPT1-LPT4
	    04h-07h = COM1-COM4
	CX = number of copies

Return: AL = status (see AH=81h) Note: in NTNX compatibility mode, this function only affects LPT1 ———-1784——————————- INT 17 - Alloy NTNX, MW386 - GENERATE PRINT BREAK

AH = 84h
AL = mode
    00h NTNX compatibility
    02h MW386 v2+
	BX = logical device number
	    00h-03h = LPT1-LPT4
	    04h-07h = COM1-COM4

Note: closes spool file and tells spooler to queue the print job (LPT1 only

  under MW386 in NTNX compatibility mode)

———-1784——————————- INT 17 - AX (Japanese AT) PRINTER - OUTPUT CHARACTER WITHOUT CONVERSION

AH = 84h
AL = character
DX = printer number

Return: AH = printer status (see AH=00h) SeeAlso: AH=00h,AH=85h ———-1785——————————- INT 17 - AX (Japanese AT) PRINTER - ENABLE/DISABLE CHARACTER CONVERSION

AH = 85h
AL = new state (00h enabled, 01h disabled)

SeeAlso: AH=84h“AX” ———-1787——————————- INT 17 - Alloy NTNX - SET INDOS POINTER

AH = 87h
AL = 00h
CX:BX -> buffer for user-written printer drivers

Return: BX,CX destroyed Note: must be executed before the printer is enabled SeeAlso: AH=8Ah ———-1788——————————- INT 17 - Alloy NTNX, MW386 - REMOVE PRINTER FROM SPOOLER

AH = 88h
AL = mode
    00h NTNX compatibility
	DX = NTNX printer number
	    00h host LPT1
	    01h host LPT2
	    02h host LPT3
	    03h host LPT4
	    04h host COM1
	    05h host COM2
	    06h user's logical COM2
	    07h user's terminal AUX port
	    08h user's logical COM1 (MW386 only)
    01h MW386
	DX = MW386 printer number

Return: AH = status (see AH=81h) Note: removes specified printer from the spooler's list of printers SeeAlso: AH=89h,AH=8Bh ———-1789——————————- INT 17 - Alloy NTNX, MW386 - ADD PRINTER TO SPOOLER

AH = 89h
AL = mode
    00h NTNX compatibility
	DX = NTNX printer number (see AH=88h)
    01h MW386
	DX = MW386 printer number

Return: AL = status (see AH=81h) Note: the specified printer is added to the spooler's list of available

  printers

SeeAlso: AH=88h,AH=8Bh ———-178A——————————- INT 17 - Alloy NTNX - ACTIVATE USER-WRITTEN PRINTER DRIVER

AH = 8Ah
???

SeeAlso: AH=92h ———-178B——————————- INT 17 - Alloy MW386 - GET PHYSICAL DEVICE NUMBER FROM NAME

AH = 8Bh
DS:DX -> ASCIZ printer name

Return: AL = status (see also AH=81h)

    00h successful
	DX = physical device number

SeeAlso: AH=89h,AH=8Ch,INT 14/AH=20h“Alloy” ———-178C——————————- INT 17 - Alloy MW386 - GET DEVICE NAME FROM PHYSICAL DEVICE NUMBER

AH = 8Ch
DX = physical device number
ES:DI -> 17-byte buffer for ASCIZ device name

Return: AL = status (see also AH=81h)

    00h successful
	ES:DI buffer filled

SeeAlso: AH=88h,AH=8Bh ———-178D——————————- INT 17 - Alloy NTNX,MW386 - RESET SPOOLER

AH = 8Dh
AL = 00h

Notes: clears all buffers and resets spooler to boot-up values

MW386 supports this function for compatibility only; it is a NOP

Return: AL = status (see AH=81h) ———-178E——————————- INT 17 - Alloy NTNX - GET INT 28 ENTRY POINT

AH = 8Eh
AL = 00h

Return: CX:BX → INT 28 entry point SeeAlso: AH=8Fh ———-178F——————————- INT 17 - Alloy NTNX - GET DOS INTERCEPT ENTRY POINT

AH = 8Fh
AL = 00h

Return: CX:BX → DOS intercept routine SeeAlso: AH=8Eh ———-1790——————————- INT 17 - Alloy NTNX, MW386 - SPOOL FILE BY NAME

AH = 90h
AL = mode
    00h NTNX compatibility
	DL = printer code (FFh=current) (NTNX, MW386 v1.x only)
	DH = number of copies (FFh=current) (NTNX, MW386 v1.x only)
    02h MW386 v2+
	BX = logical device number
	    00h-03h = LPT1-LPT4
	    04h-07h = COM1-COM4
CX:SI -> ASCIZ pathname

Return: AL = status (see AH=81h) Note: in mode 00h, the file is always sent to logical LPT1 SeeAlso: AH=A0h ———-1791——————————- INT 17 - Alloy NTNX, MW386 - GET USER NUMBER AND CURRENT PRINTER

AH = 91h
AL = mode
    00h NTNX compatibility
	Return: CX = user number (00h = host)
		DX = currently selected printer number (00h-08h)
    01h MW386
	Return: CX = user number
		DX = physical dev number of currently selected printer
    02h MW386 v2+
	BX = logical device number
	    00h-03h = LPT1-LPT4
	    04h-07h = COM1-COM4
	Return: CX = user number
		DX = physical device number

Return: AL = status (see AH=81h) SeeAlso: AH=8Ch ———-1792——————————- INT 17 - Alloy NTNX - CHECK PRINTER DRIVER

AH = 92h
AL = 00h
CL = 00h

Return: CL = driver state

    01h initialized
    80h not initialized
AX = status (see AH=81h)

SeeAlso: AH=8Ah ———-1794——————————- INT 17 - Alloy NTNX, MW386 - SELECT PRINTER

AH = 94h
AL = mode
    00h NTNX compatibility
	DX = NTNX printer number (see AH=88h)
    01h MW386
	DX = MW386 printer number
    02h MW386 v2+
	BX = logical printer number
	DX = MW386 printer number

Return: AL = status (see AH=81h) Note: modes 00h and 01h affect only logical LPT1 SeeAlso: AH=8Bh,AH=95h ———-1795——————————- INT 17 - Alloy NTNX, MW386 - GET CURRENT PRINTER

AH = 95h
AL = mode
    00h NTNX compatibility
	Return: DX = NTNX printer number (see AH=88h)
		    (FFFFh if current printer not compatible with NTNX)
    01h MW386
	Return: DX = MW386 printer number
    02h MW386 v2+
	BX = logical device number
	    00h-03h = LPT1-LPT4
	    04h-07h = COM1-COM4
	Return: DX = MW386 printer number (FFFFh = none)

Return: AL = status (see AH=81h) Note: modes 00h and 01h return the printer number of logical LPT1 only SeeAlso: AH=94h ———-1796——————————- INT 17 - Alloy NTNX - SET SERIAL PORT PARAMETERS

AH = 96h
AL = 00h

Note: documentation states that this is a NOP, doing only XOR AX,AX before

  returning

SeeAlso: INT 14/AH=24h ———-1797——————————- INT 17 - Alloy NTNX, MW386 - SET DATA DRIVEN PRINT BREAK

AH = 97h
AL = mode
    00h NTNX compatibility
    02h MW386 v2+
	BX = logical device number
	    00h-03h = LPT1-LPT4
	    04h-07h = COM1-COM4
CH,CL,DH = three character break sequence
DL = subfunction
    00h set break string
    else reset break

Return: AL = status (see AH=81h) Notes: mode 00h affects only logical LPT1

when the break string is encountered, the spool file will be closed and
  queued for printing automatically
the break string is not permanently saved, and will be reset each time
  MW386 or the user is rebooted

SeeAlso: AH=9Bh ———-1798——————————- INT 17 - Alloy NTNX,MW386 - RESTART PRINTER

AH = 98h
AL = 00h
DL = printer number (FFh=current)

Return: AL = status

    00h successful
    01h incorrect printer
    02h task not found

Note: MW386 supports this function for compatibility only; it is a NOP ———-1799——————————- INT 17 - Alloy NTNX, MW386 - GET/SET PRINTER MODE

AH = 99h
AL = mode
    00h NTNX compatibility
	DL = NTNX printer number (see AH=88h)
		(FFh = task's current logical LPT1)
	DH = mode
	    bit 0: get mode if 1, set mode if 0
		1: private ("attached")
		2: direct instead of spooled
		3-7 reserved (0)
    01h MW386
	DX = MW386 printer number
	CL = mode (as for DH above)

Return: AL = status (see AH=81h)

DH = mode (bits 1 and 2 set as above)
DL = printer owner's user number if not spooled

———-179A——————————- INT 17 - Alloy NTNX,MW386 - SET TAB EXPANSION

AH = 9Ah
AL = mode
    00h NTNX compatibility
	DX = NTNX printer number (see AH=88h)
		(FFFFh = current logical LPT1)
    01h MW386
	DX = MW386 printer number
CL = tab length (00h = no expansion, 01h-63h = spaces per tab)

Return: AL = status (see AH=81h) Note: beginning with MW386 v2.0, tab expansion is set on a per-printer basis

  rather than a per-user basis; NTNX and MW386 v1.x ignore DX

SeeAlso: AH=A4h ———-179B——————————- INT 17 - Alloy NTNX,MW386 - SET PRINT BREAK TIMEOUT

AH = 9Bh
AL = mode
    00h NTNX compatibility
	CX = timeout value in clock ticks (1/18 sec) (00h = never)
    01h MW386
	CX = timeout value in seconds (00h = never)
    02h MW386 v2+
	BX = logical device number
	    00h-03h = LPT1-LPT4
	    04h-07h = COM1-COM4
	CX = timeout value in seconds (00h = never)

Return: AL = status (see AH=81h) Notes: modes 00h and 01h affect only the current logical LPT1

if no data is sent to a printer for the specified amount of time, the
  spool file will be closed and queued for printing automatically

SeeAlso: AH=97h ———-17A0——————————- INT 17 - Alloy MW386 - SPOOL COPY OF FILE

AH = A0h
AL = mode
    00h NTNX compatibility
	DX = ??? (NTNX, MW386 v1.x only)
    02h MW386 v2+
	BX = logical device number
	    00h-03h = LPT1-LPT4
	    04h-07h = COM1-COM4
CX:SI -> ASCIZ pathname

Return: AL = status (see AH=81h) Notes: makes a copy of the specified file in the spooler's directory, allowing

  the original file to be modified or deleted while the copy is printed
in mode 00h, the file is printed on logical LPT1

SeeAlso: AH=90h ———-17A4——————————- INT 17 - Alloy MW386 - ENABLE/DISABLE FORM FEED

AH = A4h
AL = new state
    00h form feed after end of print job disabled
    01h form feed enabled

Return: AL = status (see AH=81h) Note: only affects the current logical LPT1 SeeAlso: AH=9Ah,AH=A6h,INT 7F/AH=05h“NTNX (Host)” ———-17A6——————————- INT 17 - Alloy MW386 - ENABLE/DISABLE BANNER PAGE

AH = A6h
AL = new state
    00h banner page before print job disabled
    01h banner page enabled

Return: AL = status (see AH=81h) Note: only affects the current logical LPT1 SeeAlso: AH=A4h ———-17A7——————————- INT 17 - Alloy MW386 v2+ - GET/SET SPOOL FLAGS

AH = A7h
AL = spool flags
    bit 0: banner page enabled (see AH=A4h)
	1: form feed enabled (see AH=A6h)
	2-6: reserved (0)
	7: set flags if 1, get flags if 0
BX = logical device number
    00h-03h = LPT1-LPT4
    04h-07h = COM1-COM4

Return: AL = status (see AH=81h) Note: the documentation does not state which register contains the result of

  a GET

SeeAlso: AH=A4h,AH=A6h ———-17A8——————————- INT 17 - Alloy MW386 - DEFINE TEMPORARY FILENAME

AH = A8h
CX:SI -> ASCIZ filename without extension (max 8 chars)

Return: AL = status (see AH=81h) Note: allows application to specify banner page filename for spool files

  collected from the application's printer output

SeeAlso: AH=A9h ———-17A9——————————- INT 17 - Alloy MW386 - CHANGE TEMPORARY SPOOL DRIVE

AH = A9h
AL = new spool drive (2=C:,3=D:,etc)

Return: AL = status (see AH=81h) Note: does not remove previous spooling directory since jobs may be pending SeeAlso: AH=A8h ———-17AA——————————- INT 17 - Alloy MW386 v2+ - GET REAL-TIME PRINTER STATUS

AH = AAh
AL = mode
    00h NTNX
	DX = NTNX printer number (see AH=88h)
    01h MW386
	DX = MW386 printer number

Return: AH = instantaneous printer status

    00h printer ready
    01h not ready
    12h off line
    13h out of paper
    14h general device failure
    15h device timeout
    16h bad device number

———-17AF——————————- INT 17 - Alloy MW386 - CHECK SPOOLER

AH = AFh

Return: AX = 55AAh if spooler available ———-17C0——————————- INT 17 - PC Magazine PCSpool - GET CONTROL BLOCK ADDRESS

AH = C0h
DX = printer port (0-3)

Return: ES:BX → control block (see below) SeeAlso: AH=C1h

Format of control block: Offset Size Description 00h WORD printer number 02h WORD address of printer status port 04h WORD number of first record in queue 06h WORD number of last record in queue 08h DWORD characters already printed 0Ch DWORD number of characters remaining 10h DWORD pointer to dequeue buffer 14h DWORD previous count of characters printed 18h DWORD number of clock ticks taken to print them 1Ch WORD offset of next character to output 1Eh WORD offset of next character to print 20h WORD pointer to spooling queue record 22h BYTE current spooling status 23h BYTE current printer status:

	00h OK
	01h not ready
	02h paused with message
	03h paused
	04h initializing
	FEh non-existent port
	FFh not spooled

24h BYTE current control record type 25h WORD observed printer speed 27h WORD characters to print per service 29h BYTE 01h if disk write needed 2Ah BYTE 01h if queued data should be flushed 2Bh BYTE 01h to update cps status ———-17C1——————————– INT 17 - PC Magazine PCSpool - BUILD PAUSE CONTROL RECORD

AH = C1h
DX = printer port (0-3)
DS:SI -> ASCIIZ string to save for display

Note: flushes pending writes SeeAlso: AH=C0h,AH=C2h ———-17C2——————————- INT 17 - PC Magazine PCSpool - FLUSH PENDING WRITES

AH = C2h
DX = printer port (0-3)

SeeAlso: AH=C3h ———-17C3——————————- INT 17 - PC Magazine PCSpool - CANCEL PRINTER QUEUE (FLUSH ALL QUEUED OUTPUT)

AH = C3h
DX = printer port (0-3)

SeeAlso: AH=C2h,AH=C7h ———-17C4——————————- INT 17 - PC Magazine PCSpool - QUERY SPOOLER ACTIVE

AH = C4h

Return: DI = B0BFh

SI = segment

———-17C5——————————- INT 17 - PC Magazine PCSpool - JOB SKIP PRINTER QUEUE

AH = C5h
DX = printer port (0-3)

Note: cancels up to the pause record ———-17C6——————————- INT 17 - PC Magazine PCSpool - CHECK PRINTER QUEUE STATUS

AH = C6h
DX = printer port (0-3)

Return: AX = 0 printer not active or at pause

   = 1 printer busy

———-17C7——————————- INT 17 - PC Magazine PCSpool - CLOSE QUEUE

AH = C7h
DX = printer port (0-3)

SeeAlso: AH=C3h ———-17CD00—————————– INT 17 - INSET - EXECUTE COMMAND STRING

AX = CD00h
DS:DX -> ASCIZ command string (max 80 bytes)

Return: CX = 07C2h (1986d) Note: user interface menus pop up after last command, unless that command

exits INSET

———-17CD01—————————– INT 17 - INSET - GET IMAGE SIZE

AX = CD01h
DS:DX -> ASCIZ name of image file

Return: AX = height in 1/720th inch

BX = width in 1/720th inch
CX = 07C2h (1986d)

———-17CD02—————————– INT 17 - INSET - INITIALIZE

AX = CD02h

Return: CX = 07C2h (1986d) Note: all open files are closed and the printer is reset SeeAlso: AX=CD04h ———-17CD03—————————– INT 17 - INSET - EXECUTE INSET MENU WITHIN OVERRIDE MODE

AX = CD03h

Return: CX = 07C2h (1986d) ———-17CD04—————————– INT 17 - INSET - INITIALIZE LINKED MODE

AX = CD04h
ES:SI -> FAR routine for linked mode

Return: CX = 07C2h Note: calling sequence for linked-mode routine

AL = 00h send character in BL to printer
   = 01h send CX bytes from DS:DX to printer
   = 02h move print head to horizontal starting position of image
return code for linked-mode routine:
AX = 0000h success
   = 0001h failure

SeeAlso: AX=CD02h,AX=CD08h ———-17CD05—————————– INT 17 - INSET - START MERGING IMAGE INTO TEXT

AX = CD05h
DS:DX -> ASCIZ name of PIX file
CX = left margin of text in 1/720th inch

Return: AH = printer type

    00h page-oriented (multiple images may be placed side-by-side)
    01h line-oriented (use AX=CD06h for vertical paper movement)
CX = 07C2h (1986d)

SeeAlso: AX=CD07h ———-17CD06—————————– INT 17 - INSET - GRAPHICS LINE FEED

AX = CD06h

Return: AH = completion status

    00h image complete
    01h image incomplete
CX = 07C2h (1986d)

SeeAlso: AX=CD09h ———-17CD07—————————– INT 17 - INSET - FLUSH GRAPHICS FROM MERGE BUFFER

AX = CD07h

Return: CX = 07C2h SeeAlso: AX=CD05h ———-17CD08—————————– INT 17 - INSET - CANCEL LINK MODE

AX = CD08h

Return: CX = 07C2h SeeAlso: AX=CD04h ———-17CD09—————————– INT 17 - INSET - ALTER TEXT LINE SPACING

AX = CD09h
CX = line spacing in 1/720th inch

Return: CX = 07C2h Note: not yet implemented, line spacing is currently fixed at 1/6 inch SeeAlso: AX=CD06h ———-17CD0A—————————– INT 17 - INSET - GET SETUP

AX = CD0Ah
DS:DX -> buffer for IN.SET data

Return: CX = 07C2h ———-17CD0B—————————– INT 17 - INSET - START GETTING SCALED IMAGE

AX = CD0Bh
DS:SI -> ASCIZ pathname of .PIX file
BX = number of bitplanes
CX = number of rows in output bitmap
DX = number of columns in output bitmap

Return: AX = status

    0000h OK
    FFFFh error	

Note: image is returned in strips by repeated calls to AX=CD0Ch ———-17CD0C—————————– INT 17 - INSET - GET NEXT IMAGE STRIP

AX = CD0Ch

Return: AX = status

    0000h OK but not complete
    0001h OK and image complete
    FFFFh error
DS:SI -> buffer (max 4K) for bit map strip 
CX = start row
DX = number of rows
BX = offset in bytes between bit planes

Note: buffer may be overwritten by subsequent calls SeeAlso: AX=CD0Bh ———-17F0——————————- INT 17 - NorthNet Jetstream API - INSTALLATION CHECK

AH = F0h
DX = printer port (0-3)

Return: AX = 0001h Jetstream present

     else  non-Jetstream port

Note: NorthNet Jetstream is a high-performance DMA-driven parallel card able

  to drive printers at up to 80000 characters per second

———-17F1——————————- INT 17 - NorthNet Jetstream API - PRINT DATA BUFFER

AH = F1h
CX = data buffer length
DX = printer port (0-3)
DS:SI -> data buffer

Return: AX = status

    0000h printer not ready (see also AH=02h)
    other printing started

SeeAlso: AH=00h,AH=F2h,AH=F3h,AH=F5h ———-17F2——————————- INT 17 - NorthNet Jetstream API - GET PRINT PROGRESS STATUS

AH = F2h
DX = printer port (0-3)

Return: AX = status

    0000h prior print request finished
    other number of characters left to print

SeeAlso: AH=02h,AH=F1h,AH=F3h ———-17F3——————————- INT 17 - NorthNet Jetstream API - ABORT PRINT OPERATION

AH = F3h
DX = printer port (0-3)

Return: AX = number of unprinted characters due to abort SeeAlso: AH=F1h,AH=F4h ———-17F4——————————- INT 17 - NorthNet Jetstream API - SET COMPLETION (POST) ADDRESS

AH = F4h
DX = printer port (0-3)
DS:DS -> FAR post address (called with interrupts on)

SeeAlso: AH=F1h,AH=F3h ———-17F5——————————- INT 17 - NorthNet Jetstream API - PRINT DATA BUFFER FROM EXTENDED MEMORY

AH = F5h
CX = data buffer length
DX = printer port (0-3)
DS:SI -> data buffer (32-bit physical address)

Return: AX = status

    0000h printer not ready (see also AH=02h)
    other printing started

SeeAlso: AH=F1h

INT 18

———-18——————————— INT 18 - START CASSETTE BASIC Note: only PCs produced by IBM contain BASIC in ROM, so the action is

  unpredicatable on compatibles; this interrupt often reboots the
  system, and often has no effect at all

SeeAlso: INT 86“NetBIOS” ———-1800——————————- INT 18 - NEC PC-9800 series - KEYBOARD - GET KEYSTROKE

AH = 00h

Return: AX = keystroke SeeAlso: AH=01h,AH=02h,INT 16/AH=00h ———-1801——————————- INT 18 - NEC PC-9800 series - KEYBOARD - CHECK FOR KEYSTROKE

AH = 01h

Return: ZF set if no keystroke available

ZF clear if keystroke available
    AX = keystroke

SeeAlso: AH=00h,AH=02h,INT 16/AH=01h ———-1802——————————- 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 ———-18——————————— INT 18 - NEC PC-9800 series - KEYBOARD

AH = function
    03h initialize keyboard
    04h key pressed
???

Return: ??? Note: details are not available at this time SeeAlso: INT 16/AH=00h,INT 16/AH=01h,INT 16/AH=02h ———-18——————————— 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
???

Return: ??? Notes: details are not available at this time

text video RAM is located at segments A000h (characters) and A200h
  (attributes)

INT 19

———-19——————————— INT 19 - SYSTEM - BOOTSTRAP LOADER

 Reboot the system without clearing memory or restoring interrupt vectors.
 Because interrupt vectors are preserved, this interrupt usually causes a
 system hang if any TSRs have hooked vectors from 00h through 1Ch,
 particularly INT 08.
 Usually, the BIOS will try to read sector 1, head 0, track 0 from drive A:
 to 0000h:7C00h.  If this fails, and a hard disk is installed, the BIOS will
 read sector 1, head 0, track 0 of the first hard disk.  This sector should
 contain a master bootstrap loader and a partition table.  After loading the
 master boot sector at 0000h:7C00h, the master bootstrap loader is given
 control.  It will scan the partition table for an active partition, and will
 then load the operating system's bootstrap loader (contained in the first
 sector of the active partition) and give it control.
 True IBM PCs issue an INT 18 if neither floppy nor hard disk have a valid
 boot sector.

Notes: to accomplish a warm boot equivalent to Ctrl-Alt-Del, store 1234h in

  0040h:0072h and jump to FFFFh:0000h.	For a cold boot equivalent to
  a reset, store 0000h at 0040h:0072h before jumping.
VDISK.SYS hooks this interrupt to allow applications to find out how
  much extended memory has been used by VDISKs (see below).  DOS 3.3+
  PRINT hooks INT 19 but does not set up a correct VDISK header block
  at the beginning of its INT 19 handler segment, thus causing some
  programs to overwrite extended memory which is already in use.
default handler is at F000h:E6F2h for 100% compatible BIOSes

SeeAlso: INT 14/AH=17h,INT 18

Format of VDISK header block (at beginning of INT 19 handler's segment): Offset Size Description 00h 18 BYTEs n/a (for VDISK.SYS, the device driver header) 12h 11 BYTEs signature string “VDISK Vn.m” for VDISK.SYS version n.m 1Dh 15 BYTEs n/a 2Ch 3 BYTEs linear address of first byte of available extended memory

Format of hard disk master boot sector: Offset Size Description 00h 446 BYTEs Master bootstrap loader code 1BEh 16 BYTEs partition record for partition 1 (see below) 1CEh 16 BYTEs partition record for partition 2 1DEh 16 BYTEs partition record for partition 3 1EEh 16 BYTEs partition record for partition 4 1FEh WORD signature, AA55h indicates valid boot block

Format of partition record: Offset Size Description 00h BYTE boot indicator (80h = active partition) 01h BYTE partition start head 02h BYTE partition start sector (bits 0-5) 03h BYTE partition start track (bits 8,9 in bits 6,7 of sector) 04h BYTE operating system indicator (see below) 05h BYTE partition end head 06h BYTE partition end sector (bits 0-5) 07h BYTE partition end track (bits 8,9 in bits 6,7 of sector) 08h DWORD sectors preceding partition 0Ch DWORD length of partition in sectors

Values for operating system indicator: 00h empty 01h DOS 12-bit FAT 02h XENIX root file system 03h XENIX /usr file system (obsolete) 04h DOS 16-bit FAT 05h DOS 3.3+ extended partition 06h DOS 3.31+ Large File System 07h QNX 07h OS/2 HPFS 07h Advanced Unix 08h AIX bootable partition, SplitDrive 09h AIX data partition 09h Coherent 0Ah OPUS 10h OPUS 40h VENIX 80286 50h Disk Manager, read-only partition 51h Novell??? 51h Disk Manager, read/write partition 52h CP/M 52h Microport System V/386 56h GoldenBow VFeature 61h SpeedStor 63h Unix SysV/386, 386/ix 63h Mach, MtXinu BSD 4.3 on Mach 63h GNU HURD 64h Novell NetWare 75h PC/IX 80h Minix v1.1 - 1.4a 81h Minix v1.4b+ 81h Linux 82h Linux Swap partition (planned) 93h Amoeba file system 94h Amoeba bad block table B7h BSDI file system (secondarily swap) B8h BSDI swap partition (secondarily file system) C6h DR-DOS 6.0 LOGIN.EXE-secured partition DBh CP/M, Concurrent CP/M, Concurrent DOS DBh CTOS (Convergent Technologies OS) E1h SpeedStor 12-bit FAT extended partition E4h SpeedStor 16-bit FAT extended partition F2h DOS 3.3+ secondary FEh LANstep FFh Xenix bad block table

INT 1A

———-1A00——————————- INT 1A - TIME - GET SYSTEM TIME

AH = 00h

Return: CX:DX = number of clock ticks since midnight

AL = midnight flag, nonzero if midnight passed since time last read

Notes: there are approximately 18.2 clock ticks per second, 1800B0h per 24 hrs

IBM and many clone BIOSes set the flag for AL rather than incrementing
  it, leading to loss of a day if two consecutive midnights pass
  without a request for the time (e.g. if the system is on but idle)

SeeAlso: AH=01h,AH=02h,INT 21/AH=2Ch ———-1A01——————————- INT 1A - TIME - SET SYSTEM TIME

AH = 01h
CX:DX = number of clock ticks since midnight

SeeAlso: AH=00h,AH=03h,INT 21/AH=2Dh ———-1A02——————————- INT 1A - TIME - GET REAL-TIME CLOCK TIME (AT,XT286,PS)

AH = 02h

Return: CF clear if successful

    CH = hour (BCD)
    CL = minutes (BCD)
    DH = seconds (BCD)	
    DL = daylight savings flag (00h standard time, 01h daylight time)
CF set on error (i.e. clock not running or in middle of update)

SeeAlso: AH=00h ———-1A03——————————- INT 1A - TIME - SET REAL-TIME CLOCK TIME (AT,XT286,PS)

AH = 03h
CH = hour (BCD)
CL = minutes (BCD)
DH = seconds (BCD)
DL = daylight savings flag (00h standard time, 01h daylight time)

SeeAlso: AH=01h ———-1A04——————————- INT 1A - TIME - GET REAL-TIME CLOCK DATE (AT,XT286,PS)

AH = 04h

Return: CF clear if successful

    CH = century (BCD)
    CL = year (BCD)
    DH = month (BCD)
    DL = day (BCD)
CF set on error

SeeAlso: AH=02h,AH=05h,INT 21/AH=2Ah ———-1A05——————————- INT 1A - TIME - SET REAL-TIME CLOCK DATE (AT,XT286,PS)

AH = 05h
CH = century (BCD)
CL = year (BCD)
DH = month (BCD)
DL = day (BCD)

SeeAlso: AH=04h,INT 21/AH=2Bh ———-1A06——————————- INT 1A - TIME - SET ALARM (AT,XT286,PS)

AH = 06h
CH = hour (BCD)
CL = minutes (BCD)
DH = seconds (BCD)

Return: CF set on error (alarm already set or clock stopped for update)

CF clear if successful

Note: the alarm occurs every 24 hours until turned off, invoking INT 4A each

  time

SeeAlso: AH=07h,INT 4A ———-1A07——————————- INT 1A - TIME - CANCEL ALARM (AT,XT286,PS)

AH = 07h

Return: alarm disabled Note: does not disable the real-time clock's IRQ SeeAlso: AH=06h,INT 70 ———-1A08——————————- INT 1A - TIME - SET RTC ACTIVATED POWER ON MODE (CONVERTIBLE)

AH = 08h
CH = hours in BCD
CL = minutes in BCD
DH = seconds in BCD

———-1A09——————————- INT 1A - TIME - READ RTC ALARM TIME AND STATUS (CONV,PS30)

AH = 09h

Return: CH = hours in BCD

CL = minutes in BCD
DH = seconds in BCD
DL = alarm status
    00h alarm not enabled
    01h alarm enabled but will not power up system
    02h alarm will power up system

———-1A0A——————————- INT 1A - TIME - READ SYSTEM-TIMER DAY COUNTER (XT2,PS)

AH = 0Ah

Return: CF set on error

CF clear if successful
    CX = count of days since Jan 1,1980

SeeAlso: AH=04h,AH=0Bh ———-1A0B——————————- INT 1A - TIME - SET SYSTEM-TIMER DAY COUNTER (XT2,PS)

AH = 0Bh
CX = count of days since Jan 1,1980

Return: CF set on error

CF clear if successful

SeeAlso: AH=05h,AH=0Ah ———-1A10——————————- INT 1A - NEC PC-9800 series - PRINTER - INITIALIZE

AH = 10h
???

Return: ??? SeeAlso: AH=11h,AH=12h,INT 17/AH=01h ———-1A11——————————- INT 1A - NEC PC-9800 series - PRINTER - OUTPUT CHARACTER

AH = 11h
???

Return: ??? SeeAlso: AH=10h,AH=12h,INT 17/AH=00h ———-1A12——————————- INT 1A - NEC PC-9800 series - PRINTER - SENSE STATUS

AH = 12h
???

Return: ??? SeeAlso: AH=10h,AH=11h,INT 17/AH=02h ———-1A3601—————————– INT 1A - WORD PERFECT v5.0 Third Party Interface - INSTALLATION CHECK

AX = 3601h

Return: DS:SI = routine to monitor keyboard input, immediately preceded by the

	ASCIZ string "WPCORP\0"

Notes: WordPerfect 5.0 will call this interrupt at start up to determine if a

  third party product wants to interface with it.  The third party
  product must intercept this interrupt and return the address of a
  keyboard monitor routine.
Before checking for keyboard input, and after every key entered by the
  user, Word Perfect will call the routine whose address was provided
  in DS:SI with the following parameters:
	Entry:	AX = key code or 0
		BX = WordPerfect state flag
	Exit:	AX = 0 or key code
		BX = 0 or segment address of buffer with key codes
See the "WordPerfect 5.0 Developer's Toolkit" for further information.

SeeAlso: INT 16/AX=5500h ———-1A——————————— INT 1A - SNAP.EXE - API

AH = function (60h-64h,69h-78h) (see individual entries below)
AL = number of words on stack (00h-09h or FFh; FFh is same as 00h)
STACK: appropriate arguments

Return: AX = status

    0000h successful
    FFFFh failed (invalid function/parameter)
STACK unchanged

———-1A6108—————————– INT 1A - SNAP.EXE - ???

AX = 6108h
STACK:	WORD	index of ??? (0000h-0009h)
	DWORD	pointer to ???
	WORD	???
	DWORD	pointer to ???
	WORD	???
	WORD	???

Return: ???

STACK unchanged

Note: SNAP.EXE is a program written by IBM&CMU included with the Carnegie

  Mellon University customized version of FTP, Inc.'s PC/TCP.

———-1A6205—————————– INT 1A - SNAP.EXE - ???

AX = 6205h
STACK:	WORD	index of ??? (0000h-0009h)
	DWORD	pointer to ???
	WORD	???
	WORD	???

Return: ???

STACK unchanged

Note: SNAP.EXE is a program written by IBM&CMU included with the Carnegie

  Mellon University customized version of FTP, Inc.'s PC/TCP.

———-1A6308—————————– INT 1A - SNAP.EXE - ???

AX = 6308h
STACK:	8 WORDs	???

Return: ???

STACK unchanged

Note: SNAP.EXE is a program written by IBM&CMU included with the Carnegie

  Mellon University customized version of FTP, Inc.'s PC/TCP.

———-1A6405—————————– INT 1A - SNAP.EXE - ???

AX = 6405h
STACK:	5 WORDs	???

Return: ???

STACK unchanged

Note: SNAP.EXE is a program written by IBM&CMU included with the Carnegie

  Mellon University customized version of FTP, Inc.'s PC/TCP.

———-1A6900—————————– INT 1A - SNAP.EXE - GET RESIDENT DATA SEGMENT

AX = 6900h

Return: AX = value used for DS by resident code Note: SNAP.EXE is a program written by IBM&CMU included with the Carnegie

  Mellon University customized version of FTP, Inc.'s PC/TCP.

SeeAlso: AX=6F01h ———-1A6A01—————————– INT 1A - SNAP.EXE - ???

AX = 6A01h
STACK:	WORD	???

Return: AX = ???

???
STACK unchanged

Note: SNAP.EXE is a program written by IBM&CMU included with the Carnegie

  Mellon University customized version of FTP, Inc.'s PC/TCP.

———-1A6B01—————————– INT 1A - SNAP.EXE - SET ???

AX = 6B01h
STACK:	WORD	offset within ??? of ???

Return: STACK unchanged Notes: SNAP.EXE is a program written by IBM&CMU included with the Carnegie

  Mellon University customized version of FTP, Inc.'s PC/TCP.
this call is a NOP if the specified offset is 0000h

———-1A6C04—————————– INT 1A - SNAP.EXE - SET ???

AX = 6C04h
STACK:	WORD	offset within ??? of destination (nonzero)
	WORD	segment of source buffer
	WORD	offset of source buffer
	WORD	number of bytes to copy

Return: AX = offset of byte after last one copied to destination

STACK unchanged

Note: SNAP.EXE is a program written by IBM&CMU included with the Carnegie

  Mellon University customized version of FTP, Inc.'s PC/TCP.

SeeAlso: AX=6D04h ———-1A6D04—————————– INT 1A - SNAP.EXE - GET ???

AX = 6D04h
STACK:	WORD	offset within ??? of source
	WORD	segment of destination buffer
	WORD	offset of destination buffer
	WORD	number of bytes to copy

Return: AX = offset of byte after last one copied from source

buffer filled
STACK unchanged

Note: SNAP.EXE is a program written by IBM&CMU included with the Carnegie

  Mellon University customized version of FTP, Inc.'s PC/TCP.

SeeAlso: AX=6C04h ———-1A6E01—————————– INT 1A - SNAP.EXE - SET ???

AX = 6E01h
STACK:	WORD	new value for ???

Return: AX = old value of ???

STACK unchanged

Note: SNAP.EXE is a program written by IBM&CMU included with the Carnegie

  Mellon University customized version of FTP, Inc.'s PC/TCP.

———-1A6F01—————————– INT 1A - SNAP.EXE - INSTALLATION CHECK

AX = 6F01h
STACK: WORD 0000h

Return: AX = status

    0000h SNAP is resident
    other SNAP not present
STACK unchanged

Note: SNAP.EXE is a program written by IBM&CMU included with the Carnegie

  Mellon University customized version of FTP, Inc.'s PC/TCP, and is
  required by PCVENUS (a network shell).  The combination of SNAP and
  PCVENUS allows the use of the Andrew File System as one or more
  networked drives.

SeeAlso: AX=6900h,AX=7400h ———-1A7002—————————– INT 1A - SNAP.EXE - SET ???

AX = 7002h
STACK:	WORD	index of ??? (0000h-0009h)
	WORD	new value for ???

Return: AX = status

    0000h successful
    FFFFh failed (top word on stack not in range 00h-09h)
STACK unchanged

Note: SNAP.EXE is a program written by IBM&CMU included with the Carnegie

  Mellon University customized version of FTP, Inc.'s PC/TCP.

SeeAlso: AX=7101h ———-1A7101—————————– INT 1A - SNAP.EXE - GET ???

AX = 7101h
STACK:	WORD	index of ??? (0000h-0009h)

Return: AX = ???

STACK unchanged

Note: SNAP.EXE is a program written by IBM&CMU included with the Carnegie

  Mellon University customized version of FTP, Inc.'s PC/TCP.

SeeAlso: AX=7002h ———-1A7202—————————– INT 1A - SNAP.EXE - ???

AX = 7202h
STACK:	WORD	index of ??? (0000h-0009h)
	WORD	offset within resident data segment of ???

Return: AX = ???

STACK unchanged

Note: SNAP.EXE is a program written by IBM&CMU included with the Carnegie

  Mellon University customized version of FTP, Inc.'s PC/TCP.

———-1A7302—————————– INT 1A - SNAP.EXE - ???

AX = 7302h
STACK:	WORD	index of ??? (0000h-0009h)
	WORD	offset within resident data segment of ???

Return: AX = ???

???
STACK unchanged

Note: SNAP.EXE is a program written by IBM&CMU included with the Carnegie

  Mellon University customized version of FTP, Inc.'s PC/TCP.

———-1A7400—————————– INT 1A - SNAP.EXE - GET VERSION

AX = 7400h

Return: AX = version (AH=major, AL=minor) Notes: this call is only valid if SNAP is installed

 	SNAP.EXE is a program written by IBM&CMU included with the Carnegie
  Mellon University customized version of FTP, Inc.'s PC/TCP.

SeeAlso: INT 1A/AX=6F01h ———-1A75——————————- INT 1A - SNAP.EXE - ???

AH = 75h
AL = ???

Return: AX = ??? (0000h) Note: SNAP.EXE is a program written by IBM&CMU included with the Carnegie

  Mellon University customized version of FTP, Inc.'s PC/TCP.

———-1A77——————————- INT 1A - SNAP.EXE - ???

AH = 77h
AL = ??? (at least 01h)
STACK:	WORD	???
	???

Return: ???

STACK unchanged

Note: SNAP.EXE is a program written by IBM&CMU included with the Carnegie

  Mellon University customized version of FTP, Inc.'s PC/TCP.

———-1A7802—————————– INT 1A - SNAP.EXE - ???

AX = 7802h
STACK:	WORD	???
	WORD	???

Return: ???

STACK unchanged

Note: SNAP.EXE is a program written by IBM&CMU included with the Carnegie

  Mellon University customized version of FTP, Inc.'s PC/TCP.

———-1A7F——————————- INT 1A - Tandy 2500, Tandy 1000L series - DIGITAL SOUND???

AH = 7Fh
???

Return: ??? SeeAlso: AH=80h,AH=83h,AH=85h ———-1A80——————————- INT 1A - PCjr - SET UP SOUND MULTIPLEXOR

AH = 80h
AL = 00h source is 8253 channel 2
     01h source is cassette input
     02h source is I/O channel "Audio IN"
     03h source is sound generator chip

SeeAlso: AH=7Fh,AH=83h ———-1A8100—————————– INT 1A - Tandy 2500, Tandy 1000L series - DIGITAL SOUND - INSTALLATION CHECK

AX = 8100h

Return: AH > 80h if supported ———-1A83——————————- INT 1A - Tandy 2500, Tandy 1000L series - START PLAYING DIGITAL SOUND

AH = 83h
AL = volume (0=lowest, 7=highest)
CX = number of bytes to play
DX = time between sound samples (multiples of 273 nanoseconds)
ES:BX -> sound data (array of 8-bit PCM samples)

Return: ??? Notes: this call returns immediately while the sound plays in the

  background
The sound data pointed to by ES:BX probably shouldn't cross a 64k
  boundary.  The BIOS appears to call INT 15/AX=91FBh when the sound
  device underflows to allow another INT 1A/AH=83h for seamless
  playing of long sounds.

SeeAlso: AH=84h,INT 15/AH=91h ———-1A84——————————- INT 1A - Tandy 2500, Tandy 1000L series - STOP PLAYING DIGITAL SOUND

AH = 84h

Return: ??? SeeAlso: AH=83h,AH=85h ———-1A85——————————- INT 1A - Tandy 2500, Tandy 1000L series - DIGITAL SOUND???

AH = 85h
???

Return: ??? SeeAlso: AH=7Fh,AH=83h ———-1AA0——————————- INT 1A - Disk Spool II v2.07 - INSTALLATION CHECK

AH = A0h

Return: AH = B0h if installed

    AL = pending INT 1A/AH=D0h subfunction if nonzero???
    ES = code segment
    ES:BX -> name of current spool file
    ES:SI -> current despool file
    CL = 00h despooler is disabled
       = 41h despooler is enabled
    CH = 00h spooler is disabled
       = 41h spooler is enabled
    DL = 00h despooler is currently active printing a file
       = 41h despooler is standing by
    DH = 00h ???
       = 41h ???
    DI = 0000h ???
	 0001h ???

Note: Disk Spool II is a shareware disk-based print spooler by Budget

  Software Company

SeeAlso: AH=ABh,AH=C0h,AH=D0h ———-1AAB——————————- INT 1A - Disk Spool II v1.83 - INSTALLATION CHECK

AH = ABh

Return: AH = BAh if installed

    AL = pending INT 1A/AH=ADh subfunction if nonzero???
    ES = code segment
    ES:BX -> name of current spool file
    ES:SI -> current despool file
    CL = 00h despooler is disabled
       = 41h despooler is enabled
    CH = 00h spooler is disabled
       = 41h spooler is enabled
    DL = 00h despooler is currently active printing a file
       = 41h despooler is standing by
    DH = 00h ???
       = 41h ???
    DI = 0000h ???
	 0001h ???

Note: Disk Spool II is a shareware disk-based print spooler by Budget

  Software Company

SeeAlso: AH=A0h,AH=ACh,AH=ADh ———-1AAC——————————- INT 1A - Disk Spool II v1.83 - INSTALLATION CHECK

AH = ACh

Return: (see AH=ABh) Note: this function is identical to AH=ABh SeeAlso: AH=A0h,AH=ABh,AH=ADh ———-1AAD——————————- INT 1A - Disk Spool II v1.83 - FUNCTION CALLS

AH = ADh
AL = function code
    02h enable spooler only
    03h enable the despooler
    04h disable the despooler
    08h inhibit popup menu
    09h enable popup menu
    0Ah ???
    0Bh disable the spooler
    0Ch start despooler after last successfully printed document???
    0Dh start despooler at the exact point where it last left off???
    0Eh pop up the menu
    0Fh ???
    11h ???
    14h ???
    15h ???
    16h ???
    17h ???
    18h ???
    19h ???
    20h clear file pointed to by the despooler???
    21h	???
    22h	???
    23h ???
    30h ???

Return: AH = 00h if successful SeeAlso: AH=ABh ———-1AC0——————————- INT 1A - Disk Spool II v2.07 - ALTERNATE INSTALLATION CHECK

AH = C0h

Return: (see AH=A0h) Note: this call is identical to AH=A0h SeeAlso: AH=A0h,AH=ABh,AH=D0h ———-1AD0——————————- INT 1A - Disk Spool II v2.07 - FUNCTION CALLS

AH = D0h
AL = function code
    01h enable spooler and despooler
    02h enable spooler only
    03h enable despooler at beginning of file
    04h disable the despooler
    05h disable the despooler and spooler
    06h clear the spool file
    08h inhibit the popup menu
    09h enable the popup menu
    0Ah ??? (called by Disk Spool's INT 21 handler)
    0Bh disable the spooler
    0Ch start despooler after last successfully printed document
    0Dh start despooler at the exact point where it last left off
    0Eh pop up the menu
    0Fh ???
    11h start new spool file??? (called by Disk Spool's INT 21 handler
    		when a program terminates)
    14h ???
    15h delete despool file and reset ???
    16h ??? (writes something to unknown file)
    17h ??? (writes something to despool file, then reads something
    		else and ???)
    18h ??? (reads something from despool file, and then ???)
    19h ??? (creates/truncates spool file)
    20h clear file pointed to by the despooler
    21h ??? (writes something to unknown file)
    22h ??? (writes something to spool file if spooler/despooler using
    		same file)
    23h ??? (opens/creates unknown file, then ???)
    30h ???
    31h ???
    32h beep
    33h append CRLF to spool file???
    34h ???
    35h ???
    36h ???
    37h append CRLF to spool file and start a new spool file???
    38h ???
    51h ??? (called by Disk Spool's INT 21 handler)
    52h ??? (called by Disk Spool's INT 21 handler)
    57h ???

SeeAlso: AH=A0h,AH=ADh ———-1AF7——————————- INT 1A - RighTime v1.1 - TEMPORARILY DISABLE

AH = F7h

Notes: RighTime is a TSR by G.T. Becker which continuously adjusts the system

  time to correct for clock drift
any AH value from F0h-F7h or F9h-FEh will perform this function in
  version 1.1, but F7h is the function called by transient portion

SeeAlso: AH=F8h,AH=FFh“RighTime” ———-1AF8——————————- INT 1A - RighTime v1.1 - ENABLE

AH = F8h

Notes: RighTime is a TSR by G.T. Becker which continuously adjusts the system

  time to correct for clock drift
RighTime is TeSseRact-compatible (see INT 2F/AX=5453h) and modifies its
  TeSseRact program identifier based on its current state: "RighTime"
  when enabled, "RighTim"F7h when disabled.

SeeAlso: AH=F7h,AH=FFh“RighTime” ———-1AFE——————————- INT 1A - AT&T 6300 - READ TIME AND DATE

AH = FEh

Return: BX = day count (0 = Jan 1, 1984)

CH = hour
CL = minute
DH = second
DL = hundredths

SeeAlso: AH=FFh“AT&T”,INT 21/AH=2Ah,INT 21/AH=2Ch ———-1AFF——————————- INT 1A - AT&T 6300 - SET TIME AND DATE

AH = FFh
BX = day count (0 = Jan 1, 1984)
CH = hour
CL = minute
DH = second
DL = hundredths

Return: ??? SeeAlso: AH=FEh,INT 21/AH=2Bh,INT 21/AH=2Dh ———-1AFF——————————- INT 1A - RighTime v1.1 - PERMANENTLY DISABLE

AH = FFh

Notes: RighTime is a TSR by G.T. Becker which continuously adjusts the system

  time to correct for clock drift
upon being permanently disabled, RighTime closes the file handle
  referencing its executable (which is updated with time correction
  information every two minutes while RighTime is enabled).

INT 1B

———-1B——————————— INT 1B - KEYBOARD - CONTROL-BREAK HANDLER

 called when INT 09 determines that Control-Break has been pressed

Note: normally points to a short routine in DOS which sets the Ctrl-C flag,

  thus invoking INT 23h the next time DOS checks for Ctrl-C.

SeeAlso: INT 23

INT 1C

INT 1C - TIME - SYSTEM TIMER TICK

called on each clock tick by the INT 08 handler

preferred interrupt to chain when a program needs to be invoked regularly not available on NEC 9800-series PCs

SeeAlso: INT 08

INT 1D

INT 1D - SYSTEM DATA - VIDEO PARAMETER TABLES

Note: default parameter table at F000h:F0A4h for 100% compatible BIOSes

SeeAlso: INT 10/AH=00h

Format of video parameters:

Offset Size Description
00h 16 BYTEs 6845 register values for modes 00h and 01h
10h 16 BYTEs 6845 register values for modes 02h and 03h
20h 16 BYTEs 6845 register values for modes 04h and 05h
30h 16 BYTEs 6845 register values for modes 06h and 07h
40h WORD bytes in video buffer for modes 00h and 01h
42h WORD bytes in video buffer for modes 02h and 03h
44h WORD bytes in video buffer for modes 04h and 05h
46h WORD bytes in video buffer for modes 06h and 07h
48h 8 BYTEs columns on screen for each of modes 00h through 07h
50h 8 BYTEs CRT controller mode bytes for each of modes 00h through 07h

INT 1E

INT 1E - SYSTEM DATA - DISKETTE PARAMETERS

Note: default parameter table at F000h:EFC7h for 100% compatible BIOSes

SeeAlso: INT 13/AH=0Fh,INT 41

Format of diskette parameter table:

Offset Size Description
00h BYTE first specify byte bits
* 7-4: step rate
* 3-0: head unload time (0Fh = 240 ms)
01h BYTE second specify byte
* bits 7-1: head load time (01h = 4 ms)
* 0: non-DMA mode (always 0)
02h BYTE delay until motor turned off (in clock ticks)
03h BYTE bytes per sector (00h = 128, 01h = 256, 02h = 512, 03h = 1024)
04h BYTE sectors per track
05h BYTE length of gap between sectors (2Ah for 5.25“, 1Bh for 3.5”)
06h BYTE data length (ignored if bytes-per-sector field nonzero)
07h BYTE gap length when formatting (50h for 5.25“, 6Ch for 3.5”)
08h BYTE format filler byte (default F6h)
09h BYTE head settle time in milliseconds
0Ah BYTE motor start time in 1/8 seconds

INT 1F

INT 1F - SYSTEM DATA - 8x8 GRAPHICS FONT

points at 1024 bytes of graphics data, 8 bytes for each character 80h-FFh

graphics data for characters 00h-7Fh stored at F000h:FA6Eh in 100% compatible BIOSes

SeeAlso: INT 10/AX=5000h,INT 43

INT 20

INT 20 - Minix - SEND/RECEIVE MESSAGE

	AX = process ID of other process
	BX -> message
	CX = 1 send
	     2 receive
	     3 send&receive

the message contains the system call number (numbered as in V7 Unix™) and the call parameters

INT 20 - DOS 1+ - TERMINATE PROGRAM

	CS = PSP segment
Return: never

(see notes for INT 21/AH=00h)

SeeAlso: INT 21/AH=00h,INT 21/AH=4Ch

back2root/ibm-pc-ms-dos/interrupts/old/ms_interrupt_list-17-20.txt · Dernière modification : 2023/01/05 04:01 de frater