*20 /SAVE BINARY /TBLKS 356-360 /MBLKS 0,1,3 /ENTER WITH IF=2,DF=1 *16 RCG E7 7\D7 JMP C3 /SB /TAPE CONTROL M22, SET 2 /- NO BLKS F1 SET I 5 -41 SET I 6 R1 JMP C22 /WRT HDR BLK M22A, JMP C2 /SET UP R1 UPSY, LDA I 13 /SET TO MEM MAP ? CONT APO JMP WRIT /BLK USED JMP R2 /NOT USED JMP AZ /FINI-RESTART EDITOR JMP M22A /TRY NXT BLK R2, LDA I /BUMP THE READ 1 LAM 6 XSK I 5 XSK I 0 /NOT THRU-BUMP XIT JMP 0 C2, CLR ADA 6 /R1 SET TO START OF WA BSE I 1000 STA 6 JMP 0 C22, SET 3 0 JMP DTEXTW-1 /SETS XOB LDA B2 BCL I 7000 BSE I 2000 STC .+2 F2, WRC /WRITE HDR BLK 0 CLR AXO ADD P1 /BUMP TBLK ADM B2 XSK I 5 JMP .+2 JMP AZ /FINI ALL 8K XSK I 2 JMP 3 JMP AZ /FINI ALL BLKS USED WRIT, SET 3 0 CLR AXO RDC U R1, A7 /MB C2,R2-READ WA JMP DTEXTW-1 0 /MB S1-WRC B2, 0 /MB T1,F2-HDR ? ACTIVE BLKS CLR AXO ADD P1 /BUMP TBLK ADM B2 XSK I 2 JMP 3 /NOT THRU JMP AZ P1, 1 F1, 0 /SET TO -(NO TBLKS USED) AT CONT+5 /DISPLAY NO ? QUIT N1, CLR SET I 1 340 DSC I 3077 DSC I 7706 SET I 1 352 DSC I 4177 DSC I 7741 KST JMP N1+1 JMP AZ /SAVE BINARY C3, RDC E7 /LAST BLK-SB TO 5400 3\D7+60 RDC U /HDR BLK TP1 2\A7+57 CLR STC BUFF /IN CASE NOT LOAD AND GO LDA E6 /EQ 0 IF NOT L?G /B0 EQ 0 IF LINC; EQ 1 IF 8MODE; 8 FLD IS IN 9-11 AZE I JMP CONT /NOT L?G APO JMP PDPMOD /8 MODE ROL 2 /LINC MODE BCL I 7773 /MAX OF 7 STA E6 LDA E6+1 /2 LEAST SIG BITS OF IF /12 BIT 8 MODE ADDR ROL 2 BCL I 7774 ADA /5BITS E6 BSE I /MAKE AN LIF 600 STC BUFF LDA E6+1 /STARTING ADDR BSE I /MAKE A JMP 6000 STC BUFF+1 JMP CONT /ALL SET PDPMOD, LDA I /SET UP FOR 8MOD START PDP STC BUFF LDA I 5777 /JMP I 7577 STC BUFF+2 LDA /CHK FIELD E6 ROL 3 BCL I /8K FOR THIS VERSION 7767 BSE I /MAKE A CIF 6202 STC BUFF+1 LDA E6+1 /STARTING ADDR STC BUFF+3 CONT, SET I 13 USENO-1 LDA I 13 /NO BLKS USED ADD P1 /+1 FOR HDR COM STC F1 ADA I 3 STC Q2 ADA I 1\A7 STC R1 JMP S1 /SET UP TAPE ORDERS USINUSING E6+6 JMP Z1 /READ IN THE INDEX BLK JMP Y1 /RTN FOR N0 INDEX-MAKE ONE JMP X1 /SEARCH INDEX FOR NAME IN E6+2 JMP .+4 /NOT FOUND JMP W1 /CHK IF SYMBOLIC ONLY JMP L1 /NO-DISPLAY REPLACE FOR VERIFY JMP .+3 /BIN ENTRY MT /SEARCHES FOR AVAIL SLOT-REPLACE IF NONE JMP V1 /RTN FOR NO MTS-NO ? QUIT JMP N1 SET 4 /SAVE XR PTR 2 /LOCATES BEST SET OF TBLKS-RTNS WITH BEGIN TBLK IN AC JMP U1 JMP T1 /UPDATE ? WRT XR JMP M22 /FILE SUBS /CHK IF THIS ENTRY HAS BINARY W1, SET 5 2 LDA I 5 APO /BINARESENT? XSK I 0 /NO JMP 0 /ENTER TO VERIFY 1ST HALF FOR SPACE H1, LDA 6 /ENTRANCE FOR 2ND HALF SPACE CHK ADD F1 AZE I COM APO XSK I 0 JMP 0 /ADJUSTS INDEX PTR TO START OF NXT SLOT K1, LDA 2 BSE I 7007 STC 2 XSK 2 JMP 0 JMP 1 /END OF INDEX-XIT FROM X1 /READ AND CHECK INDEX Z1, SET 3 0 JMP DTEXTW-1 RCG 1\G7 CLR AXO LDA 3000 SHD I 5700 XSK I 3 JMP 3 /MAKE AN INDEX-FILL WITH 5757 Y1, SET 1 0 SET I 2 2777 LDA I 5757 STA I 2 XSK 2 JMP .-2 JMP 1 /SEARCH INDEX FOR THE NAME IN E6 X1, SET 1 0 SET I 2 3000 SET I 3 -4 SET I 4 E6+1 JMP K1 /BUMP THE PTR TO THE NXT ENTRY LDA I 2 SAE I 4 JMP X1+4 XSK I 3 JMP .-4 /CHK THE WHOLE NAME-8CHARS LDA I /FOUND IT - NB EF V1 RTN Q2, 0 /SET TO 3 AT CONT ADM /STEP PTR TO BIN ENTRY 2 XSK I 1 JMP 1 /DISPLAY REPLACE TO VERIFY L1, SET 3 0 SET I 1 234 SET I 4 H3-4000 /REPLACE TABLE LDH I 4 SHD I 4300 JMP K2 /COMPLETE CYCLE-CHK TELETYPE ROL 1 ADA I A6 STC 5 DSC 5 DSC I 5 LDA I 2 ADD 1 STC 1 JMP L1+6 /CHK ON OPERATOR RESPONSE K2, KST JMP L1+2 LIF 3 JMP KBDOPR /CHK FOR AN R SAE I 22 JMP AZ /NOT AN R-GET OUT SET 5 2 LDA I /BLANK BIN ENTRY 5757 STA 5 STA I 5 JMP 3 /FIND A SLOT IN THE INDEX V1, SET I 4 E6+1 SET 1 0 SET I 2 /START OF XR 3000 JMP K1 /INITS 2 TO NXT SLOT SET 5 2 LDA I 2 SAE I 5757 JMP V1+6 /TAKEN ALREADY LDA I 4 STA I 5 /NXT 2 CHARS OF FILENAME SRO I 3567 /4 PASSES TO GET ALL 8 CHARS JMP .-4 SET 2 5 JMP Q2-1 /SETS 2-BUMPS XIT-XITS *1400 U1, SET 10 0 SET I 6 /DYNAMICALLY RESET TO NEAREST TBLK -C7 LDA I 7777 STC E1 /SW OFF-2ND HALF OF FILE AREA /RTN WITH 6 SET TO -(CLOSEST TBLK) JMP B1 SET 7 6 CLR STC E1 /SW ON-1ST HALF SET I 6 F7 /RTN WITH 6 SET TO CLOSEST TBLK-1ST HALF JMP B1 /FIND NEAREST OF TWO G1, LDA 7 COM ADD 6 ADA I -G7-G7 APO /SKP IF 2ND HALF CLOSER JMP .+3 /TRY 2ND HALF 1ST JMP H1 /GRANTED ITS CLOSER-DOES IT FIT ? JMP 10 /OK-XIT,AC HAS TBLK FOR BEG BLK LDA /TRY 2ND HALF 7 ADA I 1000 /UPPER BOUND JMP H1+2 JMP .+4 /2ND HALF OK-AC HAS BEG TBLK JMP H1 /NG-TRY 1ST HALF JMP 10 JMP N1 LDA 7 COM JMP 10 /SEARCH ALL ACTIVE ENTRIES TO SEE IF 6,THE BEST TBLK HAS TO /BE RESET-IE IF THE 1ST(LAST) TBLK OF AN ENTRY IS GR(LS) /6 BUT LS(GR) 6+(-)NO BLKS B1, SET 1 0 SET I 2 7000 JMP K1 LDH I 2 SHD I 5700 JMP .-4 XSK I 2 /SKIP PAST THE NAME XSK I 2 XSK I 2 /SET 11,12 TO BEGTBLK,-END TBLK JMP C1 /IF ACTIVE,COMPARE VS BASE IN 6,REPLACE IF NEC. JMP D1 /REPEAT FOR BINARY ENTRY JMP C1 JMP D1 JMP B1+4 /NEXT XR SLOT /SET 11,12 TO BOUNDARIES-THIS ENTRY C1, LDA I 2 /STARTING TBLK BCL I 7000 STA 11 ADA I 2 /NO TBLKS APO XSK I 0 /INACTIVE ENTRY COM STA /- ENDING TBLK 12 SRO I /7777 IF 2ND HALF VIA U1+6 /0 IF 1ST HALF VIA U1+11 E1, 0 JMP 0 /1ST HALF-SWAP THE BOUNDARIES SET 12 11 STC 11 JMP 0 /COMPARE THIS SET VS 6-SWAP IF BETTER D1, LDA /CLOSEST TBLK-THIS ENTRY 11 ADD 6 AZE I COM APO JMP 0 /CLOSER-NO CHG ADD F1 APO AZE I JMP 0 /BEYOND 6+NO TBLKS-NO CHG SET 6 12 JMP B1+2 /RESET 6 SO RECYCLE XR /WRITE OUT THE INDEX T1, SET 3 0 STA 4 /INDEX TBLK BCL I 7000 BSE I 1000 STC B2 ADD F1 COM STA I 4 /NO BLKS TO XR KST I JMP AZ JMP DTEXTW-1 /SETS XOB TJ, 0 /MB S1-WCG XR 1\G7 CLR AXO JMP 3 /REPLACE TABLE H3, TEXT XREPLACE?X 4377 /SETS UP AC ? LINK FOR TAPE UNITS SETS, CLR LDA E6+6 ROR I 1 /INSTR UNIT BIT TO LINC BCL I /EXT TAPE UNIT BITS 7774 JMP 0 /WRITE UNIT S1, SET 3 0 JMP SETS STC DTEXTW ROL I 4 BSE I WRC STA B2-1 STA F2 BSE I 0001 STA TJ BCL I 4 STC Z1+3 JMP 3 LDA I DTEXTW, 0 AXO CLR JMP 0 /RESTART THE EDITOR AZ, SET I 15 LDF 3 CLR AXO JMP 15 J9=. *J9+7 D7=300 A7=370 J7=430 B7=0 E7=0 C7=470 E6=2371 G7=346 F7=270 A6=2001 KBDOPR=1400 USENO=1337 BUFF=1000