.title WRTNWS ;+ Call WRTNWS like this: ; ; WRTNWS/MODE:m n ; ; Where n is your person # in the KOM database. The value of m ; is interpreted as follows: ; ; Value Meaning ; ----- ------- ; 1 Switch to CLIP afterwards (instead of switching to ; your job's default KBM) ; ; 2 Display verbose information. ; ; 4 Reserved ; . ; . ; 32768 Reserved ; ; The above bit-values may be combined in any fashion you like. ;- .inclu 'b:global' Text PERFEJ, <"Personen finns ej."> Text BADENT, <"Bad entry."> Text KOMAVS, <"KOM {r f|r tillf{llet avst{ngt."> .even .psect .inclu 'b:komfil' WRTNWS: mov #STACK, sp bit #1, firqb+fqnent ; Switch to CLIP? beq 5$ mov #^rCLI, To.Rts mov #^rP , To.Rts+2 5$: mov #SNews, VECTOR bit #2, firqb+fqnent beq 7$ mov #LiNew, VECTOR 7$: mov #-1,Line mov #File5,r2 ; Open files mov #File5-Files, r0 ; Number of files * 2 10$: mov #firqb+fqfun, r1 movb #opnfq, (r1)+ mov r0, (r1)+ ; Unit number * 2 mov KOMPPN, (r1)+ mov #^RKOM, (r1)+ mov -(r2), (r1)+ mov #^RDAT, (r1)+ mov #1+128.+32768., firqb+fqmode mov KOMDEV, firqb+fqdev mov KOMDVN, firqb+fqdevn calfip jsr pc, @#error dec r0 sob r0, 10$ write #CRLF mov #FB1,r4 gos Get, <#1, #2, r4, #1, #UnLock> ; Get INFO-block bit #1,34(r4) beq GETPNR Write #KOMAVS br EXIT GETPNR: mov #CORCMN,r1 movb (r1)+,r0 10$: cmpb #40,(r1)+ beq 20$ sob r0,10$ 15$: Write #BADENT br EXIT 20$: dec r0 beq 15$ call val16 tst r0 beq 60$ mov 30(r4),r2 cmp r0, 30(r4) bhi 60$ mov r0,Me gos GetRec, <#4, r0, r4, #UnLock> cmp (r1)+,#1 beq 70$ 60$: Write #PERFEJ br EXIT 70$: mov (r1),MyRec call @VECTOR EXIT: movb #RSTFQ, firqb+fqfun clrb firqb+fqfil CALFIP ; Close all open channels ; (esp. the database) .ttech ; Echo ON! call clrfqb ; Clear FIRQB movb #uu.trm, firqb+fqfun movb #377, firqb+5 ; Current KB movb #200, firqb+30 ; SET DELIMITER (No Delimiter) .uuo ; Turn off any previously set delimiter mov To.Rts, firqb+fqnam1 mov To.Rts+2, firqb+fqnam1+2 mov #-1, firqb+14 .rts ; Exit KBM. call @#error .exit ; Safety catch (in case). ;jmp $EXIT .psect TO.RTS, D, RW TO.RTS: .word 0 ; Default to default! .word 0 VECTOR: .word 0 .end WRTNWS