/ M8342 PARALLEL I/O TEST / LAST EDIT: 05-APR-1987 16:00:00 CJL / M8342 LOOPBACK I/O TEST. REQUIRES SPECIAL LOOPBACK CONNECTOR INSERTED IN / THE M8342 BERG CONNECTOR. / DEFINITIONS. INIOT= 72 /INPUT DEVICE CODE INCLR= INIOT^10+6002 /CLEAR INPUT FLAG, AC AND PULSE ACKNOWLEDGE INCLR0= INIOT^10+6000 /CLEAR INPUT FLAG ONLY **** PDP-8/E ONLY **** INIE= INIOT^10+6005 /SET/CLEAR INTERRUPT ENABLE PER AC[11] INRAW= INIOT^10+6004 /OR INPUT, DO NOT CLEAR FLAG OR PULSE ACKNOWLEDGE INREAD= INIOT^10+6006 /READ INPUT, CLEAR FLAG AND PULSE ACKNOWLEDGE INSKP= INIOT^10+6001 /SKIP ON INPUT FLAG OUTIOT= 73 /OUTPUT DEVICE CODE OUTCLR= OUTIOT^10+6002 /CLEAR OUTPUT FLAG OUTLOD= OUTIOT^10+6006 /LOAD OUTPUT BUFFER, CLEAR FLAG OUTRAW= OUTIOT^10+6004 /LOAD OUTPUT BUFFER, DO NOT CLEAR FLAG OUTSET= OUTIOT^10+6000 /SET OUTPUT FLAG **** PDP-8/E ONLY **** OUTSK= OUTIOT^10+6005 /SKIP ON (M8342 INTERRUPT ENABLE) .AND. /(INPUT FLAG .OR. OUTPUT FLAG) OUTSKP= OUTIOT^10+6001 /SKIP ON OUTPUT FLAG / LOOPING TEST. INIT, CLA CLL /CLEAN UP DCA 0 /CLEAR WASTE COUNTER INCLR /CLEAR INPUT FLAG, PULSE ACKNOWLEDGE / DUE TO INTERCONNECT OF RECEIVE ACKNOWLEDGE AND TRANSMIT DEMAND (ACKNOWLEDGE), / THE OUTPUT FLAG SHOULD NOW BE SET. START, CLA /CLEAN UP TAD (-5000) /SETUP THE DCA CYCLES /CYCLE TESTER AGAIN, CLA /CLEAN UP TAD (-400) /SETUP THE DCA CNT /TEST COUNTER DCA TESTVALUE /CLEAR TEST VALUE LOOP, CLA /CLEAN UP TAD TESTVALUE /GET LATEST TEST VALUE JMS SEND /SEND IT JMS REC /GET BACK INPUT VALUE MQL /DISPLAY IT MQA /GET IT BACK CIA /INVERT FOR TEST TAD TESTVALUE /COMPARE TO LATEST TEST VALUE SZA /SKIP IF IT MATCHES HLT /ELSE BARF TEST, LAS /GET CONSOLE SWITCHES RAL /MOVE OVER SMA CLA /SKIP IF WE SHOULD HOLD JMP NEXT /ELSE FORGET IT TAD TESTVALUE /GET THE LATEST OUTPUT VALUE ISZ 0 /WASTE JMP .-1 /SOME TIME JMP TEST /TRY AGAIN NEXT, TAD TESTVALUE /DISPLAY TEST VALUE SNL /SKIP IF SW[0] WAS SET JMP NEXT2 /ELSE KEEP GOING ISZ 0 /WASTE JMP .-1 /SOME TIME ISZ 0 /WASTE JMP .-1 /SOME TIME ISZ 0 /WASTE JMP .-1 /SOME TIME ISZ 0 /WASTE JMP .-1 /SOME TIME NEXT2, ISZ TESTVALUE /BUMP TO NEXT FOR NEXT TIME ISZ CNT /DONE A CYCLE YET? JMP LOOP /NO, KEEP GOING ISZ CYCLES /DONE ENOUGH TO INDICATE? JMP AGAIN /NO, KEEP GOING CLA /CLEAN UP TAD ("G&37) /GET A TLS /RING IT JMP START /GO DO IT AGAIN / RECEIVE ROUTINE. REC, .-. /RECEIVE ROUTINE INSKP /FLAG UP? JMP .-1 /NO, WAIT FOR IT INREAD /YES, GET THE CHARACTER AND CLEAR THE FLAG CMA /INVERT THE DATE AND (377) /JUST EIGHT BITS JMP I REC /RETURN / SEND ROUTINE. SEND, .-. /SEND ROUTINE OUTSKP /FLAG UP? JMP .-1 /NO, WAIT FOR IT OUTLOD /YES, SEND THE VALUE NOW JMP I SEND /RETURN CNT, .-. /TEST COUNTER CYCLES, .-. /CYCLES COUNTER TESTVAL,.-. /LATEST TEST VALUE $ /THAT'S ALL FOLK!