/ M4 DRIVE TEST / LAST EDIT: 31-JUL-1987 16:00:00 CJL / 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 INIT, CAF /CLEAN UP INCLR /CLEAR INPUT FLAG ALSO PULSING ACKNOWLEDGE 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 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 ISZ 0 /WASTE JMP .-1 /SOME TIME ISZ 0 /WASTE JMP .-1 /SOME TIME OUTSET /SET OUTPUT FLAG NOW START, TAD ("P&37) /GET JMS SEND /SEND IT TAD (":&177) /GET READ CODE JMS SEND /SEND IT JMS REC /GET FIRST STATUS BYTE DCA STAT1 /STASH IT JMS REC /GET SECOND STATUS BYTE DCA STAT2 /STASH IT TAD STAT2 /GET SECOND STATUS MQL /DISPLAY IT TAD STAT1 /GET FIRST STATUS JMP I (7600) /GOODBYE STAT1, .-. /FIRST STATUS BYTE STAT2, .-. /SECOND STATUS BYTE TEMP, .-. /TEMPORARY / 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 DATA 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 CLA /CLEAN UP JMP I SEND /RETURN $ /THAT'S ALL FOLK!