| 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 |
| Data: |
|
| Return: |
| AX |
= |
destroyed |
| 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 |
| Data: |
| AX |
= |
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 |
| Data: |
|
| Return: |
| AH |
= |
status |
| AL |
= |
destroyed |
|
|
| 06h |
| Perform Address-Read
I/O cycle |
| Return: |
| AH |
= |
status |
| AL |
= |
returned address/device data |
|
|
| 07h |
|
| 08h |
| Output Block of Data |
| 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 |
| 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 |
| Data: |
|
| Return: |
| AH |
= |
status (see #00634) |
| AL |
= |
byte read if successful |
|
|
| 0Ch |
| Address/Byte-Write |
| Data: |
| AL |
= |
device address |
| DH |
= |
data byte (v1.0,v3.0) |
| CL |
= |
data byte (Revision 7) |
|
| Return: |
|
|
| 0Dh |
| Address/Block-Read |
| Data: |
| 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 |
| Data: |
| 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 |
| Data: |
| 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 |
| Data: |
| 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 |
| Data: |
| 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 |
| Data: |
| 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?
|
|
| Note: |
Unlike all other functions, this one does not use DL/DX.
|
|