FSETUP BCD 06/10/68 0250.6 9046 00000 1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 1 D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON 00032 ENTRY .SETUP MUST BE CALLED TO INITIALIZE SIMULATOR 00506 ENTRY KEYS TO TEST FOR CONSOLE ENTRY KEY DOWN 00476 ENTRY SW TO TEST FOR SENSE SWITCH DOWN 00474 ENTRY EVSW TO TEST FOR SENSE SWITCH EVER DOWN 00416 ENTRY CLOCON TURN ON THE SIMULATED CLOCK 00417 ENTRY CLOCOF TURN OFF THE CLOCK 00653 ENTRY EXIT CLOSE ALL FILES AND STOP 00670 ENTRY CHNCOM CLOSE ONLY SIMULATOR FILES AND CHAIN 00672 ENTRY DORMNT CLOSE ONLY SIMULATOR FILES AND STOP 00672 ENTRY DEAD SAME AS 'DORMNT' 00712 ENTRY HALT PANIC CLOSE WITH NO SHUTDOWN 00517 ENTRY WRITE6 TYPE A LINE IN 6-BIT MODE 00515 ENTRY WRIT6A TYPE 6-BIT LINE (NO TRAILING C.R.) 00536 ENTRY RED TO GET INTO RED SHIFT 00540 ENTRY BLACK TO GET INTO BLACK SHIFT 00557 ENTRY .SPRNT TO WRITE INTO '.TAPE. A3' 00632 ENTRY .FOUT TO CLOSE OUT '.TAPE. A3' THE FOLLOWING ARE PROVIDED GRATIS 00421 ENTRY SETFUL TO SWITCH CONSOLE TO 12-BIT MODE 00420 ENTRY SETBCD TO SWITCH CONSOLE TO 6-BIT MODE 00415 ENTRY WHOAMI GET USER IDENTIFICATION 00414 ENTRY GETBRK GET LAST BREAK SETTING 00413 ENTRY SETBRK SET BREAK LEVEL 00412 ENTRY WRFLXA PRINT ON CONSOLE (NO C.R.) 00411 ENTRY WRFLX PRINT ON CONSOLE 00410 ENTRY RDFLXA READ FROM CONSOLE EXTERN MDINIT,FCLOSE,BCOCT,GETMEM,SETMEM EXTERN FOPEN,FBUFFE,FWRFIL,FWRWAI,FPRNTE 1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 2 D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON OVLBGN MACRO MACRO TO OVERLAY CODE IFF SALMOD OVERLAY IF THIS IS FOR SALVAGER UNLIST .. IFF SALMOD .. OVLORG SET * SAVE CURRENT LOCATION COUNTER OVLBGN END OVLEND MACRO TURN OFF OVERLAY IFF SALMOD RE-ORIGIN IF SALVAGER ORG OVLORG .. IFF SALMOD TURN ON LISTING AGAIN LIST .. OVLEND END DFINE MACRO NAME DEFINE SYMBOL IFF SALMOD IF SALVAGER, PLANT RETURN OP CODE NAME TRA 1,4 .. IFF SALMOD,1,0 IF NOT, MAKE EXTERNAL SYMBOL EXTERN NAME .. DFINE END DEFINE MACRO NAME MAIN MACRO TO DEFINE SYMBOLS IRP NAME ALLOW FOR LOTS OF SYMBOLS DFINE NAME DEFINE SYMBOL IRP DEFINE END 1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 3 D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON TRANSFER VECTOR 00000 442431453163 MDINIT 00001 262343466225 FCLOSE 00002 222346236360 BCOCT 00003 272563442544 GETMEM 00004 622563442544 SETMEM 00005 264647254560 FOPEN 00006 262264262625 FBUFFE 00007 266651263143 FWRFIL 00010 266651662131 FWRWAI 00011 264751456325 FPRNTE 00012 622563314660 SETIO 00013 314626314531 IOFINI 00014 314651622563 IORSET 00015 254522626660 ENBSW 00016 314662636060 IOST 00017 314651626060 IORS 00020 216363212330 ATTACH 00021 475145632551 PRNTER 00022 234346622560 CLOSE 00023 222623434662 BFCLOS 00024 222324252360 BCDEC 00025 216463304651 AUTHOR 00026 644751652263 UPRVBT 00027 266233636263 FS.TST LINKAGE DIRECTOR 00030 000000000000 00031 336225636447 00000 SALMOD EQU 0 NON-ZERO IF SALVAGER MODULE 00032 DEFINE (SETIO,IOFINI,IORSET,ENBSW) 00032 DEFINE (IOST,IORS) 00032 DEFINE (ATTACH,PRNTER) 00032 DEFINE (CLOSE,BFCLOS) 00032 DEFINE (BCDEC) 00032 DEFINE (AUTHOR,UPRVBT,FS.TST) 00032 1 77777 4 00033 .SETUP TXI *+1,4,-1 SET UP RETURN 00033 0636 00 4 00407 SCA RETURN,4 .. 00034 -0625 00 0 00443 STL RETSW SET RETURN SWITCH 00035 0760 00 0 00016 LMTM 7-TAG MODE FOR I/O SYSTEM 00036 0074 00 4 00000 TSX MDINIT,4 SET UP SIMULATOR ADAPTER 00037 -0625 00 0 00652 STL SPRNSW ASSUME USER WANTS A3 00040 OVLBGN OVERLAY CODE IF THIS IS SALVAGER 00040 0074 00 4 00415 TSX WHOAMI,4 GET PROGRAMMER NUMBER 00041 3 00002 0 00422 PTH WD,,2 .. 00042 0074 00 4 00024 TSX BCDEC,4 CONVERT TO BINARY 00043 3 00000 0 00423 PTH WD+1 .. 1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 4 D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON 00044 0601 00 0 00434 STO AUTHR CALL THIS USER'S AUTHOR NUMBER 00045 0074 00 4 00016 TSX IOST,4 SET UP ENABLE TRAPS, ETC. 00046 0074 00 4 00012 TSX SETIO,4 INITIALIZE PSEUDO FILE SYSTEM 00047 3 00000 0 00434 PTH AUTHR AUTHNO OF THIS USER 00050 OVLEND END OF SALVAGER OVERLAY 00050 0074 00 4 00003 TSX GETMEM,4 GET MEMBND 00051 0621 00 0 00624 STA A3BUF TO BUFFER '.TAPE. A3' WITH 00052 0400 00 0 00724 ADD =432 00053 0074 00 4 00004 TSX SETMEM,4 RESET IT 00054 -0600 00 0 00436 BREAK STQ MQ HERE ON INTERRUPTS, SAVE MACHINE 00055 0604 00 0 00441 STI SI SENSE INDICATORS 00056 0602 00 0 00435 SLW LAC LOGICAL AC 00057 0771 00 0 00002 ARS 2 S AND Q BITS OF AC 00060 0601 00 0 00437 STO SQ .. 00061 0600 00 0 00440 STZ OV OVERFLOW TRIGGER 00062 -0140 00 0 00064 TNO *+2 TEST TRIGGER 00063 -0625 00 0 00440 STL OV ON, SET SWITCH 00064 0636 00 4 00404 SCA X4,4 SAVE INDEX REGISTER 4 00065 0634 00 2 00405 SXA X2,2 00066 0634 00 1 00406 SXA X1,1 00067 0074 00 4 00420 TSX SETBCD,4 MAKE SURE IN 6-BIT MODE 00070 0621 00 0 00442 STA MODE SAVE OLD MODE 00071 0074 00 4 00536 TYPE TSX RED,4 ZOW, RED LETTERS 00072 0074 00 4 00411 TSX WRFLX,4 ANNOUNCE THAT WE ARE LISTENING 00073 0 00001 0 00746 =HTYPE..,,1 .. 00074 0074 00 4 00540 TSX BLACK,4 BACK TO BLACK LETTERS 00075 0074 00 4 00410 TSX RDFLXA,4 READ REQUEST LINE 00076 0 00005 0 00422 WD,,NIN INTO INPUT BUFFER 00077 0774 00 1 00005 AXT NOUT,1 THEN BREAK IT INTO ARGUMENTS 00100 0774 00 4 00005 AXT NIN,4 00101 -0625 00 0 00320 NEWOUT STL BL INITIALIZE NEXT OUTPUT WORD 00102 -0500 00 0 00742 CAL =H TO BE BLANK 00103 0602 00 1 00434 SLW RQUEST+NOUT,1 00104 0560 00 4 00427 INPUT LDQ WD+NIN,4 GET SOME INPUT 00105 0774 00 2 00006 AXT 6,2 (6 CHARS. WORTH) 00106 -0754 00 0 00000 NXTCHR ZAC 00107 -0763 00 0 00006 LGL 6 GET A CHARACTER 00110 -0340 00 0 00723 LAS =O60 IS IT 'BLANK'.Q. 00111 0020 00 0 00116 TRA OK NO. 00112 0020 00 0 00133 TRA BLANK YES. MAY END ARGUMENT. 00113 -0340 00 0 00722 LAS =O55 IS IT 'CR' OR 'NULL'.Q. 00114 0020 00 0 00123 TRA IGNORE 'NULL', IGNORE IT. 00115 0020 00 0 00125 TRA ENDINP 'CR', END OF INPUT. 00116 0600 00 0 00320 OK STZ BL NOPE. NORMAL CHARACTER. 00117 -0765 00 0 00006 LGR 6 00120 -0500 00 1 00434 CAL RQUEST+NOUT,1 PUT IT ON END OF ARGUMENT 00121 -0763 00 0 00006 LGL 6 00122 0602 00 1 00434 SLW RQUEST+NOUT,1 AND SAVE. 00123 2 00001 2 00106 IGNORE TIX NXTCHR,2,1 ANYTHING LEFT IN MQ.Q. 1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 5 D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON 00124 2 00001 4 00104 TIX INPUT,4,1 NO. IS THERE ANY MORE INPUT.Q. 00125 -0520 00 0 00320 ENDINP NZT BL NO. IS CURRENT ARG EMPTY.Q. 00126 -2 00001 1 00140 TNX CKRQST,1,1 NO. SKIP PAST IT. 00127 -0500 00 0 00317 CAL STAR SET REMAINING ARGS TO '*' 00130 0602 00 1 00434 SLW RQUEST+NOUT,1 00131 2 00001 1 00130 TIX *-1,1,1 ALL OF THEM. 00132 0020 00 0 00140 TRA CKRQST GO SEE WHAT WE'VE GOT 00133 0520 00 0 00320 BLANK ZET BL IS THIS THE FIRST BLANK.Q. 00134 0020 00 0 00123 TRA IGNORE NO. IGNORE IT. 00135 -0625 00 0 00320 STL BL YES. 00136 -0500 00 0 00742 CAL =H CLOSE THIS ARG. 00137 2 00001 1 00122 TIX IGNORE-1,1,1 00140 -0500 00 0 00427 CKRQST CAL RQUEST 00141 0774 00 4 00030 AXT NCOMS,4 TEST KEY WORD AGAINST TABLE 00142 -0340 00 4 00474 LAS CTABLE+NCOMS,4 .. 00143 0020 00 0 00145 TRA *+2 GREATER, KEEP LOOKING 00144 0020 60 4 00475 TRA* CTABLE+NCOMS+1,4 MATCH, GO TO ROUTINE 00145 2 00002 4 00142 TIX *-3,4,2 LOOP BACK AND TRY AGAIN 00146 0074 00 4 00536 TSX RED,4 00147 0074 00 4 00412 TSX WRFLXA,4 00150 0 00001 0 00427 RQUEST,,1 00151 0074 00 4 00411 TSX WRFLX,4 00152 0 00002 0 00155 IGN,,2 00153 0074 00 4 00540 TSX BLACK,4 00154 0020 00 0 00071 TRA TYPE NOBODY MATCHES, READ NEW LINE 00155 603127454651 IGN BCI 2, IGNORED. 00156 252433606060 00157 -0500 00 0 00430 SENSE CAL RQUEST+1 00160 0322 00 0 00317 ERA STAR 00161 0100 00 0 00071 TZE TYPE 00162 0074 00 4 00002 TSX BCOCT,4 SENSE SWITCH SETTING, CONVERT WORD 00163 3 00000 0 00430 PTH RQUEST+1 .. 00164 0767 00 0 00036 ALS 30 JUSTIFY WORD PROPERLY 00165 0602 00 0 00513 SLW SWS SAVE IT 00166 -0602 00 0 00511 ORS EVSWS BLEND IN WITH MEMORY CELL 00167 0020 00 0 00071 TRA TYPE READ SOME MORE LINES 00170 -0500 00 0 00430 ENTRY CAL RQUEST+1 00171 0322 00 0 00317 ERA STAR 00172 -0100 00 0 00176 TNZ *+4 00173 -0500 00 0 00514 CAL CKEYS 00174 -0320 00 0 00753 ANA =O777777000000 00175 0020 00 0 00201 TRA *+4 00176 0074 00 4 00002 TSX BCOCT,4 CONVERT LEFT-HALF OF ENTRY KEYS 00177 3 00000 0 00430 PTH RQUEST+1 .. 00200 0767 00 0 00022 ALS 18 POSITION IT PROPERLY 00201 0044 00 0 00000 PAI 00202 -0500 00 0 00431 CAL RQUEST+2 00203 0322 00 0 00317 ERA STAR 00204 -0100 00 0 00210 TNZ *+4 00205 -0500 00 0 00514 CAL CKEYS 00206 -0320 00 0 00725 ANA =O777777 1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 6 D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON 00207 0020 00 0 00212 TRA *+3 00210 0074 00 4 00002 TSX BCOCT,4 CONVERT RIGHT-HALF OF CONSOLE KEYS 00211 3 00000 0 00431 PTH RQUEST+2 .. 00212 0043 00 0 00000 OAI MERGE WITH LEFT-HALF 00213 0604 00 0 00514 STI CKEYS 00214 0020 00 0 00071 TRA TYPE READ SOME MORE LINES 00215 0760 00 0 00016 RESET LMTM RESET, GET BACK TO 7-TAG MODE 00216 OVLBGN START OF SALVAGER OVERLAY 00216 -0625 60 0 00015 STL* ENBSW SET SWITCH FOR ALLSAV 00217 0074 00 4 00017 TSX IORS,4 KILL WAITING TRAPS 00220 0074 00 4 00014 TSX IORSET,4 RESET FILE SYSTEM 00221 0074 00 4 00013 TSX IOFINI,4 MAKE SURE UPDATED 00222 3 00000 0 00223 PTH *+1 NO ERRORS, PLEASE 00223 OVLEND END OF SALVAGER OVERLAY 00223 0020 00 0 00071 TRA TYPE READ SOME MORE LINES 00224 0074 00 4 00417 CLOCK TSX CLOCOF,4 FIRST, TURN OFF THE CLOCK 00225 -0500 00 0 00430 CAL RQUEST+1 CHECK ACTION DESIRED 00226 0322 00 0 00737 ERA =H OFF TEST FOR THE WORD 'OFF' 00227 0100 00 0 00071 TZE TYPE THAT'S IT, ALL DONE 00230 0074 00 4 00416 TSX CLOCON,4 NOT 'OFF', TURN IT ON 00231 0020 00 0 00071 TRA TYPE GET SOME MORE INPUT 00232 ATTCH EQU * OFFER THE OPTION TO ATTACH TO A DIRECTORY 00232 OVLBGN NO ATTACHES FOR SALVAGER 00232 0074 00 4 00020 TSX ATTACH,4 ATTACH TO DIRECTORY INDICATED 00233 3 00000 0 00430 PTH RQUEST+1 IN COLUMNS 7 - 12 00234 3 00000 0 00431 PTH RQUEST+2 AND COLUMNS 13 - 18 00235 3 00000 0 00237 PTH *+2 GRIPE ABOUT ERRORS 00236 0020 00 0 00071 TRA TYPE IF OK, GET MORE INPUT 00237 0074 00 4 00021 TSX PRNTER,4 FILE SYSTEM GRIPE 00240 OVLEND END OF OVERLAY 00240 0020 00 0 00071 TRA TYPE GET MORE LINES OF INPUT 00241 PRIVL BSS 0 00241 OVLBGN 00241 -0500 00 0 00430 CAL RQUEST+1 HERE TO CHANGE RESTRICTION CODE 00242 0774 00 4 00012 AXT NRCOD,4 CHECK FOR SPECIAL LEFT-HALF ARGS. 00243 -0340 00 4 00273 LAS RCODES+NRCOD,4 00244 0020 00 0 00246 TRA *+2 00245 0020 00 0 00252 TRA *+5 00246 2 00002 4 00243 TIX *-3,4,2 00247 0074 00 1 00273 TSX PROCES,1 PROCESS BOTH HALVES 1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 7 D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON 00250 -0500 60 0 00026 CAL* UPRVBT POINTER TO OLD RCODE 00251 0020 00 0 00255 TRA *+4 00252 0441 00 4 00274 LDI RCODES+NRCOD+1,4 GET NUMERIC EQUIV. OF ARG. 00253 0074 00 1 00305 TSX PROCS1,1 THEN PROCESS RIGHT-HALF 00254 -0500 60 0 00026 CAL* UPRVBT POINTER TO OLD RCODE 00255 0604 60 0 00026 STI* UPRVBT INSERT NEW RESTRICTION CODE 00256 0074 00 4 00003 TSX GETMEM,4 00257 0074 00 4 00004 TSX SETMEM,4 AND FORCE 'IOPAC' TO GIVE IT TO F.S. 00260 OVLEND 00260 0020 00 0 00071 TRA TYPE GO FOR MORE 00261 242125444645 RCODES BCI 1,DAEMON 00262 +007010000000 OCT 007010000000 00263 606060263122 BCI 1, FIB 00264 +013004000000 OCT 013004000000 00265 264651252751 BCI 1,FOREGR 00266 +015002000000 OCT 015002000000 00267 475165234644 BCI 1,PRVCOM 00270 +015022000037 OCT 015022000037 00271 222123422751 BCI 1,BACKGR 00272 +016001000000 OCT 016001000000 00012 NRCOD EQU *-RCODES 00273 -0500 00 0 00430 PROCES CAL RQUEST+1 PROCESS LEFT-HALF RCODE 00274 0322 00 0 00317 ERA STAR CHECK FOR '*' 00275 -0100 00 0 00301 TNZ *+4 00276 0522 00 1 00001 XEC 1,1 IS '*', USE OLD LEFT HALF 00277 -0320 00 0 00753 ANA =O777777000000 00300 0020 00 0 00304 TRA *+4 00301 0074 00 4 00002 TSX BCOCT,4 NOT '*', CONVERT ARG. 00302 3 00000 0 00430 PTH RQUEST+1 00303 0767 00 0 00022 ALS 18 PUT IN LEFT HALF 00304 0044 00 0 00000 PAI SAVE NEW LEFT HALF IN SI 00305 -0500 00 0 00431 PROCS1 CAL RQUEST+2 NOW FOR RIGHT HALF 00306 0322 00 0 00317 ERA STAR CHECK FOR '*' 00307 -0100 00 0 00313 TNZ *+4 00310 0522 00 1 00001 XEC 1,1 IS '*', USE OLD RIGHT HALF 00311 -0320 00 0 00725 ANA =O777777 00312 0020 00 0 00315 TRA *+3 00313 0074 00 4 00002 TSX BCOCT,4 NOT '*', CONVERT ARG. 00314 3 00000 0 00431 PTH RQUEST+2 00315 0043 00 0 00000 OAI ADD RIGHT HALF TO LEFT 00316 0020 00 1 00002 TRA 2,1 AND RETURN 00317 606060606054 STAR BCI 1, * 00320 0 00000 0 00000 BL 00321 AUTH BSS 0 00321 OVLBGN 1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 8 D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON 00321 -0500 00 0 00430 CAL RQUEST+1 00322 0322 00 0 00317 ERA STAR 00323 -0100 00 0 00326 TNZ *+3 00324 0500 00 0 00434 CLA AUTHR 00325 0020 00 0 00330 TRA *+3 00326 0074 00 4 00024 TSX BCDEC,4 00327 3 00000 0 00430 PTH RQUEST+1 00330 0601 60 0 00025 STO* AUTHOR 00331 0074 00 4 00003 TSX GETMEM,4 00332 0074 00 4 00004 TSX SETMEM,4 00333 OVLEND 00333 0020 00 0 00071 TRA TYPE 00334 GOD BSS 0 00334 OVLBGN 00334 0600 60 0 00027 STZ* FS.TST 00335 -0500 00 0 00430 CAL RQUEST+1 00336 0322 00 0 00741 ERA =H ON 00337 -0100 00 0 00071 TNZ TYPE 00340 -0625 60 0 00027 STL* FS.TST 00341 OVLEND 00341 0020 00 0 00071 TRA TYPE 00342 -0500 00 0 00430 A3SET CAL RQUEST+1 00343 0322 00 0 00737 ERA =H OFF 00344 0602 00 0 00652 SLW SPRNSW 00345 -0100 00 0 00071 TNZ TYPE IF TURNED ON, EXIT 00346 0074 00 4 00001 TSX FCLOSE,4 OTHERWISE, CLOSE FILE. 00347 3 00000 0 00734 PTH =H.TAPE. 00350 3 00000 0 00740 PTH =H A3 00351 3 00000 0 00351 PTH * NO ERRORS, PLEASE 00352 0020 00 0 00071 TRA TYPE 00353 0074 00 4 00413 START TSX SETBRK,4 END OF INPUT, RESET BREAK LEVEL 00354 0 00000 0 00054 PZE BREAK .. 00355 -0500 00 0 00430 CAL RQUEST+1 00356 0322 00 0 00317 ERA STAR 00357 0100 00 0 00365 TZE *+6 00360 0074 00 4 00002 TSX BCOCT,4 SEE IF WHERE TO START IS SPECIFIED 00361 3 00000 0 00430 PTH RQUEST+1 LOOK AT SECOND WORD 00362 0100 00 0 00365 TZE *+3 IF ZERO, CONTINUE WITH PROGRAM 00363 0621 00 0 00407 STA RETURN IF NOT, SET NEW LOCATION 00364 -0625 00 0 00443 STL RETSW INDICATE RETURN ALREADY SET 00365 0074 00 4 00414 TSX GETBRK,4 GET RETURN LOCATION 00366 -0520 00 0 00443 NZT RETSW IF NON-ZERO, RETURN IS ALREADY SET 00367 0621 00 0 00407 STA RETURN SAVE RETURN 00370 0600 00 0 00443 STZ RETSW RESET RETURN SWITCH 1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 9 D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON 00371 0520 00 0 00442 ZET MODE TEST FOR PREVIOUS CONSOLE MODE 00372 0074 00 4 00421 TSX SETFUL,4 12-BIT, MAKE IT SO 00373 0560 00 0 00437 LDQ SQ RESTORE S AND Q BITS 00374 0500 00 0 00374 CLA * GET BITS INTO AC 00375 0763 00 0 00001 LLS 1 THAT SHIFT DOES THE S BIT 00376 0767 00 0 00044 ALS 36 AND THIS ONE DOES THE Q BIT 00377 -0501 00 0 00435 ORA LAC NOW RESTORE LOGICAL AC 00400 -0520 00 0 00440 NZT OV TEST OVERFLOW SWITCH 00401 0140 00 0 00402 TOV *+1 OFF, TURN OFF OVERFLOW 00402 0560 00 0 00436 LDQ MQ RESTORE MQ 00403 0441 00 0 00441 LDI SI AND THE SI 00404 -0774 00 4 00000 X4 AXC **,4 RESTORE INDEX REGISTER 4 00405 0774 00 2 00000 X2 AXT **,2 00406 0774 00 1 00000 X1 AXT **,1 00407 0020 00 0 00000 RETURN TRA ** RETURN TO INTERRUPTED PROGRAM 00410 0101 00 0 00736 RDFLXA TIA =HRDFLXA SUPERVISOR CALLS 00411 0101 00 0 00751 WRFLX TIA =HWRFLX .. 00412 0101 00 0 00750 WRFLXA TIA =HWRFLXA .. 00413 0101 00 0 00744 SETBRK TIA =HSETBRK .. 00414 0101 00 0 00733 GETBRK TIA =HGETBRK .. 00415 0101 00 0 00747 WHOAMI TIA =HWHOAMI .. 00416 0101 00 0 00731 CLOCON TIA =HCLOCON .. 00417 0101 00 0 00730 CLOCOF TIA =HCLOCOF .. 00420 0101 00 0 00743 SETBCD TIA =HSETBCD .. 00421 0101 00 0 00745 SETFUL TIA =HSETFUL .. 00005 NIN EQU 5 NUMBER OF WORDS TO READ 00005 NOUT EQU 5 MAXIMUM NUMBER OF ARGS. 00422 WD BSS NIN INPUT BUFFER 00427 RQUEST BSS NOUT BUFFER FOR REQUESTS 00434 AUTHR BSS 1 USER AUTHOR NUMBER 00435 LAC BSS 1 STORAGE FOR MACHINE CONDITIONS 00436 MQ BSS 1 .. 00437 SQ BSS 1 .. 00440 OV BSS 1 .. 00441 SI BSS 1 .. 00442 MODE BSS 1 .. 00443 RETSW BSS 1 RETURN SWITCH 1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 10 D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON 00444 606225456225 CTABLE BCI 1, SENSE ALLOWABLE COMMANDS 00445 3 00000 0 00157 PTH SENSE 00446 602545635170 BCI 1, ENTRY 00447 3 00000 0 00170 PTH ENTRY 00450 602343462342 BCI 1, CLOCK 00451 3 00000 0 00224 PTH CLOCK 00452 216363212330 BCI 1,ATTACH 00453 3 00000 0 00232 PTH ATTCH 00454 606263215163 BCI 1, START 00455 3 00000 0 00353 PTH START 00456 606223512144 BCI 1, SCRAM 00457 3 00000 0 00653 PTH EXIT 00460 233045234644 BCI 1,CHNCOM 00461 3 00000 0 00670 PTH CHNCOM 00462 605125622563 BCI 1, RESET 00463 3 00000 0 00215 PTH RESET 00464 604751316543 BCI 1, PRIVL 00465 3 00000 0 00241 PTH PRIVL 00466 216463304651 BCI 1,AUTHOR 00467 3 00000 0 00321 PTH AUTH 00470 606060274624 BCI 1, GOD 00471 3 00000 0 00334 PTH GOD 00472 606060602103 BCI 1, A3 00473 3 00000 0 00342 PTH A3SET 00030 NCOMS EQU *-CTABLE 1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 11 D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON KEY AND SENSE SWITCH TESTING 00474 0500 00 0 00510 EVSW CLA EVPT GET POINTER TO MEMORY CELL 00475 0020 00 0 00477 TRA *+2 SKIP ALTERNATE ENTRY POINT 00476 0500 00 0 00512 SW CLA SWPT GET POINTER TO CURRENT SWITCHES 00477 0621 00 0 00502 STA TESTSW SET PROPER POINTER 00500 0500 60 4 00001 CLA* 1,4 PICK UP SWITCH TO BE TESTED 00501 0621 00 0 00503 STA TESTSW+1 SAVE THE NUMBER 00502 0560 00 0 00000 TESTSW LDQ ** GET BINARY SWITCHES 00503 -0763 00 0 00000 LGL ** POSITION PROPER BIT 00504 -0320 00 0 00717 ANA =O1 MASK OUT EXTRANEOUS GARBAGE 00505 0020 00 4 00002 TRA 2,4 RETURN TO CALLER 00506 0500 00 0 00514 KEYS CLA CKEYS RETURN SIGNED ANSWER TO MAD CALLER 00507 0020 00 4 00001 TRA 1,4 RETURN TO CALLER 00510 0 00000 0 00511 EVPT PZE EVSWS POINTER TO MEMORY CELL 00511 +000000000000 EVSWS OCT 0 REMEMBERS ALL SWITCHES DOWN 00512 0 00000 0 00513 SWPT PZE SWS POINTER TO CURRENT SETTINGS 00513 +000000000000 SWS OCT 0 CURRENT SENSE SWITCH SETTINGS 00514 +000000000000 CKEYS OCT 0 CURRENT CONSOLE ENTRY KEYS 1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 12 D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON ROUTINE TO TYPE A LINE IN 6-BIT MODE AND RETURN TO PREVIOUS MODE 00515 0500 00 0 00412 WRIT6A CLA WRFLXA PICK UP 'TIA' TO WRFLXA 00516 0020 00 0 00520 TRA WRITE6+1 REJOIN ROUTINE 00517 0500 00 0 00411 WRITE6 CLA WRFLX PICK UP 'TIA' TO WRFLX 00520 0601 00 0 00535 STO WRITE PLANT FOR WRITE CALL LATER 00521 0636 00 4 00532 SCA W6X4,4 SAVE LINKAGE 00522 -0500 00 4 00001 CAL 1,4 GET ARGUMENT TO ROUTINE 00523 0602 00 0 00527 SLW WROUT AND PLANT IT 00524 0074 00 4 00420 TSX SETBCD,4 GET INTO 6-BIT MODE 00525 0621 00 0 00534 STA WMODE AND REMEMBER OLD MODE 00526 0074 00 4 00535 TSX WRITE,4 TYPE LINE 00527 0 00000 0 00000 WROUT **,,** .. 00530 0520 00 0 00534 ZET WMODE TEST OLD MODE 00531 0074 00 4 00421 TSX SETFUL,4 12-BIT, RETURN TO IT 00532 -0774 00 4 00000 W6X4 AXC **,4 RESTORE LINKAGE 00533 0020 00 4 00002 TRA 2,4 RETURN TO CALLER 00534 WMODE BSS 1 NON-ZERO IF CONSOLE WAS IN 12-BIT MODE 00535 WRITE BSS 1 'TIA' TO PROPER SUPERVISOR CALL 1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 13 D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON RED/BLACK SHIFTS FOR NICE PRINT-OUTS 00536 -0500 00 0 00553 RED CAL RDSHFT GET RED SHIFT-CODE 00537 0020 00 0 00541 TRA BLACK+1 REJOIN ROUTINE 00540 -0500 00 0 00554 BLACK CAL BLSHFT GET BLACK SHIFT-CODE 00541 0602 00 0 00555 SLW CSHFT SAVE COLOR SHIFT 00542 0636 00 4 00551 SCA SHX4,4 SAVE LINKAGE 00543 0074 00 4 00421 TSX SETFUL,4 NEED 12-BIT MODE FOR COLOR SHIFTING 00544 0621 00 0 00556 STA SMODE REMEMBER OLD MODE 00545 0074 00 4 00412 TSX WRFLXA,4 PRINT COLOR SHIFT CHARACTER 00546 0 00001 0 00555 CSHFT,,1 .. 00547 -0520 00 0 00556 NZT SMODE TEST OLD MODE 00550 0074 00 4 00420 TSX SETBCD,4 6-BIT, RETURN TO IT 00551 -0774 00 4 00000 SHX4 AXC **,4 RESTORE LINKAGE 00552 0020 00 4 00001 TRA 1,4 RETURN TO CALLER 00553 +013300570057 RDSHFT OCT 013300570057 RED SHIFT AND TWO NULLS 00554 +013200570057 BLSHFT OCT 013200570057 BLACK SHIFT AND TWO NULLS 00555 CSHFT BSS 1 DESIRED SHIFT CODE 00556 SMODE BSS 1 NON-ZERO IF CONSOLE WAS IN 12-BIT MODE 1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 14 D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON HERE TO WRITE PSEUDO-TAPE 00557 -0520 00 0 00652 .SPRNT NZT SPRNSW DOES USER WANT TAPE.Q. 00560 0020 00 4 00002 TRA 2,4 NO. RETURN IMMEDIATELY. 00561 0634 00 4 00605 SXA SX4,4 00562 -0500 00 4 00001 CAL 1,4 GET POINTER TO DATA 00563 0621 00 0 00604 STA WRDATA AND PUT IN F.S. CALL 00564 0622 00 0 00604 STD WRDATA 00565 -0734 00 4 00000 PDX ,4 00566 0634 00 4 00650 SXA LNMRK,4 AND LENGTH IN LINEMARK 00567 0074 00 4 00007 SPRNT TSX FWRFIL,4 WRITE LINE-MARK 00570 3 00000 0 00734 PTH =H.TAPE. 00571 3 00000 0 00740 PTH =H A3 00572 3 00000 0 00716 PTH =0 ALWAYS APPENDING 00573 3 00001 0 00650 PTH LNMRK,,1 00574 3 00000 0 00735 PTH =-0 NO EOF'S 00575 3 00000 0 00735 PTH =-0 00576 3 00000 0 00607 PTH OPEN.Q ERROR, MAYBE NOT OPEN.Q. 00577 3 00000 0 00651 PTH CODE 00600 0074 00 4 00010 TSX FWRWAI,4 NOW WRITE DATA 00601 3 00000 0 00734 PTH =H.TAPE. 00602 3 00000 0 00740 PTH =H A3 00603 3 00000 0 00716 PTH =0 00604 3 00000 0 00000 WRDATA PTH **,,** 00605 0774 00 4 00000 SX4 AXT **,4 NO EOF'S OR ERROR'S 00606 0020 00 4 00002 TRA 2,4 00607 -0500 00 0 00651 OPEN.Q CAL CODE ERROR WRITING 00610 0402 00 0 00721 SUB =3 WAS IT 'FILE NOT ACTIVE'.Q. 00611 -0100 00 0 00627 TNZ EREXIT NO. REAL ERROR. COMPLAIN. 00612 0074 00 4 00005 TSX FOPEN,4 YES. OPEN THE FILE 00613 3 00000 0 00752 PTH =HW 00614 3 00000 0 00734 PTH =H.TAPE. 00615 3 00000 0 00740 PTH =H A3 00616 3 00000 0 00716 PTH =0 00617 3 00000 0 00720 PTH =2 00620 3 00000 0 00627 PTH EREXIT COMPLAIN IF ERROR 00621 0074 00 4 00006 TSX FBUFFE,4 ALSO BUFFER IT 00622 3 00000 0 00734 PTH =H.TAPE. 00623 3 00000 0 00740 PTH =H A3 00624 3 00660 0 00000 A3BUF PTH **,,432 00625 3 00000 0 00627 PTH EREXIT COMPLAIN IF ERROR 00626 0020 00 0 00567 TRA SPRNT TRY WRITING AGAIN. 00627 0600 00 0 00652 EREXIT STZ SPRNSW STOP TRYING TO WRITE 00630 0074 00 4 00011 TSX FPRNTE,4 COMPLAIN ABOUT ERROR 00631 0020 00 0 00605 TRA SX4 THEN RETURN. 00632 0634 00 4 00640 .FOUT SXA FX4,4 HERE TO CLOSE '.TAPE. A3' 00633 0074 00 4 00001 TSX FCLOSE,4 00634 3 00000 0 00734 PTH =H.TAPE. 00635 3 00000 0 00740 PTH =H A3 00636 3 00000 0 00642 PTH FOUTER POSSIBLE ERROR 00637 3 00000 0 00651 PTH CODE 00640 0774 00 4 00000 FX4 AXT **,4 1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 15 D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON 00641 0020 00 4 00001 TRA 1,4 RETURN 00642 0500 00 0 00651 FOUTER CLA CODE IF ERROR WAS 00643 0402 00 0 00721 SUB =3 'FILE NOT ACTIVE', 00644 0100 00 0 00640 TZE FX4 DON'T COMPLAIN. 00645 0520 00 0 00652 ZET SPRNSW ALSO IF USER DOESN'T WANT FILE. 00646 0074 00 4 00011 TSX FPRNTE,4 OTHERWISE ... 00647 0020 00 0 00640 TRA FX4 AND RETURN. 00650 -377777000000 LNMRK OCT 777777000000 00651 0 00000 0 00000 CODE 00652 0 00000 0 00000 SPRNSW 1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 16 D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON EXIT AND SHUT-DOWN ROUTINES 00653 0636 00 4 00666 EXIT SCA EXITX4,4 SAVE LINKAGE 00654 0074 00 4 00517 TSX WRITE6,4 ANNOUNCE THAT 'EXIT' WAS CALLED 00655 0 00002 0 00714 EXITMS,,2 .. 00656 OVLBGN SKIP THIS CODE IF SALVAGER 00656 0074 00 4 00023 TSX BFCLOS,4 CLOSE ANY 'BF' FILES 00657 3 00000 0 00726 PTH =HALL .. 00660 3 00000 0 00735 PTH =-0 .. 00661 3 00000 0 00662 PTH *+1 NO ERRORS, PLEASE 00662 0074 00 4 00022 TSX CLOSE,4 CLOSE SIMULATED FILES 00663 3 00000 0 00726 PTH =HALL ALL OF THEM 00664 3 00000 0 00735 PTH =-0 .. 00665 3 00000 0 00666 PTH *+1 IGNORE ERRORS 00666 OVLEND END OF SALVAGER OVERLAY 00666 -0774 00 4 00000 EXITX4 AXC **,4 RESTORE LINKAGE 00667 0020 00 0 00672 TRA DORMNT SET TO GO DORMANT 00670 -0500 00 0 00727 CHNCOM CAL =HCHNCOM SET CALL TO CONTINUE CHAIN, IF ANY 00671 1 77777 4 00673 TXI DORMNT+1,4,-1 ADJUST CALL LINKAGE 00672 DEAD EQU * DEAD IS SAME AS DORMNT 00672 -0500 00 0 00732 DORMNT CAL =HDORMNT SET CALL TO STOP 00673 0602 00 0 00713 SLW CHAIN+1 PLANT PROPER WORD 00674 1 77777 4 00675 TXI *+1,4,-1 ADJUST LINKAGE FOR RETURNS 00675 0636 00 4 00407 SCA RETURN,4 SAVE RETURN 00676 -0625 00 0 00443 STL RETSW SET RETURN SWITCH 00677 0074 00 4 00632 TSX .FOUT,4 CLOSE POSSIBLE '.TAPE. A3' 00700 0074 00 4 00013 TSX IOFINI,4 SHUT DOWN PSEUDO FILE SYSTEM 00701 3 00000 0 00702 PTH *+1 NO ERRORS, PLEASE 00702 0074 00 4 00000 TSX MDINIT,4 RESET SIMULATOR ADAPTER 00703 0074 00 4 00001 TSX FCLOSE,4 CLOSE ALL CTSS FILES 00704 3 00000 0 00726 PTH =HALL .. 00705 3 00000 0 00735 PTH =-0 .. 00706 3 00000 0 00707 PTH *+1 NO ERRORS, PLEASE 00707 0074 00 4 00712 TSX CHAIN,4 FINISH UP 00710 3 00000 0 00001 PTH 1 FOR POSSIBLE CHNCOM CALLS 00711 0020 00 0 00071 TRA TYPE IF RETURN, GO ASK WHAT TO DO NEXT 00712 HALT EQU * EMERGENCY STOP 00712 0101 00 0 00713 CHAIN TIA *+1 SUPERVISOR CALL 00713 244651444563 BCI 1,DORMNT PRESET TO CALL DORMNT 00714 602567316360 EXITMS BCI 2, EXIT CALLED. 00715 232143432524 1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 17 D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON END LITERALS 00716 000000000000 00717 000000000001 00720 000000000002 00721 000000000003 00722 000000000055 00723 000000000060 00724 000000000660 00725 000000777777 00726 214343606060 00727 233045234644 00730 234346234626 00731 234346234645 00732 244651444563 00733 272563225142 00734 336321472533 00735 400000000000 00736 512426436721 00737 606060462626 00740 606060602103 00741 606060604645 00742 606060606060 00743 622563222324 00744 622563225142 00745 622563266443 00746 637047253333 00747 663046214431 00750 665126436721 00751 665126436760 00752 666060606060 00753 777777000000 1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 1 POST PROCESSOR ASSEMBLY DATA 754 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 320 BL 101, 116, 125, 133, 135 436 MQ 54, 402 116 OK 111 440 OV 61, 63, 400 441 SI 55, 403 437 SQ 60, 373 476 SW 0 422 WD 41, 43, 76, 104 406 X1 66 405 X2 65 404 X4 64 640 FX4 632, 644, 647 334 GOD 471 155 IGN 152 435 LAC 56, 377 5 NIN 76, 100, 104, 422 536 RED 0, 71, 146 513 SWS 165, 512 605 SX4 561, 631 321 AUTH 467 651 CODE 577, 607, 637, 642 672 DEAD 0, 672 510 EVPT 474 474 EVSW 0 653 EXIT 0, 457 712 HALT 0, 712 17 IORS 217 16 IOST 45 506 KEYS 0 442 MODE 70, 371 5 NOUT 77, 103, 120, 122, 130, 422, 427 551 SHX4 542 317 STAR 127, 160, 171, 203, 274, 306, 322, 356 512 SWPT 476 71 TYPE 154, 161, 167, 214, 223, 227, 231, 236, 240, 260, 333, 337, 341, 345, 352, 711 532 W6X4 521 624 A3BUF 51 342 A3SET 473 232 ATTCH 232, 453 434 AUTHR 44, 47, 324 24 BCDEC 42, 326 2 BCOCT 162, 176, 210, 301, 313, 360 540 BLACK 0, 74, 153, 537 133 BLANK 112 54 BREAK 354 712 CHAIN 673, 707 514 CKEYS 173, 205, 213, 506 224 CLOCK 451 22 CLOSE 662 555 CSHFT 541, 546 15 ENBSW 216 1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 2 POST PROCESSOR ASSEMBLY DATA 170 ENTRY 447 511 EVSWS 166, 510 5 FOPEN 612 104 INPUT 124 632 .FOUT 0, 677 650 LNMRK 566, 573 30 NCOMS 141, 142, 144, 474 12 NRCOD 242, 243, 252, 273 241 PRIVL 465 215 RESET 463 443 RETSW 34, 364, 366, 370, 676 157 SENSE 445 12 SETIO 46 556 SMODE 544, 547 567 SPRNT 626 353 START 455 534 WMODE 525, 530 411 WRFLX 0, 72, 151, 517 535 WRITE 520, 526 527 WROUT 523 20 ATTACH 232 25 AUTHOR 330 23 BFCLOS 656 554 BLSHFT 540 670 CHNCOM 0, 461 140 CKRQST 126, 132 417 CLOCOF 0, 224 416 CLOCON 0, 230 444 CTABLE 142, 144, 474 672 DORMNT 0, 667, 671 125 ENDINP 115 627 EREXIT 611, 620, 625 714 EXITMS 655 666 EXITX4 653 6 FBUFFE 621 1 FCLOSE 346, 633, 703 642 FOUTER 636 11 FPRNTE 630, 646 27 FS.TST 334, 340 7 FWRFIL 567 10 FWRWAI 600 414 GETBRK 0, 365 3 GETMEM 50, 256, 331 123 IGNORE 114, 134, 137 13 IOFINI 221, 700 14 IORSET 220 32 .SETUP 0 557 .SPRNT 0 0 MDINIT 36, 702 101 NEWOUT 106 NXTCHR 123 607 OPEN.Q 576 21 PRNTER 237 273 PROCES 247 305 PROCS1 253 1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 3 POST PROCESSOR ASSEMBLY DATA 261 RCODES 243, 252, 273 410 RDFLXA 0, 75 553 RDSHFT 536 407 RETURN 33, 363, 367, 675 427 RQUEST 103, 120, 122, 130, 140, 150, 157, 163, 170, 177, 202, 211, 225, 233, 234, 241, 273 302, 305, 314, 321, 327, 335, 342, 355, 361 0 SALMOD 32 420 SETBCD 0, 67, 524, 550 413 SETBRK 0, 353 421 SETFUL 0, 372, 531, 543 4 SETMEM 53, 257, 332 652 SPRNSW 37, 344, 557, 627, 645 502 TESTSW 477, 501 26 UPRVBT 250, 254, 255 415 WHOAMI 0, 40 604 WRDATA 563, 564 412 WRFLXA 0, 147, 515, 545 515 WRIT6A 0 517 WRITE6 0, 516, 654 0 NO ERROR IN ABOVE ASSEMBLY. IOPAC BCD 06/08/68 0217.5 4451 00000 1 SETUP PACKAGE TO ALLOW RUNNING OF PSEUDO I/O SYSTEM UNDER CTSS PAGE 1 D.R. WIDRIG MAY 1966 00534 ENTRY SETIO TO INITIALIZE PSEUDO FILE SYSTEM 00615 ENTRY GETIME TO GET DATE AND TIME OF DAY 00625 ENTRY FERRTN TO SET RETURN FOR UNDEFINED ERRORS 00653 ENTRY TILOCK TO SET INTERLOCK RETURN 00710 ENTRY EPRINT TO PRINT ON SIMULATED PRINTER 00712 ENTRY PRINT TO PRINT ON SIMULATED PRINTER 00714 ENTRY PUNCH TO PUNCH ON SIMULATED CARD PUNCH 00734 ENTRY CMEXIT TO RETURN TO INTERRUPTED PROGRAM 00745 ENTRY ALLSAV TO SAVE MACHINE CONDITIONS ON A TRAP 01000 ENTRY ALLRST TO RESTORE MACHINE CONDITIONS 01027 ENTRY ENBSW TO SET TRAP SWITCH 01036 ENTRY ENABLE COMMON ENABLE WORD 00607 ENTRY GETMEM TO GET CURRENT MEMORY BOUND 00570 ENTRY SETMEM TO SET NEW MEMORY BOUND 00611 ENTRY AUTHOR POINTER TO USER AUTHOR NUMBER 00612 ENTRY UPRVBT POINTER TO USER RESTRICTION CODE EXTERN PRNTER,DORMNT,CLOCON,WRITE6,RED,BLACK EXTERN SETBCD,WRFLX, 00000 475145632551 PRNTER 00001 244651444563 DORMNT 00002 234346234645 CLOCON 00003 665131632506 WRITE6 00004 512524606060 RED 00005 224321234260 BLACK 00006 622563222324 SETBCD 00007 665126436760 WRFLX 00010 314631453163 IOINIT 00011 233045276462 CHNGUS 00012 646263216360 USTAT 00013 622563512147 SETRAP 00014 622563212260 SETAB 00015 622563646251 SETUSR 00361 STBL EQU 21+10*22 AFST LENGTH FOR 10 FILES 00133 1QL EQU 1+9*10 DISK/DRUM QUEUE LENGTH 00000 2QL EQU 0 DISK USES DRUM QUEUE 00000 3QL EQU 0 TAPE QUEUE LENGTH (NO TPSM) 00020 STATBL BSS STBL AFST 00401 QUEUE1 BSS 1QL STORAGE FOR DRUM STRATEGY MODULE 00534 QUEUE2 BSS 2QL STORAGE FOR DISK STRATEGY MODULE 00534 QUEUE3 BSS 3QL STORAGE FOR TAPE STRATEGY MODULE 1 SETUP PACKAGE TO ALLOW RUNNING OF PSEUDO I/O SYSTEM UNDER CTSS PAGE 2 D.R. WIDRIG MAY 1966 INITIALIZE FILE SYSTEM AND I/O PACKAGE 00534 -0625 00 0 01027 SETIO STL ENBSW INDICATE TRAPS ARE LEGAL 00535 0636 00 4 00566 SCA SETX4,4 SAVE LINKAGE 00536 -0500 60 4 00001 CAL* 1,4 GET AUTHNO 00537 0602 00 0 00611 SLW AUTHOR SAVE IT TO GIVE TO FILE SYSTEM 00540 0074 00 4 00615 TSX GETIME,4 PRIME SYSTEM WITH CURRENT DATE AND TIME 00541 0074 00 4 00002 TSX CLOCON,4 TURN ON SIMULATED CLOCK 00542 0074 00 4 00010 TSX $IOINIT,4 INITIALIZE FILE SYSTEM 00543 3 00000 0 00634 PTH IOERTN ERROR RETURN 00544 3 00000 0 00624 PTH DATEYR DATE AS MMDDYY 00545 3 00000 0 00005 PTH TIMNOW TIME OF DAY IN 60THS OF A SECOND 00546 3 00000 0 01036 PTH ENABLE COMMON ENABLE WORD 00547 0074 00 4 00011 TSX $CHNGUS,4 SET USER 1 AS FILE SYSTEM USER 00550 3 00000 0 01040 PTH =1 .. 00551 0074 00 4 00012 TSX $USTAT,4 SET UP STORAGE FOR QUEUES 00552 3 00361 0 00020 PTH STATBL,,STBL .. 00553 3 00133 0 00401 PTH QUEUE1,,1QL .. 00554 3 00000 0 00534 PTH QUEUE2,,2QL .. 00555 3 00000 0 00534 PTH QUEUE3,,3QL .. 00556 0074 00 4 00013 TSX $SETRAP,4 SET UP INTERRUPT LOCATION 00557 3 00000 0 00662 PTH SSTRAP .. 00560 0074 00 4 00607 TSX GETMEM,4 GET CURRENT MEMORY BOUND FROM CTSS 00561 0074 00 4 00570 TSX SETMEM,4 TELL PSEUDO-FILE SYSTEM ABOUT IT 00562 0074 00 4 00014 TSX $SETAB,4 SET TO MEMORY A 00563 3 00000 0 01040 PTH =1 .. 00564 3 00000 0 01040 PTH =1 .. 00565 3 00000 0 01040 PTH =1 .. 00566 -0774 00 4 00000 SETX4 AXC **,4 RESTORE LINKAGE 00567 0020 00 4 00002 TRA 2,4 RETURN 1 SETUP PACKAGE TO ALLOW RUNNING OF PSEUDO I/O SYSTEM UNDER CTSS PAGE 3 D.R. WIDRIG MAY 1966 ON MEMORY BOUND CHANGES, TELL I/O ABOUT IT 00570 0636 00 4 00604 SETMEM SCA SETMX4,4 SAVE LINKAGE 00571 0602 00 0 00614 SLW SETLAC AND AC 00572 0734 00 4 00000 PAX 0,4 GET NEW MEMORY BOUND 00573 -0634 00 4 00613 SXD MEMBND,4 SAVE FOR FILE SYSTEM 00574 0074 00 4 00610 TSX STMEM,4 TELL CTSS ABOUT NEW MEMORY BOUND 00575 0074 00 4 00015 TSX $SETUSR,4 TELL FILE SYSTEM ABOUT IT 00576 3 00000 0 01040 PTH =1 USER 1 00577 3 00000 0 00612 PTH UPRVBT USER PRIVILEGE CODE 00600 3 00000 0 00611 PTH AUTHOR AUTHNO FROM LAST CALL TO 'SETIO' 00601 3 00000 0 00613 PTH MEMBND USER MEMORY BOUND 00602 3 00000 0 01037 PTH =0 USER RELOCATION 00603 3 00000 0 01040 PTH =1 HIGHEST PRIORITY 00604 -0774 00 4 00000 SETMX4 AXC **,4 RESTORE LINKAGE 00605 -0500 00 0 00614 CAL SETLAC AND AC 00606 0020 00 4 00001 TRA 1,4 RETURN TO USER 00607 0101 00 0 01042 GETMEM TIA =HGETMEM SUPERVISOR CALLS 00610 0101 00 0 01043 STMEM TIA =HSETMEM .. 00611 AUTHOR BSS 1 AUTHNO FOR THIS USER 00612 +015002777777 UPRVBT OCT 015002777777 VERY PRIVILEGED USER 00613 0 00000 0 00000 MEMBND PZE 0,** USER MEMORY BOUND 00614 SETLAC BSS 1 SAVED AC 1 SETUP PACKAGE TO ALLOW RUNNING OF PSEUDO I/O SYSTEM UNDER CTSS PAGE 4 D.R. WIDRIG MAY 1966 TIME AND DATE FIDDLING 00615 0636 00 4 00621 GETIME SCA GETX4,4 SAVE LINKAGE 00616 0074 00 4 00623 TSX GTIME,4 GET TIME FROM SUPERVISOR 00617 0602 00 0 00005 SLW TIMNOW SAVE TIME 00620 -0600 00 0 00624 STQ DATEYR AND DATE 00621 -0774 00 4 00000 GETX4 AXC **,4 RESTORE LINKAGE 00622 0020 00 4 00001 TRA 1,4 RETURN 00623 0101 00 0 01041 GTIME TIA =HGETIME SUPERVISOR CALL 00005 TIMNOW EQU 5 CURRENT TIME IS IN CLOCK CELL 00624 DATEYR BSS 1 CURRENT DATE 1 SETUP PACKAGE TO ALLOW RUNNING OF PSEUDO I/O SYSTEM UNDER CTSS PAGE 5 D.R. WIDRIG MAY 1966 HANDLE USER FILE INTERRUPTS 00625 0636 00 4 00632 FERRTN SCA FERRX4,4 SAVE LINKAGE 00626 -0500 00 4 00001 CAL 1,4 ERROR RETURN (PZE RTNLOC) 00627 0734 00 4 00000 PAX 0,4 HANG ONTO RETURN 00630 0500 00 0 00645 CLA FERTN GET OLD RETURN INTO SIGNED AC 00631 0634 00 4 00645 SXA FERTN,4 SAVE NEW RETURN 00632 -0774 00 4 00000 FERRX4 AXC **,4 RESTORE LINKAGE 00633 0020 00 4 00002 TRA 2,4 RETURN TO CALLER 00634 0520 00 0 00645 IOERTN ZET FERTN ERROR FROM FILE SYSTEM, CHECK RETURN 00635 0020 60 0 00645 TRA* FERTN USER SUPPLIED ONE, TAKE IT 00636 0074 00 4 00004 TSX RED,4 NONE SUPPLIED, THE END 00637 0074 00 4 00006 TSX SETBCD,4 GET INTO 6-BIT MODE 00640 0074 00 4 00000 TSX PRNTER,4 INVOKE PSEUDO 'PRNTER' 00641 0074 00 4 00007 TSX WRFLX,4 PRINT DEATH MESSAGE 00642 0 00005 0 00646 NOERTN,,5 .. 00643 0074 00 4 00005 TSX BLACK,4 RETURN TO PLAIN OLD BLACK LETTERS 00644 0020 00 0 00001 TRA DORMNT SHUT DOWN 00645 0 00000 0 00000 FERTN PZE ** USER ERROR RETURN LOCATION 00646 604546602551 NOERTN BCI 5, NO ERROR RETURN SPECIFIED 1 SETUP PACKAGE TO ALLOW RUNNING OF PSEUDO I/O SYSTEM UNDER CTSS PAGE 6 D.R. WIDRIG MAY 1966 CHECK AND SET RETURN ON FILE INTERLOCK 00653 0636 00 4 00660 TILOCK SCA TILX4,4 SAVE LINKAGE 00654 -0500 00 4 00001 CAL 1,4 GET INTERLOCK RETURN (PZE RTNLOC) 00655 0734 00 4 00000 PAX 0,4 HANG ONTO RETURN 00656 0500 00 0 00705 CLA UILOCK GET OLD RETURN INTO SIGNED AC 00657 0634 00 4 00705 SXA UILOCK,4 SAVE NEW RETURN 00660 -0774 00 4 00000 TILX4 AXC **,4 RESTORE LINKAGE 00661 0020 00 4 00002 TRA 2,4 RETURN TO USER 00662 -0500 60 4 00003 SSTRAP CAL* 3,4 INTERRUPT FROM FILE SYSTEM, CHECK IT 00663 0621 00 0 00673 STA SSTIR4 SAVE USER IR4 00664 -0500 60 4 00002 CAL* 2,4 GET INTERRUPT CODE 00665 0734 00 5 00000 PAX 0,5 INTO IR5 00666 -3 00003 5 00670 TXL IGNINT,5,3 IGNORE CODES 1-3 00667 -3 00004 5 00671 TXL FILOCK,5,4 SKIP OUT ON FILE INTERLOCKED 00670 0020 00 4 00006 IGNINT TRA 6,4 IGNORE ALL OTHER CODES 00671 -0520 00 0 00705 FILOCK NZT UILOCK CHECK USER SPECIFIED RETURN 00672 0020 00 0 00676 TRA FILWAT NOPE, HOPE FOR THE BEST 00673 0774 00 4 00000 SSTIR4 AXT **,4 YES, RESTORE LAST IR4 FOR USER 00674 0564 00 0 01036 ENB ENABLE ENABLE SO WE MIGHT CURE THIS LOCK 00675 0020 60 0 00705 TRA* UILOCK AND GO TO RETURN LOCATION 00676 0636 00 4 00703 FILWAT SCA FILWX4,4 FILE WAIT, SAVE LINKAGE 00677 0074 00 4 00004 TSX RED,4 YAHOO.. RED LETTER DAY 00700 0074 00 4 00003 TSX WRITE6,4 TELL THE OLD BOY ABOUT THE FILE WAIT 00701 0 00002 0 00706 WATMS,,2 .. 00702 0074 00 4 00005 TSX BLACK,4 BACK TO BLACK 00703 -0774 00 4 00000 FILWX4 AXC **,4 RESTORE LINKAGE 00704 0020 00 4 00006 TRA 6,4 RETURN TO FILE SYSTEM 00705 0 00000 0 00000 UILOCK PZE ** USER INTERLOCK RETURN 00706 602631432560 WATMS BCI 2, FILE WAIT 1 SETUP PACKAGE TO ALLOW RUNNING OF PSEUDO I/O SYSTEM UNDER CTSS PAGE 7 D.R. WIDRIG MAY 1966 ONLINE PRINT/PUNCH 00710 -0500 00 0 00730 EPRINT CAL EPRNTM PICK UP IDENTIFYING HEADER 00711 0020 00 0 00715 TRA PUNCH+1 REJOIN PRINT ROUTINE 00712 -0500 00 0 00731 PRINT CAL PRNTM PICK UP IDENTIFYING PRINT HEADER 00713 0020 00 0 00715 TRA PUNCH+1 REJOIN GENERAL ROUTINE 00714 -0500 00 0 00732 PUNCH CAL PNCHM PICK UP IDENTIFYING HEADER 00715 0602 00 0 00733 SLW HMES PLANT HEADER 00716 0636 00 4 00726 SCA OUTX4,4 SAVE LINKAGE 00717 0500 00 4 00001 CLA 1,4 GET ARGUMENT TO ROUTINE 00720 0621 00 0 00725 STA OUTPT PLANT BASE ADDRESS 00721 0622 00 0 00725 STD OUTPT AND WORD COUNT 00722 0074 00 4 00003 TSX WRITE6,4 PRINT HEADER ON CONSOLE 00723 0 00001 0 00733 HMES,,1 .. 00724 0074 00 4 00003 TSX WRITE6,4 CRANK OUT USER MESSAGE 00725 0 00000 0 00000 OUTPT **,,** BUFF,,N 00726 -0774 00 4 00000 OUTX4 AXC **,4 RESTORE LINKAGE 00727 0020 00 4 00002 TRA 2,4 RETURN 00730 254751314563 EPRNTM BCI 1,EPRINT 00731 604751314563 PRNTM BCI 1, PRINT 00732 604764452330 PNCHM BCI 1, PUNCH 00733 HMES BSS 1 HEADER 1 SETUP PACKAGE TO ALLOW RUNNING OF PSEUDO I/O SYSTEM UNDER CTSS PAGE 8 D.R. WIDRIG MAY 1966 EXIT AND RETURN ROUTINES 00734 0604 00 0 00743 CMEXIT STI CMXSI SAVE SI 00735 0441 60 4 00002 LDI* 2,4 GET RETURN 00736 0604 00 0 00744 STI CMXRTN AND PLANT IT 00737 0522 00 4 00001 XEC 1,4 RELOAD IR4 00740 0441 00 0 00743 LDI CMXSI AND RESTORE SI 00741 0564 00 0 01036 ENB ENABLE RE-ENABLE 00742 0020 60 0 00744 TRA* CMXRTN AND RETURN TO USER 00743 CMXSI BSS 1 00744 CMXRTN BSS 1 * * * * * * * * * * * * SAVE/RESTORE MACHINE CONDITIONS 00745 -0520 00 0 01027 ALLSAV NZT ENBSW HAVE WE TAKEN PREVIOUS TRAP 00746 0000 00 0 00746 HTR * YES, BIG TROUBLE 00747 0600 00 0 01027 STZ ENBSW NO, SET SWITCH FOR THIS TRAP 00750 0636 00 4 00777 SCA ALLXR4,4 SAVE LOCATION OF THIS CALLER 00751 0634 00 1 01005 SXA TRPIR1,1 SAVE BASIC MACHINE CONDITIONS 00752 0634 00 2 01006 SXA TRPIR2,2 .. 00753 0634 00 3 01007 SXA TRPIR3,3 .. 00754 0774 00 3 00000 AXT 0,3 FIGURE OUT TAG MODE 00755 0774 00 1 00001 AXT 1,1 .. 00756 0600 00 0 01035 STZ TRPMTM RESET SWITCH 00757 -3 00000 3 00763 TXL 7TAG,3,0 SKIP IF IN 7-TAG MODE 00760 -0625 00 0 01035 STL TRPMTM 3-TAG MODE, SET SWITCH 00761 0760 00 0 00016 LMTM GET INTO 7-TAG MODE 00762 0634 00 3 01007 SXA TRPIR3,3 RESAVE IR3 00763 0634 00 5 01010 7TAG SXA TRPIR5,5 SAVE REST OF MACHINE 00764 0634 00 6 01011 SXA TRPIR6,6 .. 00765 0634 00 7 01012 SXA TRPIR7,7 .. 00766 0604 00 0 01033 STI TRPSI .. 00767 -0600 00 0 01030 STQ TRPMQ .. 00770 0602 00 0 01032 SLW TRPLAC .. 00771 0771 00 0 00002 ARS 2 GET AC S AND Q BITS 00772 0601 00 0 01031 STO TRPSQ .. 00773 0600 00 0 01034 STZ TRPOV GET OVERFLOW TRIGGER 00774 -0140 00 0 00776 TNO *+2 TEST TRIGGER 00775 -0625 00 0 01034 STL TRPOV ON, SET SWITCH 00776 0020 00 4 00001 TRA 1,4 RETURN 00777 0 00000 0 00000 ALLXR4 PZE **,,** ALLSAV,,ALLRST 01000 0520 00 0 01027 ALLRST ZET ENBSW SEE IF CALLED AT TRAP TIME 01001 0000 00 0 01001 HTR * NO, BIG TROUBLE 01002 -0625 00 0 01027 STL ENBSW SET SWITCH 01003 0760 00 0 00016 LMTM 7-TAG MODE 01004 -0636 00 4 00777 SCD ALLXR4,4 SAVE LOCATION OF CALLER 01005 0774 00 1 00000 TRPIR1 AXT **,1 RESTORE MACHINE 01006 0774 00 2 00000 TRPIR2 AXT **,2 .. 01007 0774 00 3 00000 TRPIR3 AXT **,3 .. 01010 0774 00 5 00000 TRPIR5 AXT **,5 .. 1 SETUP PACKAGE TO ALLOW RUNNING OF PSEUDO I/O SYSTEM UNDER CTSS PAGE 9 D.R. WIDRIG MAY 1966 01011 0774 00 6 00000 TRPIR6 AXT **,6 .. 01012 0774 00 7 00000 TRPIR7 AXT **,7 .. 01013 0520 00 0 01035 ZET TRPMTM TEST FOR TAG MODE 01014 -0760 00 0 00016 EMTM 3-TAG MODE 01015 0560 00 0 01031 LDQ TRPSQ RESTORE S AND Q BITS TO AC 01016 0500 00 0 01016 CLA * AND MAKE SURE OVERFLOW LIGHT GOES ON 01017 0763 00 0 00001 LLS 1 TURNS ON S BIT 01020 0767 00 0 00044 ALS 36 TURNS ON Q BIT AND OVERFLOW 01021 -0501 00 0 01032 ORA TRPLAC GET LOGICAL AC 01022 0560 00 0 01030 LDQ TRPMQ RESTORE MQ 01023 0441 00 0 01033 LDI TRPSI AND SI 01024 -0520 00 0 01034 NZT TRPOV RESTORE OVERFLOW STATUS 01025 0140 00 0 01026 TOV *+1 OFF 01026 0020 00 4 00001 TRA 1,4 RETURN 01027 0 00000 0 00000 ENBSW PZE ** NON-ZERO DURING ENABLE TIME 01030 TRPMQ BSS 1 MACHINE CONDITION STORAGE 01031 TRPSQ BSS 1 .. 01032 TRPLAC BSS 1 .. 01033 TRPSI BSS 1 .. 01034 TRPOV BSS 1 .. 01035 0 00000 0 00000 TRPMTM PZE ** NON-ZERO IF IN 3-TAG MODE 01036 +000000400000 ENABLE OCT 400000 COMMON ENABLE WORD END LITERALS 01037 000000000000 01040 000000000001 01041 272563314425 01042 272563442544 01043 622563442544 1 SETUP PACKAGE TO ALLOW RUNNING OF PSEUDO I/O SYSTEM UNDER CTSS PAGE 1 POST PROCESSOR ASSEMBLY DATA 1044 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 133 1QL 20, 401, 553 0 2QL 20, 534, 554 0 3QL 20, 534, 555 4 RED 636, 677 763 7TAG 757 733 HMES 715, 723 361 STBL 20, 552 5 BLACK 643, 702 743 CMXSI 734, 740 1027 ENBSW 0, 534, 745, 747, 1000, 1002 645 FERTN 630, 631, 634, 635 621 GETX4 615 623 GTIME 616 725 OUTPT 720, 721 726 OUTX4 716 732 PNCHM 714 712 PRINT 0 731 PRNTM 712 714 PUNCH 0, 711, 713 14 SETAB 562 534 SETIO 0 566 SETX4 535 610 STMEM 574 660 TILX4 653 1030 TRPMQ 767, 1022 1034 TRPOV 773, 775, 1024 1033 TRPSI 766, 1023 1031 TRPSQ 772, 1015 12 USTAT 551 706 WATMS 701 7 WRFLX 641 1000 ALLRST 0 745 ALLSAV 0 777 ALLXR4 750, 1004 611 AUTHOR 0, 537, 600 11 CHNGUS 547 2 CLOCON 541 734 CMEXIT 0 744 CMXRTN 736, 742 624 DATEYR 544, 620 1 DORMNT 644 1036 ENABLE 0, 546, 674, 741 710 EPRINT 0 730 EPRNTM 710 625 FERRTN 0 632 FERRX4 625 671 FILOCK 667 676 FILWAT 672 703 FILWX4 676 615 GETIME 0, 540 607 GETMEM 0, 560 1 SETUP PACKAGE TO ALLOW RUNNING OF PSEUDO I/O SYSTEM UNDER CTSS PAGE 2 POST PROCESSOR ASSEMBLY DATA 670 IGNINT 666 634 IOERTN 543 10 IOINIT 542 613 MEMBND 573, 601 646 NOERTN 642 0 PRNTER 640 401 QUEUE1 553 534 QUEUE2 554 534 QUEUE3 555 6 SETBCD 637 614 SETLAC 571, 605 570 SETMEM 0, 561 604 SETMX4 570 13 SETRAP 556 15 SETUSR 575 673 SSTIR4 663 662 SSTRAP 557 20 STATBL 552 653 TILOCK 0 5 TIMNOW 545, 617, 624 1005 TRPIR1 751 1006 TRPIR2 752 1007 TRPIR3 753, 762 1010 TRPIR5 763 1011 TRPIR6 764 1012 TRPIR7 765 1032 TRPLAC 770, 1021 1035 TRPMTM 756, 760, 1013 705 UILOCK 656, 657, 671, 675 612 UPRVBT 0, 577 3 WRITE6 700, 722, 724 0 NO ERROR IN ABOVE ASSEMBLY. ENABLE BCD 10/12/70 1531.6 3758 00000 1 ROUTINE TO HANDLE SIMULATED I/O TRAPS, ENABLES, ETC. 09/05/69 2058.7 PAGE 1 D.R. WIDRIG MAY 1966 00007 ENTRY IOST TO INITIALIZE CORE IMAGE TO TRAP ENB CALLS 00042 ENTRY IORS TO RESET PENDING I/O TRAPS 00051 ENTRY IO TO ANNOUNCE I/O STARTED EXTERN OCLBC,OCRBC,OCABC,KEYS,WRITE6 CALLS TO 'IOST' WILL HAVE THE EFFECT OF REPLACING ALL 'ENB' OPS BY 'STR' TRAPS AND ARRANGING TO CATCH AND PROCESS ANY 'STR' TRAPS. CONFUSION AND CHAOS WILL RESULT IF OTHER PROGRAMS USING 'STR' TRAPS DO NOT HEED. TRANSFER VECTOR 00000 462343222360 OCLBC 00001 462351222360 OCRBC 00002 462321222360 OCABC 00003 422570626060 KEYS 00004 665131632506 WRITE6 LINKAGE DIRECTOR 00005 000000000000 00006 314662636060 00007 0636 00 4 00036 IOST SCA IOSX4,4 SAVE LINKAGE 00010 0500 00 0 00041 CLA ENBTRA PLANT TRAP RETURN 00011 0601 00 0 00002 STO 2 .. 00012 0074 00 4 00040 TSX GETMEM,4 GET PROGRAM SIZE 00013 0621 00 0 00016 STA ENBGET WANT TO SEARCH WHOLE CORE IMAGE 00014 0734 00 4 00000 PAX 0,4 .. 00015 -2 00001 4 00035 ENBTST TNX DONE,4,1 TEST FOR COMPLETION 00016 0441 00 4 00000 ENBGET LDI **,4 NOT DONE, CHECK NEXT WORD 00017 -0056 00 056400 LNT ENBWD IF 'ENB', SOME BITS MUST BE ON 00020 0020 00 0 00026 TRA SEAB WHOOPS.. NOT ENABLE 00021 -0054 00 721317 LFT COMENB AND SOME BITS MUST BE OFF 00022 0020 00 0 00026 TRA SEAB NOPE, EXPLORE FURTHER 00023 -0055 00 500000 SIL 500000 AHA.. CHANGE 'ENB' TO 'STR' 00024 0604 60 0 00016 STI* ENBGET AND PLANT BACK IN PROGRAM 00025 0020 00 0 00015 TRA ENBTST CHECK FOR MORE WORDS 00026 -0056 00 476100 SEAB LNT SEA IF 'SEA' OR 'SEB', SOME BITS ON 00027 0020 00 0 00015 TRA ENBTST NOPE, GIVE UP TESTING 00030 -0054 00 301677 LFT COMSEA HMM.. SOME BITS MUST BE OFF 00031 0020 00 0 00015 TRA ENBTST HOLD ON.. NOT AN 'SEA' OR 'SEB' 00032 -0057 00 400000 RIL 400000 AHA.. TURN INTO A 'NOP' 00033 0604 60 0 00016 STI* ENBGET PLANT BACK IN PROGRAM 00034 2 00001 4 00016 TIX ENBGET,4,1 LOOK AT MORE WORDS 00035 0074 00 4 00042 DONE TSX IORS,4 CLEAR TRAP CELLS 00036 -0774 00 4 00000 IOSX4 AXC **,4 ALL DONE, RETURN 00037 0020 00 4 00001 TRA 1,4 .. 1 ROUTINE TO HANDLE SIMULATED I/O TRAPS, ENABLES, ETC. 09/05/69 2058.7 PAGE 2 D.R. WIDRIG MAY 1966 00040 0101 00 0 00270 GETMEM TIA =HGETMEM 056400 ENBWD BOOL 056400 THESE BITS MUST BE ON FOR 'ENB' 721317 COMENB BOOL 721317 AND THESE MUST BE OFF 476100 SEA BOOL 476100 THESE BITS MUST BE ON FOR 'SEA' OR 'SEB' 301677 COMSEA BOOL 301677 AND THESE MUST BE OFF 00041 0021 00 0 00066 ENBTRA TTR ENB TRAP FOR 'ENB' OPS 1 ROUTINE TO HANDLE SIMULATED I/O TRAPS, ENABLES, ETC. 09/05/69 2058.7 PAGE 3 D.R. WIDRIG MAY 1966 RESET ALL PENDING I/O TRAPS 00042 0636 00 4 00047 IORS SCA IORX4,4 SAVE LINKAGE 00043 0774 00 4 00022 AXT NCHAN,4 ZERO OUT ALL I/O CELLS 00044 0600 00 4 00267 STZ TRAP+NCHAN,4 .. 00045 0600 60 4 00270 STZ* TRAP+NCHAN+1,4 .. 00046 2 00002 4 00044 TIX *-2,4,2 LOOP 00047 -0774 00 4 00000 IORX4 AXC **,4 RESTORE LINKAGE 00050 0020 00 4 00001 TRA 1,4 AND RETURN 1 ROUTINE TO HANDLE SIMULATED I/O TRAPS, ENABLES, ETC. 09/05/69 2058.7 PAGE 4 D.R. WIDRIG MAY 1966 SET UP WAITING TRAP FOR USER'S I/O CALLING SEQUENCE IS ... TSX $IO,4 PTH CHNENB (ENABLE FOR THIS CHANNEL) 00051 0636 00 4 00063 IO SCA IOX4,4 SAVE LINKAGE 00052 0604 00 0 00065 STI IOSI SAVE USER'S SI 00053 0441 60 4 00001 LDI* 1,4 GET CHANNEL ENABLE WORD 00054 -0057 00 777777 RIL 777777 RESET LEFT HALF 00055 0774 00 4 00022 AXT NCHAN,4 PREPARE TO SEARCH POINTER TABLE 00056 0446 00 4 00245 ONT STAT+NCHAN,4 SEE IF BIT MATCHES TABLE ENTRY 00057 2 00002 4 00056 TIX *-1,4,2 NOPE, TRY AGAIN 00060 -3 00002 4 00062 TXL IOXIT,4,2 PROTECT AGAINST NO MATCH 00061 0604 60 4 00246 STI* STAT+NCHAN+1,4 MATCH, SET BIT(S) IN TRAP VECTOR 00062 0441 00 0 00065 IOXIT LDI IOSI RESTORE USER'S SI 00063 -0774 00 4 00000 IOX4 AXC **,4 RESTORE LINKAGE 00064 0020 00 4 00002 TRA 2,4 AND RETURN 00065 IOSI BSS 1 1 ROUTINE TO HANDLE SIMULATED I/O TRAPS, ENABLES, ETC. 09/05/69 2058.7 PAGE 5 D.R. WIDRIG MAY 1966 CONTROL COMES HERE WHEN USER ENABLES. THIS PROGRAM GIVES A GRACE OF ONE INSTRUCTION ONLY IF THE NEXT INSTRUCTION IS A 'TRA'. ASSUMING THAT THE ENABLE INSTRUCTION ALLOWS MORE THAN ONE CHANNEL TO CAUSE A TRAP, THE HIGHEST PRIORITY ACTIVE CHANNEL TRAPS FIRST. THE PRIORITY IS DETERMINED BY THE ORDERING OF 'TRAP' 00066 0636 00 4 00157 ENB SCA ENBX4,4 SAVE USER'S IR4 00067 0602 00 0 00171 SLW ENBLAC SAVE VOLATILE REGISTERS 00070 0771 00 0 00002 ARS 2 .. 00071 0601 00 0 00172 STO ENBSQ .. 00072 -0600 00 0 00173 STQ ENBMQ .. 00073 0604 00 0 00174 STI ENBSI .. 00074 0600 00 0 00175 STZ ENBOV PRESET OVERFLOW SWITCH 00075 -0140 00 0 00077 TNO *+2 TEST TRIGGER 00076 -0625 00 0 00175 STL ENBOV ON, SET SWITCH 00077 0535 00 4 00000 LAC 0,4 GET ADDRESS OF 'ENB' + 1 00100 0636 00 4 00170 SCA TRPLOC,4 AND SAVE IT IN CASE OF 'ENB =0' 00101 -0500 00 4 77777 CAL -1,4 GET 'ENB' INSTRUCTION 00102 0074 00 4 00202 TSX GETEFA,4 GET POINTER TO ENABLE CELL 00103 0535 00 4 00157 LAC ENBX4,4 THIS IS HOW TO RESTORE USER'S IR4 00104 0441 00 4 00000 LDI 0,4 PICK UP ENABLE CELL (IR4 TRICK ABOVE) 00105 0522 60 0 00003 XEC* KEYS PICK UP KEYS TO CHECK FOR DEBUGGING 00106 -0320 00 0 00267 ANA =O100000000000 TEST 'ENB' KEY 00107 0100 00 0 00127 TZE NODBG IF OFF, SKIP PRINTOUT 00110 0604 00 0 00201 STI ENBLIN+3 DEBUGGING ON, SAVE ENABLE WORD 00111 0074 00 4 00000 TSX OCLBC,4 CONVERT LEFT HALF TO OCTAL 00112 3 00000 0 00201 PTH ENBLIN+3 .. 00113 0601 00 0 00177 STO ENBLIN+1 SAVE RESULT IN PRINT LINE 00114 0074 00 4 00001 TSX OCRBC,4 CONVERT RIGHT HALF TO OCTAL 00115 3 00000 0 00201 PTH ENBLIN+3 .. 00116 0601 00 0 00200 STO ENBLIN+2 SAVE IT IN PRINT LINE 00117 0534 00 4 00170 LXA TRPLOC,4 GET LOCATION OF 'ENB' + 1 00120 1 77777 4 00121 TXI *+1,4,-1 LOCATION OF 'ENB' 00121 0634 00 4 00201 SXA ENBLIN+3,4 SAVE IT 00122 0074 00 4 00002 TSX OCABC,4 CONVERT TO 5-DIGIT ADDRESS 00123 3 00000 0 00201 PTH ENBLIN+3 .. 00124 0601 00 0 00201 STO ENBLIN+3 PLACE RESULT IN PRINT LINE 00125 0074 00 4 00004 TSX WRITE6,4 OUTPUT DEBUGGING LINE 00126 0 00004 0 00176 ENBLIN,,4 .. 00127 0054 00 777777 NODBG RFT 777777 CHECK FOR ZERO ENABLE WORD 00130 0020 00 0 00132 TRA *+2 NOT ZERO, CONTINUE 00131 0020 00 0 00156 TRA ENBXIT ZERO, THAT'S ALL FOR NOW 00132 0774 00 4 00022 AXT NCHAN,4 GET HIGHEST PENDING I/O 00133 0520 00 4 00267 ZET TRAP+NCHAN,4 SKIP IF CELL IS NOT SET 00134 0446 00 4 00267 ONT TRAP+NCHAN,4 CHECK AGAINST ENABLE WORD 00135 2 00002 4 00133 TIX *-2,4,2 NO MATCH, KEEP LOOKING 1 ROUTINE TO HANDLE SIMULATED I/O TRAPS, ENABLES, ETC. 09/05/69 2058.7 PAGE 6 D.R. WIDRIG MAY 1966 00136 -3 00002 4 00156 TXL ENBXIT,4,2 CHECK AGAINST NO MATCH 00137 0600 00 4 00267 STZ TRAP+NCHAN,4 MATCH, ZERO I/O FLAG 00140 -0500 00 4 00270 CAL TRAP+NCHAN+1,4 PICK UP TRAP POINTERS 00141 -0734 00 4 00000 PDX 0,4 GET LOCATION TO TRAP TO 00142 0634 00 4 00170 SXA TRPLOC,4 AND PLANT IT 00143 0621 00 0 00155 STA ENBRET PLANT LOCATION TO STORE TRAP ILC 00144 0535 00 4 00000 LAC 0,4 PICK UP LOCATION OF 'ENB' + 1 00145 0441 00 4 00000 LDI 0,4 CHECK INSTRUCTION THERE 00146 -0056 00 002000 LNT TRA IF 'TRA', SOME BITS ON 00147 0020 00 0 00155 TRA ENBRET NOPE, REJOIN ROUTINE 00150 -0054 00 775717 LFT COMTRA HMM... SOME BITS MUST BE OFF 00151 0020 00 0 00155 TRA ENBRET NOPE... CLOSE BUT NO CIGAR 00152 -0046 00 0 00000 PIA AHA.. GET ADDRESS OF 'TRA' LOC 00153 0074 00 4 00202 TSX GETEFA,4 .. 00154 0535 00 4 00157 LAC ENBX4,4 THIS IS HOW TO RESTORE USER'S IR4 00155 0636 00 4 00000 ENBRET SCA **,4 SET TRAP ILC INTO PROPER CELL 00156 0441 00 0 00174 ENBXIT LDI ENBSI RESTORE MACHINE 00157 -0774 00 4 00000 ENBX4 AXC **,4 .. 00160 0500 00 0 00160 CLA * GET LOTS OF BITS IN AC 00161 0560 00 0 00172 LDQ ENBSQ RESTORE AC 00162 0763 00 0 00001 LLS 1 .. 00163 0767 00 0 00044 ALS 36 .. 00164 -0501 00 0 00171 ORA ENBLAC .. 00165 0560 00 0 00173 LDQ ENBMQ AND MQ 00166 -0520 00 0 00175 NZT ENBOV TEST OVERFLOW MEMORY SWITCH 00167 0140 00 0 00170 TOV *+1 WAS OFF, MAKE IT SO 00170 0020 00 0 00000 TRPLOC TRA ** TRANSFER TO PROPER LOCATION FOR 'ENB' 00171 ENBLAC BSS 1 00172 ENBSQ BSS 1 00173 ENBMQ BSS 1 00174 ENBSI BSS 1 00175 ENBOV BSS 1 00176 254522601346 ENBLIN BCI 4,ENB =OEEEEEEEEEEEE AAAAA 00177 252525252525 00200 252525252525 00201 602121212121 002000 TRA BOOL 002000 THESE BITS MUST BE ON FOR 'TRA' 775717 COMTRA BOOL 775717 AND THESE BITS MUST BE OFF 1 ROUTINE TO HANDLE SIMULATED I/O TRAPS, ENABLES, ETC. 09/05/69 2058.7 PAGE 7 D.R. WIDRIG MAY 1966 SUBROUTINE TO COMPUTE EFFECTIVE ADDRESS 00202 1 77776 4 00203 GETEFA TXI *+1,4,-2 ADJUST RETURN LINKAGE 00203 0636 00 4 00221 SCA GETX,4 PLANT RETURN 00204 0522 00 4 77777 XEC -1,4 RELOAD USER'S IR4 00205 0044 00 0 00000 PAI SAVE AC FOR LATER 00206 0625 00 0 00207 STT *+1 GET TAG, IF ANY 00207 0636 00 0 00222 SCA GETMP,** PICK UP VALUE OF TAG REGISTER 00210 0361 00 0 00222 ACL GETMP ADD IN TO THE BASE VALUE 00211 -0056 00 000060 LNT 000060 TEST FOR INDIRECTION 00212 0020 00 0 00220 TRA SET4 NONE, THAT'S ALL HERE 00213 0621 00 0 00214 STA *+1 GO AROUND THE BARN AGAIN 00214 -0500 00 0 00000 CAL ** GET NEW WORD 00215 0625 00 0 00216 STT *+1 GET TAG IF OFFERED 00216 0636 00 0 00222 SCA GETMP,** GET VALUE OF TAG REGISTER 00217 0361 00 0 00222 ACL GETMP ADD BASE VALUE 00220 0737 00 4 00000 SET4 PAC 0,4 PUT COMPLEMENT IN IR4 00221 0020 00 0 00000 GETX TRA ** RETURN TO CALLER 00222 GETMP BSS 1 1 ROUTINE TO HANDLE SIMULATED I/O TRAPS, ENABLES, ETC. 09/05/69 2058.7 PAGE 8 D.R. WIDRIG MAY 1966 TRAP CONTROL TABLES FOR 'STAT', THE TABLE SHOULD BE ARRANGED SO THAT THE MOST ACTIVE CHANNEL OCCURS FIRST IN THE TABLE. FOR 'TRAP', THE TABLE IS ARRANGED FROM HIGHEST PRIORITY TO LOWEST. 00223 +000000000004 STAT OCT 4 C 00224 0 00000 0 00251 PZE TRAP+4 00225 +000000000001 OCT 1 A 00226 0 00000 0 00245 PZE TRAP+0 00227 +000000000002 OCT 2 B 00230 0 00000 0 00247 PZE TRAP+2 00231 +000000000020 OCT 20 E 00232 0 00000 0 00255 PZE TRAP+8 00233 +000000000010 OCT 10 D 00234 0 00000 0 00253 PZE TRAP+6 00235 +000000000040 OCT 40 F 00236 0 00000 0 00257 PZE TRAP+10 00237 +000000000100 OCT 100 G 00240 0 00000 0 00261 PZE TRAP+12 00241 +000000000200 OCT 200 H 00242 0 00000 0 00263 PZE TRAP+14 00243 +000000000000 OCT 0 END OF TABLE 00244 0 00000 0 77777 PZE -1 00022 NCHAN EQU *-STAT NUMBER OF CHANNELS * 2 + 2 00245 TRAP BSS 1 NON-ZERO IF HIGHEST CHANNEL HAS I/O 00246 0 00013 0 00012 PZE 10,,11 SAVE ILC,,TRANSFER TO 00247 BSS 1 NEXT HIGHEST PRIORITY CHANNEL 00250 0 00015 0 00014 PZE 12,,13 00251 BSS 1 00252 0 00017 0 00016 PZE 14,,15 00253 BSS 1 00254 0 00021 0 00020 PZE 16,,17 00255 BSS 1 00256 0 00023 0 00022 PZE 18,,19 00257 BSS 1 00260 0 00025 0 00024 PZE 20,,21 00261 BSS 1 00262 0 00027 0 00026 PZE 22,,23 00263 BSS 1 00264 0 00031 0 00030 PZE 24,,25 00265 BSS 1 END OF TABLE 00266 0 77777 0 00000 PZE 0,,-1 END LITERALS 00267 100000000000 00270 272563442544 1 ROUTINE TO HANDLE SIMULATED I/O TRAPS, ENABLES, ETC. 09/05/69 2058.7 PAGE 1 POST PROCESSOR ASSEMBLY DATA 271 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 51 IO 0 66 ENB 41 476100 SEA 26, 41 2000 TRA 146, 202 35 DONE 15 221 GETX 203 42 IORS 0, 35 65 IOSI 52, 62 7 IOST 0 63 IOX4 51 3 KEYS 105 26 SEAB 20, 22 220 SET4 212 223 STAT 56, 61, 245 245 TRAP 44, 45, 133, 134, 137, 140, 224, 226, 230, 232, 234, 236, 240, 242 173 ENBMQ 72, 165 175 ENBOV 74, 76, 166 174 ENBSI 73, 156 172 ENBSQ 71, 161 56400 ENBWD 17, 41 157 ENBX4 66, 103, 154 222 GETMP 207, 210, 216, 217 47 IORX4 42 36 IOSX4 7 62 IOXIT 60 22 NCHAN 43, 44, 45, 55, 56, 61, 132, 133, 134, 137, 140, 245 127 NODBG 107 2 OCABC 122 0 OCLBC 111 1 OCRBC 114 721317 COMENB 21, 41 301677 COMSEA 30, 41 775717 COMTRA 150, 202 16 ENBGET 13, 24, 33, 34 171 ENBLAC 67, 164 176 ENBLIN 110, 112, 113, 115, 116, 121, 123, 124, 126 155 ENBRET 143, 147, 151 41 ENBTRA 10 15 ENBTST 25, 27, 31 156 ENBXIT 131, 136 202 GETEFA 102, 153 40 GETMEM 12 170 TRPLOC 100, 117, 142 4 WRITE6 125 0 NO ERROR IN ABOVE ASSEMBLY. DDFAP BCD 06/06/68 2358.0 4865 00000 1 DISK/DRUM SIMULATED I/O PACKAGE D.R. WIDRIG MAY 1966 PAGE 1 00015 ENTRY .DINIT TO INITIALIZE PACKAGE 00070 ENTRY .DWAIT TO WAIT ON PREVIOUS I/O 00031 ENTRY .REFER TO REFER CONTROL ON COMPLETED I/O 00035 ENTRY .SETER TO REFER CONTROL ON ERROR FROM .DWAIT 00044 ENTRY .DRSET TO RESTART STRAT. MOD AFTER LOST TRAPS 00047 ENTRY .FORCE TO FORCE TRAP IF NO I/O IN OPERATION 00106 ENTRY .DREAD TO READ FROM A SPECIFIED TRACK 00110 ENTRY .DWRIT TO WRITE ONTO A SPECIFIED TRACK 00172 ENTRY .PACK TO CONVERT FROM MTTTTR TO BINARY 00213 ENTRY .UNPAK TO CONVERT FROM BINARY TO MTTTTR EXTERN ALLSAV,ALLRST,CMEXIT,EPRINT EXTERN MDINIT,MDREAD,MDWRIT,MDWAIT EXTERN IO EXTERN RED,BLACK 00000 214343622165 ALLSAV 00001 214343516263 ALLRST 00002 234425673163 CMEXIT 00003 254751314563 EPRINT 00004 442431453163 MDINIT 00005 442451252124 MDREAD 00006 442466513163 MDWRIT 00007 442466213163 MDWAIT 00010 314660606060 IO 00011 512524606060 RED 00012 224321234260 BLACK 00015 0636 00 4 00027 .DINIT SCA X4,4 INITIALIZE FOR SIMULATED D/D I/O 00016 -0500 60 4 00001 CAL* 1,4 GET POINTER TO COMMON ENABLE WORD 00017 0621 00 0 00423 STA ENABLE SAVE IT 00020 -0500 00 0 00422 CAL DENBWD ADD IN BITS FOR D/D ENABLING 00021 -0602 60 0 00423 ORS* ENABLE .. 00022 0500 00 0 00341 CLA DTRAP. GET TRAP CELL SETUP 00023 0601 00 0 00017 STO DDTRAP .. 00024 0074 00 4 00004 TSX MDINIT,4 OK, GIVE MAD PROGRAMS A CHANCE 00025 0600 00 0 00343 STZ TRAPSW RESET TRAP SWITCH 00026 0600 00 0 00344 STZ BUSY AND DON'T WAIT ON I/O 00027 -0774 00 4 00000 X4 AXC **,4 RESTORE LINKAGE 00030 0020 00 4 00002 TRA 2,4 THAT'S ALL FOR NOW 1 DISK/DRUM SIMULATED I/O PACKAGE D.R. WIDRIG MAY 1966 PAGE 2 SETUP COURTESY CALLS, ERROR CALLS, ETC. 00031 -0500 00 4 00001 .REFER CAL 1,4 USER WISHES TO RECEIVE TRAP ANNOUNCEMENTS 00032 0621 00 0 00340 STA USRTRP SET HIS SPECIFIED RETURN 00033 0621 00 0 00342 STA REFRSW SET SWITCH TO INDICATE USER WANTS THIS 00034 0020 00 4 00002 TRA 2,4 RETURN 00035 -0500 00 4 00001 .SETER CAL 1,4 USER SETS ERROR RETURN 00036 -0320 00 0 00431 ANA =O77777 SEE IF NO RETURN SPECIFIED 00037 -0100 00 0 00041 TNZ *+2 .. 00040 -0500 00 0 00432 CAL =O400001 NO RETURN, SET DUMMY 00041 0621 00 0 00337 STA UERROR PLANT ADDRESS OF RETURN 00042 0625 00 0 00337 STT UERROR AND TAG, FOR GOOD MEASURE 00043 0020 00 4 00002 TRA 2,4 RETURN 1 DISK/DRUM SIMULATED I/O PACKAGE D.R. WIDRIG MAY 1966 PAGE 3 FORCE I/O TRAPS, RESET ADAPTER, ETC. 00044 -0500 00 0 00425 .DRSET CAL =2 RESET CALL, POSSIBLE ERROR 00045 0600 00 0 00344 STZ BUSY RESET BUSY SWITCH 00046 0020 00 0 00052 TRA FRC1 HOP INTO TRAP ROUTINE 00047 0520 00 0 00344 .FORCE ZET BUSY SEE IF I/O PENDING 00050 0020 00 4 00001 TRA 1,4 YES, EXIT 00051 -0754 00 0 00000 ZAC NO, NO ERRORS 00052 -0520 00 0 00342 FRC1 NZT REFRSW TEST TO SEE IF USER WANTS THIS 00053 0020 00 4 00001 TRA 1,4 NOPE, GOODBYE FOR NOW 00054 0602 00 0 00067 SLW FRCTMP YES, SET POSSIBLE ERROR CODE 00055 -0625 00 0 00343 STL TRAPSW SET SWITCH FOR TRAP IN PROGRESS 00056 0636 00 4 00064 SCA FCIR4,4 SAVE MACHINE CONDITIONS 00057 0074 00 4 00000 TSX ALLSAV,4 .. 00060 0074 00 4 00340 TSX USRTRP,4 TELL USER ABOUT TRAP 00061 3 00000 0 00067 PTH FRCTMP AND POSSIBLE ERROR 00062 0600 00 0 00343 STZ TRAPSW LEAVING TRAP TIME, RESET SWITCH 00063 0074 00 4 00001 TSX ALLRST,4 RESTORE MACHINE 00064 -0774 00 4 00000 FCIR4 AXC **,4 AND IR4 00065 0564 60 0 00423 ENB* ENABLE RE-ENABLE 00066 0020 00 4 00001 TRA 1,4 RETURN TO CALLER 00067 FRCTMP BSS 1 1 DISK/DRUM SIMULATED I/O PACKAGE D.R. WIDRIG MAY 1966 PAGE 4 WAIT ON PREVIOUS DISK I/O 00070 0074 00 7 00074 .DWAIT TSX DWAIT,7 INVOKE WAITING SUBROUTINE 00071 -0520 00 0 00343 NZT TRAPSW SEE IF IN TRAP ALREADY 00072 0564 60 0 00423 ENB* ENABLE NO, RE-ENABLE 00073 0020 00 4 00001 TRA 1,4 RETURN TO CALLER 00074 -0520 00 0 00343 DWAIT NZT TRAPSW TEST TO SEE IF CALLED AT TRAP TIME 00075 0564 60 0 00423 ENB* ENABLE NO, ENABLE 00076 -0520 00 0 00310 NZT ERROR TEST FOR ANY ERRORS 00077 0020 00 7 00001 TRA 1,7 COOL MAN, LIKE GO 00100 0636 00 4 00104 SCA DWAITX,4 WOOPS, WE BEEN HAD 00101 -0500 00 0 00310 CAL ERROR GET ERROR CODE 00102 0600 00 0 00310 STZ ERROR RESET FOR NEXT TIME 00103 0074 00 4 00337 TSX UERROR,4 ANNOUNCE ERROR TO USER 00104 -0774 00 4 00000 DWAITX AXC **,4 RESTORE USER'S IR4 00105 0020 00 7 00001 TRA 1,7 RETURN TO CALLER 1 DISK/DRUM SIMULATED I/O PACKAGE D.R. WIDRIG MAY 1966 PAGE 5 DISK/DRUM READ/WRITE CALLS 00106 0500 00 0 00005 .DREAD CLA MDREAD PICK UP POINTER TO READ ROUTINE 00107 0020 00 0 00111 TRA .DWRIT+1 HOP INTO ROUTINE 00110 0500 00 0 00006 .DWRIT CLA MDWRIT PICK UP POINTER TO WRITE ROUTINE 00111 0621 00 0 00135 STA IOCALL SAVE IT FOR I/O CALL LATER 00112 0636 00 4 00157 SCA DWRX4,4 SAVE RETURN 00113 0074 00 7 00074 TSX DWAIT,7 WAIT ON PREVIOUS I/O 00114 0074 00 7 00163 TSX CVTRK,7 MAKE TRACK ADDRESS SHAPE UP 00115 0600 00 0 00347 STZ REL ZERO RELLOC 00116 -0500 00 4 00001 CAL 1,4 COMPUTE EFFECTIVE ADDRESS OF I/O LIST 00117 0625 00 0 00120 STT *+1 COULD BE TAGGED 00120 0756 00 0 00000 PCA 0,** PICK UP VALUE OF TAG REGISTER, IF ANY 00121 0361 00 4 00001 ACL 1,4 ADD BASE 00122 0737 00 6 00000 PAC 0,6 PUT COMPLEMENT OF RESULT IN IR6 00123 0441 00 6 00001 GETCOM LDI 1,6 PICK UP NEXT I/O COMMAND WORD 00124 -0054 00 700000 LFT 700000 SEE IF 'IOD' 00125 1 77777 6 00127 TXI *+2,6,-1 NOPE, TEST FOR 'IOP' 00126 0020 00 0 00157 TRA DWRX4 YES, THAT'S ALL HERE 00127 -0056 00 200000 LNT 200000 IS IT AN 'IOP' 00130 0020 00 0 00152 TRA ION NOPE, MUST BE 'ION' 00131 -0046 00 0 00000 PIA IT WAS AN 'IOP', MAKE I/O CALL 00132 0621 00 0 00137 STA BUFF POINTER TO START OF DATA 00133 0771 00 0 00022 ARS 18 GET COUNT OF WORDS TO BE TRANSMITTED 00134 0621 00 0 00346 STA WDCT SAVE COUNT 00135 0074 00 4 00000 IOCALL TSX **,4 CALL READ/WRITE ROUTINE 00136 3 00000 0 00161 PTH TRKERR ERROR RETURN FOR BAD TRACK NUMBER 00137 3 00000 0 00000 BUFF PTH ** START OF INFORMATION 00140 3 00000 0 00346 PTH WDCT POINTER TO WORD COUNT 00141 3 00000 0 00347 PTH REL RELATIVE ADDRESS WITHIN TRACK 00142 3 00000 0 00345 PTH TRKADR TRACK INVOLVED IN I/O 00143 0500 00 0 00347 CLA REL I/O STARTED, UPDATE POINTER 00144 0400 00 0 00346 ADD WDCT .. 00145 0601 00 0 00347 STO REL .. 00146 -0625 00 0 00344 STL BUSY SET SWITCH TO INDICATE I/O IN PROGRESS 00147 0074 00 4 00010 TSX IO,4 ANNOUNCE THIS TO TRAP CONTROL 00150 3 00000 0 00422 PTH DENBWD .. 00151 0020 00 0 00123 TRA GETCOM GET NEXT I/O COMMAND 00152 -0046 00 0 00000 ION PIA NO TRANSMISSION, UPDATE RELLOC 00153 0771 00 0 00022 ARS 18 GET SKIP COUNT 00154 0400 00 0 00347 ADD REL ADD CURRENT RELLOC 00155 0621 00 0 00347 STA REL UPDATE RELLOC 00156 0020 00 0 00123 TRA GETCOM GET NEXT I/O COMMAND 00157 -0774 00 4 00000 DWRX4 AXC **,4 ALL DONE, RETURN 00160 0020 00 4 00003 TRA 3,4 .. 00161 0535 00 4 00157 TRKERR LAC DWRX4,4 BAD TRACK NUMBER, TAKE ERROR RETURN 00162 0020 60 4 00002 TRA* 2,4 .. 1 DISK/DRUM SIMULATED I/O PACKAGE D.R. WIDRIG MAY 1966 PAGE 6 CONVERT TRACK ADDRESS TO MTTTTR 00163 0500 60 4 00001 CVTRK CLA* 1,4 GET TRACK ADDRESS 00164 0120 00 0 00170 TPL CVTRK1 SKIP IF ADDRESS ALREADY CONVERTED 00165 0636 00 4 00167 SCA CVTX4,4 SAVE LINKAGE 00166 0074 00 4 00215 TSX UNPACK,4 CONVERT PACKED TRACK ADDRESS 00167 -0774 00 4 00000 CVTX4 AXC **,4 RESTORE LINKAGE 00170 0602 00 0 00345 CVTRK1 SLW TRKADR RESTORE TRACK ADDRESS 00171 0020 00 7 00001 TRA 1,7 RETURN TO CALLER .PACK/.UNPAK FIDDLE WITH TRACK AND RECORD ADDRESS 00172 -0774 00 5 00000 .PACK AXC 0,5 ROUTINE TO PACK LOGICAL RECORD ADDRESS 00173 0520 00 0 00343 ZET TRAPSW IS A TRAP CURRENTLY IN PROGRESS .Q. 00174 -0774 00 5 00001 AXC 1,5 IF SO, SET TO USE TMP+1 FOR STORAGE 00175 0560 60 4 00001 LDQ* 1,4 GET TRACK ADDRESS 00176 -0154 06 0 00374 CRQ C1200,,6 TAKE OUT THE 12'S 00177 -0773 00 0 00036 RQL 30 MOVE RECORD BIT TO FIRST POSITION 00200 0774 00 6 00006 AXT 6,6 SET TO CONVERT TO BINARY 00201 0600 00 5 00350 STZ TMP,5 .. 00202 -0754 00 0 00000 PAC1 ZAC RESET AC FOR NEXT CHARACTER 00203 -0763 00 0 00003 LGL 3 CONVERT AND SUM 00204 0401 00 5 00350 ADM TMP,5 .. 00205 -0763 00 0 00003 LGL 3 .. 00206 0401 00 5 00350 ADM TMP,5 .. 00207 0361 00 5 00350 ACL TMP,5 .. 00210 0602 00 5 00350 SLW TMP,5 SAVE INTERMEDIATE ANSWER 00211 2 00001 6 00202 TIX PAC1,6,1 LOOP 00212 0020 00 4 00002 TRA 2,4 RETURN PACKED ADDRESS IN AC 00213 0500 60 4 00001 .UNPAK CLA* 1,4 PICK UP BINARY VALUE 00214 1 77777 4 00215 TXI UNPACK,4,-1 ADJUST LINKAGE 00215 -0774 00 5 00000 UNPACK AXC 0,5 VALUE IN AC, SEE ABOUT TRAP TIME 00216 0520 00 0 00343 ZET TRAPSW .. 00217 -0774 00 5 00001 AXC 1,5 IF TRAP, USE TMP+1 FOR STORAGE 00220 -0120 00 0 00232 TMI UPAC3 SKIP IF MZE RECNO,,MODNO 00221 -0130 00 0 00000 XCL OTHERWISE, VALUE TO MQ 00222 0774 00 6 00044 AXT 36,6 SET FOR 18-BIT FORMAT 00223 0600 00 5 00350 STZ TMP,5 SET FOR CONVERSION TO BCD 00224 -0754 00 0 00000 UPAC2 ZAC RESET AC FOR NEXT CHARACTER 00225 0221 00 0 00427 DVP =10 GET BCD NEXT DIGIT 00226 0767 00 6 00044 ALS 36,6 FROM REMAINDER 00227 -0602 00 5 00350 ORS TMP,5 AND HANG ON TO IT 00230 2 00006 6 00224 TIX UPAC2,6,6 LOOP 00231 0020 00 0 00254 TRA UPAC5 DONE, CONVERT '00' TO '12' 00232 -0734 00 6 00000 UPAC3 PDX 0,6 MZE MODNO,,RECNO SAVE MODULE NUMBER 00233 0560 00 0 00424 LDQ =0 SNEAK UP ON RECORD BIT 00234 -0765 00 0 00001 LGR 1 .. 00235 0767 00 0 00005 ALS 5 GET SOME SPACE 00236 -0765 00 0 00005 LGR 5 NOW MAKE RECORD NUMBER BE IN UPPER MQ 00237 -0320 00 0 00431 ANA =O77777 REDUCE TO TRACK ADDRESS IN AC 1 DISK/DRUM SIMULATED I/O PACKAGE D.R. WIDRIG MAY 1966 PAGE 7 00240 -0130 00 0 00000 XCL REPOSITION EVERYTHING 00241 0044 00 0 00000 PAI SAVE RECORD NUMBER IN SI 00242 -0754 00 6 00000 PXD 0,6 RESTORE MODULE NUMBER TO DECREMENT 00243 0767 00 0 00006 ALS 6 PLACE IN SECOND CHARACTER POSITION 00244 0043 00 0 00000 OAI STICK IN SI WITH RECORD NUMBER 00245 0604 00 5 00350 STI TMP,5 PRIME ANSWER CELL 00246 0774 00 6 00030 AXT 24,6 SET FOR 4 DIGITS OF TRACK ADDRESS 00247 -0754 00 0 00000 UPAC4 ZAC RESET FOR NEXT CHARACTER 00250 0221 00 0 00427 DVP =10 GET NEXT BCD DIGIT 00251 0767 00 6 00030 ALS 24,6 FROM REMAINDER 00252 -0602 00 5 00350 ORS TMP,5 SAVE IN TEMPORARY 00253 2 00006 6 00247 TIX UPAC4,6,6 LOOP 00254 0560 00 5 00350 UPAC5 LDQ TMP,5 GET UNPACKED TRACK ADDRESS 00255 -0773 00 0 00006 RQL 6 POSITION RECORD NUMBER (NOW IT IS MTTTTR) 00256 -0154 06 0 00407 CRQ C0012,,6 CONVERT 00'S TO 12'S 00257 -0130 00 0 00000 XCL 00260 0020 00 4 00001 TRA 1,4 RETURN TO CALLER (GASP) 1 DISK/DRUM SIMULATED I/O PACKAGE D.R. WIDRIG MAY 1966 PAGE 8 HERE ON COMPLETION OF I/O 00261 0636 00 4 00304 DCTRAP SCA DCTIR4,4 SAVE IR4 00262 0074 00 4 00000 TSX ALLSAV,4 SAVE MACHINE 00263 0441 00 0 00016 LDI DDILC GET RETURN LOCATION 00264 0604 00 0 00307 STI DCTRTN AND HANG ONTO IT 00265 0600 00 0 00344 STZ BUSY NOT BUSY ANYMORE 00266 0074 00 4 00007 TSX MDWAIT,4 CONSULT MAD PROGRAM ABOUT I/O 00267 3 00000 0 00311 PTH CRUMP ERROR, BAD NEWS 00270 3 00000 0 00310 PTH ERROR .. 00271 -0520 00 0 00342 NZT REFRSW SEE IF USER WOULD LIKE A TRAP 00272 0020 00 0 00302 TRA DCTXIT NOPE, THAT'S ALL 00273 0441 00 0 00424 LDI =0 YES, SET NO ERROR 00274 0604 00 0 00306 DCTINT STI RTNFLG PICK UP ERROR CODE 00275 0600 00 0 00310 STZ ERROR ZERO OUT ERROR CODE FOR NEXT TIME 00276 -0625 00 0 00343 STL TRAPSW NOW WE ARE IN A TRAP 00277 0074 00 4 00340 TSX USRTRP,4 TELL USER THIS 00300 3 00000 0 00306 PTH RTNFLG .. 00301 0600 00 0 00343 STZ TRAPSW LEAVING TRAP 00302 0074 00 4 00001 DCTXIT TSX ALLRST,4 RESTORE MACHINE 00303 0074 00 4 00002 TSX CMEXIT,4 RETURN TO TRAPPED PROGRAM 00304 -0774 00 4 00000 DCTIR4 AXC **,4 HERE IS HOW TO RESTORE IR4 00305 0 00000 0 00307 DCTRTN AND HERE IS LOCATION POINTER 00306 RTNFLG BSS 1 00307 DCTRTN BSS 1 LOCATION WHERE TRAP OCCURRED 00310 ERROR BSS 1 ERROR CODE OF LAST I/O, IF ANY 1 DISK/DRUM SIMULATED I/O PACKAGE D.R. WIDRIG MAY 1966 PAGE 9 DISK/DRUM READ ERRORS 00311 0560 00 0 00345 CRUMP LDQ TRKADR GET TRACK IN ERROR 00312 -0154 06 0 00374 CRQ C1200,,6 TAKE OUT 12'S 00313 -0773 00 0 00006 RQL 6 POSITION 00314 -0600 00 0 00363 STQ ERRCM1+9 TRACK ADDRESS 00315 -0130 00 0 00000 XCL GET OUT LOGICAL MODULE 00316 -0320 00 0 00426 ANA =O7 CONVERT TO 3 BITS 00317 -0765 00 0 00001 LGR 1 SAVE ACCESS NUMBER 00320 0767 00 0 00006 ALS 6 CONVERT MODULE TO BCD 00321 0162 00 0 00323 TQP *+2 CHECK ACCESS NUMBER 00322 -0501 00 0 00430 ORA =H000100 ACCESS 1, SET IT 00323 -0501 00 0 00433 ORA =H 8200 INSERT PROPER DISK ORDER 00324 0602 00 0 00362 SLW ERRCM1+8 PLANT IN MESSAGE 00325 0074 00 4 00011 TSX RED,4 WAKE THE OLD BOY UP 00326 0074 00 4 00003 TSX EPRINT,4 PRINT ERROR COMMENT 00327 0 00013 0 00352 ERRCM1,,11 .. 00330 0074 00 4 00003 TSX EPRINT,4 FUDGE UP SOME SENSE DATA 00331 0 00007 0 00365 ERRCM2,,7 .. 00332 0074 00 4 00012 TSX BLACK,4 GOOD OLD BASIC BLACK 00333 0441 00 0 00310 LDI ERROR PICK UP ERROR CODE 00334 0520 00 0 00342 ZET REFRSW SEE IF USER WANTS THIS 00335 0020 00 0 00274 TRA DCTINT YES, TELL HIM 00336 0020 00 0 00302 TRA DCTXIT NO, LEAVE 1 DISK/DRUM SIMULATED I/O PACKAGE D.R. WIDRIG MAY 1966 PAGE 10 CONSTANTS, VARIABLES, AND OTHER NICE THINGS 00337 0021 00 0 00000 UERROR TTR **,** ERROR RETURN, IF SPECIFIED 00340 0021 00 0 00000 USRTRP TTR ** COURTESY CALL, IF SPECIFIED 00017 DDTRAP EQU 15 CHANNEL C TRAP CELL 00016 DDILC EQU 14 CHANNEL C TRAP ILC 00341 0021 00 0 00261 DTRAP. TTR DCTRAP TRAP CELL 00342 0 00000 0 00000 REFRSW PZE ** NON-ZERO IF TRAPS REFERRED TO USER 00343 TRAPSW BSS 1 NON-ZERO IF TRAP IN PROGRESS 00344 BUSY BSS 1 NON-ZERO IF WAITING FOR A TRAP 00345 TRKADR BSS 1 TRACK ADDRESS OF LATEST I/O 00346 WDCT BSS 1 WORD COUNT OF LATEST I/O TRANSMISSION 00347 REL BSS 1 RELATIVE LOCATION IN CURRENT TRACK 00350 TMP BSS 2 TEMPORARIES FOR TRACK PACKING AND UNPACKING 00352 606024316242 ERRCM1 BCI 8, DISK/DRUM READ ERROR ON CHANNEL C, OPERATION= 00362 606767676760 BCI 3, XXXX XXXXXX. 00365 606062254562 ERRCM2 BCI 7, SENSE DATA 040100000402 000000000000 00374 C1200 DUP 1,10 CONVERT TABLE FOR 12 TO 00 00374 000000000374 VFD 6/*-C1200,30/C1200 00406 000000000374 VFD 6/0,30/C1200 00407 120000000407 C0012 VFD 6/10,30/C0012 CONVERT TABLE FOR 00 TO 12 00410 DUP 1,10 00410 010000000407 VFD 6/*-C0012,30/C0012 000004 DENB BOOL 4 BITS FOR DISK/DRUM ENABLE 00422 0 00000 0 00004 DENBWD PZE DENB DISK/DRUM ENABLE BITS 00423 0 00000 0 00000 ENABLE PZE ** POINTER TO COMMON ENABLE WORD END LITERALS 00424 000000000000 00425 000000000002 00426 000000000007 00427 000000000012 00430 000000010000 00431 000000077777 00432 000000400001 00433 601002000060 1 DISK/DRUM SIMULATED I/O PACKAGE D.R. WIDRIG MAY 1966 PAGE 1 POST PROCESSOR ASSEMBLY DATA 434 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 10 IO 147 27 X4 15 152 ION 130 11 RED 325 347 REL 115, 141, 143, 145, 154, 155 350 TMP 201, 204, 206, 207, 210, 223, 227, 245, 252, 254 137 BUFF 132 344 BUSY 26, 45, 47, 146, 265 4 DENB 422 52 FRC1 46 202 PAC1 211 346 WDCT 134, 140, 144 12 BLACK 332 407 C0012 256, 407, 410, 411, 412, 413, 414, 415, 416, 417, 420, 421 374 C1200 176, 312, 374, 375, 376, 377, 400, 401, 402, 403, 404, 405, 406 311 CRUMP 267 163 CVTRK 114 167 CVTX4 165 16 DDILC 263, 341 74 DWAIT 70, 113 157 DWRX4 112, 126, 161 310 ERROR 76, 101, 102, 270, 275, 333 64 FCIR4 56 172 .PACK 0 224 UPAC2 230 232 UPAC3 220 247 UPAC4 253 254 UPAC5 231 1 ALLRST 63, 302 0 ALLSAV 57, 262 2 CMEXIT 303 170 CVTRK1 164 274 DCTINT 335 304 DCTIR4 261 261 DCTRAP 341 307 DCTRTN 264, 305 302 DCTXIT 272, 336 17 DDTRAP 23, 341 422 DENBWD 20, 150 341 DTRAP. 22 104 DWAITX 100 423 ENABLE 17, 21, 65, 72, 75 3 EPRINT 326, 330 352 ERRCM1 314, 324, 327 365 ERRCM2 331 67 FRCTMP 54, 61 123 GETCOM 151, 156 135 IOCALL 111 15 .DINIT 0 106 .DREAD 0 44 .DRSET 0 1 DISK/DRUM SIMULATED I/O PACKAGE D.R. WIDRIG MAY 1966 PAGE 2 POST PROCESSOR ASSEMBLY DATA 70 .DWAIT 0 110 .DWRIT 0, 107 47 .FORCE 0 31 .REFER 0 35 .SETER 0 213 .UNPAK 0 4 MDINIT 24 5 MDREAD 106 7 MDWAIT 266 6 MDWRIT 110 342 REFRSW 33, 52, 271, 334 306 RTNFLG 274, 300 343 TRAPSW 25, 55, 62, 71, 74, 173, 216, 276, 301 345 TRKADR 142, 170, 311 161 TRKERR 136 337 UERROR 41, 42, 103 215 UNPACK 166, 214 340 USRTRP 32, 60, 277 0 NO ERROR IN ABOVE ASSEMBLY. DDMAD BCD 06/06/68 2358.0 12460 00000 1 MAD PROGRAM LISTING ... ... ... FILE DDMAD MAD 06/06/68 1950.6 - PACKAGE TO SIMULATE DISK I/O LM00001 D.R. WIDRIG MAY 1966 LM00002 REVISED OCTOBER 1966 LM00003 MINOR REVISIONS FEBRUARY 1967 LM00004 LM00005 EXTERNAL FUNCTION (TRKERR,B,COUNT,RL,TRACK) *001 LM00006 LM00007 NORMAL MODE IS INTEGER *002 LM00008 BOOLEAN CKTRK.,READSW,ERRSW,BUFFED,NEWTRK,FIRST *003 LM00009 STATEMENT LABEL TRKERR *004 LM00010 DIMENSION TSIZ(10),TIME(10) *005 LM00011 DIMENSION BUFF(0),ZBUF(0) *006 LM00012 LM00013 VECTOR VALUES LDKM = 0 *007 LM00014 VECTOR VALUES HDKM = 3 *008 LM00015 VECTOR VALUES NDKT = 10000 *009 LM00016 VECTOR VALUES LDMM = 4 *010 LM00017 VECTOR VALUES HDMM = 4 *011 LM00018 VECTOR VALUES NDMT = 400 *012 LM00019 LM00020 VECTOR VALUES MZE = - 0 *013 LM00021 VECTOR VALUES FIRST = 1B *014 LM00022 VECTOR VALUES AFSTMX = 5 *015 LM00023 VECTOR VALUES WDSPT = 435 *016 LM00024 VECTOR VALUES FILE = $(FILE)$ *017 LM00025 VECTOR VALUES TRK(0)...TRK(10) = 777777777777K *018 LM00026 VECTOR VALUES LINE(1)...LINE(14) = 575757575757K *019 LM00027 VECTOR VALUES FENCE = 777777777777K *020 LM00028 LM00029 INITIALIZE AND RESET DISK PACKAGE LM00030 LM00031 ENTRY TO MDINIT. *021 LM00032 OLDERR = FFERRT.(WOOPS) *022 LM00033 WHENEVER (OLDERR .NE. 0), FFERRT.(OLDERR) *023 LM00034 LM00035 INITIALIZE TABLES LM00036 LM00037 THROUGH DKL, FOR K = LDKM,1,(K.G.HDKM) *024 LM00038 TSIZ(K) = NDKT *025 LM00039 DKL CONTINUE *026 LM00040 THROUGH DML, FOR K = LDMM,1,(K.G.HDMM) *027 LM00041 TSIZ(K) = NDMT *028 LM00042 DML CONTINUE *029 LM00043 LM00044 RESET INTERNAL TABLES LM00045 LM00046 THROUGH RESET, FOR I = 0,1,(I.G.AFSTMX) *030 LM00047 WHENEVER TRK(I) .NE. FENCE, *031 LM00048 1 FCLOSE.(TRK(I),FILE,NERR0) *031 LM00049 NERR0 TRK(I) = FENCE *032 LM00050 TIME(I) = 0 *033 LM00051 RESET CONTINUE *034 LM00052 LM00053 SET UP BUFFER AREAS, ETC. LM00054 LM00055 WHENEVER FIRST *035 LM00056 GETBUF.(BUFF,WDSPT) *036 LM00057 GETBUF.(ZBUF,WDSPT) *037 LM00058 FIRST = 0B *038 LM00059 END OF CONDITIONAL *039 LM00060 LM00061 THROUGH LOOP0, FOR I = 1,1,(I .G. WDSPT) *040 LM00062 ZBUF(ZBUF+I) = 0 *041 LM00063 LOOP0 CONTINUE *042 LM00064 LM00065 SET UP STRAY VARIABLES LM00066 LM00067 NEWTRK = 1B *043 LM00068 I = 1 *044 LM00069 TRKNAM = FENCE *045 LM00070 FUNCTION RETURN *046 LM00071 LM00072 WRITE A TRACK, RESET READ SWITCH LM00073 LM00074 ENTRY TO MDWRIT. *047 LM00075 READSW = 0B *048 LM00076 LINE(14) = 665760K6 *049 LM00077 TRANSFER TO GO *050 LM00078 LM00079 READ A TRACK, SET SWITCH LM00080 LM00081 ENTRY TO MDREAD. *051 LM00082 READSW = 1B *052 LM00083 LINE(14) = 515760K6 *053 LM00084 LM00085 GET TRACK ADDRESS CHECKED, GET FILE NAME LM00086 LM00087 GO TRKADR = TRKCV.(TRACK) *054 LM00088 WHENEVER CKTRK.(TRKADR), TRANSFER TO TRKERR *055 LM00089 WHENEVER (TRKADR .NE. TRKNAM) *056 LM00090 NEWTRK = 1B *057 LM00091 TRKNAM = TRKADR *058 LM00092 OTHERWISE *059 LM00093 NEWTRK = 0B *060 LM00094 END OF CONDITIONAL *061 LM00095 FILNAM = TRKADR .A. 77777777K4 *062 LM00096 TIME = TIME + 1 *063 LM00097 LM00098 PICK UP POINTERS AND COUNTS LM00099 LM00100 REL = RL + 1 *064 LM00101 CT = COUNT *065 LM00102 LM00103 CHECK FOR DEBUGGING PRINT-OUT LM00104 LM00105 WHENEVER ((KEYS.(0).A.2K11) .NE. 0) *066 LM00106 WHENEVER NEWTRK *067 LM00107 LINE(11) = TRKADR *068 LM00108 LINE(12) = 575757575760K *069 LM00109 TRANSFER TO NEWREL *070 LM00110 OTHERWISE *071 LM00111 LINE(11) = 575757575757K *072 LM00112 LINE(12) = 575757575757K *073 LM00113 WHENEVER REL .NE. OLDREL *074 LM00114 NEWREL LINE(13) = DEFBC.(REL).V.575760K6 *075 LM00115 OTHERWISE *076 LM00116 LINE(13) = 575757575757K *077 LM00117 END OF CONDITIONAL *078 LM00118 END OF CONDITIONAL *079 LM00119 LINE(14) = LINE(14) .V. DEFBC.(CT) *080 LM00120 OLDREL = REL + CT *081 LM00121 WRITE6.(LINE(14)...4) *082 LM00122 END OF CONDITIONAL *083 LM00123 LM00124 MAKE SURE FILE IS OPENED LM00125 LM00126 WHENEVER TRK(I) .E. FILNAM *084 LM00127 TRANSFER TO OPEND *085 LM00128 OTHERWISE *086 LM00129 OLDEST = TIME *087 LM00130 SLOT = 0 *088 LM00131 BUFFED = 0B *089 LM00132 FBUFFE.(TRK(I),FILE,BUFF...0,NERR1) *090 LM00133 NERR1 THROUGH LOOP1, FOR I = 1,1,(I.G.AFSTMX) *091 LM00134 WHENEVER TRK(I) .E. FILNAM *092 LM00135 TRANSFER TO OPEND *093 LM00136 OR WHENEVER (TRK(I).E.FENCE) .AND. (SLOT.E.0) *094 LM00137 SLOT = I *095 LM00138 OR WHENEVER TIME(I) .L. OLDEST *096 LM00139 OLDEST = TIME(I) *097 LM00140 PTR = I *098 LM00141 END OF CONDITIONAL *099 LM00142 LOOP1 CONTINUE *100 LM00143 END OF CONDITIONAL *101 LM00144 LM00145 SEE IF SLOT AVAILABLE LM00146 LM00147 WHENEVER SLOT .NE. 0 *102 LM00148 I = SLOT *103 LM00149 LM00150 NO HOLES, CLOSE OLDEST FILE, OPEN NEW LM00151 LM00152 OTHERWISE *104 LM00153 I = PTR *105 LM00154 FCLOSE.(TRK(I),FILE,WOOPS) *106 LM00155 END OF CONDITIONAL *107 LM00156 FOPEN.($RW$,FILNAM,FILE,1,2,WOOPS) *108 LM00157 TRK(I) = FILNAM *109 LM00158 LM00159 UPDATE TIME LAST USED FOR THIS FILE LM00160 LM00161 OPEND TIME(I) = TIME *110 LM00162 LM00163 CONCOCT RELLOC LM00164 LM00165 TADD = ((TRKADR.A.7700K).RS.6) *111 LM00166 LREC = (TRKADR.A.77K) * WDSPT * 10 *112 LM00167 RELLOC = TADD * WDSPT + LREC + REL *113 LM00168 LM00169 THROW IN A BUFFER IF NOT BUFFERED LM00170 LM00171 WHENEVER .NOT. BUFFED *114 LM00172 BUFFED = 1B *115 LM00173 FBUFFE.(FILNAM,FILE,BUFF(BUFF+432)...432,WOOPS) *116 LM00174 END OF CONDITIONAL *117 LM00175 LM00176 IS THIS A READ OR A WRITE LM00177 LM00178 WHENEVER READSW *118 LM00179 FRDWAI.(FILNAM,FILE,RELLOC,B...CT,REOF,MZE,WOOPS) *119 LM00180 OTHERWISE *120 LM00181 WRITE WHENEVER NEWTRK *121 LM00182 FWRFIL.(FILNAM,FILE,RELLOC, *122 LM00183 1 ZBUF(ZBUF+WDSPT)...WDSPT,WEOF,MZE,WOOPS) *122 LM00184 END OF CONDITIONAL *123 LM00185 FWRWAI.(FILNAM,FILE,RELLOC,B...CT,WEOF,MZE,WOOPS) *124 LM00186 END OF CONDITIONAL *125 LM00187 LM00188 THAT'S ALL, FOLKS LM00189 LM00190 FUNCTION RETURN *126 LM00191 LM00192 MDWAIT ENTRY CHECKS ON UNEXPECTED EOF'S LM00193 LM00194 ENTRY TO MDWAIT. *127 LM00195 WHENEVER .NOT. ERRSW, FUNCTION RETURN *128 LM00196 B = ERCODE *129 LM00197 ERRSW = 0B *130 LM00198 TRANSFER TO TRKERR *131 LM00199 LM00200 ODD THINGS DEPARTMENT LM00201 LM00202 WOOPS HALT. *132 LM00203 DORMNT. *133 LM00204 LM00205 ERROR OR EOF READING, SET ERROR SWITCH LM00206 LM00207 REOF ERRSW = 1B *134 LM00208 ERCODE = 2 *135 LM00209 FUNCTION RETURN *136 LM00210 LM00211 EOF WRITING, PAD WITH GARBAGE LM00212 LM00213 WEOF FWRFIL.(FILNAM,FILE,0,ZBUF(ZBUF+WDSPT)...WDSPT,MZE,MZE,WOOPS) *137 LM00214 TRANSFER TO WRITE *138 LM00215 LM00216 CHECK FOR CORRECT TRACK ADDRESS LM00217 LM00218 INTERNAL FUNCTION (A) *139 LM00219 ENTRY TO TRKCV. *140 LM00220 X = A *141 LM00221 Y = (X+$666666$) .A. $++++++$ *142 LM00222 FUNCTION RETURN X .A. .N.(Y.RS.1) .A. .N.(Y.RS.3) *143 LM00223 END OF FUNCTION *144 LM00224 LM00225 CHECK FOR CORRECT TRACK ADDRESS LM00226 LM00227 INTERNAL FUNCTION (A) *145 LM00228 ENTRY TO CKTRK. *146 LM00229 X = A *147 LM00230 LM00231 WHENEVER ((X.A.$ $) .NE. 0), FUNCTION RETURN 1B *148 LM00232 R = X .A. 77K *149 LM00233 T = BCDEC.((X.RS.6) .A. 77777777K) *150 LM00234 M = (X.RS.30) .A. 77K *151 LM00235 LM00236 WHENEVER (M.L.LDKM) .OR. (M.G.HDKM .AND. M.L.LDMM) .OR. *152 LM00237 1 (M.G.HDMM), FUNCTION RETURN 1B *152 LM00238 WHENEVER (R.G.1) .OR. (T.G.TSIZ(M)), FUNCTION RETURN 1B *153 LM00239 FUNCTION RETURN 0B *154 LM00240 END OF FUNCTION *155 LM00241 LM00242 END OF FUNCTION *156 LM00243 1MAD PROGRAM,TYPE NOV 1963 (ALL NUMBERS ARE OCTAL) 0TOTAL LOCATIONS 01216 TRANSFER VECTOR LENGTH 00017 PROGRAM BEGINS 00212 0 PROGRAM IS AN EXTERNAL FUNCTION. THE FOLLOWING ARE ENTRIES MDWAIT 00743 0 MDREAD 00367 0 MDWRIT 00357 0 MDINIT 00213 0 0VARIABLE STORAGE (A=ARRAY,C=COMMON,E=ERASABLE,DIGIT=MODE) AFSTMX 00033 A 1 GO 00022 4 MZE 00074 A 1 PTR 00103 1 TRKNAM 00126 1 BUFFED 00034 2 HDKM 00045 A 1 NDKT 00075 A 1 READSW 00104 2 TRK 00141 A 1 BUFF 00035 A 1 HDMM 00046 A 1 NDMT 00076 A 1 RELLOC 00105 1 T 00142 1 CT 00036 1 I 00047 1 NERR0 00023 4 REL 00106 1 TSIZ 00155 A 1 DKL 00021 4 K 00050 1 NERR1 00024 4 REOF 00027 4 WDSPT 00156 A 1 DML 00021 4 LDKM 00051 A 1 NEWREL 00025 4 RESET 00021 4 WEOF 00030 4 ERCODE 00037 1 LDMM 00052 A 1 NEWTRK 00077 2 R 00107 1 WOOPS 00031 4 ERRSW 00040 2 LINE 00071 A 1 OLDERR 00100 1 SLOT 00110 1 WRITE 00032 4 FENCE 00041 A 1 LOOP0 00021 4 OLDEST 00101 1 TADD 00111 1 X 00157 1 FILE 00042 A 1 LOOP1 00021 4 OLDREL 00102 1 TIME 00124 A 1 Y 00160 1 FILNAM 00043 1 LREC 00072 1 OPEND 00026 4 TRKADR 00125 1 ZBUF 00161 A 1 FIRST 00044 A 2 M 00073 1 0FUNCTION DICTIONARY BCDEC 00000 1 DEFBC 00001 1 DORMNT 00002 1 EXIT 00003 1 FBUFFE 00004 1 FCLOSE 00005 1 FFERRT 00006 1 FOPEN 00007 1 FRDWAI 00010 1 FWRFIL 00011 1 FWRWAI 00012 1 GETBUF 00013 1 HALT 00014 1 KEYS 00015 1 WRITE6 00016 1 CKTRK 00017 2 TRKCV 00020 1 0ABSOLUTE CONSTANTS 00171 +000000000036 00175 +000077777777 00207 -206060606060 00165 +000000000003 00200 +202020202020 00176 +060606060606 00173 +000000000660 00170 +000000000012 00172 +000000000077 00167 +000000000006 00174 +000000007700 00164 +000000000002 00203 -116660606060 00166 +000000000004 00206 -175760000000 00204 -175757575757 00205 -175757575760 00177 +200000000000 00211 -377777770000 00202 -115760000000 00210 -265760000000 00162 +000000000000 00163 +000000000001 00201 +233000000000 0STATEMENT DICTIONARY 00022 TXL -300400000375 00023 TXL -300312000307 00024 TXL -300544000532 00025 TXL -300467000461 00026 TXL -300634000631 00027 TXL -300761000757 00030 TXL -301001000764 00031 TXL -300756000755 00032 TXL -300714000712 0PROGRAM EXTERNAL FUNCTION (TRKERR,B,COUNT,RL,TRACK) 001 LM00006 N'R 002 LM00008 B'N CKTRK.,READSW,ERRSW,BUFFED,NEWTRK,FIRST 003 LM00009 S'L TRKERR 004 LM00010 D'N TSIZ(10),TIME(10) 005 LM00011 D'N BUFF(0),ZBUF(0) 006 LM00012 V'S LDKM = 0 007 LM00014 00051 +0 00000 0 00000 V'S HDKM = 3 008 LM00015 00045 +0 00000 0 00003 V'S NDKT = 10000 009 LM00016 00075 +0 00000 0 23420 V'S LDMM = 4 010 LM00017 00052 +0 00000 0 00004 V'S HDMM = 4 011 LM00018 00046 +0 00000 0 00004 V'S NDMT = 400 012 LM00019 00076 +0 00000 0 00620 V'S MZE = - 0 013 LM00021 00074 -0 00000 0 00000 V'S FIRST = 1B 014 LM00022 00044 +0 00000 0 00001 V'S AFSTMX = 5 015 LM00023 00033 +0 00000 0 00005 V'S WDSPT = 435 016 LM00024 00156 +0 00000 0 00663 V'S FILE = $(FILE)$ 017 LM00025 00042 -3 42631 4 32534 V'S TRK(0)...TRK(10) = 777777777777K 018 LM00026 00127 -3 77777 7 77777 00130 -3 77777 7 77777 00131 -3 77777 7 77777 00132 -3 77777 7 77777 00133 -3 77777 7 77777 00134 -3 77777 7 77777 00135 -3 77777 7 77777 00136 -3 77777 7 77777 00137 -3 77777 7 77777 00140 -3 77777 7 77777 00141 -3 77777 7 77777 V'S LINE(1)...LINE(14) = 575757575757K 019 LM00027 00053 -1 75757 5 75757 00054 -1 75757 5 75757 00055 -1 75757 5 75757 00056 -1 75757 5 75757 00057 -1 75757 5 75757 00060 -1 75757 5 75757 00061 -1 75757 5 75757 00062 -1 75757 5 75757 00063 -1 75757 5 75757 00064 -1 75757 5 75757 00065 -1 75757 5 75757 00066 -1 75757 5 75757 00067 -1 75757 5 75757 00070 -1 75757 5 75757 V'S FENCE = 777777777777K 020 LM00028 00041 -3 77777 7 77777 E'O MDINIT. 021 LM00032 00212 TRA +0 02000 0 00215 00213 SXA +0 63400 2 01166 00214 TSX +0 07400 2 01166 OLDERR = FFERRT.(WOOPS) 022 LM00033 00215 TSX +0 07400 4 00006 00216 TXH +3 00000 0 00031 00217 STO +0 60100 0 00100 W'R (OLDERR .NE. 0), FFERRT.(OLDERR) 023 LM00034 00220 CLA +0 50000 0 00100 00221 SUB +0 40200 0 00162 00222 TZE +0 10000 0 00225 00223 TSX +0 07400 4 00006 00224 TXH +3 00000 0 00100 T'H DKL, FOR K = LDKM,1,(K.G.HDKM) 024 LM00038 00225 CLA +0 50000 0 00051 00226 STO +0 60100 0 00050 00227 TRA +0 02000 0 00233 00230 CLA +0 50000 0 00050 00231 ADD +0 40000 0 00163 00232 STO +0 60100 0 00050 00233 CLA +0 50000 0 00050 00234 SUB +0 40200 0 00045 00235 TZE +0 10000 0 00237 00236 TPL +0 12000 0 00243 TSIZ(K) = NDKT 025 LM00039 00237 LXA +0 53400 1 00050 00240 CLA +0 50000 0 00075 00241 STO +0 60100 1 00155 DKL C'E 026 LM00040 00242 TRA +0 02000 0 00230 T'H DML, FOR K = LDMM,1,(K.G.HDMM) 027 LM00041 00243 CLA +0 50000 0 00052 00244 STO +0 60100 0 00050 00245 TRA +0 02000 0 00251 00246 CLA +0 50000 0 00050 00247 ADD +0 40000 0 00163 00250 STO +0 60100 0 00050 00251 CLA +0 50000 0 00050 00252 SUB +0 40200 0 00046 00253 TZE +0 10000 0 00255 00254 TPL +0 12000 0 00261 TSIZ(K) = NDMT 028 LM00042 00255 LXA +0 53400 1 00050 00256 CLA +0 50000 0 00076 00257 STO +0 60100 1 00155 DML C'E 029 LM00043 00260 TRA +0 02000 0 00246 T'H RESET, FOR I = 0,1,(I.G.AFSTMX) 030 LM00047 00261 CLA +0 50000 0 00162 00262 STO +0 60100 0 00047 00263 TRA +0 02000 0 00267 00264 CLA +0 50000 0 00047 00265 ADD +0 40000 0 00163 00266 STO +0 60100 0 00047 00267 CLA +0 50000 0 00047 00270 SUB +0 40200 0 00033 00271 TZE +0 10000 0 00273 00272 TPL +0 12000 0 00315 W'R TRK(I) .NE. FENCE, 031 LM00048 1 FCLOSE.(TRK(I),FILE,NERR0) 031 LM00049 00273 LXA +0 53400 1 00047 00274 CLA +0 50000 1 00141 00275 SUB +0 40200 0 00041 00276 TZE +0 10000 0 00307 00277 CLA +0 50000 0 00047 00300 SUB +0 40200 0 00301 00301 TXH +3 00000 0 00141 00302 STA +0 62100 0 00304 00303 TSX +0 07400 4 00005 00304 TXH +3 00000 0 00000 00305 TXH +3 00000 0 00042 00306 TXH +3 00000 0 00023 NERR0 TRK(I) = FENCE 032 LM00050 00307 LXA +0 53400 1 00047 00310 CLA +0 50000 0 00041 00311 STO +0 60100 1 00141 TIME(I) = 0 033 LM00051 00312 CLA +0 50000 0 00162 00313 STO +0 60100 1 00124 RESET C'E 034 LM00052 00314 TRA +0 02000 0 00264 W'R FIRST 035 LM00056 00315 NZT -0 52000 0 00044 00316 TRA +0 02000 0 00327 GETBUF.(BUFF,WDSPT) 036 LM00057 00317 TSX +0 07400 4 00013 00320 TXH +3 00000 0 00035 00321 TXH +3 00000 0 00156 GETBUF.(ZBUF,WDSPT) 037 LM00058 00322 TSX +0 07400 4 00013 00323 TXH +3 00000 0 00161 00324 TXH +3 00000 0 00156 FIRST = 0B 038 LM00059 00325 CLA +0 50000 0 00162 00326 STO +0 60100 0 00044 E'L 039 LM00060 T'H LOOP0, FOR I = 1,1,(I .G. WDSPT) 040 LM00062 00327 CLA +0 50000 0 00163 00330 STO +0 60100 0 00047 00331 TRA +0 02000 0 00335 00332 CLA +0 50000 0 00047 00333 ADD +0 40000 0 00163 00334 STO +0 60100 0 00047 00335 CLA +0 50000 0 00047 00336 SUB +0 40200 0 00156 00337 TZE +0 10000 0 00341 00340 TPL +0 12000 0 00347 ZBUF(ZBUF+I) = 0 041 LM00063 00341 CLA +0 50000 0 00161 00342 ADD +0 40000 0 00047 00343 PAX +0 73400 1 00000 00344 CLA +0 50000 0 00162 00345 STO +0 60100 1 00161 LOOP0 C'E 042 LM00064 00346 TRA +0 02000 0 00332 NEWTRK = 1B 043 LM00068 00347 CLA +0 50000 0 00163 00350 STO +0 60100 0 00077 I = 1 044 LM00069 00351 CLA +0 50000 0 00163 00352 STO +0 60100 0 00047 TRKNAM = FENCE 045 LM00070 00353 CLA +0 50000 0 00041 00354 STO +0 60100 0 00126 F'N 046 LM00071 00355 TRA +0 02000 0 01207 E'O MDWRIT. 047 LM00075 00356 TRA +0 02000 0 00361 00357 SXA +0 63400 2 01166 00360 TSX +0 07400 2 01166 READSW = 0B 048 LM00076 00361 CLA +0 50000 0 00162 00362 STO +0 60100 0 00104 LINE(14) = 665760K6 049 LM00077 00363 CLA +0 50000 0 00210 00364 STO +0 60100 0 00053 T'O GO 050 LM00078 00365 TRA +0 02000 0 00022 E'O MDREAD. 051 LM00082 00366 TRA +0 02000 0 00371 00367 SXA +0 63400 2 01166 00370 TSX +0 07400 2 01166 READSW = 1B 052 LM00083 00371 CLA +0 50000 0 00163 00372 STO +0 60100 0 00104 LINE(14) = 515760K6 053 LM00084 00373 CLA +0 50000 0 00202 00374 STO +0 60100 0 00053 GO TRKADR = TRKCV.(TRACK) 054 LM00088 00375 TSX +0 07400 4 00020 00376 TXH +3 00000 0 00024 00377 STO +0 60100 0 00125 W'R CKTRK.(TRKADR), T'O TRKERR 055 LM00089 00400 TSX +0 07400 4 00017 00401 TXH +3 00000 0 00125 00402 TZE +0 10000 0 00404 00403 TRA +0 02000 0 00024 W'R (TRKADR .NE. TRKNAM) 056 LM00090 00404 CLA +0 50000 0 00125 00405 SUB +0 40200 0 00126 00406 TZE +0 10000 0 00414 NEWTRK = 1B 057 LM00091 00407 CLA +0 50000 0 00163 00410 STO +0 60100 0 00077 TRKNAM = TRKADR 058 LM00092 00411 CLA +0 50000 0 00125 00412 STO +0 60100 0 00126 O'E 059 LM00093 00413 TRA +0 02000 0 00416 NEWTRK = 0B 060 LM00094 00414 CLA +0 50000 0 00162 00415 STO +0 60100 0 00077 E'L 061 LM00095 FILNAM = TRKADR .A. 77777777K4 062 LM00096 00416 CAL -0 50000 0 00125 00417 ANA -0 32000 0 00211 00420 SLW +0 60200 0 00043 TIME = TIME + 1 063 LM00097 00421 CLA +0 50000 0 00124 00422 ADD +0 40000 0 00163 00423 STO +0 60100 0 00124 REL = RL + 1 064 LM00101 00424 CLA +0 50000 0 00024 00425 ADD +0 40000 0 00163 00426 STO +0 60100 0 00106 CT = COUNT 065 LM00102 00427 CLA +0 50000 0 00024 00430 STO +0 60100 0 00036 W'R ((KEYS.(0).A.2K11) .NE. 0) 066 LM00106 00431 TSX +0 07400 4 00015 00432 TXH +3 00000 0 00162 00433 STO +0 60100 0 01213 00434 CAL -0 50000 0 01213 00435 ANA -0 32000 0 00177 00436 SLW +0 60200 0 01213 00437 CLA +0 50000 0 01213 00440 SUB +0 40200 0 00162 00441 TZE +0 10000 0 00505 W'R NEWTRK 067 LM00107 00442 NZT -0 52000 0 00077 00443 TRA +0 02000 0 00452 LINE(11) = TRKADR 068 LM00108 00444 CLA +0 50000 0 00125 00445 STO +0 60100 0 00056 LINE(12) = 575757575760K 069 LM00109 00446 CLA +0 50000 0 00205 00447 STO +0 60100 0 00055 T'O NEWREL 070 LM00110 00450 TRA +0 02000 0 00025 O'E 071 LM00111 00451 TRA +0 02000 0 00472 LINE(11) = 575757575757K 072 LM00112 00452 CLA +0 50000 0 00204 00453 STO +0 60100 0 00056 LINE(12) = 575757575757K 073 LM00113 00454 CLA +0 50000 0 00204 00455 STO +0 60100 0 00055 W'R REL .NE. OLDREL 074 LM00114 00456 CLA +0 50000 0 00106 00457 SUB +0 40200 0 00102 00460 TZE +0 10000 0 00470 NEWREL LINE(13) = DEFBC.(REL).V.575760K6 075 LM00115 00461 TSX +0 07400 4 00001 00462 TXH +3 00000 0 00106 00463 STO +0 60100 0 01213 00464 CAL -0 50000 0 01213 00465 ORA -0 50100 0 00206 00466 SLW +0 60200 0 00054 O'E 076 LM00116 00467 TRA +0 02000 0 00472 LINE(13) = 575757575757K 077 LM00117 00470 CLA +0 50000 0 00204 00471 STO +0 60100 0 00054 E'L 078 LM00118 E'L 079 LM00119 LINE(14) = LINE(14) .V. DEFBC.(CT) 080 LM00120 00472 TSX +0 07400 4 00001 00473 TXH +3 00000 0 00036 00474 STO +0 60100 0 01213 00475 CAL -0 50000 0 00053 00476 ORA -0 50100 0 01213 00477 SLW +0 60200 0 00053 OLDREL = REL + CT 081 LM00121 00500 CLA +0 50000 0 00106 00501 ADD +0 40000 0 00036 00502 STO +0 60100 0 00102 WRITE6.(LINE(14)...4) 082 LM00122 00503 TSX +0 07400 4 00016 00504 TIX +2 00166 0 00053 E'L 083 LM00123 W'R TRK(I) .E. FILNAM 084 LM00127 00505 LXA +0 53400 1 00047 00506 CLA +0 50000 1 00141 00507 SUB +0 40200 0 00043 00510 TNZ -0 10000 0 00513 T'O OPEND 085 LM00128 00511 TRA +0 02000 0 00026 O'E 086 LM00129 00512 TRA +0 02000 0 00577 OLDEST = TIME 087 LM00130 00513 CLA +0 50000 0 00124 00514 STO +0 60100 0 00101 SLOT = 0 088 LM00131 00515 CLA +0 50000 0 00162 00516 STO +0 60100 0 00110 BUFFED = 0B 089 LM00132 00517 CLA +0 50000 0 00162 00520 STO +0 60100 0 00034 FBUFFE.(TRK(I),FILE,BUFF...0,NERR1) 090 LM00133 00521 CLA +0 50000 0 00047 00522 SUB +0 40200 0 00523 00523 TXH +3 00000 0 00141 00524 STA +0 62100 0 00526 00525 TSX +0 07400 4 00004 00526 TXH +3 00000 0 00000 00527 TXH +3 00000 0 00042 00530 TIX +2 00162 0 00035 00531 TXH +3 00000 0 00024 NERR1 T'H LOOP1, FOR I = 1,1,(I.G.AFSTMX) 091 LM00134 00532 CLA +0 50000 0 00163 00533 STO +0 60100 0 00047 00534 TRA +0 02000 0 00540 00535 CLA +0 50000 0 00047 00536 ADD +0 40000 0 00163 00537 STO +0 60100 0 00047 00540 CLA +0 50000 0 00047 00541 SUB +0 40200 0 00033 00542 TZE +0 10000 0 00544 00543 TPL +0 12000 0 00577 W'R TRK(I) .E. FILNAM 092 LM00135 00544 LXA +0 53400 1 00047 00545 CLA +0 50000 1 00141 00546 SUB +0 40200 0 00043 00547 TNZ -0 10000 0 00552 T'O OPEND 093 LM00136 00550 TRA +0 02000 0 00026 O'R (TRK(I).E.FENCE) .AND. (SLOT.E.0) 094 LM00137 00551 TRA +0 02000 0 00576 00552 CLA +0 50000 0 00110 00553 SUB +0 40200 0 00162 00554 TNZ -0 10000 0 00564 00555 LXA +0 53400 1 00047 00556 CLA +0 50000 1 00141 00557 SUB +0 40200 0 00041 00560 TNZ -0 10000 0 00564 SLOT = I 095 LM00138 00561 CLA +0 50000 0 00047 00562 STO +0 60100 0 00110 O'R TIME(I) .L. OLDEST 096 LM00139 00563 TRA +0 02000 0 00576 00564 LXA +0 53400 1 00047 00565 CLA +0 50000 1 00124 00566 SUB +0 40200 0 00101 00567 TZE +0 10000 0 00576 00570 TPL +0 12000 0 00576 OLDEST = TIME(I) 097 LM00140 00571 LXA +0 53400 2 00047 00572 CLA +0 50000 2 00124 00573 STO +0 60100 0 00101 PTR = I 098 LM00141 00574 CLA +0 50000 0 00047 00575 STO +0 60100 0 00103 E'L 099 LM00142 LOOP1 C'E 100 LM00143 00576 TRA +0 02000 0 00535 E'L 101 LM00144 W'R SLOT .NE. 0 102 LM00148 00577 CLA +0 50000 0 00110 00600 SUB +0 40200 0 00162 00601 TZE +0 10000 0 00605 I = SLOT 103 LM00149 00602 CLA +0 50000 0 00110 00603 STO +0 60100 0 00047 O'E 104 LM00153 00604 TRA +0 02000 0 00617 I = PTR 105 LM00154 00605 CLA +0 50000 0 00103 00606 STO +0 60100 0 00047 FCLOSE.(TRK(I),FILE,WOOPS) 106 LM00155 00607 CLA +0 50000 0 00047 00610 SUB +0 40200 0 00611 00611 TXH +3 00000 0 00141 00612 STA +0 62100 0 00614 00613 TSX +0 07400 4 00005 00614 TXH +3 00000 0 00000 00615 TXH +3 00000 0 00042 00616 TXH +3 00000 0 00031 E'L 107 LM00156 FOPEN.($RW$,FILNAM,FILE,1,2,WOOPS) 108 LM00157 00617 TSX +0 07400 4 00007 00620 TXH +3 00000 0 00203 00621 TXH +3 00000 0 00043 00622 TXH +3 00000 0 00042 00623 TXH +3 00000 0 00163 00624 TXH +3 00000 0 00164 00625 TXH +3 00000 0 00031 TRK(I) = FILNAM 109 LM00158 00626 LXA +0 53400 1 00047 00627 CLA +0 50000 0 00043 00630 STO +0 60100 1 00141 OPEND TIME(I) = TIME 110 LM00162 00631 LXA +0 53400 1 00047 00632 CLA +0 50000 0 00124 00633 STO +0 60100 1 00124 TADD = ((TRKADR.A.7700K).RS.6) 111 LM00166 00634 CAL -0 50000 0 00125 00635 ANA -0 32000 0 00174 00636 SLW +0 60200 0 01213 00637 CAL -0 50000 0 00167 00640 STA +0 62100 0 00642 00641 CAL -0 50000 0 01213 00642 LGR -0 76500 0 00000 00643 SLW +0 60200 0 00111 LREC = (TRKADR.A.77K) * WDSPT * 10 112 LM00167 00644 CAL -0 50000 0 00125 00645 ANA -0 32000 0 00172 00646 SLW +0 60200 0 01213 00647 LDQ +0 56000 0 01213 00650 MPY +0 20000 0 00156 00651 MPY +0 20000 0 00170 00652 STQ -0 60000 0 00072 RELLOC = TADD * WDSPT + LREC + REL 113 LM00168 00653 LDQ +0 56000 0 00111 00654 MPY +0 20000 0 00156 00655 XCA +0 13100 0 00000 00656 ADD +0 40000 0 00072 00657 ADD +0 40000 0 00106 00660 STO +0 60100 0 00105 W'R .NOT. BUFFED 114 LM00172 00661 ZET +0 52000 0 00034 00662 TRA +0 02000 0 00677 BUFFED = 1B 115 LM00173 00663 CLA +0 50000 0 00163 00664 STO +0 60100 0 00034 FBUFFE.(FILNAM,FILE,BUFF(BUFF+432)...432,WOOPS) 116 LM00174 00665 CLA +0 50000 0 00035 00666 ADD +0 40000 0 00173 00667 SUB +0 40200 0 00670 00670 TXH +3 00000 0 00035 00671 STA +0 62100 0 00675 00672 TSX +0 07400 4 00004 00673 TXH +3 00000 0 00043 00674 TXH +3 00000 0 00042 00675 TIX +2 00173 0 00000 00676 TXH +3 00000 0 00031 E'L 117 LM00175 W'R READSW 118 LM00179 00677 NZT -0 52000 0 00104 00700 TRA +0 02000 0 00712 FRDWAI.(FILNAM,FILE,RELLOC,B...CT,REOF,MZE,WOOPS) 119 LM00180 00701 TSX +0 07400 4 00010 00702 TXH +3 00000 0 00043 00703 TXH +3 00000 0 00042 00704 TXH +3 00000 0 00105 00705 TIX +2 00036 0 00024 00706 TXH +3 00000 0 00027 00707 TXH +3 00000 0 00074 00710 TXH +3 00000 0 00031 O'E 120 LM00181 00711 TRA +0 02000 0 00741 WRITE W'R NEWTRK 121 LM00182 00712 NZT -0 52000 0 00077 00713 TRA +0 02000 0 00731 FWRFIL.(FILNAM,FILE,RELLOC, 122 LM00183 1 ZBUF(ZBUF+WDSPT)...WDSPT,WEOF,MZE,WOOPS) 122 LM00184 00714 CLA +0 50000 0 00161 00715 ADD +0 40000 0 00156 00716 SUB +0 40200 0 00717 00717 TXH +3 00000 0 00161 00720 STA +0 62100 0 00725 00721 TSX +0 07400 4 00011 00722 TXH +3 00000 0 00043 00723 TXH +3 00000 0 00042 00724 TXH +3 00000 0 00105 00725 TIX +2 00156 0 00000 00726 TXH +3 00000 0 00030 00727 TXH +3 00000 0 00074 00730 TXH +3 00000 0 00031 E'L 123 LM00185 FWRWAI.(FILNAM,FILE,RELLOC,B...CT,WEOF,MZE,WOOPS) 124 LM00186 00731 TSX +0 07400 4 00012 00732 TXH +3 00000 0 00043 00733 TXH +3 00000 0 00042 00734 TXH +3 00000 0 00105 00735 TIX +2 00036 0 00024 00736 TXH +3 00000 0 00030 00737 TXH +3 00000 0 00074 00740 TXH +3 00000 0 00031 E'L 125 LM00187 F'N 126 LM00191 00741 TRA +0 02000 0 01207 E'O MDWAIT. 127 LM00195 00742 TRA +0 02000 0 00745 00743 SXA +0 63400 2 01166 00744 TSX +0 07400 2 01166 W'R .NOT. ERRSW, F'N 128 LM00196 00745 ZET +0 52000 0 00040 00746 TRA +0 02000 0 00750 00747 TRA +0 02000 0 01207 B = ERCODE 129 LM00197 00750 CLA +0 50000 0 00037 00751 STO +0 60100 0 00024 ERRSW = 0B 130 LM00198 00752 CLA +0 50000 0 00162 00753 STO +0 60100 0 00040 T'O TRKERR 131 LM00199 00754 TRA +0 02000 0 00024 WOOPS HALT. 132 LM00203 00755 TSX +0 07400 4 00014 DORMNT. 133 LM00204 00756 TSX +0 07400 4 00002 REOF ERRSW = 1B 134 LM00208 00757 CLA +0 50000 0 00163 00760 STO +0 60100 0 00040 ERCODE = 2 135 LM00209 00761 CLA +0 50000 0 00164 00762 STO +0 60100 0 00037 F'N 136 LM00210 00763 TRA +0 02000 0 01207 WEOF FWRFIL.(FILNAM,FILE,0,ZBUF(ZBUF+WDSPT)...WDSPT,MZE,MZE,WOOPS) 137 LM00214 00764 CLA +0 50000 0 00161 00765 ADD +0 40000 0 00156 00766 SUB +0 40200 0 00767 00767 TXH +3 00000 0 00161 00770 STA +0 62100 0 00775 00771 TSX +0 07400 4 00011 00772 TXH +3 00000 0 00043 00773 TXH +3 00000 0 00042 00774 TXH +3 00000 0 00162 00775 TIX +2 00156 0 00000 00776 TXH +3 00000 0 00074 00777 TXH +3 00000 0 00074 01000 TXH +3 00000 0 00031 T'O WRITE 138 LM00215 01001 TRA +0 02000 0 00032 INTERNAL FUNCTION (A) 139 LM00219 01002 TRA +0 02000 0 01052 E'O TRKCV. 140 LM00220 01003 TRA +0 02000 0 01006 00020 TTR +0 02100 0 01004 01004 SXA +0 63400 2 01037 01005 TSX +0 07400 2 01037 X = A 141 LM00221 01006 CLA +0 50000 0 00024 01007 STO +0 60100 0 00157 Y = (X+$666666$) .A. $++++++$ 142 LM00222 01010 CLA +0 50000 0 00157 01011 ADD +0 40000 0 00176 01012 STO +0 60100 0 01051 01013 CAL -0 50000 0 01051 01014 ANA -0 32000 0 00200 01015 SLW +0 60200 0 00160 F'N X .A. .N.(Y.RS.1) .A. .N.(Y.RS.3) 143 LM00223 01016 CAL -0 50000 0 00165 01017 STA +0 62100 0 01021 01020 CAL -0 50000 0 00160 01021 LGR -0 76500 0 00000 01022 COM +0 76000 0 00006 01023 SLW +0 60200 0 01051 01024 CAL -0 50000 0 00163 01025 STA +0 62100 0 01027 01026 CAL -0 50000 0 00160 01027 LGR -0 76500 0 00000 01030 COM +0 76000 0 00006 01031 ANA -0 32000 0 00157 01032 ANA -0 32000 0 01051 01033 SLW +0 60200 0 01051 01034 CLA +0 50000 0 01051 01035 TRA +0 02000 0 01045 E'N 144 LM00224 01036 TSX +0 07400 4 00003 01037 TXH +3 00000 0 00000 01040 SXD -0 63400 1 01037 01041 SXA +0 63400 4 01045 01042 CLA +0 50000 4 00001 01043 STA +0 62100 0 01006 01044 TRA +0 02000 2 00001 01045 AXT +0 77400 4 00000 01046 LXA +0 53400 2 01037 01047 LXD -0 53400 1 01037 01050 TRA +0 02000 4 00001 INTERNAL FUNCTION (A) 145 LM00228 01052 TRA +0 02000 0 01165 E'O CKTRK. 146 LM00229 01053 TRA +0 02000 0 01056 00017 TTR +0 02100 0 01054 01054 SXA +0 63400 2 01152 01055 TSX +0 07400 2 01152 X = A 147 LM00230 01056 CLA +0 50000 0 00024 01057 STO +0 60100 0 00157 W'R ((X.A.$ $) .NE. 0), F'N 1B 148 LM00232 01060 CAL -0 50000 0 00157 01061 ANA -0 32000 0 00207 01062 SLW +0 60200 0 01164 01063 CLA +0 50000 0 01164 01064 SUB +0 40200 0 00162 01065 TZE +0 10000 0 01070 01066 CLA +0 50000 0 00163 01067 TRA +0 02000 0 01160 R = X .A. 77K 149 LM00233 01070 CAL -0 50000 0 00157 01071 ANA -0 32000 0 00172 01072 SLW +0 60200 0 00107 T = BCDEC.((X.RS.6) .A. 77777777K) 150 LM00234 01073 CAL -0 50000 0 00167 01074 STA +0 62100 0 01076 01075 CAL -0 50000 0 00157 01076 LGR -0 76500 0 00000 01077 ANA -0 32000 0 00175 01100 SLW +0 60200 0 01164 01101 TSX +0 07400 4 00000 01102 TXH +3 00000 0 01164 01103 STO +0 60100 0 00142 M = (X.RS.30) .A. 77K 151 LM00235 01104 CAL -0 50000 0 00171 01105 STA +0 62100 0 01107 01106 CAL -0 50000 0 00157 01107 LGR -0 76500 0 00000 01110 ANA -0 32000 0 00172 01111 SLW +0 60200 0 00073 W'R (M.L.LDKM) .OR. (M.G.HDKM .AND. M.L.LDMM) .OR. 152 LM00237 1 (M.G.HDMM), F'N 1B 152 LM00238 01112 CLA +0 50000 0 00073 01113 SUB +0 40200 0 00046 01114 TZE +0 10000 0 01116 01115 TPL +0 12000 0 01132 01116 CLA +0 50000 0 00073 01117 SUB +0 40200 0 00052 01120 TZE +0 10000 0 01126 01121 TPL +0 12000 0 01126 01122 CLA +0 50000 0 00073 01123 SUB +0 40200 0 00045 01124 TZE +0 10000 0 01126 01125 TPL +0 12000 0 01132 01126 CLA +0 50000 0 00073 01127 SUB +0 40200 0 00051 01130 TZE +0 10000 0 01134 01131 TPL +0 12000 0 01134 01132 CLA +0 50000 0 00163 01133 TRA +0 02000 0 01160 W'R (R.G.1) .OR. (T.G.TSIZ(M)), F'N 1B 153 LM00239 01134 LXA +0 53400 2 00073 01135 CLA +0 50000 0 00142 01136 SUB +0 40200 2 00155 01137 TZE +0 10000 0 01141 01140 TPL +0 12000 0 01145 01141 CLA +0 50000 0 00107 01142 SUB +0 40200 0 00163 01143 TZE +0 10000 0 01147 01144 TMI -0 12000 0 01147 01145 CLA +0 50000 0 00163 01146 TRA +0 02000 0 01160 F'N 0B 154 LM00240 01147 CLA +0 50000 0 00162 01150 TRA +0 02000 0 01160 E'N 155 LM00241 01151 TSX +0 07400 4 00003 01152 TXH +3 00000 0 00000 01153 SXD -0 63400 1 01152 01154 SXA +0 63400 4 01160 01155 CLA +0 50000 4 00001 01156 STA +0 62100 0 01056 01157 TRA +0 02000 2 00001 01160 AXT +0 77400 4 00000 01161 LXA +0 53400 2 01152 01162 LXD -0 53400 1 01152 01163 TRA +0 02000 4 00001 E'N 156 LM00243 01165 TSX +0 07400 4 00003 01166 TXH +3 00000 0 00000 01167 SXD -0 63400 1 01166 01170 SXA +0 63400 4 01207 01171 CLA +0 50000 4 00001 01172 STA +0 62100 0 00403 01173 STA +0 62100 0 00754 01174 CLA +0 50000 4 00002 01175 STA +0 62100 0 00705 01176 STA +0 62100 0 00735 01177 STA +0 62100 0 00751 01200 CLA +0 50000 4 00003 01201 STA +0 62100 0 00427 01202 CLA +0 50000 4 00004 01203 STA +0 62100 0 00424 01204 CLA +0 50000 4 00005 01205 STO +0 60100 0 00376 01206 TRA +0 02000 2 00001 01207 AXT +0 77400 4 00000 01210 LXA +0 53400 2 01166 01211 LXD -0 53400 1 01166 01212 TRA +0 02000 4 00001 TRAC BCD 06/06/68 2358.0 785 00000 1 TRACE ROUTINE FOR SEARCH MODULES ON PSEUDO-FILE SYSTEM PAGE 1 D.R. WIDRIG MAY 1966 00006 ENTRY TRAC TO TRACE SEARCH MODULE CALLS EXTERN KEYS,OCABC,WRIT6A,WRITE6 TRANSFER VECTOR 00000 422570626060 KEYS 00001 462321222360 OCABC 00002 665131630621 WRIT6A 00003 665131632506 WRITE6 LINKAGE DIRECTOR 00004 000000000000 00005 635121236060 00006 0621 00 0 00041 TRAC STA RETV SAVE AC ADDRESS 00007 0131 00 0 00000 XCA SAVE AC IN MQ 00010 0522 60 0 00000 XEC* KEYS LOAD UP WITH SIMULATED KEY SETTING 00011 0131 00 0 00000 XCA RESTORE AC 00012 0162 00 7 00002 TQP 2,7 IF CONSOLE SIGN KEY NOT DOWN, EXIT 00013 0636 00 4 00034 SCA TRACX4,4 ZERO, DO A TRACE 00014 0602 00 0 00043 SLW ACSAV SAVE AC 00015 0074 00 4 00001 TSX OCABC,4 CONVERT AC ADDRESS 00016 3 00000 0 00041 PTH RETV WHICH WAS SAVED 00017 -0501 00 0 00044 ORA =H,00000 ADD PUNCTUATION 00020 0602 00 0 00041 SLW RETV SAVE RESULT 00021 0535 00 4 00034 LAC TRACX4,4 RESTORE CALLER'S IR4 00022 -0500 00 7 00001 CAL 1,7 GET ARGUMENT TO TRACER 00023 0602 00 0 00037 SLW NAME PLANT IN BCD NAME 00024 -0500 60 4 00001 CAL* 1,4 GET MODE OF CALL 00025 0621 00 0 00040 STA MODE PLANT IT.. CAREFUL.. 00026 -0500 00 4 00002 CAL 2,4 FIND OUT DESIRED ENTRY FOR CALL 00027 0621 00 0 00033 STA IO2 WE WANT TO PRINT IT 00030 0074 00 4 00002 TSX WRIT6A,4 PRINT HEADER INFO 00031 0 00004 0 00037 NAME,,4 .. 00032 0074 00 4 00003 TSX WRITE6,4 NOW PRINT ENTRY STUFF 00033 0 00005 0 00000 IO2 **,,5 .. 00034 -0774 00 4 00000 TRACX4 AXC **,4 RESTORE CALLER'S IR4 00035 -0500 00 0 00043 CAL ACSAV RESTORE AC 00036 0020 00 7 00002 TRA 2,7 RETURN FROM TRACE 1 TRACE ROUTINE FOR SEARCH MODULES ON PSEUDO-FILE SYSTEM PAGE 2 D.R. WIDRIG MAY 1966 00037 NAME BSS 1 NAME OF CALLER TO TRACE 00040 736060600000 MODE BCI 1,, 00 MODE OF CALL 00041 730000000000 RETV BCI 1,,00000 AC ADDRESS 00042 -205757575757 OCT 605757575757 ONE SPACE 00043 ACSAV BSS 1 STORAGE FOR LOGICAL AC END LITERALS 00044 730000000000 1 TRACE ROUTINE FOR SEARCH MODULES ON PSEUDO-FILE SYSTEM PAGE 1 POST PROCESSOR ASSEMBLY DATA 45 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 33 IO2 27 0 KEYS 10 40 MODE 25 37 NAME 23, 31 41 RETV 6, 16, 20 6 TRAC 0 43 ACSAV 14, 35 1 OCABC 15 34 TRACX4 13, 21 2 WRIT6A 30 3 WRITE6 32 0 NO ERROR IN ABOVE ASSEMBLY. SUPCAL BCD 06/06/68 2358.0 1206 00000 1 TIA LIBRARY FOR FILE SYSTEM SIMULATOR PAGE 1 D.R. WIDRIG MAY 1966 00002 ENTRY FUPDMF 00003 ENTRY FDELMF 00004 ENTRY FATTAC 00005 ENTRY FATTNA 00006 ENTRY FUPDAT 00007 ENTRY FSETPR 00010 ENTRY FOPEN 00011 ENTRY FBUFFE 00012 ENTRY FRDFIL 00013 ENTRY FRDWAI 00014 ENTRY FWRFIL 00015 ENTRY FWRWAI 00016 ENTRY FTRFIL 00017 ENTRY FFCHEC 00020 ENTRY FFWAIT 00021 ENTRY FCLOSE 00022 ENTRY FRESET 00023 ENTRY FCHFIL 00024 ENTRY FDELFI 00025 ENTRY FFSTAT 00026 ENTRY FMOVFI 00027 ENTRY FSETFI 00030 ENTRY FLINK 00031 ENTRY FUNLIN 00032 ENTRY FSTORG 00033 ENTRY FMOUNT 00034 ENTRY FUMOUN 00035 ENTRY FVERIF 00036 ENTRY FLABEL 00037 ENTRY FTAPFI 00040 ENTRY FIODIA 00041 ENTRY FFERRT 00042 ENTRY FTILOC LINKAGE DIRECTOR 00000 000000000000 00001 266447244426 00002 0101 00 0 00100 FUPDMF TIA =HUPDMFD 00003 0101 00 0 00051 FDELMF TIA =HDELMFD 00004 0101 00 0 00043 FATTAC TIA =HATTACH 00005 0101 00 0 00044 FATTNA TIA =HATTNAM 00006 0101 00 0 00077 FUPDAT TIA =HUPDATE 00007 0101 00 0 00070 FSETPR TIA =HSETPRI 00010 0101 00 0 00063 FOPEN TIA =HOPEN 00011 0101 00 0 00045 FBUFFE TIA =HBUFFER 00012 0101 00 0 00064 FRDFIL TIA =HRDFILE 00013 0101 00 0 00065 FRDWAI TIA =HRDWAIT 00014 0101 00 0 00102 FWRFIL TIA =HWRFILE 00015 0101 00 0 00103 FWRWAI TIA =HWRWAIT 00016 0101 00 0 00074 FTRFIL TIA =HTRFILE 00017 0101 00 0 00052 FFCHEC TIA =HFCHECK 00020 0101 00 0 00055 FFWAIT TIA =HFWAIT 00021 0101 00 0 00047 FCLOSE TIA =HCLOSE 00022 0101 00 0 00066 FRESET TIA =HRESETF 1 TIA LIBRARY FOR FILE SYSTEM SIMULATOR PAGE 2 D.R. WIDRIG MAY 1966 00023 0101 00 0 00046 FCHFIL TIA =HCHFILE 00024 0101 00 0 00050 FDELFI TIA =HDELFIL 00025 0101 00 0 00054 FFSTAT TIA =HFSTATE 00026 0101 00 0 00062 FMOVFI TIA =HMOVFIL 00027 0101 00 0 00067 FSETFI TIA =HSETFIL 00030 0101 00 0 00060 FLINK TIA =HLINK 00031 0101 00 0 00076 FUNLIN TIA =HUNLINK 00032 0101 00 0 00071 FSTORG TIA =HSTORGE 00033 0101 00 0 00061 FMOUNT TIA =HMOUNT 00034 0101 00 0 00075 FUMOUN TIA =HUMOUNT 00035 0101 00 0 00101 FVERIF TIA =HVERIFY 00036 0101 00 0 00057 FLABEL TIA =HLABEL 00037 0101 00 0 00072 FTAPFI TIA =HTAPFIL 00040 0101 00 0 00056 FIODIA TIA =HIODIAG 00041 0101 00 0 00053 FFERRT TIA =HFERRTN 00042 0101 00 0 00073 FTILOC TIA =HTILOCK END LITERALS 00043 216363212330 00044 216363452144 00045 226426262551 00046 233026314325 00047 234346622560 00050 242543263143 00051 242543442624 00052 262330252342 00053 262551516345 00054 266263216325 00055 266621316360 00056 314624312127 00057 432122254360 00060 433145426060 00061 444664456360 00062 444665263143 00063 464725456060 00064 512426314325 00065 512466213163 00066 512562256326 00067 622563263143 00070 622563475131 00071 626346512725 00072 632147263143 00073 633143462342 00074 635126314325 00075 644446644563 00076 644543314542 00077 644724216325 00100 644724442624 00101 652551312670 00102 665126314325 00103 665166213163 1 TIA LIBRARY FOR FILE SYSTEM SIMULATOR PAGE 1 POST PROCESSOR ASSEMBLY DATA 104 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 30 FLINK 0 10 FOPEN 0 4 FATTAC 0 5 FATTNA 0 11 FBUFFE 0 23 FCHFIL 0 21 FCLOSE 0 24 FDELFI 0 3 FDELMF 0 17 FFCHEC 0 41 FFERRT 0 25 FFSTAT 0 20 FFWAIT 0 40 FIODIA 0 36 FLABEL 0 33 FMOUNT 0 26 FMOVFI 0 12 FRDFIL 0 13 FRDWAI 0 22 FRESET 0 27 FSETFI 0 7 FSETPR 0 32 FSTORG 0 37 FTAPFI 0 42 FTILOC 0 16 FTRFIL 0 34 FUMOUN 0 31 FUNLIN 0 6 FUPDAT 0 2 FUPDMF 0 35 FVERIF 0 14 FWRFIL 0 15 FWRWAI 0 0 NO ERROR IN ABOVE ASSEMBLY. FPRNTE BCD 06/06/68 2358.0 966 00000 1 SHORT 'PRNTER'-LIKE PROGRAM FOR SIMULATED FILE SYSTEM PAGE 1 D.R. WIDRIG OCTOBER 1966 00007 ENTRY FPRNTE TO GET 'PRNTER'-LIKE COMMENT EXTERN OCABC,DEFBC EXTERN WRITE6,RED,BLACK TRANSFER VECTOR 00000 462321222360 OCABC 00001 242526222360 DEFBC 00002 665131632506 WRITE6 00003 512524606060 RED 00004 224321234260 BLACK LINKAGE DIRECTOR 00005 000000000000 00006 264751456325 00007 0636 00 4 00043 FPRNTE SCA FPRX4,4 SAVE LINKAGE 00010 0074 00 4 00057 TSX IODIAG,4 GET ERROR INFO FROM SUPERVISOR 00011 3 00007 0 00047 PTH BUFF,,7 .. 00012 0074 00 4 00000 TSX OCABC,4 CONVERT ADDRESS OF ERROR LOC 00013 3 00000 0 00047 PTH BUFF .. 00014 0767 00 0 00006 ALS 6 POSITION BCD RESULT 00015 -0501 00 0 00060 ORA =H00000 INSERT TRAILING BLANK 00016 0602 00 0 00047 SLW BUFF SAVE RESULT IN OUTPUT LINE 00017 0074 00 4 00001 TSX DEFBC,4 GET ERROR CODE CONVERTED 00020 3 00000 0 00051 PTH BUFF+2 .. 00021 -0501 00 0 00064 ORA =O575760000000 REDUCE TO THREE DIGITS 00022 0602 00 0 00051 SLW BUFF+2 SAVE RESULT 00023 0074 00 4 00001 TSX DEFBC,4 CONVERT I/O ERROR CODE 00024 3 00000 0 00052 PTH BUFF+3 .. 00025 0767 00 0 00006 ALS 6 POSITION ANSWER 00026 -0501 00 0 00063 ORA =O575757600060 REDUCE TO ONE DIGIT 00027 0602 00 0 00052 SLW BUFF+3 SAVE RESULT 00030 0074 00 4 00000 TSX OCABC,4 CONVERT FILE SYSTEM LOCATION 00031 3 00000 0 00055 PTH BUFF+6 .. 00032 0601 00 0 00056 STO BUFF+7 SAVE RESULT 00033 -0500 00 0 00054 CAL BUFF+5 GET 'NAME2' OF FILE IN ERROR 00034 0602 00 0 00055 SLW BUFF+6 MOVE TO NEW SLOT 00035 -0500 00 0 00062 CAL =O575757575760 GET SINGLE BLANK 00036 0602 00 0 00054 SLW BUFF+5 SLIP BETWEEN 'NAME1' AND 'NAME2' 00037 0074 00 4 00003 TSX RED,4 THIS IS SERIOUS STUFF 00040 0074 00 4 00002 TSX WRITE6,4 OUTPUT LINE 00041 0 00012 0 00045 SIMERR,,10 .. 00042 0074 00 4 00004 TSX BLACK,4 RETURN TO NORMAL 1 SHORT 'PRNTER'-LIKE PROGRAM FOR SIMULATED FILE SYSTEM PAGE 2 D.R. WIDRIG OCTOBER 1966 00043 -0774 00 4 00000 FPRX4 AXC **,4 RESTORE LINKAGE 00044 0020 00 4 00001 TRA 1,4 RETURN TO CALLER 1 SHORT 'PRNTER'-LIKE PROGRAM FOR SIMULATED FILE SYSTEM PAGE 3 D.R. WIDRIG OCTOBER 1966 DATA AND WORK AREAS, ETC. 00045 623144602551 SIMERR BCI ,SIM ERROR 00046 514651606060 00047 606060606060 00050 606060606060 00051 606060606060 00052 606060606060 00053 606060606060 00054 606060606060 00055 606060606060 00056 606060606060 00047 BUFF EQU SIMERR+2 00057 0101 00 0 00061 IODIAG TIA =HIODIAG END LITERALS 00060 000000000060 00061 314624312127 00062 575757575760 00063 575757600060 00064 575760000000 1 SHORT 'PRNTER'-LIKE PROGRAM FOR SIMULATED FILE SYSTEM PAGE 1 POST PROCESSOR ASSEMBLY DATA 65 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 3 RED 37 47 BUFF 11, 13, 16, 20, 22, 24, 27, 31, 32, 33, 34, 36, 57 4 BLACK 42 1 DEFBC 17, 23 43 FPRX4 7 0 OCABC 12, 30 7 FPRNTE 0 57 IODIAG 10 45 SIMERR 41, 57 2 WRITE6 40 0 NO ERROR IN ABOVE ASSEMBLY. EXITSM BCD 10/12/70 1531.6 1123 00000 1 FAP 09/05/69 037.2 PAGE 1 * FAP *EXIT FOR TIME SHARING MOD XI FOREGROUND LIBRARY JDH SAVES MACHINE CONDITIONS CLOSES OUT ACTIVE FILES IN (FTB) DIRECTORY CLOSES OUT OTHER ACTIVE FILES 00010 ENTRY EXIT 00010 ENTRY CLKOUT 00053 ENTRY DUMP 00010 ENTRY ENDJOB 00056 ENTRY EXITM 00050 ENTRY PDUMP TRANSFER VECTOR 00000 665126436760 WRFLX 00001 222623434662 BFCLOS 00002 234346622560 CLOSE 00003 244651444563 DORMNT 00004 233045234644 CHNCOM 00005 242521246060 DEAD LINKAGE DIRECTOR 00006 000000000000 00007 256731636060 00010 -0600 00 0 00061 EXIT STQ MQ 00011 0560 00 0 00073 LDQ EXNAM 00012 0634 00 4 00043 GO SXA EX4,4 00013 0634 00 2 00042 SXA EX2,2 00014 0634 00 1 00041 SXA EX1,1 00015 -0600 00 0 00065 STQ MESS 00016 0602 00 0 00062 SLW AC 00017 0771 00 0 00002 ARS 2 00020 0601 00 0 00063 STO ACSQ 00021 0604 00 0 00064 STI SVSI 00022 0074 00 4 00000 TSX $WRFLX,4 00023 -0 00006 0 00065 MZE MESS,,6 00024 0074 00 4 00001 TSX $BFCLOS,4 CLOSE ACTIVE FILES FROM (FTB) TABLE 00025 3 00000 0 00107 PTH =H ALL 00026 3 00000 0 00106 PTH =-0 00027 3 00000 0 00030 PTH *+1 00030 0074 00 4 00002 TSX $CLOSE,4 00031 3 00000 0 00107 PTH =H ALL CLOSE ANY OTHER ACTIVE FILES 00032 3 00000 0 00106 PTH =-0 00033 3 00000 0 00034 PTH *+1 00034 0560 00 0 00061 LDQ MQ 00035 0500 00 0 00063 CLA ACSQ 00036 0767 00 0 00002 ALS 2 00037 -0501 00 0 00062 ORA AC 00040 0441 00 0 00064 LDI SVSI 00041 0774 00 1 00000 EX1 AXT **,1 00042 0774 00 2 00000 EX2 AXT **,2 00043 0774 00 4 00000 EX4 AXT **,4 00044 0074 00 4 00003 TSX $DORMNT,4 1 FAP 09/05/69 037.2 PAGE 2 00045 -0754 00 0 00000 ZAC 00046 0074 00 4 00004 TSX $CHNCOM,4 00047 3 00000 0 00105 PAR =0 00010 CLKOUT SYN EXIT 00010 ENDJOB SYN EXIT 00050 -0600 00 0 00061 PDUMP STQ MQ 00051 0560 00 0 00075 LDQ PDNAM 00052 0020 00 0 00012 TRA GO 00053 -0600 00 0 00061 DUMP STQ MQ 00054 0560 00 0 00076 LDQ DPNAM 00055 0020 00 0 00012 TRA GO 00056 0074 00 4 00000 EXITM TSX $WRFLX,4 00057 -0 00004 0 00077 MZE EXMMES,,4 00060 0074 00 4 00005 TSX $DEAD,4 00061 0 00000 0 00000 MQ PZE 00062 0 00000 0 00000 AC PZE 00063 0 00000 0 00000 ACSQ PZE 00064 0 00000 0 00000 SVSI PZE 00065 606060606060 MESS BCI 6, CALLED. PM MAY BE TAKEN. 00066 602321434325 00067 243360474460 00070 442170602225 00071 606321422545 00072 336060606060 00073 606025673163 EXNAM BCI 1, EXIT 00074 602551514651 ERNAM BCI 1, ERROR 00075 604724644447 PDNAM BCI 1, PDUMP 00076 606024644447 DPNAM BCI 1, DUMP 00077 256731634460 EXMMES BCI 4,EXITM CALLED. GOODBYE. 00100 232143432524 00101 336027464624 00102 227025336060 00103 FILNAM BSS 2 END LITERALS 00105 000000000000 00106 400000000000 00107 606060214343 1 FAP 09/05/69 037.2 PAGE 1 POST PROCESSOR ASSEMBLY DATA 110 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM 0REFERENCES TO DEFINED SYMBOLS 62 AC 16, 37 12 GO 52, 55 61 MQ 10, 34, 50, 53 41 EX1 14 42 EX2 13 43 EX4 12 63 ACSQ 20, 35 5 DEAD 60 53 DUMP 0 10 EXIT 0, 50 65 MESS 15, 23 64 SVSI 21, 40 2 CLOSE 30 76 DPNAM 54 74 ERNAM 56 EXITM 0 73 EXNAM 11 75 PDNAM 51 50 PDUMP 0 0 WRFLX 22, 56 1 BFCLOS 24 4 CHNCOM 46 10 CLKOUT 0, 50 3 DORMNT 44 10 ENDJOB 0, 50 77 EXMMES 57 103 FILNAM 0 NO ERROR IN ABOVE ASSEMBLY.