
 
;**************** TEST PROGRAM FOR 80130S  **************************
;*                                                                  *
;*		WRITTEN 2-26-80 BY MARK GARETZ                      *
;*	        MODIFIED 8-24-82 BY LEN OTT
;*								    *
;*		ASSUMES 80130 AT FFF0H AND I/O 1 AT 0
;********************************************************************
;MODIFIED 12-23-81 FOR 80130

	ORG	100H

BASE	EQU	0FFF0H		;PORT BASE ADDRESS FOR 80130
MPRTA	EQU	BASE		;MASTER PORT A
MPRTB	EQU	BASE+2		;MASTER PORT B

IOPORT	EQU	0		;I/O 1 SERIAL PORT
DATA	EQU	IOPORT
STATUS	EQU	IOPORT+1

VIPORT	EQU	4		;PORT TO SET VI LINES
CR	EQU	0DH
LF	EQU	0AH
;END OF EQUATES

START:	CLI
	LD	AL,#1BH		;ICW1
	LD	DX,#MPRTA
	OUTB	DX
	LD	AL,#80H		;ICW2
	LD	DX,#MPRTB
	OUTB	DX
	LD	AL,#0DH		;ICW4
	OUTB	DX

	LD	AL,#0
	OUTB	DX

	XOR	AX,AX		;WRITE THE VECTOR TABLE
	MOV	DS,AX
	LD	BX,#200H
	MOV	CX,CS
	LD	AX,#SRVRQ0
	STO	AX,[BX]
	ADD	BX,#2
	STO	CX,[BX]
	ADD	BX,#2
	LD	AX,#SRVRQ1
	STO	AX,[BX]
	ADD	BX,#2
	STO	CX,[BX]
	ADD	BX,#2
	LD	AX,#SRVRQ2
	STO	AX,[BX]
	ADD	BX,#2
	STO	CX,[BX]
	ADD	BX,#2
	LD	AX,#SRVRQ3
	STO	AX,[BX]
	ADD	BX,#2
	STO	CX,[BX]
	ADD	BX,#2
	LD	AX,#SRVRQ4
	STO	AX,[BX]
	ADD	BX,#2
	STO	CX,[BX]
	ADD	BX,#2
	LD	AX,#SRVRQ5
	STO	AX,[BX]
	ADD	BX,#2
	STO	CX,[BX]
	ADD	BX,#2
	LD	AX,#SRVRQ6
	STO	AX,[BX]
	ADD	BX,#2
	STO	CX,[BX]
	ADD	BX,#2
	LD	AX,#SRVRQ7
	STO	AX,[BX]
	ADD	BX,#2
	STO	CX,[BX]
	ADD	BX,#2
;CAUSE AN INTERRUPT ON VI0
	LD	AL,01111_1110B	;
	OUTB	VIPORT		;OUTPUT TO VIPORT
;TURN OFF INTERRUPTS
WATE:	CLI
	LD	DL,#'!'		;ERROR MARK INTO DL
	CALL	HAND		;CALL OUTPUT ROUTINE
	STI
	JMP	WATE		;WAIT FOR INTERUPT

HAND:	INB	STATUS		;READ UART STATUS
	AND	AL,#01H
	JZ	HAND
	MOV	AL,DL		;GET CHAR
	OUTB	DATA
	RET			;RETURN TO CALLER

	ORG	300H

SRVRQ0:	CLI
	LD	DL,#30H
	LD	AL,#01111_1101B
	JMP	EXIT
SRVRQ1:	CLI
	LD	DL,#31H
	LD	AL,#01111_1011B
	JMP	EXIT
SRVRQ2:	CLI
	LD	DL,#32H
	LD	AL,#01111_0111B
	JMP	EXIT
SRVRQ3:	CLI
	LD	DL,#33H
	LD	AL,#01110_1111B
	JMP	EXIT
SRVRQ4:	CLI
	LD	DL,#34H
	LD	AL,#01101_1111B
	JMP	EXIT
SRVRQ5:	CLI
	LD	DL,#35H
	LD	AL,#01011_1111B
	JMP	EXIT
SRVRQ6:	CLI
	LD	DL,#36H
	LD	AL,#00111_1111B
	JMP	EXIT
SRVRQ7:	CLI
	LD	DL,#37H
 	LD	AL,#01111_1110B
EXIT:	OUTB	VIPORT	;SET VI LINES
	CALL	HAND		;CHAR TO OUT IS IN DL
	LD	AL,#60H
EXIT1:	LD	DX,#MPRTA	;PORT # IN DX
	OUTB	DX		;OUT TO 16 BIT ADDRESS
	INC	AL
	CMP	AL,#68H
	JNZ	EXIT1
	IRET
