* * PROCESSOR TECHNOLOGY 16KRA TEST * * ORG 0C900H XEQ 0C900H * LXI SP,0CBFFH * RTRN EQU 0C004H SOUT EQU 0C019H SINP EQU 0C01FH VDADD EQU 0C11CH PSCAN EQU 0C310H CRLF EQU 0C2F9H * * ANNOUNCE TEST * * LXI H,MSG1 CALL STRNG CALL VDADD XCHG DCX D A1 CALL GET CPI 0DH JZ A2 CALL PUT JMP A1 A2 MVI B,' ' CALL PUT CALL PSCAN CALL CRLF MVI L,0 SHLD BDADR LXI H,MSG2 CALL STRNG XRA A STA CFLAG CALL GET CPI 'C' JNZ INIT PUSH PSW MVI A,0FFH STA CFLAG POP PSW * INIT CALL PUT CALL CRLF LXI H,0 SHLD ROW1 SHLD ROW2 * CONT LHLD COUNT INR H MVI A,39H CMP H JNC C1 INR L MVI H,30H C1 SHLD COUNT LXI H,MSG3 CALL STRNG SUB A STA PAGE STA FILL * MAIN LDA FILL RLC CALL WRITE SUB A STC * LOOP1 PUSH PSW CALL NXTPG MVI E,003H * TEST1 CALL TEST DCR E JNZ TEST1 LDA FILL RLC CALL READ POP PSW RAR JNC LOOP1 CMP A MVI A,0FFH * LOOP2 PUSH PSW CALL NXTPG MVI E,003H * TEST2 CALL TEST DCR E JNZ TEST2 LDA FILL RLC CALL READ POP PSW RAR JC LOOP2 CALL NXTPG LDA PAGE ORA A JNZ MAIN LDA FILL CMA STA FILL ORA A JNZ MAIN * CALL MAP OUTPUT CHIP MAP * LDA CFLAG ORA A JZ RTRN JMP CONT * * SUBROUTINES * MAP CALL CRLF LHLD ROW1 CALL LINE LHLD ROW2 CALL LINE CALL CRLF RET * LINE MVI D,004H MVI E,002H * QUAD MOV A,L RAR MOV L,A CALL CHIP MOV A,H RAR MOV H,A CALL CHIP CALL SPAC1 DCR D JNZ QUAD MVI D,004H CALL SPAC1 DCR E JNZ QUAD CALL CRLF RET * SPAC1 MVI A,020H JMP MARK1 * CHIP MVI A,'G' JNC MARK1 MVI A,'X' * MARK1 CALL PUT CMP A RET * STRNG MOV A,M INX H CPI 0 RZ CALL PUT JMP STRNG * PUT PUSH H MOV B,A CALL SOUT POP H RET * GET CALL SINP JZ GET ANI 07FH RET * NXTPG PUSH PSW CALL SINP CPI 01BH JNZ N1 CALL MAP JMP RTRN N1 LDA PAGE ADI 010H ANI 030H STA PAGE POP PSW RET * GETPG PUSH PSW LDA PAGE LHLD BDADR ADD H MOV H,A POP PSW RET * TEST CALL WRITE CALL READ CALL NXTPG CALL VDADD SHOW SOME ACTIVITY MOV A,M ADI 80H BLINK THE CURSOR MOV M,A RET * WRITE PUSH PSW CALL GETPG MVI D,10H WRIT1 PUSH PSW MOV M,A XRA M CNZ BITER POP PSW RAL INR L JNZ WRIT1 INR H DCR D JNZ WRIT1 POP PSW RET * READ PUSH PSW CALL GETPG MVI D,10H READ1 PUSH PSW XRA M CNZ BITER POP PSW RAL INR L JNZ READ1 INR H DCR D JNZ READ1 POP PSW RET * BITER PUSH H MOV B,A LDA PAGE RLC RLC RLC LXI H,BITS ADD L MOV L,A MOV A,M ORA B MOV M,A POP H RET * MSG1 DW 0A0BH ASC "PROCESSOR TECHNOLOGY 16KRA TEST" DW 0A0DH ASC "COPYRIGHT (C) 1978" DW 0A0DH DW 0A0DH ASC "TYPE FOUR DIGITS OF BOARD HEX" ASC " ADDRESS" DW 0A0DH ASC "(4K BOUNDRYS) " DB 0 MSG2 DW 0A0DH ASC "TYPE 'C' TO RUN CONTINUOUSLY" ASC " AND ACCUMULATE ERRORS." DW 0A0DH ASC "ANY OTHER KEY TO RUN ONE PASS." DW 0A0DH ASC "STRIKE ESC TO HALT TEST" DW 0A0DH DB 0 * MSG3 ASC "TEST IN PROGRESS. PASS NO. " COUNT DW 3030H DW 0A0DH DB 00 * CFLAG DS 1 BDADR DS 2 BITS EQU $ ROW1 DS 2 ROW2 DS 2 PAGE DS 1 FILL DS 1 *