ASMB,A,B,L,C HED REMOTE UCKT I\F DIAGNOSTIC 09610-16001 04475 -TLD- ORG 100B * * * THIS IS A DIAGNOSTIC PROGRAM DESIGNED TO VERIFY AND * TROUBLESHOOT THE SERIAL REMOTE MICROCIRCUIT INTERFACE * HP PART NO. 09610-60044. COMPLETE OPERATING INSTRUCTIONS * CAN BE FOUND IN THE APPROPRIATE MANUALS. * * * ABSOLUTE TAPE 09610-16001 * SOURCE TAPE 09610-18001 * * * * * * STARTING ADDRESS WITH CONFIGURATION IS 100(8) * RESTART ADDRESS WITHOUT CONFIGURATION IS 2000(8) * * * * WHEN STARTING AT 100 PUT SELECT CODE OF 12665 CARD IN * SWITCH REGISTER BITS 5-0 * * * * 15!14!13!12!11!10!9!8!7!6!5!4!3!2!1!0 * * USER CONFIGURATION (STARTING ADDRESS 100) * * BIT 5-0= SELECT CODE OF 12665 CARD * * HALT DISPLAYING 107000 - PUT IN INITIAL SWITCH SETTINGS * * HALT DISPLAYING 103000 - ALLOWS DUMP - PUSH RUN TO GO * * RUN TIME SWITCH SETTINGS - USED IF BIT 0 IS 0 * * BIT 15 = 1 - HALT DIAGNOSTIC AT END OF CURRENT TEST * BIT 14 = 1 - SUPRESS ERROR HALTS * BIT 13 = 1 - LOOP ON CURRENT TEST * BIT 12 = 1 - HALT AT END OF CURRENT PASS OF ALL TESTS * BIT 11 = 1 - RUN BASIC TEST * BIT 10 = 1 - RUN LOOP TEST * BIT 9 = 1 - RUN DEBUG TEST * BIT 8 = 1 - IF BIT 9 = 1 THEN GET DATA WORDS (ELSE IGNORE) * BIT 7 = 1 - IF BIT 9 = 1 THEN DON'T WAIT FOR RETURN WORD * BIT 6 = 1 - SUPRESS ERROR MESSAGES * BIT 5 = 1 - SUPRESS ALL MESSAGES * BIT 2 = 1 - TIMED MODE FOR TRANSMISSION TEST (IF 2-WORD MODE) * BIT 1 = 1 - TWO WORD MODE (0 = 1-WORD MODE) EXCEPT FOR BASIC TEST SKP * HALT CODES: * 1060XX - TRAP CELL HALT IN CELL XX * 103001 - INVALID USER SELECT CODE * 103007 - ATTEMPT TO ENTER DATA W/ALL MESSAGES SUPRESSED * 107000 - SET INITIAL SWITCH SETTING * 103000 - HALT TO ALLOW DUMP (END OF USER CONFIGURATION) * 102001 - NO RETURN WORD WHEN EXPECTED * 102002 - UNEXPECTED RECEPTION IN PROCESS * 102003 - PARITY ERROR DETECTED * 102004 - MISSED RECEPTION BUT NO PARITY INDICATION * 102005 - DATA COMPARE ERROR * 102006 - NO END OF FIRST WORD FLAG * 102007 - ERROR COUNT OVERFLOW * 102010 - TIMED RETURN FLAG UNEXPECTEDLY SET * 102011 - TIMED RETURN FLAG UNEXPECTEDLY CLEAR * 102012 - UNEXPECTED RETURN WORD RECEIVED * * 102076 - END OF CURRENT TEST * 102077 - END OF PASS SKP * * NOTE: ALL TESTS ASSUME THAT A DIAGNOSTIC HOOD CONNECTOR * IS INSTALLED ON THE MICROCIRCUIT CONNECTOR OF THE * REMOTE I/O BOARD. THIS CONNECTOR HAS EACH OF ITS OUTPUT * BITS STRAPPED TO ITS CORRESPONDING INPUT BITS PLUS THE DEVICE * COMMAND LINE STRAPPED TO THE FLAG IN LINE. (REFER TO * MANUAL FOR PIN NUMBERS) * * TO RUN THE FOLLOWING TESTS, SWITCH OPTIONS MUST BE ESTABLISHED * AT RUN TIME. TO AVOID ERRORS, SWITCH OPTIONS FOR A PARTICULAR * TEST SHOULD BE SET UP BEFORE ENABLING THAT TEST. SEE * DESCRIPTION OF SWITCH OPTIONS. * * *BASIC REMOTE I/O TEST- * * JUMPERS: * W0 - DON'T CARE - TESTS RUN FASTEST IN POSITION A * W1 - IN * W2 - SAME AS W3 (BOTH IN OR BOTH OUT) * W3 - SAME AS W2 (BOTH IN OR BOTH OUT) * W4 - IN * W5 - OUT * W6 - OUT IF W10 IN, IN IF W10 OUT * W7 - DON'T CARE * W8 - SAME PARITY AS 12665 (IN-EVEN OUT-ODD) * W9 - IN IF W10 IN, OUT IF W10 OUT * W10 - DON'T CARE * W11 - IN * * TEST SEQUENCE: * 1.OUTPUT A 0 WORD WITH ENCODE. RETURN WORD SHOULD MATCH * TRANSMITTED WORD (EXCEPT BIT 14 WHICH IS NOT CHECKED.) * 2 REPEAT STEP 1 WITH AN ALL 1'S WORD. * 3.REPEAT STEP 1 WITH BOTH ENCODE AND TIMED RETURN. CHECK * TIMED RETURN FLAG IN RETURN WORD (BIT 14). TIMED RETURN * FLAG SHOULD NOT BE SET. * 4.REPEAT STEP 3 USING ALL 1'S WORD. * 5.REPEAT STEP 1 WITH TIMED RETURN ONLY. CHECK TIMED RETURN * FLAG IN RETURN WORD (BIT 14). TIMED RETURN FLAG SHOULD * BE SET. * 6.REPEAT STEP 5 USING ALL 1'S WORD. * 7.REPEAT STEP 1 WITH NO ENCODE OR TIMED RETURN. NO RETURN * WORD SHOULD BE RECEIVED. * 8.REPEAT STEP 7 USING ALL 1'S WORD. * * *TRANSMISSION LOOP TEST * * JUMPERS: * W0 - DON'T CARE - TESTS RUN FASTEST IN POSITION A * W1 - DON'T CARE * W2 - SAME AS W3 (BOTH IN OR BOTH OUT) * W3 - SAME AS W2 (BOTH IN OR BOTH OUT) * W4 - OUT * W5 - DON'T CARE IF W1 OUT. IF W1 IN THEN OUT TO CHECK * TIMED RETURN. * W6 - OUT IF W10 IN, IN IF W10 OUT * W7 - DON'T CARE * W8 - SAME PARITY AS 12665 (IN-EVEN OUT-ODD) * W9 - IN IF W10 IN, OUT IF W10 OUT * W10 - DON'T CARE * W11 - IN * * TEST SEQUENCE: * 1.A WORD IS TRANSMITTED TO THE REMOTE I/O BOARD WITH ENCODE * OR, OPTIONALLY IN 2-WORD MODE, A TIMED RETURN REQUEST. * 2.A RETURN WORD IS EXPECTED FROM THE REMOTE I/O CARD. * WHEN IT IS RECEIVED IT IS COMPARED TO THE WORD SENT AND * SHOULD BE EQUAL. * 3.THE LAST TRANSMITTED DATA WORD IS INCREMENTED BY 1. IF * NOT EQUAL TO 0 THEN RETURN TO STEP 1. THE DATA WORD WAS * INITIALLY 0 SO THIS RESULTS IN ALL 65536 BIT COMBINATIONS * BEING USED AS DATA WORDS. * 4.EACH SEQUENCE OF 65536 DATA WORDS IS A CYCLE. AT THE * END OF A CYCLE THE CYCLE NUMBER AND A DATA SUMMARY FOR * THAT CYCLE ARE PRINTED. * *TROUBLESHOOTING AID * * JUMPERS: * -NO SPECIFIC JUMPER CONFIGURATION IS REQUIRED. * JUMPERS HAVE THE FOLLOWING POSSIBLE POSITIONS: * W0 - A BIT TIME=1US * - B BIT TIME=2US * - C BIT TIME=4US * - D BIT TIME=8US * - E BIT TIME=16US * - F BIT TIME=32US * W1 - IN 2-WORD MODE (6940) * - OUT 1-WORD MODE (2313) * W2 - IN + TRUE OUT * - OUT GND TRUE OUT * W3 - IN + TRUE IN * - OUT GND TRUE IN * W4 - IN BIT14=TIMED REQ. INDICATOR * - OUT BIT14=DEVICE BIT 14 * W5 - IN NO TIMED REQUEST * - OUT TIMED REQ. IF NO ENCODE AND TF BIT = 1 * W6 - IN SET REQ. FF ON + EDGE OF FLAG * - OUT SET REQ. FF ON - EDGE OF FLAG * W7 - IN ALWAYS CLEAR REQ. (CLF) * - OUT CLEAR REQ. DEPENDS ON CLF BAR * W8 - IN EVEN PARITY * - OUT ODD PARITY * W9 - IN RESET ENCODE ON + EDGE OF FLAG * - OUT RESET ENCODE ON - EDGE OF FLAG * W10 - IN + TRUE ENCODE * - OUT GND TRUE ENCODE * W11 - IN SYSTEM NORMALIZE DISABLE (6940) * - OUT SYSTEM NORMALIZE ENABLE (2313) * * * SWITCH OPTIONS: * A MORE DETAILED DESCRIPTION OF SWITCH OPTIONS FOR THIS SECTION * IS PRESENTED HERE: * SWITCH 1 - SHOULD BE ON IF THE CARD IS SET FOR 2-WORD MODE, * OFF IF SET FOR 1-WORD MODE * SWITCH 7 - IF ON WILL NOT WAIT FOR RETURN WORD FROM REMOTE * I/O CARD AFTER A TRANSMISSION. IF OFF WILL WAIT. * SWITCH 8 - WHEN SET ON REQUESTS SYSTEM ATTENTION. WILL BE * AUTOMATICALLY TURNED OFF WHEN REQUEST FOR * ATTENTION IS RECOGNIZED. SYSTEM RESPONSE WILL BE * TO PRINT CURRENT VALUES OF USER SPECIFIED * PARAMETERS AND WAIT FOR NEW VALUES TO BE ENTERED. * REQUEST FOR NEW PARAMETERS WILL BE OF THE FORM: * ZZZZ=XXXXXX > * * WHERE ZZZZ WILL BE "DATA","OPTS", OR "MASK" * CORRESPONDING TO A REQUEST FOR A NEW DATA WORD * A NEW OPTIONS WORD, OR A NEW MASK WORD. * WHERE XXXXXX WILL BE AN OCTAL NUMBER REPRESENTING * THE CURRENT VALUE OF THE SPECIFIED PARAMETER. * WHERE > IS A PROMPT INDICATING THE SYSTEM IS * READY TO ACCEPT A NEW OCTAL NUMBER TO REPLACE * THE CURRENT VALUE. * ANY VALID OCTAL NUMBER MAY BE ENTERED. ENTRY * ERRORS WILL BE NOTED BY ? >. ONLY BITS 1,2, * AND 3 OF "OPTS" ARE SIGNIFICANT. ALL OTHERS * WILL BE MASKED BEFORE REPLACING CURRENT VALUE. * IF NO NUMBER IS ENTERED (ONLY CR-LF) THEN * CURRENT VALUE IS UNDISTURBED. * SINCE OPTIONS WORD IS NOT USED IN 1-WORD MODE, * IT WILL NOT BE ASKED FOR UNLESS SWITCH 1 IS 1. * * * *INSTRUCTIONS FOR CHECKING OPERATION OF SYSTEM NORMALIZE TRAP AND * OPTIONAL INHIBIT CLEAR FLAG * * JUMPERS: * W0 - DON'T CARE - TESTS RUN FASTEST IN POSITION A * W1 - OUT * W2 - SAME AS W3 (BOTH IN OR BOTH OUT) * W3 - SAME AS W2 (BOTH IN OR BOTH OUT) * W4 - IN * W5 - OUT * W6 - OUT IF W10 IN, IN IF W10 OUT * W7 - OUT * W8 - SAME PARITY AS 12665 (IN-EVEN OUT-ODD) * W9 - IN IF W10 IN, OUT IF W10 OUT * W10 - DON'T CARE * W11 - OUT * * 1. LOOP ON TROUBLESHOOTING AID TEST WITH SWITCH 1 OFF AND: * DATA = 140001 * MASK = 0 * 2. OBSERVE WITH OSCILLISCOPE SIGNAL ON TEST POINT 20. * SHOULD SEE 2 PULSES ABOUT 20 NS IN DURATION SEPARATED BY ABOUT * 4 US. THE PULSES WILL BE PLUS TRUE IF ENCODE IS * SET AS PLUS TRUE, GROUND TRUE IF ENCODE IS SET AS * GROUND TRUE. PRESENCE OF THE TWO PULSES VERFIES * OPERATION OF THE SYSTEM NORMALIZE TRAP. * * EXIT TROUBLESHOOTING LOOP, TURN ON SWITCH 1, INSTALL JUMPERS * W1 AND W11, RE-ENTER TROUBLESHOOTING LOOP. * * SET OPTS=2 * 3. OBSERVE THE SIGNAL ON TEST POINT 3. SHOULD BE A GROUND * TRUE PULSE WHOSE DURATION IS ONE BIT TIME (AS DETERMINED * BY BIT TIME JUMPER) * 4. SET OPTS = 12. AGAIN OBSERVE SIGNAL ON TEST POINT 3. * SIGNAL SHOULD ALWAYS REMAIN HIGH. * 5. INSTALL W7. SHOULD NOW AGAIN BE A GROUND TRUE * PULSE OBSERVABLE AT TEST POINT 3. SKP SUP ORG 100B A EQU 0 B EQU 1 SC EQU 0 JMP BEGIN PTRDR EQU 101B FLIST EQU 102B LIST EQU 103B KYBRD EQU 104B ORG 105B FWA ABS FWAVL LWA EQU 106B ISWR EQU 120B TIMER EQU 121B SWRCK EQU 122B I2ASC EQU 123B O2ASC EQU 124B ASC2N EQU 125B FRMTR EQU 127B SKP ORG 130B BEGIN EQU * CLC 0,C TURN OF I/O SYSTEM GETSC EQU * LIA 1 READ SELECT AND OPTIONS FROM SWR LDB A SAVE IN B AND B77 MASK SELECT CODE STA USC SAVE USER SELECT CODE ADA DM7 IS IT LESS THAN 10(BASE 8) SSA,RSS JMP SCOK SELECT CODE >= 10(8) BADSC HLT 1,C TELL OPERATOR TO TRY AGAIN JMP GETSC GET NEXT TRY SCOK EQU * LDA TCHLT GET BASIC TRAP CELL HALT LDB D2 INITIALIZE STORE POINTER LDTCS EQU * STA B,I STORE TRAP CELL HALT INA MOVE INB TO NEXT CELL CPB B100 DONE? RSS YES - SKIP JMP LDTCS NO - DO NEXT CELL LDB IOADR FETCH ADDRESS OF I/O TABLE STB PNTR SET UP POINTER SLOOP EQU * I/O CONFIGURATION LOOP (USER CARD - 12771) LDB PNTR,I GET I/O INSTRUCTION ADDR SZB,RSS IF 0 THEN JMP SDONE DONE LDA B,I GET I/O INSTRUCTION AND SCMSK MASK OUT S.C. IOR USC PUT IN USER SELECT CODE STA B,I PUT INSTRUCTION BACK ISZ PNTR MOVE ON TO NEXT JMP SLOOP DO NEXT SDONE EQU * CLA OTA 1 CLEAR SWR OCT 107000 HALT WAITING FOR INITIAL SWR LIA 1 FETCH SWR STA ISWR SET AS INITIAL FOR DUMP CLA OTA 1 CLEAR SWR HLT 0,C HALT TO ALLOW FOR DUMP JMP *+1,I ASTRT ABS 2000B SKP OUTWT NOP STA CDATA SAVE DATA AS CURRENT DATA LDB MODE CHECK FOR 2 WORD OR 1 WORD MODE SSB JMP TWORD 2-WORD MODE OWORD EQU * 1-WORD MODE SC001 CLC SC,C PUT 12771 IN REC. MODE SC002 LIB SC,C INITIALIZE CARD SC003 LIB SC ..... SC004 OTA SC OUTPUT DATA JSB WAIT2 WAIT 2 MS LDB WAIT? SEE IF WAITING FOR FLAG SSB,RSS (-1=WAITING) JMP OUTWT,I NOT WAITING FOR FLAG SO RETURN SC005 SFS SC CHECK FOR RETURN WORD JMP NRTRN NO RETURN WORD - ERROR JSB CKRTN CHECK RETURN WORD FOR PARITY,ETC JMP OUTWT,I RETURN NRTRN EQU * JSB NRTN DO ERROR THING JMP OUTWT,I RETURN TWORD EQU * LDA CDATA PICK UP CURRENT DATA CLB SET DATA BIT 15 IN WORD 1 SSA ..... INB ..... IOR SIGN TURN ON BIT 15 IN WORD 2 STA WORD2 SAVE TO SEND LATER LDA B FORM WORD 1 IOR OPTNS PUT IN OPTION BITS SC006 CLC SC,C PUT 12771 IN REC. MODE SC007 LIB SC,C INITIALIZE CARD (CLEARS FLAG) SC008 LIB SC ..... SC009 CLC SC PUT 12771 IN XMIT MODE SC010 SFS SC WAIT FOR FLAG JMP *-1 SC011 OTA SC OUTPUT WORD 1 JSB WAIT2 WAIT 2 MS SC012 SFS SC CHECK FOR END OF XMIT FLAG JMP NOFST SOMETHING HAPPENED TO FIRST WORD LDA WORD2 GET SECOND WORD JMP OWORD OUTPUT IT LIKE 1 WORD NOFST EQU * JSB NFRST DO ERROR THING JMP OUTWT,I RETURN SKP CKRTN NOP SC013 LIA SC,C GET STATUS SC014 LIB SC GET DATA STB RDATA SAVE READ DATA STA STATS SAVE STATUS AND D4 CHECK RECEPTION IN PROCESS BIT SZA BETTER BE ZERO JSB UXRIP UNEXPECTED RECEPTION IN PROCESS LDA STATS FETCH SAVED STATUS SSA CHECK FOR PARITY ERROR JSB PRITY DO ERROR THING LDA STATS FETCH SAVED STATUS RAR,SLA CHECK MISSED RECEPTION BIT JSB MISSD DO ERROR THING LDA RDATA GET READ DATA XOR CDATA COMPARE WITH SENT DATA AND DCMP? UNDER MASK SZA BETTER BE EQUAL JSB DCMP DO ERROR THING JMP CKRTN,I RETURN SPC 5 WAIT2 NOP LDA D2 SET TIMER FOR 2 MS JSB TIMER,I CALL TIMER JMP WAIT2,I RETURN SPC 5 ERROR NOP ERROR PROCESSOR LDB A SAVE (A) IN (B) (ERROR NUMBER) ADB EMT GET ERROR MESSAGE POINTER STB TEMP SAVE ERROR MESSAGE POINTER LDB A GET ERROR NUMBER ADB EHLT FORM ERROR HALT STB EHALT PUT AWAY HALT STA MSG# LDB BIT05 GET BIT 5 MASK JSB SWRCK,I CHECK BIT 5 JMP NOMSG IF SET SUPRESS MESSAGE LDB BIT06 GET BIT 6 MASK JSB SWRCK,I CHECK BIT 6 JMP NOMSG IF SET SUPPRESS MESSAGE MSG EQU * LDA PPNTR GET PARAMETER AREA ADDRESS STA PNTR SAVE AS PARAMETER POINTER CLA,CLE SET START OF FORMATTED OUTPUT LDB TEMP GET ERROR MESSAGE POINTER LDB B,I GET FORMAT ADDRESS JSB FRMTR,I CALL FORMATTER SZA,RSS SEE IF NEED A PARAMETER JMP NOPRM NO PARAMS NEEDED PRMOT EQU * NEED NUMBER TO OUTPUT CCA SET OCTAL OUT MODE LDB PNTR,I GET NUMBER TO OUTPUT ISZ PNTR BUMP POINTER JSB FRMTR,I CALL FORMATTER SZA SEE IF NEED ANOTHER PARAMETER JMP PRMOT GO OUTPUT NEXT PARAM NOPRM EQU * OUTPUT LAST SENT AND RCV'D WORDS LDA D7 CPA MSG# ERROR 7? JMP NOMSG YES - SKIP SENT-RCVD PRINT CLA,CLE SET START OF FORMATTED OUTPUT LDB AERR GET FORMAT ADDRESS JSB FRMTR,I CALL FORMATTER CCA SET OCTAL OUT MODE LDB CDATA GET LAST WORD SENT JSB FRMTR,I CALL FORMATTER CCA SET OCTAL OUT MODE LDB RDATA GET LAST RCV'D WORD JSB FRMTR,I CALL FORMATTER NOMSG EQU * LDB BIT14 GET BIT 14 MASK JSB SWRCK,I CHECK SWR RSS SUPRESS HALT EHALT HLT 0 ERROR HALT GOES HERE JMP ERROR,I RETURN SPC 5 NRTN NOP NO RETURN WORD WHEN EXPECTED LDA ANFLG GET ERROR COUNT ADDRESS JSB INC INCREMENT ERROR COUNT CLA,INA GET ERROR NUMBER JSB ERROR DO ERROR PROCESSING JMP NRTN,I RETURN SPC 5 UXRIP NOP UNEXPECTED RECEPTION IN PROCESS LDA D2 GET ERROR NUMBER JSB ERROR DO ERROR PROCESSING JMP UXRIP,I RETURN SPC 5 PRITY NOP PARITY ERROR LDA APRTY GET ERROR COUNT ADDRESS JSB INC INCREMENT ERROR COUNT LDA D3 GET ERROR NUMBER JSB ERROR DO ERROR PROCESSING JMP PRITY,I RETURN SPC 5 MISSD NOP MISSED RECEPTION BIT SET LDA D4 GET ERROR NUMBER JSB ERROR DO ERROR PROCESSING JMP MISSD,I RETURN SPC 5 DCMP NOP SENT-RCVD COMPARE ERROR LDA ADTAC GET ERROR COUNT ADDRESS JSB INC INCREMENT ERROR COUNT LDA D5 GET ERROR NUMBER JSB ERROR DO ERROR PROCESSING JMP DCMP,I RETURN SPC 5 NFRST NOP FIRST WORD FLAG NOT RETURNED LDA D6 GET ERROR NUMBER JSB ERROR DO ERROR PROCESSING JMP NFRST,I RETURN SPC 5 EOT NOP END OF TEST HALT CHECKER LDB BIT15 GET BIT 15 MASK JSB SWRCK,I CHECK SWR HLT 76B END OF TEST HALT (ON) LDB BIT13 GET BIT 13 MASK JSB SWRCK,I CHECK SWR JMP EOT,I REPEAT LAST TEST EXIT (ON) ISZ EOT BUMP RETURN ADDR (OFF) JMP EOT,I CONTINUE EXIT SPC 5 INC NOP ERROR COUNT INCREMENTER (CHECKS FOR OVERFLOW) LDB A,I GET ERROR COUNT (A=ADDR) INB INCREMENT ERROR COUNT STB A,I SAVE ERROR COUNT SSB,RSS CHECK FOR OVERFLOW JMP INC,I RETURN FOR NO OVERFLOW CLB IF OVERFLOW - SET TO 0 STB A,I SAVE IT CLB STB KOUNT INITIALIZE COUNTER LOOK EQU * LDB OVTBL GET TABLE ORIGIN ISZ KOUNT UPDATE COUNT ADB KOUNT GET ADDR POINTER CPA B,I COMPARE ADDRESSES RSS EQUAL SO FOUND JMP LOOK LOOK AT NEXT ENTRY FOR MATCH LDB OMSGS GET MESSAGE TABLE ORIGIN ADB KOUNT GET POINTER LDB B,I GET ADDRESS OF CHARS LDA ANAME GET DESTINATION ADDR STA DEST SAVE LDA DM4 MOVE 4 WORDS STA KOUNT SLP EQU * LDA B,I GET 2 CHARS INB INCREMENT POINTER STA DEST,I STORE CHARS ISZ DEST UPDATE STORE POINTER ISZ KOUNT DONE? JMP SLP NO-DO NEXT 2 CHARS LDA D7 GET ERROR NUMBER JSB ERROR DO ERROR THING JMP INC,I RETURN SPC 5 TFSET NOP TIMED RETURN FLAG SET UNEXPECTLY LDA D8 GET ERROR NUMBER JSB ERROR DO ERROR PROCESSING JMP TFSET,I RETURN SPC 5 TFCLR NOP TIMED RETURN FLAG CLEAR (EXP. SET) LDA D9 GET ERROR NUMBER JSB ERROR DO ERROR PROCESSING JMP TFCLR,I RETURN SPC 5 UXRTN NOP RETURN WORD WHEN NONE EXPECTED LDA D10 GET ERROR NUMBER JSB ERROR DO ERROR PROCESSING JMP UXRTN,I RETURN SPC 5 TFCHK NOP CHECK TIMED RETURN BIT (BIT 14) LDA RDATA GET RCVD WORD AND BIT14 MASK BIT 14 SZA,RSS CHECK BIT ISZ TFCHK RETURN (P+2) FOR CLEAR JMP TFCHK,I RETURN (P+1)FOR SET SPC 5 ZERO NOP ERROR COUNT ZEROER CLA STA #NFLG ZERO NO RETURN WORD ERROR COUNT STA #DTAC ZERO DATA COMPARE ERROR COUNT STA #PRTY ZERO PARITY ERROR COUNT JMP ZERO,I RETURN SPC 5 MSET NOP MODE SETTER LDB BIT01 GET BIT 01 MASK JSB SWRCK,I CHECK SWR RSS ON - 2-WORD MODE (-1) CLA,RSS OFF - 1-WORD MODE (0) CCA STA MODE SAVE MODE JMP MSET,I RETURN SPC 5 ABORT NOP LDB BIT05 GET BIT05 MASK JSB SWRCK,I CHECK SWR BIT 05 JMP ABORT,I SUPPRESS MESSAGE CLA,CLE PRINT LDB AABRT ABORT TEST JSB FRMTR,I MESSAGE JMP ABORT,I AND RETURN SKP * * THIS ROUTINE GETS A NUMERIC PARAMETER FROM THE KEYBOARD * AND RETURNS THE NUMERIC VALUE IN (A). ENTER WITH: * (A)=ADDRESS OF PARAMETER TO BE FETCHED * "PRMPT"=ADDRESS OF PROMPTING CHARACTER STRING * (SHOULD CONTAIN "#" TO PRINT THE CURRENT VALUE OF THE * PARAMETER.) * * CHARACTERS INPUT FROM THE KEYBOARD WILL BE CHECKED * FOR VALID OCTAL DIGITS. IF NO CHARACTERS ARE ENTERED * THEN LAST VALUE OF THE PARAMETER WILL BE RETURNED AS * THE NEW VALUE. * GTVAL NOP GETVL EQU * STA PARAM SAVE PARAMETER ADDRESS LDB BIT05 GET BIT 5 MASK JSB SWRCK,I CHECK BIT 5 JMP THALT IF SET THEN NON-VALID REQUEST CLA,CLE SET START OF FORMATTED OUTPUT LDB PRMPT GET FORMAT ADDRESS OF PROMPTING STRING