CLEAR STORAGE 1 ,008015,022026,030037,044,049,053053N000000N00001026 1 CLEAR STORAGE 2 L068116,105106,110117B101/I9I#071029C029056B026/B001/0991,001/001117I0? 2 BOOTSTRAP ,008015,022029,036040,047054,061068,072/061039 ,0010011040 3 0 MULTI-TAPE UTILITY WITH OVERLAP PAGE 1 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 101 JOB MULTI-TAPE UTILITY WITH OVERLAP 102 CTL 661 103 * 104 * SENSE SWITCHES. B-D AND F INTERROGATED ONLY WHEN THE PROGRAM 105 * STARTS. TO CHANGE THEM, TURN ON SWITCH E AND WAIT FOR STOP. 106 * 107 * A - LAST CARD 108 * B - CARD-TO-TAPE 3 109 * C - TAPE-2-TO-PRINT 110 * D - TAPE-4-TO-PUNCH 111 * E - SYNC ALL AND STOP. THIS IS USED TO RE-INTERROGATE THE 112 * SENSE SWITCHES AND RESTART DEMANDED OPERATIONS 113 * F - COLUMN 1 IS FORMS CONTROL 114 * B - SINGLE SPACE 115 * 0 - DOUBLE SPACE BEFORE LINE 116 * & - NO SPACE AFTER LINE 117 * 1-9 - NEW CHANNEL BEFORE LINE 118 * 119 * INDEX REGISTERS 120 * 121 X1 EQU 89 0089 122 X2 EQU 94 0094 123 * 124 ORG 333 0333 125 DCW @"@ GMWM 1 0333 126 START CS 332 4 0334 / 332 127 CS 1 0338 / 128 CS 1 0339 / 129 SW 1,101 7 0340 , 001 101 130 SW 201 4 0347 , 201 131 CW READ INDICATE CARD-TO-TAPE 4 0351 ) S14 132 CW PNCH INDICATE TAPE-TO-PUNCH 4 0355 ) S16 133 CW PRNT INDICATE TAPE-TO-PRINT 4 0359 ) S15 134 BSS *&5,B CARD-TO-TAPE? 5 0363 B 372 B 135 SW READ NO 4 0368 , S14 136 BSS *&5,C TAPE-TO-PRINT? 5 0372 B 381 C 137 SW PRNT NO 4 0377 , S15 138 BSS *&5,D TAPE-TO-PUNCH? 5 0381 B 390 D 139 SW PNCH NO 4 0386 , S16 140 * 141 * START DEVICES 142 * 143 BW NOREAD,READ 8 0390 V 403 S14 1 144 SS . TURN OFF OVERLAP 2 0398 K . 145 R READ FIRST CARD 1 0400 1 146 SS $ TURN ON OVERLAP 2 0401 K $ 147 * 1 MULTI-TAPE UTILITY WITH OVERLAP PAGE 2 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 148 NOREAD BW NOPRNT,PRNT 8 0403 V 418 S15 1 149 B RDTAPE READ FIRST TAPE RECORD 4 0411 B 783 150 DCW PRPKT PRINTER PACKET 3 0417 |31 151 * 152 NOPRNT BW NOPNCH,PNCH 8 0418 V 433 S16 1 153 B RDTAPE READ FIRST TAPE RECORD 4 0426 B 783 154 DCW PUPKT PUNCH PACKET 3 0432 |38 155 * 156 NOPNCH EQU *&1 0433 157 * 158 * MAIN PROCESSING LOOP 159 * 160 MAIN BSS SYNC,E SYNC DEVICES 5 0433 B 699 E 161 * READ A CARD? 162 BW NORD,READ BRANCH IF NOT READING 8 0438 V 471 S14 1 163 BIN NORD,H BRANCH IF READER BUSY 5 0446 B 471 H 164 MCW 80,CDBUF 7 0451 M 080 S12 165 BLC LASTCD 5 0458 B 628 A 166 R READ NEXT CARD 1 0463 1 167 B WRTAPE WRITE THE BUFFER JUST COPIED 4 0464 B 889 168 DCW CDPKT 3 0470 /26 169 NORD EQU *&1 0471 170 * PUNCH A CARD? 171 BW NOPU,PNCH BRANCH IF NOT PUNCHING 8 0471 V 499 S16 1 172 BIN NOPU,I BRANCH IF PUNCH PUSY 5 0479 B 499 I 173 MCW PUBUF,180 7 0484 M /24 180 174 P 1 0491 4 175 B RDTAPE READ NEXT RECORD TO PUNCH 4 0492 B 783 176 DCW PUPKT 3 0498 |38 177 NOPU EQU *&1 0499 178 * PRINT A LINE? 179 BW MAIN,PRNT BRANCH IF NOT PRINTING 8 0499 V 433 S15 1 180 BIN MAIN,P BRANCH IF PRINTER BUSY 5 0507 B 433 P 181 BIN MAIN,R BRANCH IF CARRIAGE BUSY 5 0512 B 433 R 182 B DOPRNT 4 0517 B 525 183 B MAIN 4 0521 B 433 184 * 185 * PRINT ROUTINE 186 * 187 DOPRNT SBR PRNTX&3 4 0525 H 596 188 BSS FF,F DOING FORM FEED? 5 0529 B 545 F 189 MCW 231,232 NO, PRINT THE FIRST CHARACTER 7 0534 M 231 232 190 B LINE 4 0541 B 585 191 FF BCE LINE,200, NO CC IF BLANK 8 0545 B 585 200 192 BCE NOSKIP,200,& 8 0553 B 597 200 & 193 BCE SKIP2,200,0 8 0561 B 603 200 0 194 BCE SKIP3,200,- 8 0569 B 609 200 - 195 BWZ SKIPCC,200,2 SKIP TO CHANNEL IF NO ZONE 8 0577 V 615 200 2 196 LINE W 1 0585 2 197 RDLINE B RDTAPE 4 0586 B 783 1 MULTI-TAPE UTILITY WITH OVERLAP PAGE 3 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 198 DCW PRPKT READ NEXT RECORD TO PRINT 3 0592 |31 199 PRNTX B 0-0 4 0593 B 000 200 NOSKIP 2S PRINT AND SUPPRESS SPACING 2 0597 2 S 201 B RDLINE 4 0599 B 586 202 SKIP2 CC J DOUBLE SPACE NOW 2 0603 F J 203 B LINE 4 0605 B 585 204 SKIP3 CC K TRIPLE SPACE NOW 2 0609 F K 205 B LINE 4 0611 B 585 206 SKIPCC MCW 200,*&2 7 0615 M 200 623 207 CC 0 2 0622 F 0 208 B LINE 4 0624 B 585 209 * 210 * EOF ROUTINES 211 * 212 CDEOT EQU *&1 0628 213 LASTCD B WRTAPE WRITE LAST CARD 4 0628 B 889 214 DCW CDPKT 3 0634 /26 215 B CDEOF INDICATE NOT READING 4 0635 B 643 216 B MAIN 4 0639 B 433 217 CDEOF SBR EOFRD&3 4 0643 H 664 218 SW READ INDICATE NOT READING 4 0647 , S14 219 WTM 3 5 0651 U %U3 M 220 RWU 3 5 0656 U %U3 U 221 EOFRD B 0-0 4 0661 B 000 222 * 223 PREOF SBR EOFPR&3 4 0665 H 681 224 SW PRNT INDICATE NOT PRINTING 4 0669 , S15 225 RWU 2 5 0673 U %U2 U 226 EOFPR B 0-0 4 0678 B 000 227 * 228 PUEOF SBR EOFPU&3 4 0682 H 698 229 SW PNCH INDICATE NOT PUNCHING 4 0686 , S16 230 RWU 4 5 0690 U %U4 U 231 EOFPU B 0-0 4 0695 B 000 232 * 233 * SYNC DEVICES AND STOP 234 * 235 SYNC B DOSYNC 4 0699 B 712 236 NOP 333 INDICATE SS E STOP 4 0703 N 333 237 H 1 0707 . 238 B START 4 0708 B 334 239 * 240 * JUST THE SYNCING PART, ALSO USED BY TAPE ERROR ROUTINE 241 * 242 DOSYNC SBR DOSYNX&3 4 0712 H 782 243 BIN *-4,H UNTIL READER DONE 5 0716 B 716 H 244 BW *&8,READ 8 0721 V 736 S14 1 245 B WRTAPE WRITE LAST CARD 4 0729 B 889 246 DCW CDPKT 3 0735 /26 247 BIN *-4,I UNTIL PUNCH DONE 5 0736 B 736 I 1 MULTI-TAPE UTILITY WITH OVERLAP PAGE 4 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 248 BW *&9,PNCH 8 0741 V 757 S16 1 249 MCW PUBUF,180 7 0749 M /24 180 250 P 1 0756 4 251 BIN *-4,P UNTIL PRINTER DONE 5 0757 B 757 P 252 BIN *-4,R UNTIL CC DONE 5 0762 B 762 R 253 BW *&5,PRNT 8 0767 V 779 S15 1 254 B DOPRNT 4 0775 B 525 255 DOSYNX B 0-0 4 0779 B 000 256 * 257 * TAPE I/O ROUTINES 258 * 259 * BRANCH TO READ ROUTINE IS FOLLOWED BY A PACKET ADDRESS. PACKET 260 * HAS UNIT NUMBER (ONE CHAR), BUFFER ADDRESS WITHOUT A WORD MARK, 261 * AND EOF ADDRESS. 262 * 263 RDTAPE SBR X1 SAVE ENTRY ADDRESS 4 0783 H 089 264 MCW 2&X1,X2 GET PACKET ADDRESS 7 0787 M 0|2 094 265 ZA ERRCT#2 SET COUNT TO 0 4 0794 ? S21 266 MCW 3&X2,*&7 MOVE BUFFER AND UNIT NUMBER TO INST 7 0798 M 0!3 811 267 REREAD RT 0,0-0 READ TAPE 8 0805 M %U0 000 R 268 BEF RDEOF 5 0813 B 827 K 269 BER RDERR 5 0818 B 842 L 270 B 3&X1 EXIT 4 0823 B 0|3 271 RDEOF MCW 6&X2,*&4 7 0827 M 0!6 837 272 B 0-0 BRANCH TO EOF ROUTINE 4 0834 B 000 273 B 3&X1 4 0838 B 0|3 274 RDERR MCW 0&X2,*&4 GET UNIT NUMBER 7 0842 M 0!0 852 275 BSP 0 5 0849 U %U0 B 276 A *-6,ERRCT 7 0854 A 854 S21 277 BCE REREAD,ERRCT-1,0 8 0861 B 805 S20 0 278 B DOSYNC SYNC FOR ERROR TERMINATION 4 0869 B 712 279 MCW 0&X2,*&4 GET UNIT NUMBER 7 0873 M 0!0 883 280 NOP 200 INDICATE TAPE READ ERROR STOP 4 0880 N 200 281 H 1 0884 . 282 B START 4 0885 B 334 283 * 284 * BRANCH TO WRITE ROUTINE IS FOLLOWED BY A PACKET ADDRESS. PACKET 285 * HAS UNIT NUMBER (ONE CHAR), BUFFER ADDRESS WITHOUT A WORD MARK, 286 * AND EOF ADDRESS. 287 * 288 WRTAPE SBR X1 SAVE ENTRY ADDRESS 4 0889 H 089 289 MCW 2&X1,X2 GET PACKET ADDRESS 7 0893 M 0|2 094 290 ZA ERRCT SET COUNT TO 0 4 0900 ? S21 291 MCW 3&X2,WRIT&7 MOVE BUFFER AND UNIT NUMBER TO INST 7 0904 M 0!3 923 292 REWRIT BEF WREOT 5 0911 B 933 K 293 WRIT WT 0,0-0 READ TAPE 8 0916 M %U0 000 W 294 BER WRERR 5 0924 B 944 L 295 B 3&X1 EXIT 4 0929 B 0|3 296 WREOT MCW 6&X2,*&4 7 0933 M 0!6 943 297 B 0-0 BRANCH TO EOT ROUTINE 4 0940 B 000 1 MULTI-TAPE UTILITY WITH OVERLAP PAGE 5 0 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 298 WRERR MCW 0&X2,*&4 GET UNIT NUMBER 7 0944 M 0!0 954 299 BSP 0 5 0951 U %U0 B 300 A *-6,ERRCT 7 0956 A 956 S21 301 BCE REWRIT,ERRCT-1,0 8 0963 B 911 S20 0 302 SKP 0 SET SKIP LATCH 5 0971 U %U0 E 303 A *-6,BADTAP 7 0976 A 976 S19 304 BCE REWRIT,BADTAP-2,0 8 0983 B 911 S17 0 305 * 100 BAD SPOTS ON THE TAPE 306 MCW 0&X2,*&4 7 0991 M 0!0 |01 307 WTM 0 5 0998 U %U0 M 308 MCW 0&X2,*&4 7 1003 M 0!0 |13 309 RWU 0 5 1010 U %U0 U 310 MCW 0&X2,*&4 7 1015 M 0!0 |25 311 NOP 200 4 1022 N 200 312 H 1 1026 . 313 B START 4 1027 B 334 314 * 315 * 316 * TAPE I/O PACKETS 317 * 318 PRPKT DCW 2 PRINTER TAPE UNIT NUMBER 1 1031 319 DC 200 PRINTER DOESN'T NEED EXTRA BUFFER 3 1034 320 DCW PREOF END-OF-FILE ROUTINE 3 1037 665 321 * 322 PUPKT DCW 4 PUNCH TAPE UNIT NUMBER 1 1038 323 DC PUBUF ADDRESS OF BUFFER 3 1041 /24 324 DCW PUEOF END-OF-FILE ROUTINE 3 1044 682 325 * 326 PUBUF DCW #80 80 1124 327 DCW @"@ GMWM 1 1125 328 * 329 CDPKT DCW 3 CARD TAPE UNIT NUMBER 1 1126 330 DC CDBUF 3 1129 S12 331 DCW CDEOT 3 1132 628 332 * 333 CDBUF DCW #80 80 1212 334 DCW @"@ GMWM 1 1213 335 * 336 * SWITCHES. WORD MARK MEANS SWITCH IS ** OFF ** 337 * 338 READ DCW #1 1 1214 339 PRNT DCW #1 1 1215 340 PNCH DCW #1 1 1216 341 * 342 BADTAP DCW @000@ 3 1219 ERRCT DCW #02 2 1221 AREA 343 END START / 334 080 1 MULTI-TAPE UTILITY WITH OVERLAP PAGE 6 0SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS BADTAP 1219 CDBUF 1212 CDEOF 643 CDEOT 628 CDPKT 1126 DOPRNT 525 DOSYNC 712 DOSYNX 779 EOFPR 678 EOFPU 695 EOFRD 661 ERRCT 1221 FF 545 LASTCD 628 LINE 585 MAIN 433 NOPNCH 433 NOPRNT 418 NOPU 499 NORD 471 NOREAD 403 NOSKIP 597 PNCH 1216 PREOF 665 PRNT 1215 PRNTX 593 PRPKT 1031 PUBUF 1124 PUEOF 682 PUPKT 1038 RDEOF 827 RDERR 842 RDLINE 586 RDTAPE 783 READ 1214 REREAD 805 REWRIT 911 SKIP2 603 SKIP3 609 SKIPCC 615 START 334 SYNC 699 WREOT 933 WRERR 944 WRIT 916 WRTAPE 889 X1 89 X2 94