home *** CD-ROM | disk | FTP | other *** search
- ;********************************************************
- ;* *
- ;* FOR GODBOUT INTERFACER 1/2 SERIAL I/O BOARD *
- ;* *
- ;********************************************************
- ;
- ; April 22, 1981
- ;
- ; By Bill Bolton
- ; Software Tools
- ; P.O. Box 80
- ; Newport Beach
- ; NSW, 2106
- ; Australia
- ;
- ;
- BEGIN ORG 103H
- INITIL JMP INITIU ;UART/USART INITIALISATION ENTRY POINT
- INSPORT JMP INSPRU ;STATUS PORT READ ENTRY POINT
- ERRSET JMP ERRSTU ;UART/USART ERROR RESET ENTRY POINT
- INPORT JMP INPRTU ;READ DATA PORT ENTRY POINT
- OUTPORT JMP OUTPRU ;WRITE DATA PORT ENTRY POINT
- ;
- ;
- TP EQU 38H ;DATA PORT
- TPS EQU TP+1 ;STATUS PORT
- ;
- ;
- INITIU:
- CALL SIGNON ;TELL USER WHAT'S IMPLEMENTED
- RET ;RETURN TO BSTAM
- ;
- ;
- ; THIS IS THE STATUS READ PORT ROUTINE.
- ; WHEN EXITING THIS ROUTINE BSTAM EXPECTS IN REGISTER A
- ; THE FOLLOWING BITS TO BE SET IF NEEDED:
- ; 1. 20 BIT SET IF FRAMING ERROR
- ; 2. 10 BIT SET IF OVERRUN ERROR
- ; 3. 08 BIT SET IF PARITY ERROR
- ; 4. 04 BIT SET IF TRANSMITTER EMPTY
- ; IF YOUR UART/USART DOES NOT HAVE TRANSMITTER
- ; EMPTY FEATURE, THEN ALWAYS SET THIS BIT ON.
- ; 5. 02 BIT SET IF RECEIVER READY
- ; 6. 01 BIT SET IF TRANSMITTER READY
- ; 7. DO NOT SET THE 80 BIT OR 40 BIT
- ;
- INSPRU:
- IN TPS ;GET INFO BITS FROM INTERFACER STATUS PORT
- ANI 2BH ;MASK OUT RELEVANT BITS
- XRI 04H ;FORCE TX EMPTY ON
- RET ;RETURN TO BSTAM
- ;
- ;
- ; THIS IS THE ERROR RESET FOR UART/USART ROUTINE.
- ; YOUR UART/USART MAY NOT NEED TO BE RESET IF FRAMING,
- ; OVERRUN, OR PARITY ERROR IS FOUND. IF THIS IS YOUR
- ; CASE, JUST DO A RETURN.
- ;
- ERRSTU:
- RET ;RETURN TO BSTAM
- ;
- ;
- ; THIS IS THE READ DATA PORT ROUTINE.
- ; BEFORE THIS ROUTINE IS ENTERED THE 02 BIT OF
- ; STATUS READ ROUTINE MUST HAVE BEEN SET.
- ; DO NOT CLEAR THE 80 BIT FROM THE DATA INPUT PORT.
- ; RETURN WITH REGISTER A LOADED WITH INPUT DATA.
- ;
- INPRTU:
- IN TP ;GET DATA FROM PORT
- RET ;RETURN TO BSTAM
- ;
- ;
- ; THIS IS THE WRITE DATA PORT ROUTINE.
- ; BEFORE THIS ROUTINE IS ENTERED THE 04 BIT AND 01 BIT
- ; OF STATUS READ MUST BE SET.
- ; DO NOT CLEAR THE 80 BIT FROM THE DATA OUTPUT PORT.
- ; REGISTER A CONTAINS THE OUTPUT DATA.
- ;
- OUTPRU:
- OUT TP ;SEND DATA TO REMOTE CPU
- RET ;RETURN TO BSTAM
- ;
- MESSGE: DB 0DH,0AH,0DH,0AH
- DB 'Version 4.5 - April 22,1981',0DH,0AH
- DB 'For Godbout "Interfacer" S-100 I/O Card,',0DH,0AH
- DB 'using an 1602 UART at ports 38H/39H, no parity.',0DH,0AH,'$'
- ;
- SIGNON: PUSH B
- PUSH D
- PUSH H
- LXI D,MESSGE
- MVI C,9
- CALL 5 ;ANOUNCE VERSION TO USER
- POP H
- POP D
- POP B
- RET
- ;
- END BEGIN
-