*20 /MARK PROGRAM FOR PDP-12 /BY R.J.CLAYTON /5-30-69 /COPYRIGHT 1969, DIGITAL EQUIPMENT CORP, /MAYNARD MASS. /VERSION MARK12-1,1970 SEGMNT 2 LMODE *16 STDIAL, 701 /READ A GROUP INST. 7300 /THIS WILL OVERLAY DIAL /WHICH STARTS AT 4020 DT=2000 /THIS IS A CONSTANT USED /FOR REFERENCING CHAR TABLES /IN THE DATA FIELD /THIS IS THE STARTING POINT OF /THE MARK PROGRAM. DSP1 IS THE /FIRST DISPLAY WHERE THE USER /PICKS THE TYPE OF TAPE TO /FORMAT DSP1, LDF 3 /JUST IN CASE JMP QAINIT /GO TO Q AND A SUBROUT. DT DS1 /FIRST FRAME ANS /LOCATION FOR ANS. JMP REFRESH /COME HERE TO REFRESH LDA /HERE AFTER LINE FEED ANS SHD I 6100 JMP LTAPE /GOOD SELECTION SHD I 2000 JMP PTAPE/ /ALSO GOOD SELECTION SHD I 0200 JMP BIGTAP /ALSO GOOD SELECTION SHD I 0400 JMP DTAP SHD I 0800 JMP HTAP JMP DSP1 /GO BACK FOR A GOOD /SELECTION /BEEN GIVEN /PROGRAM TO WRITE A /STANDARD LINC FORMAT TAPE LTAPE, PDP PMODE JMS ONMARK /GET MARK TURNED ON JMS I KWRTAP /GO WRITE THE TAPE 2000 /BEGINING EM 7777 /BEGINING IM 0400 /256 WORDS PER BLOCK -10 /FIRST FWD BLK NUMB -10 /FIRST BKWD BLK NUMB 1024 /TOTAL NUMBER OF BLOCKS /INCLUDES A FEW AT FRONT /AND BACK FOR TURN AROUND 0005 /NO OF IM BETWEEN BLOCKS 0010 /NUMBER OF FINAL IM CODES 4000 /NUMBER OF FINAL EM CODES LINC /TO LINC MODE LMODE LDA I 1000 /NO OF BLOCKS TO CHECK JMP CHECK /CHECK WILL FINISH /THE JOB /PROGRAM TO WRITE 129 WORD /LINC FORMAT TAPE FOR TCO1 /SIMULATION PTAPE, PDP PMODE JMS ONMARK JMS I KWRTAP 2000 7777 0201 -20 -15 /THE OFFSET HELPS SEARCH /ON TAPE WITH SHORT BLOCKS 3040 005 1777 2000 LINC LMODE LDA I 3000 /NUMBER OF DATA BLOCKS JMP CHECK / /PROGRAM TO WRITE 1600 STD BLKS /IS LOCATED AT BIGTAP / KWRTAP, WRTAP /CROSS PAGE REF. /SUBROUTINE TO TEST TAPE TRANSPORTS /AND MARK SWITCH TO DETERMINE THAT /IT IS OK TO MARK TAPE. /MUST HAVE UNIT 1 SELECTED /MUST HAVE UNIT 1 WRITE ENABLED /MUST THEN PRESS MARK SWITCH /SUBROUTINE WILL PREVENT BASHING /TAPE ON UNIT 0 PMODE ONMARK, 0000 LINC LMODE DSP2, JMP QAINIT /USE Q AND A ROUTINE DT DS2A /AS A DISPLAY ROUTINE /THIS WILL BE THE FIRST /HALF OF THE DISPLAY, IT /IS DONE WITH THE TAPE /GOING BACKWARD. ANS NOP LDA I 0144 /SET UP FOR UNIT 1 AND /FORWARD MOTION IOB 6152 JMP QAINIT /DO SECOND HALF OF THIS DT DS2B /DISPLAY ANS NOP SET I 4 /THIS LOOP EQUALIZES -100 XSK I 4 /THE FWD AND BKWD JMP .-1 /MOTION TIMES LDA I 5000 /SELECT MAINT REG TO IOB /LOOK AT UNITS AND MTN 6151 CLR IOB 6154 /SHOULD HAVE UNIT 1, SAE I /WRITE ENABLED, AND 5777 /FWD MOTION JMP .+2 /NOT YET JMP MARKSW OMKST, LDA I 0024 /START BACKWARD MOTION IOB 6152 JMP DSP2 /GO BACK AND TRY AGAIN MARKSW, LDA I 0200 AXO /TRY TO SET MARK FLOP CLR MSC I 1 /READ IT BACK ROL I 5 LZE I JMP OMKST /NOT YET PRESSED RET2, PDP /TO PDP8 MODE /MARK FLIP FLOP IS ON /AND TAPE IS FWD MTN. PMODE CLA 6151 /SET TAPE MAINT REG. /SO IOT 6154 WILL /TRANSFER AC TO TB JMP I ONMARK /*4200 / I REMOVED THIS /DSP3 /THIS ROUTINE IS USED AFTER CHECKING /A TAPE THAT THIS PROGRAM MARKED /FROM HERE THE USER CALLS DIAL OR /MARKS ANOTHER TAPE LMODE DSP3, JMP QAINIT /TO DISPLAY ROUTINE DT DS3 /CHECKING ROUTINE SETS /THIS LOCATION FOR FRAME /3 OR FRAME 4 ANS JMP DSP3R /REFRESH RETURN LDA /RETURN FROM LINE FEED ANS SHD I /NOW TEST THE ANSWER 6100 JMP DSP1 SHD I 6200 JMP STDIAL JMP DSP3 DSP3R, LDA /REJECT WRONG ANSWERS ANS SHD I 6100 JMP REFRESH S8D,I, .FD %+.Z[VM:=VV57H/ 7H< Y / 000 JMP REFRESH JMP DSP3 +AH[H[H[H[H[K+K+K+K+K(K$K$K(K(K(K(K(K(K(K(K(K(O$+$K K$K$ >=7????????