.TITLE SCREEN .IDENT /V36/ .ASECT .GLOBL CFLG .GLOBL CRTYPE ;disassembled from SCREEN.OBJ with DOB .GLOBL CURFRE .GLOBL DIRECT .GLOBL EOFLAG .GLOBL EOLSEQ .GLOBL EOSSEQ .GLOBL ETYPE .GLOBL ET$BIN .GLOBL ET$CC .GLOBL ET$CKE .GLOBL ET$IAS .GLOBL ET$NCH .GLOBL ET$TRU .GLOBL FFFLAG .GLOBL FIXSEQ .GLOBL GOFSEQ .GLOBL GONSEQ .GLOBL GRPTBL .GLOBL HOMSEQ .GLOBL M .GLOBL MOFSEQ .GLOBL MONSEQ .GLOBL NFLG .GLOBL NWATCH .GLOBL OUTDNE .GLOBL P .GLOBL POSTBL .GLOBL QMAX .GLOBL QRSTOR .GLOBL QZ .GLOBL RWSIZE .GLOBL R0OFF .GLOBL SAVREG .GLOBL SCDSEQ .GLOBL SCRLOD .GLOBL SCUSEQ .GLOBL SIZEQR .GLOBL SI.EXA .GLOBL SI.EXM .GLOBL SI.EXT .GLOBL SI.INS .GLOBL SI.NST .GLOBL SI.NUP .GLOBL SI.OK .GLOBL SI.OKS .GLOBL SI.UC .GLOBL TLISTN .GLOBL TXSTOR .GLOBL TYPEBC .GLOBL TYPEBF .GLOBL ZZ .GLOBL $E$MEM .GLOBL .III.I .GLOBL .VVV.V .PSECT .PSECT SCREEN,OVR,RO,GBL .PSECT SCRSUB,RO,GBL .GLOBL CHKSCN .GLOBL DOTYPE .GLOBL SCRDNE .GLOBL SCRHOM .GLOBL SCROUT .GLOBL SCRPRM .GLOBL SCRSAV .GLOBL SCRUPD .PSECT SCRINS,OVR,RO,GBL .PSECT ..ABS.,OVR,ABS,D .GLOBL CURABS .GLOBL CURCOL .GLOBL CURPOS .GLOBL HLDFLG .GLOBL HTSIZE .GLOBL HTSIZ2 .GLOBL INITFL .GLOBL LINPTR .GLOBL MRKFLG .GLOBL OUTBLN .GLOBL OUTCHR .GLOBL PRECOL .GLOBL PRELIN .GLOBL SCROLN .GLOBL SEEALL .GLOBL SRWSIZ .GLOBL TOPDOT .GLOBL VTSIZE .GLOBL VTSIZ1 .PSECT SCREEN BIT #ET$IAS,ETYPE(R5) BEQ E00066 TST NFLG(R5) BPL E00024 MOV #SCRPRM,-(SP) BR E00074 E00024: TST R0 BMI E00070 BEQ E00040 CMP R0,NWATCH(R5) BEQ E00066 E00040: CLR 42+RWSIZE(R5) CLR 54+RWSIZE(R5) CLR 44+RWSIZE(R5) MOV #40,60+RWSIZE(R5) CLR 46+RWSIZE(R5) E00066: RETURN E00070: MOV #SCRUPD,-(SP) E00074: JMP SCRLOD .PSECT SCRSUB SCRUPD: JSR R0,SCRSAV COM R0 BEQ G00066 CMP R0,#1747 BCC G00050 MOV 62+RWSIZE(R5),R1 CMP R0,R1 BHI G00030 MOV R0,R1 G00030: CALL G03454 ASR R1 MOV 76+RWSIZE(R5),R0 G00042: CLR (R0)+ DEC R1 BNE G00042 G00050: MOV #177777,50+RWSIZE(R5) BIC #2,OUTDNE(R5) RETURN G00066: JSR R4,G03300 .WORD G03334 MOV P(R5),R0 MOV R0,-(SP) MOV #SCROUT,-(SP) TST 46+RWSIZE(R5) BEQ G00230 MOV 44+RWSIZE(R5),R4 DEC R4 MOV R4,36+RWSIZE(R5) MOV ZZ(R5),R1 CMP R4,R1 BHI G00230 CMP R0,R4 BCS G00230 ADD TXSTOR(R5),R0 MOV R0,6+RWSIZE(R5) INC 4+RWSIZE(R5) SUB R4,R1 CALL G01532 TST 10+RWSIZE(R5) BEQ G00222 MOV 46+RWSIZE(R5),R2 BMI CHKSCN CMP 12+RWSIZE(R5),R2 BCS G00222 MOV 62+RWSIZE(R5),R3 SUB R2,R3 CMP 12+RWSIZE(R5),R3 BCS CHKSCN G00222: JSR R4,G03300 .WORD G03334 G00230: CLR R0 CALL .VVV.V MOV R1,R4 MOV ZZ(R5),R1 SUB R4,R1 CALL G01532 MOV 62+RWSIZE(R5),R0 MOV NWATCH(R5),(SP) BEQ G00270 CMP R0,(SP) BHI G00310 G00270: MOV R0,R2 MOV #177777,(SP) G00276: INC (SP) SUB #3,R2 BCC G00276 ASL (SP) G00310: SUB 32+RWSIZE(R5),R0 CMP R0,(SP) BLOS G00322 MOV R0,(SP) G00322: MOV #G00452,-(SP) CHKSCN: MOV 100+RWSIZE(R5),R2 MOV (SP),-(SP) MOV R2,2(SP) CLR (R2) INC 42+RWSIZE(R5) BMI G00370 BNE G00360 TST OUTDNE(R5) BEQ G00402 G00360: MOV #FIXSEQ,R3 CALL DOTYPE G00370: INC (R2) MOV 62+RWSIZE(R5),R1 CALL G00030 G00402: TST 50+RWSIZE(R5) BPL G00430 SCRHOM: MOV #HOMSEQ,R3 CALL DOTYPE CLR 50+RWSIZE(R5) CLR 52+RWSIZE(R5) G00430: RETURN G00432: MOV 100+RWSIZE(R5),R2 MOV R2,-(SP) CLR (R2) MOV #14,R0 CALL .VVV.V G00452: JSR R4,G03300 .WORD G03334 CLR (R3) G00462: JSR R4,G03300 .WORD G03334 MOV R2,-(R3) MOV P(R5),36+RWSIZE(R5) BEQ G00720 MOV #177777,R0 CALL .VVV.V MOV R1,R4 SUB 36+RWSIZE(R5),R1 NEG R1 MOV (SP),R2 TSTB (R2) BEQ G00550 BPL G00616 CMP 34+RWSIZE(R5),#17 BCC G00616 CMP R1,34+RWSIZE(R5) BLOS G00616 G00550: TST 32+RWSIZE(R5) BEQ G00562 MOV R1,34+RWSIZE(R5) G00562: MOV #177777,(R2)+ MOV R2,4+RWSIZE(R5) MOV #G03122,0+RWSIZE(R5) MOV 64+RWSIZE(R5),R0 ASR R0 G00606: MOV #20040,(R2)+ DEC R0 BNE G00606 G00616: MOV 32+RWSIZE(R5),40+RWSIZE(R5) CALL G01532 MOV 32+RWSIZE(R5),R0 MOV (SP),R2 TST (R2)+ BPL G00644 MOVB R0,-(R2) G00644: CMP R0,2(SP) BCS G00462 MOV 40+RWSIZE(R5),32+RWSIZE(R5) G00660: MOV (SP)+,R2 TSTB (R2)+ BEQ G00740 BGT SCROUT TST 46+RWSIZE(R5) BMI SCROUT MOVB (R2)+,R0 MOV 32+RWSIZE(R5),R1 SUB R0,R1 CALL G03454 CLR -(SP) CLR R4 BR G00770 G00720: COM 2(SP) BPL G00660 CMP 34+RWSIZE(R5),#17 BCC G00660 G00736: TST (SP)+ G00740: TST (SP) BMI G00432 BR SCROUT G00746: NEG (SP) NEG R4 BMI G00770 CMP (SP),#14 BHI G00736 INC (SP) ADD 64+RWSIZE(R5),R4 G00770: MOV R1,R2 ADD R4,R2 BMI G00746 ADD 76+RWSIZE(R5),R2 CMP R2,TXSTOR(R5) BCC G00746 MOV 100+RWSIZE(R5),R3 TST (R3)+ MOV 64+RWSIZE(R5),R0 ASR R0 G01024: MOV (R2)+,-(SP) BIC #100200,(SP) CMP (R3)+,(SP)+ BEQ G01046 CMP 177776(R2),#100200 BNE G00746 G01046: DEC R0 BNE G01024 MOV (SP)+,R1 CLR R2 MOV 66+RWSIZE(R5),32+RWSIZE(R5) MOV #SCUSEQ,R3 MOV R1,R4 BEQ SCROUT BPL G01124 MOV CRTYPE(R5),R3 CMPB @SCDSEQ(R3),#200 BEQ SCROUT MOV #SCDSEQ,R3 CLR 32+RWSIZE(R5) NEG R4 G01124: CALL G03344 DEC R4 BNE G01124 MOV 76+RWSIZE(R5),R2 MOV TXSTOR(R5),R0 CALL G03454 TST R1 BMI G01176 ADD R2,R1 G01156: MOV (R1)+,(R2)+ CMP R1,R0 BCS G01156 G01164: MOV #20040,(R2)+ CMP R2,R0 BCS G01164 BR SCROUT G01176: ADD R0,R1 G01200: MOV -(R1),-(R0) CMP R1,R2 BHI G01200 G01206: MOV #20040,-(R0) CMP R0,R2 BHI G01206 SCROUT: TST (SP)+ JSR R4,G03300 .WORD G03340 MOV 36+RWSIZE(R5),R4 MOV R4,44+RWSIZE(R5) INC 44+RWSIZE(R5) MOV ZZ(R5),R1 SUB R4,R1 MOV 76+RWSIZE(R5),4+RWSIZE(R5) MOV (SP),P(R5) ADD TXSTOR(R5),(SP) MOV CRTYPE(R5),R3 CMPB @MONSEQ(R3),#200 BEQ G01340 MOV 54+RWSIZE(R5),R0 BEQ G01340 DEC R0 ADD TXSTOR(R5),R0 MOV (SP),22+RWSIZE(R5) CMP R0,(SP) BLOS G01334 MOV R0,22+RWSIZE(R5) MOV (SP),R0 G01334: MOV R0,20+RWSIZE(R5) G01340: MOV (SP),6+RWSIZE(R5) CALL G01532 MOV (SP)+,R4 MOV 66+RWSIZE(R5),32+RWSIZE(R5) MOV 70+RWSIZE(R5),R2 MOV 10+RWSIZE(R5),R1 BEQ G01452 MOV 12+RWSIZE(R5),32+RWSIZE(R5) MOV 14+RWSIZE(R5),R2 TST P(R5) BEQ G01452 CMP P(R5),ZZ(R5) BCC G01452 CMPB (R4),#12 BNE G01452 CMPB -(R4),#15 BNE G01452 CMPB (R4)+,(R4)+ MOV #2,R0 CALL G02652 DEC R2 G01452: CALL G03404 TST 16+RWSIZE(R5) BEQ G01474 MOV #GOFSEQ,R3 CALL DOTYPE G01474: TST 24+RWSIZE(R5) BEQ G01512 MOV #MOFSEQ,R3 CALL DOTYPE G01512: MOV #177777,42+RWSIZE(R5) SCRDNE: CALL TYPEBC CLR OUTDNE(R5) RETURN G01532: ADD TXSTOR(R5),R4 MOV R1,-(SP) BR G01622 G01542: MOV #11,R0 MOV (SP),-(SP) BNE G01570 MOV R4,-(SP) SUB TXSTOR(R5),(SP) CMP (SP)+,ZZ(R5) BCS G01602 BR G01576 G01570: CMPB (R4),#12 BEQ G01602 G01576: INC R0 COM (SP) G01602: TST 60+RWSIZE(R5) BPL G01614 CALL G02466 G01614: CALL G02504 ASL (SP)+ G01622: BIC R2,R2 MOV 4+RWSIZE(R5),R1 BCC G01770 TST 60+RWSIZE(R5) BMI G02166 TST 30+RWSIZE(R5) BPL G01770 BR G01750 G01650: CMPB (R4),#15 BEQ G02042 MOV #1,R0 BIT #ET$TRU,ETYPE(R5) BEQ G01714 INC R4 CALL G02466 CMP R2,30+RWSIZE(R5) BLOS G01770 MOV R2,30+RWSIZE(R5) BR G01770 G01714: INC (SP) TST 60+RWSIZE(R5) BPL G01730 CALL @0+RWSIZE(R5) G01730: CALL G02504 CLR R2 CALL G02520 BCS G02174 DEC 30+RWSIZE(R5) G01750: MOV #1,R0 CALL @0+RWSIZE(R5) MOVB 60+RWSIZE(R5),R0 G01764: CALL @0+RWSIZE(R5) G01770: CMP R4,6+RWSIZE(R5) BNE G02030 MOV R1,10+RWSIZE(R5) MOV 32+RWSIZE(R5),12+RWSIZE(R5) MOV R2,14+RWSIZE(R5) CMP R2,64+RWSIZE(R5) BCS G02030 MOV 70+RWSIZE(R5),14+RWSIZE(R5) G02030: DEC (SP) BMI G02330 CMP R2,72+RWSIZE(R5) BCC G01650 G02042: MOVB (R4)+,R0 BIC #177600,R0 CMP R0,#177 BEQ G02244 CMP R0,#40 BCC G01764 CMP R0,#11 BEQ G02204 BCS G02244 CMP R0,#15 BEQ G01542 BHI G02244 SUB #12,R0 ASL R0 TST 60+RWSIZE(R5) BPL G02170 TST (R0)+ MOV R2,-(SP) BNE G02154 TST 26+RWSIZE(R5) BEQ G02154 CMP R0,#2 BEQ G02164 CALL G02520 MOV (SP)+,R2 BCS G02400 MOV R2,-(SP) G02154: CALL G02466 CALL G02504 G02164: MOV (SP)+,R2 G02166: CLR R0 G02170: CALL G02520 G02174: BCS G02400 DEC R0 BMI G01770 BR G02170 G02204: MOV 60+RWSIZE(R5),R0 BPL G02216 MOV #7,R0 G02216: CALL @0+RWSIZE(R5) BIT R2,#7 BEQ G01770 CMP R2,72+RWSIZE(R5) BCC G01770 MOVB 60+RWSIZE(R5),R0 BR G02216 G02244: MOV #44,-(SP) TST 60+RWSIZE(R5) BPL G02262 MOV #13,(SP) G02262: CMP R0,#33 BEQ G02324 ADD #100,R0 BIC #177600,R0 MOV R0,(SP) MOV #136,R0 TST 60+RWSIZE(R5) BPL G02320 MOV #3,R0 G02320: CALL @0+RWSIZE(R5) G02324: MOV (SP)+,R0 BR G01764 G02330: SUB TXSTOR(R5),R4 CMP R4,ZZ(R5) BCS G02400 MOV #5,R0 TST FFFLAG(R5) BEQ G02356 INC R0 G02356: CALL G02466 TST EOFLAG(R5) BEQ G02400 MOV #5,R0 CALL G02466 G02400: MOV 32+RWSIZE(R5),(SP) TST 46+RWSIZE(R5) BMI G02434 TST 56+RWSIZE(R5) BNE G02434 MOV CRTYPE(R5),R3 CMPB @EOSSEQ(R3),#200 BNE G02450 G02434: CALL G02644 BCC G02434 MOV (SP)+,32+RWSIZE(R5) RETURN G02450: TST (SP)+ MOV #EOSSEQ,R3 MOV TXSTOR(R5),R0 JMP @2+RWSIZE(R5) G02466: MOV 30+RWSIZE(R5),R3 DEC R3 CMP R2,R3 BCC G02516 JMP @0+RWSIZE(R5) G02504: CMP R2,26+RWSIZE(R5) BLOS G02516 MOV R2,26+RWSIZE(R5) G02516: RETURN G02520: MOV R0,-(SP) MOV R2,-(SP) G02524: MOV 4+RWSIZE(R5),R0 ADD 64+RWSIZE(R5),R0 CMP R0,TXSTOR(R5) BLOS G02546 MOV TXSTOR(R5),R0 G02546: MOV #EOLSEQ,R3 CALL @2+RWSIZE(R5) MOV R0,4+RWSIZE(R5) INC 32+RWSIZE(R5) MOV R0,R1 CLR 30+RWSIZE(R5) CLR 26+RWSIZE(R5) CLR R2 G02602: CMP R2,(SP) BCS G02622 G02606: MOV (SP)+,R2 MOV (SP)+,R0 CMP 66+RWSIZE(R5),32+RWSIZE(R5) RETURN G02622: CMP 66+RWSIZE(R5),32+RWSIZE(R5) BCS G02606 MOVB 60+RWSIZE(R5),R0 CALL @0+RWSIZE(R5) BR G02602 G02644: MOV R0,-(SP) CLR -(SP) BR G02524 G02652: CMP R4,22+RWSIZE(R5) BHI G02672 CMP R4,20+RWSIZE(R5) BLOS G02672 BIS #200,R0 G02672: CMPB R0,(R1)+ BEQ G03116 CMP 32+RWSIZE(R5),50+RWSIZE(R5) BNE G02760 MOV R2,R3 SUB 52+RWSIZE(R5),R3 BEQ G02764 MOV R1,-(SP) MOV CRTYPE(R5),R1 CMP R3,POSTBL(R1) BHI G02756 MOV (SP),R1 MOVB R0,-(R1) SUB R3,R2 SUB R3,R1 G02742: MOVB (R1)+,R0 CMP R1,(SP) BCC G02756 CALL G02764 BR G02742 G02756: MOV (SP)+,R1 G02760: CALL G03404 G02764: CLR -(SP) MOVB R0,177777(R1) BPL G03002 BIC #177600,R0 COM (SP) G03002: CMP (SP)+,24+RWSIZE(R5) BEQ G03032 MOV #MOFSEQ,R3 COM 24+RWSIZE(R5) BEQ G03026 MOV #MONSEQ,R3 G03026: CALL DOTYPE G03032: CLR -(SP) CMP R0,#40 BCC G03056 MOV CRTYPE(R5),R3 ADD GRPTBL(R3),R0 MOVB -(R0),R0 COM (SP) G03056: CMP (SP)+,16+RWSIZE(R5) BEQ G03106 MOV #GOFSEQ,R3 COM 16+RWSIZE(R5) BEQ G03102 MOV #GONSEQ,R3 G03102: CALL DOTYPE G03106: CALL TYPEBF INC 52+RWSIZE(R5) G03116: INC R2 RETURN G03122: MOVB R0,(R1)+ BR G03116 G03126: MOV R1,-(SP) MOV R2,-(SP) MOV R4,-(SP) MOV R0,-(SP) CMP R2,26+RWSIZE(R5) BCC G03150 MOV 26+RWSIZE(R5),R2 G03150: MOV 4+RWSIZE(R5),R1 ADD R2,R1 CLR R4 CMP 66+RWSIZE(R5),32+RWSIZE(R5) BCS G03172 COM R4 G03172: CMP R1,(SP) BCC G03256 BIT R1,#1 BEQ G03232 CMPB #40,(R1)+ BEQ G03172 MOVB #40,177777(R1) INC R4 BNE G03172 G03224: CALL G03344 BR G03172 G03232: CMP #20040,(R1)+ BEQ G03252 MOV #20040,177776(R1) INC R4 BEQ G03224 G03252: CMP R1,(SP) BCS G03232 G03256: MOV (SP)+,R0 MOV (SP)+,R4 MOV (SP)+,R2 MOV (SP)+,R1 RETURN G03270: MOV #G03116,0+RWSIZE(R5) RETURN G03300: MOV #0+RWSIZE,R3 ADD R5,R3 MOV (R4)+,R2 MOV (R2)+,(R3)+ MOV (R2)+,(R3)+ MOV #13,R2 G03320: CLR (R3)+ DEC R2 BNE G03320 MOV (R3),R2 CLR (R3)+ RTS R4 G03334: .WORD G03116 .WORD G03270 G03340: .WORD G02652 .WORD G03126 G03344: CALL G03404 DOTYPE: MOV R0,-(SP) MOV R3,-(SP) ADD CRTYPE(R5),R3 MOV (R3),R3 G03362: MOVB (R3)+,R0 ASLB R0 BCS G03446 BNE G03374 SEC G03374: RORB R0 CALL TYPEBF BR G03362 G03404: MOV R0,-(SP) MOV 32+RWSIZE(R5),R0 CMP R0,50+RWSIZE(R5) BNE G03426 CMP R2,52+RWSIZE(R5) BEQ G03450 G03426: MOV R3,-(SP) CALL DIRECT MOV 32+RWSIZE(R5),50+RWSIZE(R5) MOV R2,52+RWSIZE(R5) G03446: MOV (SP)+,R3 G03450: MOV (SP)+,R0 RETURN G03454: MOV 64+RWSIZE(R5),-(SP) MOV R1,-(SP) CLR R1 G03464: ASR 2(SP) BCC G03500 ADD (SP),R1 G03474: ASL (SP) BR G03464 G03500: BNE G03474 CMP (SP)+,(SP)+ RETURN G03506: JMP I00000 G03512: BEQ G03554 CMP R0,#5 BCS G03546 BEQ G03540 CMP R0,#7 BCC G04032 MOV R4,44+RWSIZE(R5) BR G04032 G03540: MOV R4,46+RWSIZE(R5) BR G04032 G03546: MOV R4,54+RWSIZE(R5) BR G04032 G03554: MOV #40,60+RWSIZE(R5) TST R4 BEQ G04032 MOV #100010,60+RWSIZE(R5) BR G04032 SCRPRM: TST R0 BMI G03506 JSR R0,SCRSAV INC CFLG(R5) BNE G04032 MOV M(R5),R4 CMP R0,#3 BCC G03512 MOV R4,R1 MOV 64+RWSIZE(R5),R2 MOV #177401,-(SP) DEC R0 BPL G03662 MOV #177771,(SP) BIT R4,(SP)+ BNE G04032 MOV 62+RWSIZE(R5),R1 BR G03716 G03662: BEQ G03666 ASR (SP) G03666: BIT R4,(SP)+ BNE G04032 CMP R4,#12 BCS G04032 TST R0 BNE G03712 MOV R4,R2 MOV 62+RWSIZE(R5),R1 G03712: MOV CRTYPE(R5),R4 G03716: MOV CRTYPE(R5),-(SP) MOV R4,CRTYPE(R5) MOV 62+RWSIZE(R5),-(SP) MOV R1,62+RWSIZE(R5) MOV 64+RWSIZE(R5),R3 MOV R2,64+RWSIZE(R5) MOV 74+RWSIZE(R5),R0 SUB R3,R0 MOV 60+RWSIZE(R5),-(SP) MOV 54+RWSIZE(R5),-(SP) MOV 46+RWSIZE(R5),-(SP) CALL G04164 MOV (SP)+,46+RWSIZE(R5) MOV (SP)+,54+RWSIZE(R5) MOV (SP)+,60+RWSIZE(R5) BCS G04030 MOV R3,64+RWSIZE(R5) MOV (SP)+,62+RWSIZE(R5) MOV (SP)+,CRTYPE(R5) BR G04032 G04030: CMP (SP)+,(SP)+ G04032: CLR CFLG(R5) MOV 64+RWSIZE(R5),R0 DEC R0OFF+4(SP) BEQ G04156 BMI G04152 MOV 62+RWSIZE(R5),R0 SUB #2,R0OFF+4(SP) BMI G04156 BEQ G04136 MOV 54+RWSIZE(R5),R0 SUB #2,R0OFF+4(SP) BMI G04156 BEQ G04130 MOV 44+RWSIZE(R5),R0 SUB #2,R0OFF+4(SP) BMI G04156 MOV 56+RWSIZE(R5),R0 BR G04156 G04130: MOV 46+RWSIZE(R5),R0 BR G04156 G04136: CLR R0 TST 60+RWSIZE(R5) BPL G04156 COM R0 BR G04156 G04152: MOV CRTYPE(R5),R0 G04156: MOV R0,R0OFF+4(SP) RETURN G04164: MOV 62+RWSIZE(R5),R1 CALL G03454 MOV R1,-(SP) ADD 64+RWSIZE(R5),R1 ADD R1,R0 BEQ G04266 BPL G04232 SUB R0,CURFRE(R5) CALL G04344 ADD R2,R0 G04222: MOVB (R0)+,(R2)+ CMP R2,R4 BCS G04222 BR G04266 G04232: MOV QZ(R5),R1 ADD R0,R1 CALL SIZEQR BCC G04340 SUB R0,QMAX(R5) CALL G04344 ADD R4,R0 G04260: MOVB -(R0),-(R4) CMP R4,R2 BHI G04260 G04266: MOV #4+RWSIZE,R4 ADD R5,R4 MOV #26,R1 G04300: CLR (R4)+ DEC R1 BNE G04300 MOV #40,(R4)+ MOV (R4)+,R1 MOV (R4)+,R2 MOV R1,(R4) DEC (R4)+ MOV R2,(R4) DEC (R4) MOV (R4)+,(R4) DEC (R4)+ MOV (SP),R0 NEG R0 MOV R0,(R4) G04340: MOV (SP)+,R1 RETURN G04344: ADD R0,TXSTOR(R5) ADD R0,QRSTOR(R5) NEG R0 MOV TXSTOR(R5),R2 MOV QRSTOR(R5),R4 ADD QMAX(R5),R4 RETURN SCRSAV: MOV (SP)+,0+RWSIZE(R5) JSR R4,SAVREG MOV 0+RWSIZE(R5),R0OFF(SP) MOV ETYPE(R5),-(SP) MOV R0,-(SP) MOV 74+RWSIZE(R5),R0 BNE G04440 MOV #2,R0 CALL G04164 BCC G04514 G04440: ADD TXSTOR(R5),R0 MOV R0,76+RWSIZE(R5) SUB 64+RWSIZE(R5),R0 TST -(R0) MOV R0,100+RWSIZE(R5) MOV R0OFF+4(SP),R0 BIS #ET$BIN,ETYPE(R5) CALL @(SP)+ BIT (SP)+,#ET$BIN BNE G04512 BIC #ET$BIN,ETYPE(R5) G04512: RETURN G04514: JMP $E$MEM .PSECT SCRINS I00000: MOV ETYPE(R5),-(SP) CLR CFLG(R5) CLR -(SP) MOVB R0,(SP) I00014: BIS #ET$CC!ET$CKE!ET$NCH,ETYPE(R5) I00022: CALL TLISTN BIC #ET$CKE,ETYPE(R5) BPL I00074 TST R0 BPL I00100 TSTB (SP) BMI I00152 BIT (SP),#41 BNE I00022 MOV #177777,R0 CALL SCRUPD INC (SP) TST ETYPE(R5) BMI I00022 I00074: MOV #3,R0 I00100: BIT (SP),#114 BNE I00152 CMPB R0,#177 BCC I00152 CMPB R0,#40 BCC I00136 CMPB R0,#11 BNE I00152 BIT (SP),#2 BNE I00152 I00136: CALL I00176 BIS #100001,(SP) DEC (SP) BR I00014 I00152: MOVB R0,(SP) MOV (SP)+,R0 BIC #^C,(SP) BIC #ET$CC!ET$CKE!ET$NCH,ETYPE(R5) BIS (SP)+,ETYPE(R5) RETURN I00176: JSR R4,SAVREG JMP .III.I SI.OK= 1 SI.EXT= 2 SI.UC= 4 SI.EXM= 10 SI.NUP= 40 SI.EXA= 100 SI.NST= 200 SI.OKS= 400 SI.INS= 100000 .PSECT ..ABS. OUTCHR= .+0 OUTBLN= .+2 CURPOS= .+6 CURABS= .+10 CURCOL= .+14 LINPTR= .+36 INITFL= .+42 TOPDOT= .+44 HLDFLG= .+46 PRELIN= .+50 PRECOL= .+52 MRKFLG= .+54 SCROLN= .+56 SEEALL= .+60 VTSIZE= .+62 HTSIZE= .+64 VTSIZ1= .+66 HTSIZ2= .+72 SRWSIZ= .+102 .END