The Autofile demonstration on this disc requires that the system files be kept on a disc .VOLUME labelled "SYSTEM". This name can be changed at lines 220 & 310 of AFS71, and lines 10, 180, & 300 of AFSR. BASIC and filenames used in this version (1A) are: AFS71 : BASIC filename AFINDEX : TEXT filename AFSC : BASIC subprogram AFSL : BASIC subprogram & TEXT filename AFSR : BASIC filename & BASIC subprogram AFST : BASIC subprogram & TEXT filename AFSU : BASIC subprogram CKSUMLEX : LEX filename (John Baker) MMEDID : BASIC subprogram MMINDEX : BASIC filename & BASIC subprogram MMWAIT : BASIC subprogram TEXTED : BASIC subprogram EDSKEYS : temp KEYS file for TEXTED Subprograms are: AFSU : update program user i/f. Globals set or reset by update are STD, DELAY(0,0), FLAGs 0,1,60,61,62,63, #s 1,2,3(*), KEYs "f/" & (as written) #150. Save and restore here is required. AFST : checksums files named in AFST textfile and CALLs subprogram AFSL to add them to textfile AFSL if the recorded checksum doesn't match the current sum. AFSC : COPYs, CALLs, and PURGEs main recording routine AFSR. AFSR(D) : controls collating and recording sequences. IN: D=DEVADDR(.SYSTEM) CALL with Flag 61 set to suppress the "collation edit" prompt, else clear. OUT: D=0 if error in run, else unaltered. AFSL(N$) : adds N$ to textfile AFSL after checking to avoid duplicate entries. IN/OUT: N$=filename of file to be logged. MMINDEX(A) : indexes a medium (with facility to change the .VOLUME label if desired). Index data is added to or updated in specified index file. IN: A=DEVADDR(drive with medium to be indexed) If A=0 then assumed CALL was from keyboard OUT: FLAG 63 set if error in run, else clear. TEXTED(N$,U$) : EDTEXT user and autofile interface. IN: null parms = prompt for file/editor/search, N$ assigned = EDTEXT(N$,""). OUT: both exit via file update prompt. MMEDID(D$.N$) : checks media by reference to .VOLUME label. IN: D$=Device ID of media-carrier; preceed D$ with a "^" to suppress runtime display. Flags 0 & 1 clear = read .VOLUME label, Flag 0 set, 1 clear = write N$ as new label, Flags 0 & 1 set = rewrite current .VOLUME label (e.g. to test for write protect). N$=new label if Flag 0 set & 1 clear, else N$=don't care. OUT: Flag 0 clear; Flag 1 set if error, else clear. N$=.VOLUME label if Flag 1 clear, else N$=STR$(drive status error number) MMWAIT(O,N,D$,P$) : waits for medium to be inserted on any drive of specified type; reports which. IN: O,N = don't care D$ = Device ID of required drive type P$ = prompt string. The first two characters of this string specify beep tone to accompany prompt time & Hz: first character = time in tenths secs, 0 thru 9, second char = freq as (NUM(ascii)-65)*100Hz, so A=100, B=200, C=300, etc. OUT: O,N both zero: no such drive, O,N both >0: N=number of specified drives and O=sequence number of drive used, O=-0 & N=negative: key pressed, run aborted. E&OE The BASIC program files comprising Version 1A of this Autofile system (AFS71, AFSL, AFST, AFSR, & MMINDEX), and DISCOPY, are copyright (c) Nick Reid, 1986