.title who ; WHO IS IT? .inclu "b:global" CAPTIV = 254.*400+254. ; PPN for captive account FMODEM = 23. ; First MODEM line LMODEM = 34. ; Last MODEM line Text VVDBS, <"Vem vill du B\RJA som"> Text whop, <"Vad heter du"> Text pasw, <"Ange ditt l|senord - "> Text thanks, <"Tack!"> Text missit, <"L|senordet st{mde inte - Ange nytt namn!"> Text KnewNa, <"Namnet {r ok{nt f|r KOM"> Text AmbNam, <"Namnet {r inte entydigt"> Text GiNeNa, <" - Ange nytt namn!"> Text nowp, <"Nu skall du ange ett personligt l|senord!"> Text ilpw, <"Otill}tet l|senord."> Text DotLF, <"."> Text SKPESK, <"Ska personen skapas "> NowPre: .byte 20$-10$ 10$: .ascii "Nu ska du skriva en presentation om dig sj{lv." 20$: Oldpw1: .byte 20$-10$ 10$: .ascii "Du kan inte k|ra KOM, utan att f|rst f} ditt L|senord" .ascii "utbytt. Prata med n}gon KOM ansvarig." .ascii 20$: .even sect code oWho: tst me beq askme ; call save RePars #2, #VVDBS bcs 10$ call fixlst bcc 20$ 10$: rts pc 20$: clr DspFlg jmp Cont ask: call PCRLF askme: clr DspFlg ; Ask for password. parser #WhoLst, #377, #whop call PCR2LF tst level bne 10$ 5$: call ReLink br askme 10$: clr Level ; F|rbered f|r Find clr CopyP mov #GRPLST, Lists mov #1, prios mov #PStr1, r4 clr r0 bisb (r4)+, r0 add r0, r4 call Find mov NrAmb, r0 beq 40$ bmi 1000$ cmp #1, r0 beq 900$ Write #KnewNA ; #AmbNam 30$: Write #GiNeNa br 5$ 40$: Write #KnewNA mov #LIBINF, r1 call GetAdr bit #2, 12(r1) ; AutoaMagic creation? beq 30$ ; No! mov #Pstr1, r0 call MovPro ; Spara Namnet i PrsPro Write #DOTLF Parser #JaNejL, #377, #SkPeSk call PCR2LF tst Level beq 5$ mov Found, r1 call GetAdr tst (r1) beq 5$ mov r0, r1 ; Address of PrsPro mov #xUser, r0 call CrePer tst r0 beq 5$ bpt mov #GRPLST, r1 call FindCm sub #rStr, r0 inc DspFlg ; Don`t ask for password. br Cont2 900$: mov Ambp, r1 call NextL 1000$: clr r0 call Fixlst bcs 5$ Cont: mov Found(r0), r1 call GetAdr mov r1, r0 Cont2: mov rArg(r0), r5 mov rHigh(r0), tmp+10 mov (r0), r0 push r0 gos getrec <#1, r5, #FB1, #unlock> pop r0 mov r1, r3 ; First byte of the "person" record. tst DspFlg bne 20$ bit #ABSPRV, KSW bne 22$ write #pasw call readln mov r3, r4 ; r4 used for password offset. bit #1, 54(r3) beq 5$ clr r2 bisb 36(r3), r2 gos crypt,<#tmpstr, r0, r2> bcs 15$ mov #CODLEN, r2 add #56, r4 ; New offset for password. br 10$ 5$: Write #Oldpw1 ; Old format. Exit... jmp $EXIT 10$: cmpb (r4)+, (r1)+ bne 15$ sob r2, 10$ br 20$ 15$: mov #2, xrb .sleep write #missit tst me bne 16$ call CATA jmp ask 16$: call PCRLF jmp rt 20$: write #thanks 22$: tst me beq 23$ call save ; Save some stuff. 23$: cmp PPN, #CAPTIV ; Captive account? bne 25$ ; Nope - goto 25$ cmp term, #FMODEM ; Modem line? blo 25$ cmp term, #LMODEM ; Check against Last Modem line # bhi 25$ mov 114(r3), r0 ; Default terminal typ. beq 25$ mov #GRPLST, r1 call FindCm tst r0 beq 25$ mov r0, r1 sub #rStr, r1 call MovTTD 25$: mov r5, myrec mov 6(r3), me mov 16(r3), myflag mov 124(r3), MyNtRt mov 126(r3), MyHdrW clr USW tstb 160(r3) ; Do we have a internet-name? beq 251$ bis #NetNam, USW ; Yes! 251$: clr NrSyRe cmp 42(r3), Systm bne 26$ cmp 44(r3), Systm+2 bne 26$ mov 46(r3), NrSyRe 26$: mov 26(r3), myinlp mov 36(r3), mypriv mov 102(r3), myread mov 104(r3), mypoin mov tmp+10, myhigh ; HIGH. mov 150(r3), r0 ; Nr of Automagic erased letters. cmp myread, r0 ; Unread and deleted? bhis 27$ mov r0, myread mov 32(r3), mypoin 27$: mov #1, prspri cmpb #xSuU, mypriv bhi 40$ beq 30$ bis #4, prspri 30$: bis #2, prspri 40$: clr thsgr clr curgrp clr lstlft clr thisl clr oldl clr UNREL clr myclet clr mycinl clr Show 50$: mov 116(r3), r0 gos LnkAli, clr r1 bis 20(r3), r1 bis 22(r3), r1 bne 4711$ cmp 112(r3), #10. ; Time to write a presentation? blo 4711$ write #NowPre mov me, r0 call Mkpres ; Make presentation. 4711$: mov #PreLst, r1 call GetAdr mov job, r0 asl r0 asl r0 asl r0 add r0, r1 mov me, (r1)+ clr (r1)+ mov #40*400+40, (r1) bic #ADMPRV+ABSPRV+BASKCR+NETPRS, KSW 8000$: bit #xANW, MyFlag beq 9119$ callx LiNew, SegA 9119$: mov #unprom, stat cmp myread, myhigh bhis rt jmp fixlet ; CALLR FIXLET. rt: rts pc proc LnkAli, begin push mov #Alias1, r1 ; Alias INIT. mov r1, LstMem clr (r1)+ mov #GRPLST, (r1)+ ; Link to KOMRES. clr (r1)+ ; rArg clr (r1)+ ; Priority none. clr (r1)+ ; rPri2 clr (r1)+ ; rTyp clr (r1)+ ; rStr mov r1, NxtMem tst Nr(r5) beq 999$ clr FB4-2 10$: gos TryRec, <#1, Rec(r5), #FB4, #Unlock> mov rec(r5), r0 call MakAli dec Nr(r5) beq 100$ mov 2(r1), Rec(r5) bne 10$ 100$: 999$: pop ret .end