User's Manual

PMAC User Manual
252 Writing a Host Communications Program
MI1 and MI2 are PMAC Machine Inputs 1 and 2, which usually come from the system under control.
(Software): This line in the PMAC STD can be toggled from a PMAC program after assigning an M-
variable to bit 7 of Y-register $FFED (e.g. M10-> Y:$FFED,7,1). Setting this M-variable to 1
triggers the interrupt; setting it to 0 clears it.
Selecting a Host Interrupt Line (PMAC PC or Lite)
Use one (and only one) of the PMAC PC or PMAC Lite jumpers E76 to E84 and E86 to select which of
the PC’s interrupt input lines (IRQn) will receive the signal generated by the PMAC PIC. Jumpers E81-
E84 and E86 are for IRQ lines on the original PC connector; jumpers E76-E80 are for IRQ lines on the
AT connector, which PC-XTs and their clones do not possess.
These lines feed into an 8259 PIC in the PC itself; each line is a separate input (interrupt level). The PC
must then be programmed to recognize this particular interrupt level (the interrupt level must be
unmasked and vectored) and react appropriately (through an interrupt service routine). These will be
explained below.
Selecting a Host Interrupt Line (PMAC STD)
The user should use one (and only one) of the PMAC STD CPU board jumpers W1, W2, and W3 to
select between STDbus interrupt lines INTRQ*, INTRQ1*, and INTRQ2*, respectively.
Interrupt Functions
The first and most common use of these interrupts is for basic communications. By using the HREQ line
into the PIC, PMAC can interrupt the host PC whenever it has something to say to the host, and/or
whenever it is ready to accept a character. This can eliminate the need for the host to poll PMAC
regularly to see if it is ready for communications. Refer to the Appendix or the Executive Program
diskette for demonstration PC programs.