PROFLAG83
(George Source)
Macros used: ACROSS, ADDRESS, BRUSEN, BXE, BXL, BXU, CHKBREAK, COOR1, DCA, DLCA, ERROR, FINDLCA, FLAG, FPUT, FPUTX, FREECORE, GEOERR, GLPERI, GPERI, HUNT2B, HUNTACT, HUNTW, JLBUSY, JOBLOCK, LNLI, LOCK, LOCKC, LONGCLEAR, MENDAREA, MHUNTW, REPEAT, SEG, SEGENTRY, TICKLE, UNLOCK, UNSET
- PROFLAG83.txt
22FL ... SEG PROFLAG,,G. CONSTANTINIDES. 22^= #LIS K0PROFLAG>K0MULTIPLX>K0ALLGEO>K0GREATGEO 23YG # ENTRY POINTS 24D6 SEGENTRY K1PROFLAG,Z1PROFLAG 24K# ...#SKI JSKI14 24QG ... SEGENTRY K92PROFLAG,X92PROFLAG 24XQ MENDAREA 30,K100PROFLAG 25CB [ 25X2 [THIS SEGMENT DEALS WITH FLAGS ON THE MULTIPLEXOR 26BL [ 26W= TABM #11 [OUTPUT. 27*W #13 [OUTPUT + INPUT. 27TG #40000000 [SPECIAL FOR B.I. IDLE 28*6 #DEF NMODES=0?-TABM [NUMBER OF POSSIBLE MODES 28SQ TABJ BRN OUT 29#B BRN OUTIN 29S2 BRN UNSET 2=?L TC1 #7621 2=R= SCANCEL #76100000 2?=W PMASK #77737777 2?QG QMASK #20040000 [MASKS FOR NEW LINE SUPPRESSION. 2#=6 RMASK #40000 2#PQ TIMSK #40:3 2*9B ... SEGENTRY K50PROFLAG 2*P2 SERROR +34 2B8L 34HTRANSMISSION ERROR - PLEASE REPEAT 2BN= SERRORA +18 2C7W 18HTRANSMISSION ERROR 2CMG SBI +8 2D76 8HBREAK IN 2DLQ SAOUT 2F6B #HAL AMXOR+AOUT,0 2FL2 [ 2G5L # THIS SUBROUTINE WAKES CPA IF ASLEEP AND UNSETS THE WAITING BIT 2GK= # 2GTS ...XLIST HUNTACT CPAT,2,3 2H6B ... LDXC 4 GWAIT(3) 2HBY ... BCC TOLCL 2HMG ... STO 4 GWAIT(3) 2HY4 ... FPUT 2J8L ... EXIT 5 0 2JF8 ...TOLCL LONGCLEAR 2,AWAITMOP,RESFX 2JPQ ...RESFX LDX 1 FX1 2K2# ... LDX 2 FX2 2K=W ... EXIT 5 0 2KHG ...#SKI JSKI14 2KJ2 ...( 2KJG ...RCHN LDX 2 FX1 2KK2 ... SBN 2 A1 2KKG ... LDX 1 ATYPE(2) 2KL2 ... BNZ 1 ZNNN 2KLG ... LDX 1 BPTR(2) 2KM2 ... BZE 1 ZNNN 2KMG ... SMO FPTR(2) 2KN2 ... STO 1 BPTR 2KNG ... LDX 1 FPTR(2) 2KP2 ... SMO BPTR(2) 2KPG ... STO 1 FPTR 2KQ2 ... STOZ BPTR(2) 2KQG ... STO 2 FPTR(2) 2KR2 ...ZNNN LDX 1 FX1 2KRG ... LDX 2 FX2 2KS2 ... EXIT 0 0 2KSG ...RMV LDEX 3 4 2KT2 ... BZE 3 ZEMV 2KTG ... SMO 3 2KW2 ...NMV MOVE 1 0 2KWG ... ADX 1 3 2KX2 ... ADX 2 3 2KXG ... SBX 4 3 2KY2 ...ZEMV LDN 3 512 2KYG ... BNZ 4 NMV 2K^2 ... EXIT 0 0 2K^G ...) 2L2L # 2LG= [ 2L^W [THIS ENTRY POINT OBEYS A MODE *4000 PERI TO SET UP THE FLAG AREA AND 2MFG [PUTS THE SCANNING ACTIVITY ON THE LIST 2M^6 [ 2NDQ Z1PROFLAG 2NKY ...#SKI JSKI14 2NR6 ... CALL 0 RCHN 2NYB LDX 3 2 [FIND SCANNING ACTIVITY 2PD2 PAST1 HUNTACT AMSCAN,2 [FOR THIS DEVICE 2PXL BXU 3 AMOPADDR(2),PAST1 2QC= FPUT [PUT IT ON THE LIST 2QWW LDN 0 #4000 2RBG DCA CPPTR(3),STO,0,MODE 2RW6 LNLI CPPTR(3),7 2S*Q GPERI ,3 2STB PERX3 SLL 7 2 2T*2 PERY2 COOR1 2TG8 ...#SKI JSKI14 2TMB ... CALL 0 RCHN 2TSL PLOOP BZE 7 U1 [J IF UPX 2W#= SRL 7 2 [REDUCE TO LINE NO. 2WRW LDX 5 7 2X?G LNLI ,6 2XR6 NLINE BXU 5 6,NSA 2Y=Q LDN 5 0 2YQB NSA ADN 5 1 2^=2 FINDLCA ,5 2^PL DLCA 1,LDX,4,FLAG 329= ANDN 4 #77 32NW BNZ 4 SFLAG [J. IF FLAG FOUND 338G BXU 5 7,NLINE [J. IF NOT BEEN ROUND WHOLE FLAG AREA 33N6 #SKI ADEVELOP<1$1 347Q ( 34MB LDCT 0 #400 3572 STO 0 CHAINADD(2) 35LL BRN PERX3 366= ) 36KW #SKI ADEVELOP 375G GEOERR 1,NO FLAG 37K6 SFLAG LDX 7 5 [PUT LINE NO. IN X7. 384Q SLL 7 2 [TURN INTO PTR. 38JB U1 HUNTW 3,AMXOR,ALINES 3942 BNG 3 UNSET [UNSET FLAG IF NO ALINES BLOCK 39HL ADX 3 7 3=3= LDX 4 A1+FOURTHWD(3) [GET DETAILS OF STATE OF LINE. 3=GW LDX 3 A1+BPTR(3) 3?2G BZE 3 NLCB [RING ELT. NULL, J. TO ANALYSE X4. 3?G6 BNG 4 MXCON [J. TO SET CONCEPTUAL FLAG. 3?^Q SBN 3 A1 3#FB JLBUSY 1,XX1 3#^2 NGS 3 GTIM(3) 3*DL XX1 LDCT 0 2 3*Y= ANDX 0 4 [J. IF "PERI ISSUED BY AMSCAN" MARKED 3BCW BNZ 0 SCANLCB 3BK4 ... LDCT 0 4 3BQ= ... ANDX 0 4 3BXG ANDN 4 #77 [MASK OUT INTERNAL TERMINAL TYPE NO. 3CC6 BCT 4 PCT [J. IF NOT TYPE 1 TERMINAL (7071). 3CLY ... BNZ 0 UNSET 3CWQ LDX 0 GLASTM(3) 3DBB BZE 0 NOTRANS [NO TRANSFER IF GLASTM = 0 3DW2 LDN 4 NMODES 3F*L LDX 1 FX1 3FT= NMD SMO 4 3G#W TXU 0 TABM-1(1) 3GSG BCC MFD [J IF MODE FOUND 3H#6 BCT 4 NMD 3HRQ GEOERR 1,MODENAL [ERROR IF MODE NOT IN TABLE 3J?B MFD SMO 4 3JR2 BRN TABJ-1 [JUMP ACCORDING TO MODE 3K=L NLCB LDCT 0 #530 [J. IF NONE OF "IGNORE FLAGS", 3KQ= ANDX 0 4 ["MOPPING OFF", "SETTING UP CPA" 3L9W BZE 0 NIGNO [OR "ONLINE" BITS ARE SET. 3LPG ANDN 4 #77 [MASK OUT TERMINAL TYPE. 3M96 SBN 4 ASENTMACH [J. IF NOT SENTINEL TO IGNORE FLAG. 3MNQ BNZ 4 UNSET 3N8B LDN 6 #4000 3NN2 MHUNTW 3,AMXOR,ALINES 3P7L SMO 7 [MARK SENTINEL LINE ENTRY TO 3PM= ORS 6 A1+FOURTHWD(3) [SHOW 'ALREADY INTERRUPTED'. 3Q6W BRN UNSET 3QLG NIGNO MHUNTW 3,AMXOR,ALINES 3R66 LDCT 0 #424 ["IGNORE FLAGS", "SETTING UP", "CORE" 3RKQ ADXC 4 4 [J. IF NOT ATTACHED. 3S5B BCC NATCH 3SK2 LDCT 0 #624 [ADD IN "ATTACHED" BIT. 3T4L NATCH SMO 7 [SET STATUS MASK. 3TJ= STO 0 A1+FOURTHWD(3) 3W3W WKIMQ LDN 4 1 3WHG SMO IMOPADDR(2) 3X36 ADS 4 IWAKE [ADD 1 TO COUNT OF CORE REQUESTS 3XGQ LONGCLEAR IMOPADDR(2),#125,UNSETA 3Y2B UNSETA 3YG2 LDX 2 FX2 3Y^L UNSET LDX 6 7 [GET LINE/ 3^F= SRL 6 2 3^YW UNS1 FINDLCA ,6 42DG PERY3 DLCA 1,LDX,4,FLAG [CANCEL ALL FLAGS ON THIS LINE 42Y6 ANDN 4 #77 43CQ XUFLAG [J HERE TO CANCEL A GIVEN NO OF FLAG 43XB [S. 44C2 DLCA 1,SBS,4,FLAG 44WL LDX 3 CPPTR(2) 45B= SBS 4 JFAW(3) [AND FLAG ACCUMULATION WORD 45TW LDX 0 JFAW(3) 46*G BNZ 0 PLOOP [J. UNLESS NO MORE FLAGS 46T6 LDX 4 GSIGN 47#Q ADN 4 1 47SB STO 4 CHAINADD(2) [SET CHAINADD = #40000001 48#2 LDX 0 JFAW(3) 48RL BZE 0 PERY2 [J. IF STILL NO FLAG 49?= SMO FX1 49QW LDX 4 XMASK 4==G ANDS 4 CHAINADD(2) [UNSET B0 OF CHAINADD 4=Q6 LDX 4 CHAINADD(2) 4?9Q SBN 4 1 4?PB BZE 4 PLOOP [J. IF CHAINADD = 1 4#92 BRN PERY2 4#NL XMASK #37777777 4*8= MXCON LDX 1 BPTR(3) [AMOP ADDRESS 4*MW LDCT 5 1 4B7G ANDX 5 FOURTHWD(1) [J IF B8 IN FOURTHWRD NOT SET 4BM6 ERS 5 FOURTHWD(1) 4C6Q LDX 6 ACTUAL(3) [LINE NO 4CLB ANDN 6 #7777 4D62 FINDLCA ,6 4DKL BZE 5 RNF 4F5= LDN 4 1 4FJW BRN XNFLAG 4G4G RNF LDCT 5 #777 [CONCEPTUAL LINE CONTROL SECTION 4GJ6 DLCA 1,LDX,7,FLAG [FLAG COUNT 4H3Q ANDN 7 #77 4HHB ANDX 5 ACTUAL(3) [CONCEPTUAL LINE NO. 4J32 SLC 5 7 [TURN INTO CHARACTER MODIFIER. 4JGL ADX 3 BSTART(3) [LOCATE OLPA. 4K2= HUNTACT AOLPT,3 4KFW LDX 1 3 [SAVE ITS START ADDRESS. 4K^G ADX 1 5 [GET THE FLAG COUNT FOR THIS LINE. 4LF6 LDCH 4 FLAGCT(1) 4LYQ ADX 4 7 4MDB LDN 0 64 4MY2 BXL 4 0,XUXF 4NCL LDX 7 6 [IGNORE THIS LOT OF FLAGS 4NX= SLL 7 2 [RESTORE X7-NEEDIT LATER 4PBW BRN UNS1 4PWG XUXF 4QB6 DCH 4 FLAGCT(1) [OTHERWISE SET NEW COUNT. 4QTQ SBX 4 7 4R*B BZE 4 XUXF1 [J IF NO FLAGS SET BEFORE NOW 4RT2 YUF LDX 4 7 [FLAGS PASSED ON TO OBJ PROG 4S#L FINDLCA ,6 4SS= XNFLAG 4T?W LDX 7 6 4TRG SLL 7 2 4W?6 BRN XUFLAG [J TO CANCEL THOSE FLAGS THAT HAVE 4WQQ [BEEN PASSED ON 4X=B XUXF1 4XQ2 LDCT 4 #200 [FLAG BIT FOR UNIPLEXOR. 4Y9L BZE 5 UXCON [J. IF UNIPLEXOR. 4YP= LDX 4 GSIGN 4^8W SLC 5 2 [CONCEPTUAL LINE NO. IN B15-23. 4^NG LDX 1 5 5286 SRL 5 4 52MQ ANDN 1 #17 537B SRL 4 0(1) [CORRECT FLAG BIT FOR THIS LINE. 53M2 UXCON ADX 5 CFLAG(3) [REL. ADDRESS OF CORRECT WORD IN F.A. 546L ADDRESS APETADDR(3),5,1 [ABSOLUTE ADDRESS OF FLAG WORD. 54L= ORS 4 0(1) [SET FLAG. 555W TICKLE JOBNO(3),CMEMBER(3) [DESUSPEND CONTROLLING MEMBER IN O.P. 55KG BRN YUF [J TO CANCEL FLAGS 5656 PCT BCT 4 SENT [IF NOT PCT MUST BE SENTINEL. 56JQ LDXC 4 GWAIT(3) [IS PCT ACTIVITY ON LIST? 574B BCC SNULL [IF SO JUST UNSET FLAG 57J2 STO 4 GWAIT(3) [OTHERWISE WAKE IT UP FIRST. 583L HUNTACT AMOP,2,3 [BLOCK TYPE AMOP/APCT. 58H= FPUTX [PUT IT ON THE FRONT OF THE LIST. 592W BRN SNULL 59GG TTYPE GEOERR 1,TERMTYPE [ILLEGAL DEVICE TYPE IN ALINES ENTRY. 5=26 SENT BCT 4 TTYPE [IF NOT SENTINEL IDF/SCAN HAS BOOBED. 5=FQ LDXC 4 GWAIT(3) [J. IF ALREADY ENLISTED. 5=^B BCC NWAKE 5?F2 HUNTACT AMOP,2,3 [AMOP/ASENT 5?YL FPUT 5#D= NWAKE ADN 4 1 [ADD 1 TO COUNT OF INTERRUPTS. 5#XW STO 4 GWAIT(3) 5*CG BRN SNULL 5*X6 SCANLCB 5BBQ LDX 0 GREP1(3) 5BWB BNG 0 SNULL [J IF'NULL'STILL IN PROGRESS 5CB2 LDCT 0 #402 [ELSE UNSET "AMSCAN'S PERI" BIT, SET 5CTL LDX 2 A1+FPTR(3) ['IGNORE FLAGS' AND NULLIFY 5D*= ERS 0 FOURTHWD(2) [THE RING ELEMENTS. 5DSW STOZ A1+BPTR(3) 5F#G STOZ BPTR(2) 5FS6 UNLOCK 3 [UNLOCK LCB AND WAKE UP SCANNING ACT. 5G?Q HUNTACT AMSCAN,2,3 5GRB FPUT 5H?2 SNULL LDX 6 GUNITNO(3) [LINE NO. 5HQL BRN UNS1 5J== OUT LDX 4 GREP1(3) 5JPW BNG 4 POUT [J IF STILL IN PROGRESS 5K9G LDCH 0 GREP1(3) 5KP6 SRC 0 1 5L8Q BPZ 0 XINOP1 [J IF INOPERABLE 5LNB SRC 0 1 5M82 BNG 0 XERROR1 [J. IF NOT IMPLEMENTED 5MML SRC 0 1 5N7= BNG 0 XERROR1 5NLW ANDN 4 #376 5P6G BNZ 4 XBI2 5PL6 STOZ HWGROT(3) [ZEROISE B.I. COUNT FOR GROTTY 5Q5Q [HARDWARE 5QKB LDCT 0 #2 5R52 ANDX 0 GWAIT(3) 5RJL BZE 0 NOTBI [J. IF NOT B. I. BEFORE LAST OUTPUT. 5S4= ERS 0 GWAIT(3) 5SHW LDCT 0 #40 5T3G ANDX 0 GWAIT(3) 5TH6 BZE 0 XBI [J. IF NOT B. I. ON "TIMED OUT". 5W2Q RTO ERS 0 GWAIT(3) 5WGB NOTBI LDCT 0 #200 5X22 ANDX 0 GWAIT(3) 5XFL BNZ 0 NFREE [J. IF NO OUTPUT BLOCKS TO FREE. 5X^= HUNT2B 1,AMXOR,AOUT,3 5YDW LDX 0 AMOPTY(1) 5YYG ANDN 0 1 [BREAKIN MESSAGE? 5^D6 BZE 0 XYBI [NO 5^XQ LDCT 0 #100 62CB ADN 0 #4000 [UNSET BREAKIN BITS(2,12) 62X2 ANDX 0 GWAIT(3) 63BL ERS 0 GWAIT(3) 63W= XYBI FREECORE 1 64*W BRN NSET 64TG NLSUP LDX 0 QMASK(1) [UNSET NL SUPPRESS & NOT TO FREE BITS 65*6 NFREE ERS 0 GWAIT(3) [UNSET "DO NOT FREE" BIT. 65SQ NSET UNLOCK 3 66#B ...SBII STOZ GLASTM(3) [MARK LCB NOT IN USE 66S2 CALL 5 XLIST [WAKE UP CPA IF ASLEEP. 67?L BRN SNULL 67R= OUTIN LDX 4 GREP1(3) 68=W BNG 4 XBI1 [J IF OUTPUT STILL IN PROGRESS 68QG LDCT 5 #4 69=6 ANDX 5 GWAIT(3) 69PQ BZE 5 PIN [J IF OUTPUT NOT YET DEALT WITH 6=9B LDX 0 GREP2(3) 6=P2 BNG 0 XBI1 [J IF OUTPUT DEALT WITH AND INPUT 6?8L ERS 5 GWAIT(3) [STILL IN PROGRESS 6?N= LDX 0 GWAIT(3) 6#7W ANDN 0 4 6#MG BNZ 0 XERROR1 [J IF OUTPUT PART ENDED IN 'ERROR' 6*76 LDCH 0 GREP2(3) [OTHERWISE END OF INPUT 6*LQ SRC 0 1 6B6B BPZ 0 XINOP1X [J IF INOPERABLE 6BL2 LDCT 4 #200 [SET BIT TO SAY 6C5L ORS 4 GWAIT(3) [DON'T FREE OUTPUT BLOCK 6CK= LDCT 4 #10 [J. IF B. I. ON OUTPUT PART. 6D4W ANDX 4 GWAIT(3) 6DJG ERS 4 GWAIT(3) 6F46 BNZ 4 XBI 6FHQ SRC 0 1 6G3B BNG 0 XERROR [NOT IMP 6GH2 ANDN 0 1 6H2L LDX 2 AWORK1(2) [MAX. NO. OF CHARACTERS TRANSFERABLE. 6HG= LDEX 4 GREP2(3) [REPLY COUNT. 6H^W SBX 2 4 [NO. OF CHARACTERS IN TRANSFER. 6JFG SRC 2 2 [TURN INTO MODIFIER. 6J^6 ADX 2 3 [PTR. TO LAST CHARACTER. 6KDQ LDN 4 4 [COUNT. 6KYB NCH LDCH 6 BUFFER-1(2) 6LD2 SLL 5 6 6LXL DCH 6 5 6MC= BCHX 2 £ 6MWW BCT 4 NCH 6NBG SLC 45 12 [X4 = 0 AFTER BRANCH ON COUNT. 6NW6 LDX 2 FX2 6P*Q TXU 5 GEOM(3) 6PTB BCS TCANC [J IF NO EOM 6Q*2 BNZ 0 XERROR [J. IF ERROR BIT SET. 6QSL STOZ GFAIL(3) [CLEAR FAILURE COUNT. 6R#= TXU 4 TC1(1) 6RRW BCC XBI [J IF BREAK IN 6S?G LDX 4 GWAIT(3) [J. IF NEW LINE SUPPRESSION BIT SET. 6SR6 ANDX 4 RMASK(1) 6T=Q BNZ 4 NLSUP 6TQB WAKE CALL 5 XLIST [WAKE UP CPA IF ASLEEP. 6W=2 WAKE1 LDX 4 GNOCHS(3) 6WPL LDN 5 GNLBUFF(3) 6X9= OUTERR 6X?T ... LDX 0 GLASTM(3) 6XBD ... BZE 0 TALOK [J IF IDLE TO LOCK 6XF3 ... BPZ 0 NREQL [ALREADY LOCKED UNLESS BI ON IDLE 6XHL ...TALOK LOCK 3 6XL9 ...NREQL 6XNW LDX 6 GUNITNO(3) 6Y8G FINDLCA ,6 6YN6 JLBUSY 1,PERY3 6^7Q SLL 6 15 6^MB DLCA 1,DLA,4,COUNT 7272 DLCA 1,STO,5,CTSA 72LL LDN 5 #11 736= STO 5 GLASTM(3) 73KW DLCA 1,DLA,5,MODE 745G LDN 5 GREP1(3) 74K6 DLCA 1,STO,5,CREP 754Q DCA ,STO,6,MODE 75JB DLCA 1,LDX,4,FLAG [NEXT PERI MIGHT FINISH 7642 ANDN 4 #77 [BEFORE EXEC RETURNS TO G 76HL GLPERI 773= LDX 0 JTIME [REMEMBER WHEN TRANSFER STARTED 77GW STO 0 GTIM(3) [IN CASE IT NEEDS TO BE TERMINATED 782G BRN XUFLAG 78G6 TCANC LDN 0 2 78^Q BXE 5 SCANCEL(1),UCANC [J. IF CANCEL. 79FB LDX 0 TIMSK(1) 79^2 UCANC ORS 0 GWAIT(3) [SET TIME OUT OR CANCEL BITS. 7=DL BRN WAKE 7=Y= NOTRANS 7?CW LDX 0 GFAIL(3) 7?XG BNG 0 SNULL [J. IF BEING DEALT WITH 7#C6 LDCT 0 #40 7#WQ ANDX 0 GWAIT(3) 7*BB ... BZE 0 NTRBI 7*W2 ERS 0 GWAIT(3) [UNSET "TIMED OUT" BIT. 7B*L CALL 5 XLIST [WAKE UP CPA IF ASLEEP. 7BT= BRN SNULL 7C#W PIN LDCH 0 GREP1(3) 7CSG SRC 0 1 7D#6 BPZ 0 XINOP2 [J. IF INOPERABLE. 7DRQ LDCT 5 #4 [SET MARKER TO SAY 'END OF 7F?B ORS 5 GWAIT(3) [OUTPUT DEALT WITH' 7FR2 SRC 0 1 7G=L BNG 0 XINOP2 [J IF NOT IMPLEMENTED 7GQ= SRC 0 1 7H9W BNG 0 XERROR2 [J IF ERROR BIT SET 7HPG ANDN 4 #377 7J96 BNZ 4 XBI1 [B.I. IF REMAINDER COUNT NON-ZERO 7JNQ SRC 0 1 [OR IF 7K8B BPZ 0 XBI1 7KN2 LDX 0 JTIME 7L7L STO 0 GTIM(3) 7LM= LDX 6 GUNITNO(3) [IN CASE READ HAS ALSO 7M6W FINDLCA ,6 [TERMINATED 7MLG LDN 4 1 7N66 BRN XUFLAG 7NKQ XBI1 LDCT 0 #10 7P5B ORS 0 GWAIT(3) 7PK2 XCANC LDX 6 GUNITNO(3) 7Q4L FINDLCA ,6 7QJ= DLCA 1,LDX,4,FLAG 7R3W ANDN 4 #77 7RHG JLBUSY 1,XCM4 7S36 NGS 3 GTIM(3) 7SGQ BRN NSET 7T2B XCM4 SLL 6 15 7TG2 ADN 6 4 7T^L DCA ,STO,6,MODE 7WF= GLPERI 7WYW BRN XUFLAG 7XDG XERROR 7XY6 LDN 0 4 [SET BIT TO SAY READY REPEAT NEEDED 7YCQ ORS 0 GWAIT(3) 7YXB XERROR1 7^C2 LDEX 4 GFAIL(3) [J. TO SIMULATE INOPERABLE 7^WL SBN 4 AMREPT [LINE IF ERROR COUNT TOO HIGH. 82B= BPZ 4 XINOP1 82TW LDCT 0 #200 83*G ORS 0 GWAIT(3) [SET BIT TO SAY DON'T FREE 83T6 LDN 0 1 84#Q ADS 0 GFAIL(3) [ADD 1 TO FAIL COUNT 84SB LDN 0 4 85#2 ANDX 0 GWAIT(3) 85RL BNZ 0 YRXA [J IF READY 86?= ADN 1 SERRORA 86QW BRN YRXB 87=G YRXA ADN 1 SERROR [ADDRESS OF ERROR MESSAGE 87Q6 YRXB LDX 0 BIT11 889Q ORS 0 GWAIT(3) [SET "CANCEL DC1" MARKER 88PB XOP LDN 4 GNLBUFF(3) [SET UP NL MESSAGE NL 8992 LDN 5 BUFFER(3) 89NL LDCH 0 CHARS(3) 8=8= SMO 0 8=MW MVCH 4 0 8?7G LDN 4 1(1) 8?M6 SMO 0(1) 8#6Q MVCH 4 0 8#LB LDN 4 GNLBUFF(3) 8*62 SMO GNOCHS(3) 8*KL MVCH 4 0 8B5= ADX 0 0(1) 8BJW ADX 0 GNOCHS(3) 8C4G LDX 4 0 8CJ6 SLC 5 2 8D3Q SBN 5 2 8DHB SRC 5 2 [POINT TO LAST BUT ONE CHAR 8F32 LDX 1 5 8FGL LDN 0 #10 [REPLACE EOM WITH CANCEL 8G2= DCH 0 0(1) 8GFW LDN 5 BUFFER(3) 8G^G LDX 1 FX1 8HF6 BRN OUTERR 8HYQ XINOP2 8JDB LDXC 6 GFAIL(3) [J. IF ALREADY CANCELLED READ. 8JY2 BCS NSET 8KCL LDX 5 GSIGN 8KX= ORS 5 GFAIL(3) [SET BIT TO SAY INOPERABLE. 8LBW XERROR2 8LWG LDN 0 4 [SET BIT TO SAY 8MB6 ORS 0 GWAIT(3) [READY TO BE REPEATED 8MTQ BRN XCANC 8N*B REFIND [FOR LOCKC 8NCK ...#SKI JSKI14 8NFS ...( 8NJ3 ... LDX 3 1 8NL= ... CALL 0 RCHN 8NNF ... LDX 1 3 8NQN ...) 8NT2 MHUNTW 2,AMXOR,ALINES 8P#L ADX 2 7 8PS= LDX 2 A1+BPTR(2) 8Q?W SBN 2 A1 8QRG EXIT 1 0 8R?6 XINOP1X 8RQQ LDN 5 4 8S=B ORS 5 GWAIT(3) [REPEAT READY 8SQ2 XINOP1 8T9L LDX 5 GSIGN 8TP= ORS 5 GFAIL(3) [SET BIT TO SAY INOPERABLE 8W8W BRN NSET 8WNG POUT LDCT 0 2 [MARK B.I. BEFORE OUTPUT. 8X86 ORS 0 GWAIT(3) 8XMQ BRN SNULL 8Y7B XBI3 LOCKC 3,REFIND [LOCK LCB FOR OUTPUTTING BREAK IN 8YM2 ...NTRBI CALL 1 REFIND 8^6L LDX 3 2 8^L= LDX 1 FX1 925W LDX 2 FX2 92KG LDX 0 GSIGN [FRIG SO THAT OTHER TRANSFERS 9356 STO 0 GLASTM(3) [CANNOT GET IN DURING B.I. IDLE. 93JQ XBI2 LDX 0 HWGROT(3) [TEST TO SEE IF LIMIT EXCEEDED 944B SBN 0 HWGROTCT-1 94J2 BZE 0 XINOP1 953L LDN 0 1 [INCREASE GROTTY HW BI 95H= ADS 0 HWGROT(3) [COUNT 962W LDCT 0 #40 96GG ANDX 0 GWAIT(3) 9726 BNZ 0 RTO 97FQ LDCT 0 #200 [SET BIT TO SAY 97^B ORS 0 GWAIT(3) [DON'T FREE OUTPUT BLOCK 98F2 LDCT 0 #2 [UNSET 'BREAK IN BEFORE 98YL ANDX 0 GWAIT(3) [OUTPUT BIT' IF 99D= ERS 0 GWAIT(3) [IT IS SET 99XW XBI LDX 0 PMASK(1) [UNSET B10 IN GWAIT 9=CG ANDS 0 GWAIT(3) 9=X6 LDX 0 BIT11 9?BQ ORS 0 GWAIT(3) [CANCEL DC1 9?WB LDCT 0 #100 [J. IF BREAK-IN BIT IS ALREADY SET. 9#B2 ANDX 0 GWAIT(3) 9#TL BZE 0 XBIX [1ST BREAKIN 9**= LDN 0 #4000 9*SW ORS 0 GWAIT(3) [SET DOUBLE BREAKIN 9B#G BRN WAKE1 9BS6 XBIX 9C?Q HUNTACT CPAT,2,3 9CRB #SKI ANOUSER<1$1 9D?2 ( 9DQL LDX 6 JOBNO(2) 9F== BZE 6 NBI [J. IF BEFORE JOB BLOCK ETC. SET UP. 9FPW ) 9G9G LDN 0 #1000 9GP6 LDCT 4 4 9H8Q SMO A1+FPTR(3) 9HNB ANDX 4 FOURTHWD 9J82 BNZ 4 THSEC 9JML CHKBREAK 2,NBI 9K7= LDCT 0 4 9KLW THSEC SMO A1+FPTR(3) 9L6G ORS 0 FOURTHWD 9LL6 BNZ 4 UNSETA 9N52 #SKI ANOUSER 9NJL BRUSEN NUZ,2 9P4= JOBLOCK JOBNO(2),2 9QH6 NUZ LDX 2 FX2 9R2Q BRN WKIMQ 9RGB NBI LDX 4 GLASTM(3) [J. IF IN B.I. ON IDLE. 9S22 LDCT 0 #200 9SFL LDX 2 FX2 9SMW ... BPZ 4 NSBII 9SW6 ... ERS 0 GWAIT(3) 9T4B ... BRN SBII 9TGD ...NSBII SBN 4 #13 9TYG BNZ 4 WAKE1 [J. TO OUTPUT NL IF NOT MODE 3, ELSE 9WD6 ADN 0 4 [SET BITS TO SAY DON'T FREE,& RPT RDY 9WXQ ORS 0 GWAIT(3) 9XCB BRN WAKE1 [J TO OUTPUT NL 9XCW ...#SKI JSKI14 9XDB ...( 9XDW ...X92PROFLAG 9XFB ... LDX 2 3 [START ADDRESS IN BLK. 9XFW ... SBN 1 A1 9XGB ... LDX 6 ALOGLEN(1) [LTH. OF CHAPTER 9XGW ... LDX 4 6 9XHB ... ADN 4 A1 9XHW ... CALL 0 RMV [MOVE INTO BLOCK 9XJB ... LDX 3 2 [SAVE END OF CHAP 9XJW ... SBX 2 6 9XKB ... SBX 1 6 9XKW ... STO 2 FX1 [RESET FX1 9XLB ... SBN 2 A1 9XLW ... STOZ ATYPE(2) [MARK "CHAPTER IN BLOCK" 9XMB ... STOZ BPTR(2) 9XMW ... STO 2 FPTR(2) 9XNB ... ORX 2 GSIGN 9XNW ... STO 2 KTAB+KPROFLAG [RESET KTAB ENTRY 9XPB ... ADNC 2 ZRS+A1 9XPW ... BRN (2) [JUMP INTO COPIED VERSION 9XQB ...ZRS SBN 1 A1 9XQW ... TXU 1 GFIXCHAP 9XRB ... BCS NOTFX 9XRW ... STOZ BACK2(1) 9XS6 ... BRN TINFX 9XSB ...NOTFX 9XSL ... LDX 0 ASIZE(1) 9XSN ... LDX 2 AFLAG(1) 9XSQ ... ANDN 2 2 9XSS ... BZE 2 NVREZ 9XSW ...[ J IF NOT FROZEN CHAPTER 9XSY ... SBS 0 FREZCHAP 9XT2 ...[ UPDATE FROZEN CHAPTER SIZE 9XT4 ... BRN TVREE 9XT6 ...NVREZ 9XT8 ... SBS 0 ACHAP [UPDATE ACHAP 9XT= ...TVREE 9XTB ... FREECORE 1 [FREE CHAPTER BLOCK 9XTW ...TINFX ACROSS CONMXC,92 9XWB ...) 9XX2 #END ^^^^ ...46030050000700000000