05 ! PROGRAM USERSLIST.SYS 10 ! PROGRAM TO LIST USERS 15 DIM PS$[6],PX%(2),UC$[9] 20 DIM NA%(4),PW%(2),DV$[4] 21 ! FORMAT OF PDSUPF RECORD (LENGTH=64 BYTES) 22 ! NAME (8 BYTES) 23 ! UIC (2 BYTES) 24 ! PASSW (4 BYTES, COMPLEMENT OF RAD50) 25 ! BLANK (2 BYTES) 26 ! PRIV (2 BYTES) 27 ! BLANK (22. BYTES) ACCOUNTING INFORMATION WE DON'T USE 28 ! DEVICE (4 BYTES) IN ASCII XXN: 29 ! BLANK (20. BYTES) BATCH PRI,BATCH PW # TASKS, ETC 40 ! FIRST LIST ALL USERS 41 PRINT "PRINT LIST AT? (TI:, LP:, LP1:, ETC (DON'T FORGET :) "; 42 INPUT PL$ 45 OPEN #5,PL$+"/WR" 50 PRINT #5,SPACE$(10);"LIST OF ALL CURRENT USER NAMES" 51 PRINT #5 60 OPEN #4,"[1,100]PDSUPF.DAT/BN/LN:64/RN/RO/SH" 62 RE=1 70 INPUT #4@RE,FU%,LU% 75 NU=LU%-FU%+1 80 PRINT #5,SPACE$(10);"TOTAL OF ";NU;" USERS (INCLUDING AVAILABLE HOLES)" 82 PRINT #5 85 PRINT #5,SPACE$(10);"USER NAME U I C PWD PRIV. DEVICE" 87 PRINT #5 92 RE=FU% 94 FOR IC=1 TO NU 100 INPUT #4@RE,NA%(1),NA%(2),NA%(3),NA%(4),UI%,PW%(1),PW%(2),X%,PR%,A,B,C,D,E,X%,DV$,F,G,H,I,J 105 IF NA%(1)=0 THEN PRINT #5,SPACE$(10);"**AVAIL. HOLE**" : GOTO 200 110 PRINT #5,IC;SPACE$(10);R5A$(NA%(1));R5A$(NA%(2));R5A$(NA%(3));R5A$(NA%(4)); 115 PRINT #5,TAB(24);" "; 117 U=UI% 121 GC=INT(U/256) 122 PC=INT(U-256*GC) 123 IF GC<0 THEN GC=GC-OCT("177400") 124 UC$="["+OCT$(GC)+","+OCT$(PC)+"]" 125 PRINT #5,UC$;" "; 130 PX%(1)=-1-PW%(1) 140 PX%(2)=-1-PW%(2) 150 PRINT #5,R5A$(PX%(1));R5A$(PX%(2));TAB(42); 160 PRINT #5,OCT$(PR%);TAB(50);DV$ 200 RE=RE+1 250 NEXT IC 300 CLOSE 310 RUN "USERSMENU.SYS"