*20 EJECT / / / / / / / / / / / SEGMNT 2 / / / *10 / / BTREAD, 7774 /ADDRESS OF THE READ ROUTINE. BTREC, DISKD 0 DIALST+10-300 10 / / / / *20 JMP .+2 JMP PASTL TEMP1, LDF 7 TEMP2, RDC TEMP3, 6\SETUP1 TOPPTR, RDC CURPT2, 7\SETUP2 / PASTL, LDF 0 PDP PMODE CIF 10 JMS I BTREAD /READ IN THE REST OF DIAL BTREC / LINC LMODE RETEX, LIF 0 /RTN FROM EXIT JMP OLDPTR JMP INBUF JMP C1 CLWA, LIF 0 /CLR THE WA JMP INPTRS JMP INBUF LDA I 5262 STA I 2 LDA I 6000+CR STA I 2 JMP C1 INBUF, SET 6 /SAVE RETURN 0 PDP PMODE CIF 10 JMS I READ DINBUF LINC LMODE JMP INITLF CLR STC PLAFLG PDP PMODE TAD KHERE DCA I KBDIN TAD KHERE DCA I KBDOUT DCA I KCTR LINC LMODE JMP 6 /RETURN PMODE KHERE, HERE KBDIN, PTRIN KBDOUT, PTROUT KCTR, CHRCTR LMODE TBTOWB, LDA I /INSERT TAB HBIT ADM CURPT2 LDA I TB ACTOWB, STH I 2 CHKBUF, SET 13 /CHK INPUT BUFRS 0 JMP CHKWBF JMP WBFULL JMP CHKPLA JMP PLAFUL JMP 13 D1, LDA I /DELETE CUR LN 1 SAE MAXLN JMP .+2 JMP CLWA SAE CURLN JMP .+2 JMP C1+2 LDH 2 SAE I CR JMP EOBPST EOBLOP, LDA I -1 JMP EOLFIX+2 ADD MAXLN STC MAXLN STC EOBWRD EOBPST, JMP NOTOK JMP K1 LDA I EOBWRD, 0 AZE JMP EOBLOP JMP C1 /GO DISPLAY / K1, SET 10 0 JMP CHKWBE /CHK WB EMPTY LDA I MINUS1, -1 JMP CHKPLA+2 STC PLACTR JMP BUWB JMP K1+2 SET 3 2 JMP 10 /COUNT PLAYGRND CHKPLA, LDA I /DECREASE P1, 1 /COUNT BY ONE ADM I PLACTR, 0 AZE /IS PLAYGRND FULL ? XSK I 0 /NO ADD P1000 JMP 0 /YES /TAPE NOT OK NOTOK, CLR STC X2+5 /CLEAR META EXIT STC TPFLG JMP 0 TPCHK, SRO I TPFLG, 7777 /OK IF ONE XSK I 0 /OK JMP 0 /NOT OK /MONITOR COMMAND /CHECK CHKMC, LIF 3 JMP CHKMC3 DELMC, JMP BUWB JMP K1 JMP C1 KT4, 0 LOKATE, ADD P1 /LOCATE REQUEST STA KT4 STC M4 /DELETE REST OF /MONITOR COMMAND JMP BUWB /DEL 1 CHAR /FROM WB JMP K1 /DELETE UNTIL DONE CLR ADD CURLN COM LAM KT4 JMP TPCHK /CHK TAPE STATUS JMP S4 /NOT OK LZE I /OK JMP L4 LDA I M4, 0 /REQD LINE COM STC .+4 CLR ADD MAXLN LAM I 0017 /CHECK MAX LDA MAXLN LZE I STC M4 JMP L4 /LOCATE FWD /FWD PAGE P4, LDA LNSPER ADD MINUS1 AZE JMP F4+2 /FWD LN F4, CLR ADD P1 STC KT4 SET 10 TPFLG /TAPE STATUS JMP H4 LDA 10 STC TPFLG JMP C1 /GO DISPLAY /SLIDE FWD H4, SET 13 0 JMP A3 /IS MAXLN=CURLN ? JMP 13 /YES RTN JMP CBTOWB /NO TRANSFER 1 /CHAR FROM CB TO WB JMP J4 /RTN HERE IF NON CR JMP EOLFIX ADM KT4 J4, JMP CBMT JMP CHKWBF JMP WBFULL LDA KT4 AZE JMP H4+2 JMP 13 /PLAYGRND FULL PLAFUL, SET 17 0 JMP A3 /MAXLN=CURLN ? JMP 17 /YES JMP BBWRC /WRITE IT OUT ADD BBTBLK /AC IS ZERO ON ENTRY HERE STC F3 ADD P1 STC PLAFLG SET 14 2 R3, LDH I 4 SHD I EOF1 JMP S3 STH I 2 JMP CBMT JMP CHKWBF NOP JMP R3 S3, STH I 2 JMP WBWRC JMP BBFWD SET 2 14 /NOTE ADD MAXBLK STC CURBLK STC PLAFLG JMP F3-3 T3, LDA I RDC WAUNIT JMP WBRDC JMP 17 PLAFLG, 0 /MS INPUT ROUTINES /CHK WB FULL CHKWBF, SET 15 /RTN JMP 0 /TO P+1 XSK I 0 /RTN TO P+2 LDA I HBIT+CB-1 SAE 2 JMP 0 /IF WB IS NOT FULL JMP WBWRC /DO STRING SLIDE JMP BBFWD JMP NOTOK /TAPE NOT OK SET I 2 HBIT+WB-1 JMP A3 /WA FULL STC CURBLK AAA4S2, JMP 15 /WB FULL FIX /BPL AND BB WBFULL, SET 15 0 LDA I -400 ADD CURPT2 STC CURPT2 ADD .-3 ADD 3 STC 3 ADD CURLN STA 5 XSK I 5 /WB TO BB SET I 16 WB-1 SET I 14 BB-1 SET I 12 -400 LDA I 16 STA I 14 XSK I 12 JMP .-3 LDA 5 SAE I /IS CNTRL TABLE E6+2000 /FULL ? JMP 15 LDA I /YES JMP NOTOK /MAKE TAPE ALWAYS STC TPSTAT /NOT OK SET I 5 /TO START D6+2000 /OF CNTRL TABLE JMP 15 /CHK CB EMPTY CBMT, SET 15 0 LDA /BETA 4 4 /IS CB PTR AZE JMP 0 JMP CBFWD /CB IS EMPTY JMP CBRDC SET I 4 HBIT+CB-1 JMP 15 /CHK CONTINUATION A3, LDA I CURLN, 0 SAE I MAXLN, 0 XSK I 0 LDA I MAXBLK, 0 /BIGGEST USED /IN WA JMP 0 /FIX BNS SET 15 0 LDA I F3, 0 /BQBN SAVED SAE BBTBLK JMP .+2 JMP V3-4 STA BBTBLK STC WBTBLK JMP BBRDC ADD BBTBLK JMP V3-11 /RDC CQ /CB TO WB CBTOWB, LDH I 4 STH I 2 SHD I CR1 XSK I 0 JMP 0 /EOL FIXES EOLFIX, LDA I 1 ADD CURLN STC CURLN SET 3 2 ADD MINUS1 JMP 0 /MAKE TAPE OK L3, SET 15 0 SET 4 2 LDA I EOF STH I 4 LDA I 7777 TPSTAT, STC TPFLG /THIS LOCATION CHANGED TO JMP NOTOK /WHEN TAPE NOT OK ADD CURLN STA 5 LDA I WZ, WRC I WAUNIT JMP WBWRC /DIAL POST VERSION TWO PATCH 2/19/70 ADD BBTBLK STA I SPTBLK, 0 BSE I 2000 STC CBTBLK JMP CBFWD JMP CBRDC LDA I P400, 400 ADD 2 STC 4 V3, LDA I HBIT+WB-1 STC PLACTR JMP CHKWBF+15 /CHK WB EMPTY CHKWBE, SET 15 0 LDA I HBIT+WB-1 SAE 2 JMP 0 JMP BBWRC LDA I -1 JMP BBBWD JMP BBRDC /RTN WITH -0 IN AC ADD CBRDC+2 JMP WBRDC SET I 2 HBIT+CB-1 ADD 5 SAE I /CNTRL TABLE NOT MT D6+2000 ADD MINUS1 STC 5 ADD P400 ADD TOPPTR STC TOPPTR ADD P400 ADD CURPT2 STC CURPT2 JMP CHKWBF+15 /LOWER PSA,PFA BUCBWB, LDA I -HBIT ADD 4 STC 4 BUWB, LDA I -HBIT ADD 2 STC 2 LDH 2 SHD I CR1 XSK I 0 JMP 0 /STRING SLIDES /WB FWD OR BWD BBWRC, LDA BBTBLK STC .+7 LIF 3 DJR LDA I JMP .+2 JMP GOODY WRC WAUNIT 0 JMP 0 WBWRC, SET 11 0 LDA I 1 SAE PLAFLG JMP BBWRC SET 0 11 LDA I WT, WRC WAUNIT WBRDC, STC .+13 /SOMETIMES COMES HERE /WITH RDC IN AC LDA I /ADD 1 TO 1001 /MBLK AND TBLK ADM .+10 STC MAXBLK /WA TBLK LIF 3 DJR LDA I JMP .+2 JMP GOODY 0 /TAPE INSTRUCTION WBTBLK, 0 /MBLK6\TBLK LDA BBTBLK STC .-3 AAA7S2, JMP 0 /BB RDC FWD OR BWD BBFWD, LDA I 1 /SOMETIMES COMES HERE /WITH -1 IN AC BBBWD, ADM .+11 /ADD +OR- 1 TO TBLK STC WBTBLK JMP 0 BBRDC, LIF 3 DJR LDA I JMP .+2 JMP GOODY RDC WAUNIT BBTBLK, 0 JMP 0 /CB FIX CBFWD, LDA I 1 /SOMETIMES COMES HERE /WITH -1 IN AC CBBWD, ADM CBTBLK STC TBLKCB JMP 0 /FWD CBRDC, LIF 3 DJR LDA I JMP .+2 JMP GOODY RDC WAUNIT CBTBLK, 0 /MBLK7\TBLK JMP 0 /CB WRC BWD CBWRC, LIF 3 DJR LDA I JMP .+2 JMP GOODY WRC WAUNIT TBLKCB, 0 /MBLK7\TBLK JMP 0 X2, SET 1 /MC EXIT 0 JMP BUWB JMP K1 SRO I 0 JMP WP LDA I -0 STC .-4 WP, PDP PMODE CIF 10 JMS I WRITE DINBUF CIF 10 JMS I READ WRL2 LINC LMODE LIF 0 JMP OUTPTR XIT2, LDA 1 STC RJMP LDF 1 LIF 3 DJR RJMP, 0 CURBLK, 6\WA / / / / INITLF, LDA I 212 IOB PMODE TLS LMODE LDF 1 JMP 0 / / BU1C, LDA I -HBIT ADM 10 SAE I D5, 0 JMP 0 XSK I 0 LDH 10 SAE I CR JMP 0 JMP BYALN / / / / / / CRSET, SET 7 /UPDATE CR 0 /ARGUMENTS LDA I 1 ADD CURLN STC CURLN ADD P1 ADD MAXLN STC MAXLN JMP CHKBUF LDA MAXLN AZE I JMP EOBERR LDA I 2000-WAEND ADD CURBLK APO JMP 7 EOBERR, ADD P1 STC EOBWRD JMP D1 C1, SET I 6 -MAXNUM JMP DISPLA /GO DISPLAY /CALLS TO / KEYBRD INPUT /INTERPRETIVE SR LIF 0 JMP A88 ALTSET, JMP DISPLA LIF 0 JMP ALTREQ+2 EDSET, JMP DISPLA LIF 0 JMP CHKED+2 SUBSET, JMP DISPLA LIF 0 JMP SUBCHR+2 STC TEMP1 JMP TBTOWB XSK I 6 SKP REGCHR, STC TEMP1 /INSERT A CHAR JMP CHKPOS JMP .+3 LIF 0 JMP CHKCNT JMP INSERT P1000, LDA TEMP1 JMP ACTOWB JMP CHKNOK JMP CHKPOS JMP UP6 UP3, LDH I 3 /PTR TO 1ST CHR /ON CUR LN JMP C1+2 UP6, XSK I 6 /CHAR CTR CUR LN JMP C1+2 JMP ACR2 CRLOW, LDH I 7 /CR ON CUR LN SHD I LF1 JMP CHKMC JMP 0 RUB, JMP ROACHR /RUB OUT 1 CHAR JMP CHKNOK LDA 6 AZE JMP C1+2 ADD MHBIT ADD CURPT2 STC CURPT2 JMP RUB COMRTN, STC 10 JMP TBTOWB XSK I 10 JMP .-2 LDA I KOM LDF 0 STA 2000+COMFLG LDF 1 JMP REGCHR CMARTN, JMP TBTOWB JMP UP6 ACR, JMP CHKEND /HERE FOR CR JMP ACR2 STC 7 LDA I CR SHD I 7 JMP C1+2 SHD I 7 SKP JMP ACR2 LDA 7 JMP CHKEND+2 JMP ACR2 JMP C1+2 ACR2, LDA I CR STC TEMP1 JMP INSERT LDA TEMP1 STH I 2 JMP CHKNOK SET 7 3 JMP CHKPOS JMP .+4 JMP SET6N3 CRHI, JMP CRSET /CR ABOVE JMP C1+2 /CUR LN JMP SET6N3 JMP CRLOW JMP CRHI INSERT, SET 17 /INSERT CHAR 0 /OVER CURSOR JMP CHKEND JMP 17 ADA I HBIT SAE 2 SKP JMP 17 STA 12 STC 7 LDH I 12 STC TEMP2 MAKGAP, LDA 2 SAE 12 SKP JMP DUNGAP LDH I 12 STC TEMP3 ADD TEMP2 STH 12 LDA TEMP3 STC TEMP2 JMP MAKGAP DUNGAP, LDA TEMP1 STH I 7 LDA TEMP2 STC TEMP1 JMP 17 CHKEND, LDA /IS CURSOR CURPT2 /FULL RIGHT ? ADA I MHBIT, -HBIT SAE 2 XSK I 0 /NO JMP 0 /YES CHKPOS, LDA /IS CURSOR CURPT2 /ON CUR LN ? ROL 1 COM STC TEMP2 LDA 3 ROL 1 ADD TEMP2 APO I XSK I 0 /NO JMP 0 /YES RORIT, JMP CHKEND /RUB OUT TO JMP C1+2 /RIGHT OF CURSOR LDA I JMP DUNRIT STC OK-1 LDA I JMP EXTRUB STC ROACHR+3 ADD OK+1 STC OK-3 JMP ROACHR JMP .-1 DUNRIT, JMP FIXUP JMP ROACHR JMP CHKNOK JMP C1+2 FIXUP, LDA I JMP C1+2 STC OK-1 ADD RESET+4 STC OK-3 ADD NOTACR+2 STC ROACHR+3 JMP 0 ROLEF, JMP CHKEND /RUB OUT TO STC CURPT2 /LEFT OF CURSOR LDA I CURPT2 STC OK-5 LDA I JMP DUNLEF STC OK-1 LDA I JMP EXTRUB STC ROACHR+3 DOLEF, JMP ROACHR LDA I -HBIT ADD CURPT2 STC CURPT2 JMP DOLEF DUNLEF, LDA I 2 STC OK-5 JMP FIXUP JMP CHKNOK JMP C1+2 ROACHR, LDA /RUB OUT 1 CHAR 0 STC XITRO LDA I 1 SAE CURLN JMP OK EXTRUB, LDA 2 SAE TOPPTR SKP JMP C1+2 OK, SET 12 CURPT2 JMP CHKEND STC 12 LDH 12 SHD I CR1 NOADJ, JMP LASTCR NOTACR, JMP CHKEND JMP ENDRUB LDA I -HBIT ADD 12 STC 1 BWDCHR, LDH I 12 STH I 1 LDA 1 SAE 2 JMP BWDCHR ENDRUB, JMP CHKWBE LDA I -1 JMP CHKPLA+2 STC PLACTR JMP BUWB ANOP, NOP JMP SET6N3 LDA I -HBIT ADD CURPT2 STA 7 JMP CHKEND+2 JMP XITRO LDH 7 SAE I CR JMP XITRO SHD I 7 SKP XITRO, 0 LDA 7 JMP CHKEND+2 JMP XITRO JMP ROACHR+3 SET6N3, LDA 0 STC RTNSET SET 10 2 SET I 1 0 LDH I 2 SKP RESET, XSK I 1 LDA 2 SAE TOPPTR SKP JMP .+3 JMP BUWB JMP RESET SET 3 2 SET 2 10 LDA I -MAXNUM ADD 1 STC 6 RTNSET, 0 LASTCR, SET 11 0 LDA OK-1 SAE I JMP C1+2 JMP NOCNT LDA 12 SAE 2 SKP JMP NOCNT LIF 0 JMP CHKCNT NOCNT, LDA I -1 ADD CURLN STC CURLN ADD .-3 ADD MAXLN STC MAXLN JMP 11 /DISPLAY /ONCE PER ENTRY DISPLA, SET 17 /SAVE RTN JMP 0 /SET INITIAL LIF 3 /SCOPE ARGUMENTS JMP KSAM7 SAMARG, LDF 3 STA OLDSAM+2000 STA LNSPER ROL 4 STA MAXVC+2000 LDF 1 B5, LDA I LNSPER, 0 COM STC 14 ADD CURLN STC DISLN SET 10 2 DOWN, LDA I -D6+2-4000 ADD 2 STC D5 ESF /ENABLE SPECIAL FCNS KGO, LDH 10 SHD I CR1 KBU1LN, JMP BU1LN /BU LN TO BE /DISPLAYED BY 1 /UNLESS AT FIRST /LN OF DISPLAY JMP BU1C JMP KGO DOBU, JMP BU1C LDH 10 SAE I CR JMP DOBU BYALN, LDA I -1 ADD DISLN GOSCP, STC TEMP1 ADD 10 STC TOPPTR ADD TEMP1 LIF 3 JMP SCOPE /CR LOWER LN BU1LN, LDA I -1 ADM I /BACK UP DISLN, 0 /LN FOR DISPLAY AZE I /LN 1 ? JMP GOSCP /YES XSK I 14 /TOP LOGICAL LN ? JMP 0 JMP GOSCP /YES /BWD PAGE Q4, LDA LNSPER ADD MINUS1 AZE JMP B4+2 /BWD LN B4, CLR ADD P1 STC KT4 JMP TPCHK JMP .+2 JMP BWDSLD JMP A3 JMP L3 /BWD SLIDE KBWD, LDA KT4 AZE I JMP C1 BWDSLD, LDA I 1 SAE CURLN JMP .+2 JMP C1 JMP CHKWBE /CHK CB FULL WBTOCB, LDA I HBIT+CB-1 SAE 4 JMP E4 JMP CBWRC STC 4 /7777 TO BETA 4 ADD NEG1 JMP CBBWD E4, LDH 2 STH 4 JMP BUCBWB JMP WBTOCB-1 LDA I NEG1, -1 JMP EOLFIX+2 ADM KT4 AZE JMP BWDSLD JMP C1 /LOCATE TP NOT OK S4, LZE /CARRY ON LAM ? JMP F4+1 /YES COM STC KT4 ADD TPSTAT SAE I STC TPFLG JMP KBWD JMP A3 /MAXLN=CURLN ? JMP .+2 /YES JMP KBWD JMP L3 /FIND REQUEST /IN CNTRL BLK L4, CLR STC BBTBLK /SET WRONG BB , CB SET I 5 D6-2+2000 ADD P1 STC KT4 LDA 5 STC CURLN LDA I 5 COM STC .+4 CLR ADD M4 LAM I 0 LZE JMP L4+4 G4, LDA I 5000+WA-D6-1-2000 ADD 5 STC F3 JMP F3-3 SET I 2 HBIT+WB-1 SET I 4 HBIT+CB-1 JMP F4+3 /TP FIX T2, SET 1 0 JMP BUWB JMP K1 /FROM WMBLK JMP TPCHK JMP .+2 /NOT OK JMP X2+4 /OK LDA I 7776 STC KT4 JMP H4 JMP L3 JMP X2+7 CHKNOK, SET 1 0 SET 7 3 LDH I 7 SAE I LF JMP NOTOK JMP CHKPOS JMP 1 JMP NOTOK JMP 1 / / RESTRT, JMP INITLF JMP C1+2 / / / / EJECT / SEGMNT 1 *1 /GRID TABLE /FOR DSC A6, 0101 /MARKER 0101 4477 /1,A 7744 5177 /2,B 2651 4136 /3,C 2241 4177 /4,D 3641 4577 /5,E 4145 4477 /6,F 4044 4136 /7,G 2645 1077 /10,H 7710 7741 /11,I 0041 4142 /12,J 4076 1077 /13,K 4324 0177 /14,L 0301 3077 /15,M 7730 3077 /16,N 7706 4177 /17,O 7741 4477 /20,P 3044 4276 /21,Q 0376 4477 /22,R 3146 5121 /23,S 4651 4040 /24,T 4077 0177 /25,U 7701 0176 /26,V 7402 0677 /27,W 7701 1463 /30,X 6314 0770 /31,Y 7007 4543 /32,Z 6151 4177 /33,/ 0000 1020 /34,\ 0204 0000 /35,] 7741 4710 /36 UP ARROW 1047 2504 /LF 0416 0000 /40, SPACE 0000 7500 /41,! 0000 6000 /42," 0060 4020 /43,CR 2055 5721 /DOLLAR SIGN 4671 1446 / PER CENT 6130 5166 /46,? 0526 4020 /47, 2055 3600 /50,( 0041 4100 /51,) 0036 2050 /52,- 0050 0404 /53,+ 0437 0500 /54,, 0006 0404 /55,- 0404 0001 /56,. 0000 0601 /57,\ 4030 4536 /60,0 3651 2101 /61,1 0177 4523 /62,2 2151 4122 /63,3 2651 2414 /64,4 0477 5172 /65,5 0651 1506 /66,6 4225 4443 /67,7 6050 5126 /70,10 2651 5122 /71,11 3651 2200 /72,: 0000 2601 /73,; 0000 2410 /74,< 0042 1212 /75,= 1212 4200 /76,> 1024 4020 /77,? 2055 /MONITOR COMMANDS Z6, 0120 /AP JMP DOAP 0530 /EX JMP DOEX 2320 /SP JMP DOSP 0123 /AS JMP DOAS 2302 /SB JMP DOSB 1411 /LI JMP DOLI 0430 /DX JMP DODX 2011 /PI JMP DOPI 2030 /PX JMP DOPX 2023 /PS JMP DOPS 0314 /CL JMP DOCL 3205 /ZERO JMP ZERO 0102 /AB JMP DOAB 2114 /QL JMP DOQL 1503 /USER MC JMP DOMC 1417 /LO Y6, JMP DOLO /MUST HAVE TWO /ZEROES HERE 0 0 D6, 0 /CNTRL TABLE /NOTE: E6-D6 MUST BE >=LENGTH OF WORKING AREA. / /MONITOR /PARAMETER TABLE *371 E6, 0 /LN NUM 0 /LN NUM 0 /N 0 /A 0 /M 0 /E 0 /UNIT EJECT SEGMNT 0 / / / / *21 READ, 0 WRITE, 0 / / // *400 MODKBD, LDA /DUBL BUFFERED 0 /KEYBRD INPUT SR PDP PMODE DCA RTNMOD KSF JMP TRYBUF TAD CHRCTR TAD M24 SNA CLA JMP CHKMTP LINC LMODE LIF 3 JMP KBDOPR PDP PMODE DCA I PTRIN ISZ CHRCTR JMS BUMPIT PTRIN TRYBUF, TAD CHRCTR SZA CLA JMP CHKMTP ISZ RTNMOD LINC 603 /LIF 3 RTNMOD, 0 /RTN TO P+1 IF /READY ; RTN TO /P+2 IF MTP /OR BUFR EMPTY CHKMTP, LINC LMODE SKP SKP JMP .-5 PDP PMODE JMP .-11 BUMPIT, 0 TAD I BUMPIT DCA TEMP5 TAD I TEMP5 TAD ENDBUF SZA CLA JMP .+4 TAD STBUF DCA I TEMP5 SKP ISZ I TEMP5 ISZ BUMPIT JMP I BUMPIT TEMP5, 0 GETCHR, 0 /GET A CHAR FROM CLA /DUBL BUFFER TAD I PTROUT DCA SVCHR JMS BUMPIT PTROUT STA TAD CHRCTR DCA CHRCTR TAD SVCHR TAD JBM47 /TEST FOR "TAB" SNA CLA CLA CMA CLL RTL /YEP. BIG NUMBER LINC /TEST THE SENSE SWITCH ALSO. LMODE SNS 0 /DO AUTO FORMATING NOW? CLR /YEP. KEEP DOING IT. PDP /GET BACK INTO SUPER MODE PMODE SZA /SKIP IF STILL FORMATTING. DCA I FUDGEC /TELL IT NOT TO DO FORMATTING. TAD SVCHR JMP I GETCHR CHRCTR, 0 M24, -2 JBM47, -47 FUDGEC, COMFLG PTRIN, 0 PTROUT, 0 SVCHR, 0 STBUF, HERE ENDBUF, -THERE HERE, 0 THERE=HERE+2 LMODE / *THERE+2 / / / / / / / / / / / INPT, DISKD 4 DIALST+14-300 1 / JBAS1, DISKD 0 ASTBLK-300 11 / JBAS2, DISKD 12 ASTBLK-300+14 1 / JBAP1, DISKD 13 APTBLK-300 1 / JBAP2, DISKD 13 DIALST+3-300 1 / JBFC2, DISKD 10 FCTBLK-300 4 / JBLO, DISKD 30 LOTBLK-300 2 / JBSB=JBFC2 / JBSP=JBFC2 / JBPXDX, DISKD 10 PXTBLK-300 4 / WRL1, DISKD 5 DIALST+15-300 1 / WRL2, DISKD 5 PTBLK-300 1 / DINBUF, DISKD 5 DIALST-300+15 3 *770 / / INPTRS, PDP PMODE CIF 10 JMS I READ INPT CIF 10 JMS I READ WRL2 LINC LMODE LDF 1 PDP PMODE STA JMS SHIFT PTINIT RTNRTN, LINC LMODE LIF 2 JMP 0 OUTPTR, PDP /EXIT SAVE PMODE /EDITOR PTRS CLA JMS SHIFT PTEXIT JMS CTLTAB D6PTR D6VAL LINC LMODE PDP PMODE CIF 10 JMS I WRITE WRL2 CIF 10 JMS I READ WRL1 LINC LMODE LDF 1 LIF 2 JMP 0 OLDPTR, PDP PMODE CIF 10 JMS I READ INPT CIF 10 JMS I READ WRL2 LINC LMODE LDF 1 PDP PMODE STA JMS SHIFT PTEXIT JMS CTLTAB D6VAL D6PTR /TEST FOR 12B OR 12A JMS I .+1 /GO TO THE 12A-12B CHECKER TESTM / / /CHNG KNOB SR FOR 12B TAD KTAD DCA MOVEIT-3 STA JMS SHIFT B12VAL TAD K2TAD DCA MOVEIT-3 JMP RTNRTN CTLTAB, 0 /FOR CONTROL TAD I CTLTAB DCA FROM ISZ CTLTAB TAD I CTLTAB DCA TO ISZ CTLTAB TAD D6CTR DCA SAVAC D6LOOP, TAD I FROM DCA I TO ISZ FROM ISZ TO ISZ SAVAC JMP D6LOOP JMP I CTLTAB D6CTR, D6-2-E6 JMP RTNRTN SHIFT, 0 /CORE TRANSFER DCA SKPLIT /SR USED FOR TAD I SHIFT /SETTING PTRS JMS SKPCHK DCA FROM SKP DCA TO TAD KPTADR DCA TORF ISZ SHIFT MOVEIT, TAD I TORF JMS SKPCHK DCA TO SKP DCA FROM TAD I FROM DCA I TO JMS SKPCHK ISZ FROM SKP ISZ TO ISZ TORF TAD I TORF SZA CLA JMP MOVEIT JMP I SHIFT SKPCHK, 0 DCA SAVAC TAD SKPLIT SZA CLA JMP .+3 ISZ SKPCHK ISZ SKPCHK TAD SAVAC JMP I SKPCHK SAVAC=100 FROM=101 TORF=102 TO=103 SKPLIT, 0 VIRGST, TAD P4002 DCA I KPTADR TAD ATAD DCA MOVEIT CIF 10 JMS I WRITE WRL2 LINC LMODE LDF 1 LIF 2 JMP CLWA PMODE KPTADR, PTADDR ATAD, TAD I TORF P4002, 4002 KTAD, TAD KPT12 K2TAD, TAD KPTADR KPT12, PT12B LMODE A88, JMP ENDCHK /INTERPRET SKP /DIAL CODES JMP SUBCHR+2 LDF 2 SET 3 2003 LDF 1 SAE 3 JMP SUBCHR+2 CLR /FIRST CHAR STC COMFLG /CUR LN JMP GETTTY AZE I JMP XIT2C1 SET I 17 SPCHAR-HBIT SHD I 17 JMP XITREG SHD I 17 JMP LFORRO SHD I 17 JMP AMORUP SHD I 17 JMP XIT2C1 SHD I 17 JMP COMSET SHD I 17 JMP XIT2C1 LIF 2 JMP REGCHR-4 ENDCHK, LDF 2 LDA 2000+CURPT2 ADA I -HBIT SAE 2000+2 XSK I 0 LDF 1 JMP 0 XIT2C1, LIF 2 JMP C1+2 XITREG, LIF 2 JMP REGCHR AMORUP, APO I JMP XITREG JMP ALTREQ LFORRO, APO I JMP XITREG LIF 2 JMP RUB ALTREQ, LIF 2 /ALT MODE REQ JMP ALTSET JMP GETTTY AZE I JMP ALTREQ SET I 17 SPCHAR+2+HBIT SHD I 17 JMP XIT2C1 SHD I 17 JMP BWDLN SHD I 17 JMP FWDFR SHD I 17 JMP BWDFR SHD I 17 JMP FWDLN EDALT, SHD I 17 /ALT MODE EDIT JMP RUBR SHD I 17 JMP RUBL SHD I 17 JMP RUBC JMP XIT2C1 CHKED, LIF 2 JMP EDSET JMP GETTTY AZE I JMP CHKED SET I 17 SPCHAR+5 JMP EDALT SUBCHR, LIF 2 /LATER CHARS JMP SUBSET JMP GETTTY AZE I JMP XIT2C1 SET I 17 SPCHAR SHD I 17 JMP LFCHK SHD I 17 JMP CHKAM SHD I 17 JMP XITCR SHD I 17 JMP COMFMT SHD I 17 JMP CMAFMT JMP XITREG BWDLN, LIF 2 JMP B4 FWDFR, LIF 2 JMP P4 BWDFR, LIF 2 JMP Q4 FWDLN, LIF 2 JMP F4 RUBR, LIF 2 JMP RORIT RUBL, LIF 2 JMP ROLEF RUBC, LIF 2 JMP D1 XITCR, LIF 2 JMP ACR LFCHK, APO I JMP XIT2C1 LIF 2 JMP RUB CHKAM, APO I JMP XITREG JMP CHKED COMSET, STA COMFLG JMP XITREG COMFLG, 0 POSCHK, LDF 2 LDA 2000+CURPT2 ROL 1 COM STC TEMP4 LDA 2003 ROL 1 ADD TEMP4 APO I XSK I 0 LDF 1 JMP 0 TEMP4, 0 COMFMT, JMP POSCHK /FORMAT COMMENT JMP .+3 LDH 17 JMP XITREG LDA COMFLG AZE JMP XITCOM LDF 2 SET 12 2003 SET 2 2002 LDF 1 SET I 1 -10 SET I 10 -3 SRTAB, LDH I 12 SHD I TB1 JMP TABCNT XSK I 1 SKP JMP TABCNT TABEND, LDA 12 SAE 2 JMP SRTAB LDA 10 LIF 2 JMP COMRTN TABCNT, SET I 1 -10 XSK I 10 JMP TABEND XITCOM, LDH 17 JMP COMSET CMAFMT, LDF 2 /FORMAT COMA SET 3 2003 SET 2 2002 SET 6 2006 LDF 1 SET 14 3 LDH I 14 SHD I LF1 JMP XITCMA SAE I TB JMP XITCMA LDA COMFLG AZE JMP XITCMA JMP ENDCHK /FIXED JUNE 10,1970 SKP JMP XITCMA LDA I MAXNUM-7 ADD 6 ADA I 10 COM STC 1 SET I 10 -7 SET 12 3 CMACHK, LDA 12 SAE 2 SKP JMP SHUFLE-2 LDH I 12 SHD 17 JMP XIT2C1 XSK I 10 JMP CMACHK SET 12 3 SHUFLE, LDH I 14 STH I 12 XSK I 1 JMP SHUFLE LDH 17 STH 2 LIF 2 JMP CMARTN XITCMA, LDH 17 JMP XITREG GETTTY, PDP PMODE JMS I KGET LINC 6000 /JMP 0 KGET, GETCHR LMODE SPCHAR, TB1+LF /SPECIAL CHAR AM1+CR /TABLE KOM1+COMA RO1+BL FF+BF FL+RR RL+RC CHKCNT, LDA 0 STC CNTOUT LDF 2 /CHK ILLEGAL SET 16 /LENGTH CURPT2+2000 JMP ENDCHK STC 16 LDF 2 SET 17 TOPPTR+2000 SET 15 16 SET 13 2002 SET I 14 0 LDF 1 JMP DFFIXR GOCNT, XSK I 14 LDA 15 SAE 17 SKP JMP DUNHI LDA I -HBIT ADD 15 STC 15 DFFIXR, LDH 15 SAE I CR JMP GOCNT DUNHI, LDA 16 SAE 13 SKP JMP DUNLO XSK I 14 LDH I 16 SAE I CR JMP DUNHI DUNLO, LDA I -MAXNUM ADD 14 AZE I JMP ERROR APO JMP GOOD ERROR, JMP XIT2C1 GOOD, LIF 2 CNTOUT, 0 KDOMC, CLR LDA E6+2006 PDP PMODE CIF 10 DCA JBMET JMS I READ .+2 JMP .+5 JBMET, 0 10 270 1 LINC LMODE LDF 1 LDA E6+2002 LDF 3 LIF 2 JMP 20 / / / PMODE / TESTM, 0 ISZ TESTM /BOP PAST PHOONEY POINTER LINC LMODE SET 13 /SAVE 0, WE BASH IT 0 SET I 14 /SET 14 TO A SAM 0-1 SAM 0 /THE SAMPLE INSTRUCTION(0-17) SET I 15 /SET 15 TO THE RETURN JUMP JMP 0 SET I 16 /SET UP THE COUNTER NOW -20 /A SAMPLE OF 16 CHANNELS. SAM 0 /GET AN INITIAL VALUE BCL I -7760 /JUST LEAVE THE HIGH BITS STC COMPEAR /SAVE IN THE COMPARITOR LOOP, JMP 14 /DO A SAMPLE NOW XSK I 14 /BOP TO THE NEXT CHANNEL BCL I -7760 /CHOP OFF THE MISC. CRAP. SAE I COMPEAR,0 /TEST AGAINST OUR FIRST SAMPLE JMP WGA12A /WE-GOT-A-12-A XSK I 16 /BOP THE COUNT JMP LOOP /ITS THE SAME. CHECK THE NEXT CHANNEL SET 0 /RESTORE 0 NOW 13 CLR /ALL THE SAME. ITS A B. HES CHEAP PDP PMODE JMP I TESTM /RETURN TO THE CALLER / / / LMODE / / WGA12A, CLR /CLEAR THE AC NOW SET 0 /RESTORE 0 13 PDP PMODE /GET INTO THE GOOD MODE JMP I .+1 RTNRTN /RETURN TO THE CALLER / / / / LMODE / / / / / AASEG0, 0 EJECT /SYSTEM /PARAMETERS DISKD=100 DISKS=110 SETUP1=322 SETUP2=323 DSYS=7341 /POINTS TO NEXT FREE SPOT ON SYSTEM DEVICE TABLE / / UNITNO=777 WA=370 ASTBLK=330 WAUNIT=0 /WA UNIT WAEND=467 FILE=WAEND+1 FREE=270 DIALST=300 /START OF DIAL DIALU=0 /DIAL UNIT INDEX=346 FCTBLK=350 APTBLK=321 LOTBLK=354 SBTBLK=356 DXTBLK=361 PXTBLK=DXTBLK FCSA=20 SPFCNS=1400 EXTMTP=10 BB=2400 WB=3000 HBIT=4000 CB=3400 CURVAL=16 LF1=3700 LF=37 TB1=4700 TB=47 CR1=4300 CR=43 EOF1=0 EOF=0 AM1=3600 AM=36 RO1=3700 RO=37 SP1=4000 SP=40 COMA1=5400 XOA=21 COMA=54 KOM1=5700 KOM=57 LNHC=1013 MCVC=-357 MKHC=1763 MCHC=1051 BL=27 FF=6100 BF=21 FL=6200 RR=22 RL=1400 RC=04 DELTA=50 PTADDR=2400 PTINIT=PTADDR+DELTA PTEXIT=PTINIT+DELTA PT12B=PTEXIT+DELTA B12VAL=PT12B+20 D6VAL=B12VAL+15 D6PTR=2000+D6-2 MAXNUM=170 PCODE=2000 LCODE=1400 QMARK1=7700 PTBLK=320 /THIS IS THE DIAL EDITOR V2 /15 DEC 69 EJECT /APNPTRV2 /10 DEC 69 /EDITOR V2 POINTERS TBLK 320 /INITIAL VALUES EXIT VALUES /AND ADDRESSES LMODE SEGMNT 5 *PTADDR PMODE MOVEIT /BECOMES 4002 LMODE /AFT VIRGIN RUN /BETA 2 IS PTR /TO WB 4003 /PTR TO 1ST CHAR /OF CUR LN 4004 /PTR TO CB 4005 /PTR TO CONTROL /TABLE (D6) 4006 /CHAR CTR CURLN 4000+BBTBLK 4000+WBTBLK 4000+CURBLK 4000+SPTBLK 4000+NOTOK+2 4000+X2+5 4000+CURLN 4000+MAXLN 4000+TPFLG 4000+PLACTR 4000+MAXBLK 4000+CBTBLK 4000+TBLKCB 4000+20 4000+TPSTAT 0 *PTINIT HBIT+WB-1 HBIT+WB+1 0 D6+2000 -MAXNUM 5\WA-1 5\WA-1 6\WA-1 5\WA-1 STC TPFLG 0 1 1 7777 0 0 0 0 JMP RESTRT STC TPFLG 0 *PTEXIT PMODE VIRGST?177+5200 LMODE HBIT+WB+1 0 D6+2000 -MAXNUM 5\WA-1 5\WA-1 6\WA-1 5\WA-1 STC TPFLG 0 1 1 7777 0 0 0 0 JMP RESTRT JMP TPFLG 0 *PT12B /ADDR OF KNOB SR 6000+SAM3 /THE KNOB SUB RT /ARE CHANGED /FOR A 12B 6000+SAM3+1 6000+SAM3+2 6000+SAM3+3 6000+SAM3+4 6000+SAM3+5 6000+SAM3+6 6000+SAM3+7 6000+SAM3+10 6000+SAM3+11 6000+SAM3+12 6000+SAM3+13 6000+SAM3+14 0 *B12VAL /KNOB SR FOR 12A LSW /ARE REPLACED BY BCL I /THE FF 4000 /SWITCH SR COM /FOR A 12 B STC CURVAL /LSW 1-11 JMP 0 /CONTROLS CURSOR RSW /RSW 8-11 BCL I /CONTROLS LNS 7760 /PER FRAME AZE JMP 0 ADD POS1 JMP 0 /ADD PROGRAM V2 /TBLK 321 SEGMNT 6 *1400 LDA I /DISABLE BB WRC 1 /SUB RT BY STC PLAFLG /SETTING THIS WD JMP BUWB /DELETE AP COM JMP K1 /FROM WB JMP L8 /AP BY NAME /OR TBLK NUM ? JMP E8 /BLK NUM C8, LDA I 10 /BY NAME BSE I MBLK2 STC TPWD LDA I 10 /BINARY OR /PROG NAME APO /MATCH ? JMP SAYNO /BINARY ONLY LDA /AP BY LN NUMS 2000+E6 SAE 2000+E6+1 SKP JMP NOLN LDA 2000+E6 STC LN1 LDA 2000+E6+1 ADD AONE STC LN2 JMP CHKORG E8, LDA /AP BY BLK NUM E6+2000 /BLK NUM TO AC BCL I -7000 /TOO BIG [BLK NO.>777] ? AZE JMP K8 /YEP LDA E6+2000 /RECALL IT AGAIN. BSE I MBLK2 STC TPWD NOLN, LDA I 1 STA LN1 COM STC LN2 CHKORG, JMP MAGTP-10 /GET 1ST TBLK LDA I 10 /DO NOT PUT SAE I /*20 CR IN 5262 /WITH AP JMP K88 /RESTORE 10 LDA I 10 SAE I 6000+CR JMP K88 LDA I 1 SAE LN1 JMP BYPASS F8, LDH I 10 /TRANSFER 1 CHAR SHD I EOF1 /ARE WE DUN ? JMP J8 /YES STH I 2 /NO GIVE 1 CHAR /TO EDITOR SAE I /WAS IT A CR ? CR JMP H8 /NO CHK BUFFERS G8, JMP EOLFIX /YES UPDATE COM /BETA 3, CURLN ADD MAXLN /AND MAXLN STC MAXLN ADD AONE ADM LN1 H8, JMP A8F /CHK AP INPUT /BUFFER JMP CHKBUF /CHK EDITOR /INPUT BUFFERS / LDA I 1 STC PLAFLG /MAKE SURE THE ADD PROGRAM SWITCH IS OK. / LDA /HAVE WE JUST 3 /PROCESSED A SAE /CR ? 2 JMP CHKEF8 /NO. CHECK END LDA /YES CHK FOR MAXLN /WA TOO FULL AZE I /TOO MANY LNS ? JMP .+6 /YES END OF AP LDA /TOO MANY BLKS ? CURBLK SAE I 6\WAEND JMP CHKEF8 /NO. CHECK END LDA I /WA IS FULL -1 /DELETE LAST LN /AND RTN /TO EDITOR JMP EOLFIX+2 ADD MAXLN STC MAXLN JMP K1 / CHKEF8, LDA LN1 SAE LN2 JMP F8 /NOT END. GET NEXT CHAR. / J8, JMP NOTOK /COME HERE /WHEN DONE JMP A3 JMP L3 JMP K8 A8F, LDA /IS AP INPUT 10 /BUFFER EMPTY ? SAE I 5377 JMP 0 /NO LDA /TEST FOR END OF DEVICE. TPWD BCL I -7000 /CHOP OFF BLOCK NUMBER SAE I MBLK2 /STILL THERE [NO OVERFLOW] ? JMP J8 /OVERFLOW. END OF INPUT. SET 1 0 JMP DTEXTR-1 /GET EXTENDED LIF 3 DJR LDA I JMP .+2 JMP GOODY /TAPE UNITS MAGTP, RDC TPWD, MBLK2+INDEX /INITIALLY HOLDS /INDEX TPWORD /HOLDS TBLKS /DURING AP SET I 10 4777 /INITIAL ADDR /OF AP INPUT /BUFFER ADD P1 /BUMP TBLK ADD TPWD STC TPWD JMP 1 B8, SET 1 /SEARCH INDEX 0 /FOR NAME MATCH /1 TBLK ONLY SET I 12 /LENGTH OF NAME -4 SET I 13 /NAME SECTOR OF E6+1+2000 /MC TABLE LDA 10 /PTR TO INDEX BSE I 7 /NEXT NAME SAE I 5377 /DUN A BLK ? JMP .+3 /NO XSK I 1 /YES RTN JMP 1 /TO P+2 STC 10 LDA I 10 /ALL 4 WORDS SAE I 13 /MUST MATCH JMP B8+2 /OR WE TRY NEXT /NAME XSK I 12 /4 MATCHES ? JMP .-4 /NO DO SOME MORE JMP 1 /YES NAME MATCH L8, SET 17 0 JMP SETS /GET UNIT NUM STC DTEXTR /SAVE EXTENDED /UNITS ROL I 4 /UNIT BIT TO AC ADD MAGTP STC MAGTP LDH /CHK FOR AP E6+2+2000 /BY NAME SHD I 7700 JMP 17 /ITS BY TBLK NUM XSK I 17 /ITS BY NAME JMP MAGTP-10 /GET INDEX LDA I 10 /IS IT AN INDEX SAE I 5757 JMP SAYNO /NO INDEX JMP B8 /SEARCH 1ST /TBLK OF INDEX JMP 17 /FOUND A MATCH JMP MAGTP-10 /GET 2ND TBLK /OF INDEX JMP B8 /SEARCH AGAIN JMP 17 /FOUND A MATCH SAYNO, CLR /COME FOR NO SET I 1 /PROG, NO INDEX 340 /OR NO MATCH SET I 12 A6+34+2000 /GRID ADDR DSC 12 DSC I 12 SET I 1 352 DSC I 12 DSC I 12 KST /LOOP UNTIL KBD JMP SAYNO K8, CLR STC PLAFLG PDP PMODE CIF 10 JMS I READ JPLAF LINC LMODE LDF 1 LIF 3 JMP APRTN SETS, CLR /GET UNIT LDA /NUM E6+6+2000 BCL I -777 JMP 0 K88, LDA 10 ADA I -1 STC 10 JMP 0 /RETURN NOW. DONT GO TO THE DTEXTR. LDA I DTEXTR, 0 LDF 3 STA GCTWO?1777!2000 CLR STA WATAG?1777+2000 LDF 1 JMP 0 BYPASS, STC LNCTR LDH I 10 SHD I EOF1 JMP J8 SAE I CR JMP BYEOL LDA I AONE, 1 ADM LNCTR SAE LN1 JMP BYEOL JMP A8F JMP F8 BYEOL, JMP A8F JMP BYPASS+1 LN1, 0 LN2, 0 LNCTR, 0 PMODE MBLK2=2000 / / JPLAF, DISKD 12 DIALST+2-300 1 / / / / / / / / / EJECT / / /