www.delorie.com/djgpp/doc/rbinter/6.html   search  
Table 632

)
Call EPP BIOS entry point with:
	DL = port number (v1.0,v3.0)
	DX = (Revision 7) EPP port I/O base address
	AH = function
	    00h Query Configuration
		Return: AH = 00h if successful
			    AL = IRQ number used by port or FFh if no IRQ
			    BH = EPP BIOS revision (major in high nybble,
				  minor in low nybble)
			    BL = I/O capabilities (see #00635)
			    ES:DI -> ASCIZ driver information/version text
			    ---v1.0,v3.0---
			    CX = I/O port base address for parallel port
			    ---Revision 7---
			    CL = EPP chipset code (see #00636)
			    CH = hardware manufacturer's product code
	    01h Set Mode
		AL = mode bits (see #00637)
		Return: AX,BX destroyed
	    02h Get Mode
		Return: AL = mode bits (see also #00637)
				bit 7: EPP port interrupts enabled
			AH = 00h
			CF clear
			BX destroyed
	    03h Interrupt Control
		AL = subfunction
		    00h enable parallel port interrupts
		    01h disable parallel port interrupts
		Return: AH = status (00h,05h,06h) (see also #00634)
	    04h EPP Reset
		Return: AH = 00h if successful
			AL destroyed
	    05h perform Address-Write/Device-Select I/O cycle
		AL = device address
		Return: AH = status
			AL destroyed
	    06h perform Address-Read I/O cycle
		Return: AL = returned address/device data
			AH = status
	    07h write byte
		AL = data byte to write
		Return: AH = status
	    08h output block of data
		DS:SI -> block of data to be sent to parallel port
		CX = number of bytes to output
		Return: AH = status (see #00634)
			CX = number of unsent bytes
	    09h read byte of data
		Return: AH = status (see #00634)
			AL = byte read from parallel port
	    0Ah read block of data
		ES:DI -> buffer for received data
		CX = number of bytes to read from paralle port
		Return: AH = status (see #00634)
			ES:DI buffer filled if successful
			CX = number of bytes not transferred
	    0Bh Address/Byte-Read
		AL = device address
		Return: AH = status (see #00634)
			AL = byte read if successful
	    0Ch Address/Byte-Write
		AL = device address
		DH = data byte (v1.0,v3.0)
		CL = data byte (Revision 7)
		Return: AH = status (see #00634)
	    0Dh Address/Block-Read
		AL = device address
		ES:DI -> buffer for received data
		CX = number of bytes to read
		Return: AH = status (see #00634)
			CX = number of bytes NOT transferred
	    0Eh Address/Block-Write
		AL = device address
		ES:DI -> data to be sent (v1.0,v3.0)
		DS:SI -> data to be send (Revision 7)
		CX = number of bytes to write
		Return: AH = status (see #00634)
			CX = number of bytes NOT transferred
	    0Fh Lock Port
		AL = multiplexor port number
			bits 7-4: daisy chain port number (1-8)
			bits 3-0: mux device port number (1-8, 0 if no mux)
		Return: AH = status (00h,03h,05h) (see #00634)
	    10h Unlock Port
		AL = multiplexor port number
			bits 7-4: daisy chain port number (1-8)
			bits 3-0: mux device port number (1-8, 0 if no mux)
		Return: AH = status (00h,03h,05h) (see #00634)
	    11h Device Interrupt
		BL = multiplexor port number
			00h if no multiplexor, else mux device port (01h-08h)
		AL = subfunction
		    00h disable device interrupts
		    01h enable device interrupt
			ES:DI -> interrupt event handler
		Return: AH = status (00h,03h,05h,06h) (see #00634)
		Note:	AMI BIOS v1.00.12.AX1T ignores the multiplexor port
			  number; it also always sets INT 0F to the address
			  specified in ES:DI
	    12h Real-Time Mode
		AL = subfunction
		    00h check whether any real-time devices present
		    01h add (advertise) real-time device
		    02h remove real-time device
		Return: AH = status (00h,05h,06h,07h) (see #00634)
			AL = real-time devices present? (00h no, 01h yes)
		Note:	unlike all other functions, this one does not use DL/DX
Return: AH = status (see #00634)
	CF clear if successful
	CF set on error
	BX destroyed
SeeAlso: #00633


  webmaster   donations   bookstore     delorie software   privacy  
  Copyright 2000   by Ralf Brown     Updated Jul 2000