.title ReRead .includ 'b:global' .includ 'b:rrvdef' ; Define variables in low memory. sect code oSavTx: call UtmFil ; Enable output to file. bcs 99$ dec UtmFlg mov Level, r5 dec r5 mov #Found+4, r4 clr PrsPro ; Normalt Skumma v{rde mov #400, fb ; "(i) f|ljd" call ReRe2 bic #UtmOn, KSW 99$: rts pc oList: Repars #2, #VVDL bcs 10$ SetNam #"LI bis #UtmOn, KSW mov Level, r5 mov #Found+2, r4 mov #200, PrsPro mov #400, fb ; "Fram}t (i) f|ljd" call $ReRe bic #UtmOn, KSW 10$: rts pc oReRe: SetNam #"RE clr PrsPro ; Used by skumma as temp. "Show" clr fb ReRe1: mov #Found+2, r4 mov Level,r5 ReRe2: cmp r5, #1 bne $ReRe tst Oldl beq 30$ bis #40, PrsPro ; Show all headers br $ReRe 30$: Repars #2,#VVDRR bcc ReRe1 rts pc $ReRe: mov #OSP, r0 mov sp, (r0)+ ; Orginal SP clr (r0)+ ; From clr (r0)+ ; To clr (r0)+ ; After clr (r0)+ ; Before clr (r0)+ ; Nr clr (r0)+ ; Max tst (r0)+ ; fb/if clr (r0)+ ; Flag mov #RRLST, (r0)+ ; Dop clr (r0)+ ; Typ clr (r0)+ ; Otyp clr (r0)+ ; AccP mov Lists, RRPLst ; Command list for PARSER mov Prios, RRPPri ; Priority to PARSER 80$: dec r5 ble 100$ mov (r4)+,r1 call GetAdr call @(r1) br 80$ 100$: Jmp @Dop REXIT: mov OSP, sp rts pc $RRDO: mov -(r1), Dop rts pc $RRWNN: dec Flag ; Lista (med) internetnamn rts pc $LiDis: call RRWho tst r0 beq 10$ mov (r0), To br 20$ 10$: mov Me, To 20$: mov #LiDist, Dop rts pc $RRTC: mov #RRTC, Dop ; (Det) kommenterade rts pc RRTC: mov Oldl,r0 ; (Det) kommenterade bne 10$ 5$: mov #DHIL,r1 br 30$ DH$ = 5$ 10$: gos GetRec, <#2, r0, #FB1, #Unlock> mov 24(r1),r1 beq 20$ mov PrsPro,r0 jmp DISPLY 20$: mov #IAIK,r1 30$: call strout rts pc $RRCT: mov #RRCT,Dop ; (Kommentar-)tr{det rts pc RRCT: mov Oldl,r2 ; (Kommentar-)tr{det beq DH$ mov #30$,Dop mov #FB1,r5 clr (r5)+ mov #-1, r4 mov #077777, max ; Ger max 32K inl{gg (Fult!!) gos GetRec, <#2, r2, #FB2, #Unlock> mov 24(r1),r2 beq 20$ 10$: gos TryRec, <#2, r2, #FB2, #Unlock> 20$: bit #4, 14(r1) ; Brev? beq 25$ ; Nej. call AccLet ; Ja. R{tt att l{sa? bcs 50$ 25$: mov r2,LetNr jmp DOWRT ; Don't do that... 30$: mov NXTCOM,r0 beq 40$ mov r0,(r5)+ 40$: mov COMTTT,r2 bne 10$ 50$: mov -(r5),r2 bne 10$ jmp ExitT $RRSY: gos Get, <#1, #2, #FB1, #1, #Unlock> ; Systemmedelande mov FB1+16, LetNr bne 10$ tst FB1+20 bne 10$ Write #NoSy mov #RExit, Dop br 30$ 10$: mov FB1+20, LetNr+2 20$: mov #RRTOut, Dop inc AccP ; Alla har r{tt att l{sa 30$: rts pc $RRPO: call RRWho ; Presentationen (av) mov r0,r3 bne 5$ mov #GrpLst, r1 mov Me, r0 call FindCm mov r0, r3 beq 999$ sub #rStr, r3 5$: gos GetRec, <#1, rArg(r3), #FB1, #Unlock> add #20,r1 mov (r1), LetNr bne 20$ tst 2(r1) bne 20$ 10$: mov r3,r1 add #rStr,r1 call Strout Write #HIPS mov #RExit, Dop br 999$ 20$: mov 2(r1), LetNr+2 mov #RRTOUT, Dop inc AccP ; Alla har r{tt att l{sa! 999$: rts pc $RRIF: incb if ; I f|ljd rts pc $RRFO: incb fb ; Fram}t rts pc $RRBA: decb fb ; Bak}t rts pc $RRIL: mov #2, Otyp ; Inl{gg rts pc $RRLE: mov Me, To ; Brev mov #4,Typ rts pc $RRAF: call RRDAT mov r0, After rts pc $RRBF: call RRDAT mov r0, Before rts pc RRDAT: dec r5 bne 10$ inc r5 clr r0 br 99$ 10$: mov r4,r0 tst (r4)+ sub #Found-Strs,r0 mov (r0)+,r1 mov (r0),r0 sub r1,r0 call CnvDat bcc 99$ mov OSP, sp ; Exit 99$: rts pc $RRLA: call RRNR ; Senaste inc Flag rts pc $RRFI: dec Flag ; F|rsta RRNR: dec r5 bne 10$ 5$: inc r5 mov #1,Max br $RRAB 10$: mov (r4), r1 call GetAdr tst (r1) bne 5$ mov r4,r0 sub #Found-Strs,r0 mov (r0)+,r1 mov (r0),r0 sub r1,r0 call val16 mov r0,Max tst (r4)+ $RRAB: mov #RRIN,Dop rts pc $RRMA: mov #RRMA,Dop ; Makerade (inl{gg) rts pc RRMA: gos GetMe, <#FB1> inc AccP mov 74(r1), r4 clr First mov #1, ChNr mov #30., Siz add #36., r1 clr FB4-2 br RRRR RRIN: clr FB4-2 mov To,r0 bne 5$ mov Thsgr,r0 ; Specialfall bne 5$ Write #YAN rts pc 5$: mov #GRPLST,r1 call Findcm mov rHigh-rStr(r0), r4 gos getrec, <#1, rArg-rStr(r0), #FB1, #Unlock> sub 150(r1), r4 tst Max beq 7$ cmp 154(r1), Max bhis 10$ 7$: mov 154(r1), Max ; Antal aktiva texter.. 10$: mov 156(r1), First ; Nr f|r 1:a texten.. call AccMet bcc 20$ inc AccP 20$: mov #1,ChNr mov #30.,Siz clr To RRRR: tst r4 bne 10$ jmp 999$ 10$: tst Max beq 15$ cmp r4,Max bhis 20$ 15$: mov r4,Max 20$: tstb fb bgt 80$ ; Fram}t blt 30$ tst Flag ble 80$ 30$: mov #60$,Dop mov r4,r3 tst Flag bge 35$ mov Max,r3 call GETONE mov Max, r4 br 38$ 35$: call GETONE 38$: neg r5 add Siz,r5 inc r5 40$: mov 4(r1),r2 50$: mov r3,r1 br 190$ 60$: cmp -(r3),-(r3) sob r5,50$ gos TryRec, mov Siz,r5 mov r5,r3 inc r3 asl r3 asl r3 add r1,r3 br 40$ 80$: mov #100$,Dop mov #1, r3 tst Flag ble 82$ mov r4,r3 sub Max,r3 inc r3 call GETONE mov Max, r4 br 85$ 82$: call GETONE 85$: mov 2(r1),r2 90$: mov r3,r1 br 190$ 100$: cmp (r3)+,(r3)+ sob r5,90$ gos TryRec, mov r1,r3 add #10,r3 mov Siz,r5 br 85$ 190$: mov #FB4,r0 call FysTxt mov r0,LetNr bne 192$ 191$: jmp 210$ 192$: gos tryrec, <#2, r0, #FB2, #Unlock> mov From,r0 beq 195$ cmp 12(r1),r0 bne 191$ 195$: mov To,r0 beq 200$ cmp 16(r1), r0 beq 200$ push mov r1, r3 clr FB3-2 196$: mov 36(r1), r2 beq 199$ gos TstRec, <#2, r2, #FB2> bcc 197$ gos TryRec, <#2, r2, #FB3,#Unlock> 197$: cmp 16(r1), 16(r3) ; End detected? beq 199$ ; Yes! cmp To, 16(r1) bne 196$ 198$: tst (pc)+ ; clc & skip 199$ 199$: sec mov r3, r1 pop bcs 210$ br 200$ 200$: mov After, r0 beq 201$ cmp r0, 6(r1) bhi 210$ 201$: mov Before, r0 beq 202$ cmp r0, 6(r1) blo 210$ 202$: mov Typ,r0 beq 205$ bit r0,14(r1) beq 210$ 205$: mov Otyp, r0 beq 2051$ bit r0,14(r1) bne 210$ 2051$: tst AccP beq 207$ 206$: call AccLet bcs 210$ 207$: tstb if bne 208$ tst Nr beq 209$ PARSER RRPLst, RRPPri, #RRNXT call pcrlf call pcrlf tst Level beq 209$ mov Found,r1 call GetAdr mov OSP,sp mov (r1), r1 beq 2075$ jmp @r1 2075$: rts pc ; Exit from ReRead CHWRT = 206$ DOWRT = 207$ 208$: tstb PrsPro bge 209$ bisb #100, PrsPro ; "(i) listformat" 209$: mov LetNr,Oldl mov #FB2,CurBlk mov PrsPro,r0 call Dsply2 inc Nr dec Max ble 999$ bcc 210$ tstb if bne 999$ 210$: cmp r4,#-1 beq 220$ dec r4 ble 999$ 220$: jmp @Dop 999$: bis #UtmOn,KSW mov #VT, r2 tstb PrsPro bge 1000$ cmp (r2)+, (r2)+ ; Listformat bitb #100, PrsPro beq 1000$ call pcrlf 1000$: mov Nr,r1 clr r0 cmp #1,r1 beq 1010$ call deco16 mov (r2), r1 br 1020$ 1010$: mov 2(r2), r1 1020$: call Strout call PCR2LF bic #UtmOn,KSW rts pc ExitT = 999$ $RRTE: tst (r4)+ ; Text: dec r5 bne $RRIN mov #RExit, Dop ; Time to exit rts pc $RRIN: mov r4, r0 ; (Inl{ggsnummer) sub #Found+2, r0 call GetNum mov Max, r2 asl r2 asl r2 add #FB1, r2 mov r1, (r2)+ mov r0, (r2) inc Max mov #RRTXTS, Dop rts pc RRLST: mov Oldl, r1 mov PrsPro, r0 call Disply rts pc RRTXTS: clr AccP mov Max, r4 mov #FB1, r3 10$: tst Max beq 99$ mov r3, r1 call RROUT2 cmp (r3)+, (r3)+ tst r4 bne 10$ 99$: rts pc RRTOUT: mov #1, r4 mov r4, Max mov #LetNr,r1 RROUT2: mov #30$, Dop mov #FB2, r0 call CnvLet bcs 20$ mov r0, LetNr gos GetRec, <#2, r0, #FB2, #Unlock> tst AccP beq 10$ jmp DoWRT 10$: jmp ChWRT 20$: dec r4 beq ExitT 30$: 99$: rts pc $RRBY: call RRWho ; Av tst r0 beq rt$ mov (r0),From rt$: rts pc $RRTO: call RRWho ; Till tst r0 beq 10$ mov (r0),To 10$: rts pc RRWho: dec r5 bne 5$ clr r0 rts pc 5$: mov r4,r0 sub #Found,r0 mov r0,r1 call fixlst bcs 10$ cmp r0,r1 beq 7$ dec r5 7$: mov r0,r4 add #Found,r4 tst (r4)+ mov Found(r0),r1 call GetAdr mov r1, r0 rts pc 10$: mov OSP,sp rts pc ; L{mna ReRead ;+ ; GETONE Gets text number to start with. ; Call r3 = Position, r4 = High when calling. ; r1 = Pointer to Group-nod in file 1 ; Return ? ;- GETONE: push r1 clr r2 add First, r3 dec r3 div Siz,r2 mov r4,r1 add First, r1 clr r0 dec r1 div Siz,r0 sub r2,r0 pop r1 cmp r0,r2 bge 60$ mov r0,r2 mov 34(r1),r5 20$: gos TryRec, dec r2 bmi 80$ mov 4(r1),r5 br 20$ 60$: mov 32(r1),r5 ; Fram}t 70$: gos TryRec, dec r2 bmi 80$ mov 2(r1),r5 br 70$ 80$: mov Siz,r5 sub r3,r5 asl r3 asl r3 add #10,r3 add r1,r3 rts pc RRNYI: mov OSP,sp jmp KOMNYI VT: .word IV .word EIV LT: .word IL .word EIL Text VVDL, <"Vad vill du LISTA"> Text VVDRR, <"Vad vill du se"> Text IV, <" inl{gg visade"> Text IL, <" inl{gg listade"> Text EIV, <"Ett inl{gg visat"> Text EIL, <"Ett inl{gg listat"> Text IAIK, <"Inl{gget {r ingen kommentar"> Text RRNXT, <"]terse n{sta"> Text HIPS, <" saknar presentation"> Text NoSy, <"Det finns inget systemmedelande."> ;Text LiTe, <"Line: "> .even .end