LnSOS BOOT 1.1 SOS.KERNEL SOS KRNLI/O ERRORFILE 'SOS.KERNEL' NOT FOUND%INVALID KERNEL FILE: xةw,@  ȱlmi8#)!)DIFUTIL BY BLOOM .DIFUTIL.MANUAL Dggg:/ *HELLO.TEXTM\g:O*MENU.MAKER P }g:>%SEG.T Zjg:Ÿ/ *SOS.DRIVER ^4g:Z*SOS.INTERP y4keg;! *SOS.KERNEL ,Vg;!aIII.BLM.20u' DISKNAME.DATg)g),DIFUTIL.TEXT )Pg7P -READ.ME.FIRST2 ؾ2 DIFUTIL.TXT> Dg8gFLASHNAME.DATJGg:w HELLO K >dLԡm#i㰼m#iЕOLԡȱfg hi !dLԡ憦  Ljmkm l y`2 Lԡ8(Je稽)ʈ@LO^ڮ hJ0success := true; 0end -else if default in ['Y','N'] then begin 0wk_char := default; 0success := true; 0end -else begin 0unitclear (1); 0gotoxy (0, 23); 0write (chr(30), chr (7), 'Please answer "Y" or "N."'); 0gotoxy (66, 23); 0write ('PRESS Y | N) --> '); -if default in ['Y','N'] then begin 0write (default); 0gotoxy (78,23); 0end; -{endif} -read (keyboard, wk_char); -if wk_char in ['Y','y','N','n'] then begin 0if wk_char > 'Y' then wk_char:= chr (ord (wk_char) - 32); *success: boolean; begin *if default > 'Y' then default:= chr (ord (default) - 32); *repeat -unitclear (1); -success := false; -gotoxy (0, 23); -if length (s) > 66 then s := copy (s, 1, 66); -write (chr(30), s); -gotoxy (66, 23); -write ('(rocedure clreol; begin write (chr (31)); end; procedure inverse; begin write (chr (18)); end; procedure normvideo; begin write (chr (17)); end; function YN_23 (s:string; default: char): char; var wk_char: char; up_arrow := chr (11); left_arrow := chr (8); down_arrow := chr (10); right_arrow := chr (21); cr := chr (13); end; (*scrn_parm*) procedure clrscr; begin gotoxy (0, 0); *write (chr (28)); end; pw: char; *down_arrow: char; *left_arrow: char; *right_arrow: char; *cr: char; *x_offset: integer; *y_offset: integer; * procedure scrn_parm; begin x_offset := 1; y_offset := 1; ean; *i,j,k: integer; *wk_char: char; *wk_str: string; *wk_str1: string; *wk_str2: string; *wk_str3: string; *wk_real1: string; *wk_result: integer; *convert_e: boolean; *in_count: integer; *up_arro integer; :EF: boolean; :REC: str255; :end; *filetp = file;  " var infile: filetp; *inblock: fileblock; *inpath: string; *outfile: text; *tuples: integer; *vectors: integer; *vt_error: bool{$list} program DIFUTIL;{DIF/SDI/SDF file to standard DIF format....AMB 10/16/87} type str255 = string [255]; buftype = packed array [1..1025] of char; fileblock = record :BUF: buftype; :LEN: integer; :PTR:  !"#$%&'()*+,-./0ANY KEY'); 0read (keyboard, wk_char); 0end; -{endif} *until success; *write (chr (30)); *unitclear (1); *YN_23 := wk_char; end; {YN_23} function ERR_23 (s:string): char; {Err msg at screen bottom. AMB 10/85} var wk_char: char; begin *unitclear (1); *gotoxy (0,23); *if length (s) > 65 then s := copy (s, 1, 65); *write (chr(30), chr(7), s); *gotoxy (66, 23); *write ('PRESS ANY KEY'); *read (keyboard, wk_char); *unitclear (1); *gotoxy (0, 23); *write (chr (30)); *err_23 :=.exp := exp + dig * trunc (pwroften (length (exp_str) - i)); *end; *if neg_exp then begin -for i := 1 to exp do dec_str := concat ('0', dec_str); -exp := 0; -end; *{endif} *dec := dec1 + exp; *if dec > length (dec_str) then begin -dec := dec - le -neg_exp := true; -end; *{endif} *exp := 0; *for i := 1 to length (exp_str) do begin .dig := pos (copy (exp_str, i, 1), digit); .if dig = 0 then begin 0dec_str := '0'; 0exit (realstr); 0end; .{endif} .if dig = 10 then dig := 0; (realstr); 0end -else if dec_str [i] > '0' 0then sig := i; {endif} end; *dec_str := copy (dec_str, 1, sig); *if exp_str [1] = '+' -then delete (exp_str, 1, 1) *else if exp_str [1] = '-' then begin -delete (exp_str, 1, 1);*else if dec_str [1] = '-' then begin -delete (dec_str, 1, 1); -neg_bas := true; -end; *{endif} *i := length (dec_str) + 1; sig := -1; while sig = -1 do begin i := i - 1; -if i < 1 then begin 0dec_str := '0'; 0exit*if i = 0 then exit (realstr); *delete (exp_str, i, 1); *dec1 := i; *i := pos ('E', exp_str); *if i = 0 then exit (realstr); *dec_str := copy (exp_str, 1, i-1); delete (exp_str, 1, i); *if dec_str [1] = '+' -then delete (dec_str, 1, 1)  boolean; *wk_char: char; begin *dec_str := '0'; *neg_bas := false; *neg_exp := false; *i := pos (' ', exp_str); *while (i > 0) do begin -delete (exp_str, i, 1); -i := pos (' ', exp_str); end; *i := pos ('.', exp_str); '; var i: integer; *j: integer; *k: integer; *sig: integer; exp: integer; dig: integer; dec: integer; *dec1: integer; *neg_bas: boolean; *neg_exp: f negative then wk_num := - wk_num; 4if (wk_num > -32768) and (wk_num < 32768) 7then intstr:= trunc(wk_num); end; {INTSTR} procedure REALSTR (exp_str: string; var dec_str: string);{Real to decimal str} `{AMB 10-13-87} const digit = '12345678908for i := 1 to length (strg) do begin  5 6then exit (intstr) 6else begin 8wk_num := 0; integer [12]; 3 *begin intstr := 0; 3i := pos (' ', strg); 3while (i > 0) do begin 5delete (strg, i, 1); 5i := pos (' ', strg); 3end; 3if length (strg) = 0 then exit (intstr); 3negative := false; 3if strg [1] = '-' then begin 6negative :=3{ after stripping leading minus. } 3{ } 3 *const digit = '1234567890'; 3 *var i: integer; 3negative: boolean; 3wk_num: integer [12]; 3wk_pwr:3{strg: numeric string, max length 5 digits, } 3{ optional leading minus sign. } 3{ } 3{returns: 0 if non-numeric or length > 5 characters } wk_char; end; {ERR_23} function INTSTR (strg: string): integer; 3{Integer representation of numeric string AMB 11/26/84} 3{ } ngth (dec_str) - 1; -for i := 1 to dec do dec_str := concat (dec_str, '0'); -end *else begin -insert ('.', dec_str, dec); -end; *{endif} *if neg_bas then dec_str := concat ('-', dec_str); *k := length (dec_str); *if (k > 1) then if (dec_str[k - 1] in ['0','9']) then begin wk_char := dec_str [k - 1]; -i := pos ('.', dec_str); if i > 0 then begin j := 0; while (j = 0) do begin k := k - 1; if k = 0 then { } { Modified 07-04-86 AMB: Strip IBM-style line feed & ctrl-z } { } { Modified 01-31-8ile); | readasc (infile, inblock); } { | end; (*while*) } { ------------------------------------------------------------------ } -------- } { REPEAT | readasc (infile, inblock); } { readln (infile, inline); | while (not inblock.ef) do begin; } { ...... | ...... } { UNTIL eof (infe; } { } { To read as an ASCII file, replace "readln" code: } { ----------------------------------------------------------{ } { After you open "infile" normally, enter the following: } { inblock.ptr := 0; } { inblock.ef := fals } {TO USE: Declare your ascii input file like this: } { var infile: filetyp; } { inblock: fileblock; } then str[i]:= chr(ord(str[i]) - 32); {endif} {end for i} end; {UPPERSTR} {READ_ASC: Include text for high-speed read of ASCII files AMB 01-09-85} { nd; {endif} end; {endif} end; {REALSTR} procedure UPPERSTR (var str: string); {Change string to upper case} var i: integer; begin for i := 1 to length (str) do if ord(str[i]) in [97..122] else begin for k := j+1 to i-1 do dec_str [k] := '0'; 6{$rangecheck-} 6dec_str [0] := chr (i-1); 6{$rangecheck+} 6end; {endif} end; {endif} echr (ord(wk_char) + 1); dec_str [j] := wk_char; end; {endif} if j > i then begin 6{$rangecheck-} 6dec_str [0] := chr (j); 6{$rangecheck+} 6end end; {endif} end; if (length(dec_str) - j > 1) then begin if wk_char = '9' then begin wk_char := dec_str [j]; wk_char := else begin if wk_char = '9' then begin insert ('0', dec_str, k+1); i := i + 1; end; {endif} j := k + 1; end else if k = i then begin end else if dec_str [k] in ['0'..'9'] then begin if dec_str [k] <> wk_char then j := k; end begin if wk_char = '9' then begin dec_str := concat ('0', dec_str); i := i + 1; end; {endif} j := 1; 7 AMB: Handle no-CR at end of file } { } procedure READ_ASC (var fl: filetp; var f: fileblock); var i,j,k: integer; line_end: boolean; rec_pos: 0..255; *rec_lf: string [1]; *ok: boolean; begin rec_lf := ' '; *rec_lf [1] := chr (10); *line_end := false; *with F do begin *rec := ''; *repeat if ((ptr < 1) or (ptr > len)) then begin 0wk_str := concat ('I/O Error ', wk_str); 0wk_char := err_23 (wk_str); 0end; -{endif} *until (i = 0); *inblock.ptr := 0; *inblock.ef := false; *inpath := wk_str; *wk_str2 := wk_str; *wk_str3 := ''; *i := pos ('/', wk_str2); *while (i > 0) do b (1 - x_offset, 4 - y_offset); -clreol; -write ('Enter input SDI/SDF/DIF file --> '); -readln (wk_str); -if wk_str = '' then exit (program); -upperstr (wk_str); -reset (infile, wk_str); -i := ioresult; -if i > 0 then begin 0str (i, wk_str); gotoxy (69 - x_offset, 1 - y_offset); write ('AMB v.10/87'); *gotoxy (1 - x_offset, 2 - y_offset); *for i := 1 to 79 do write ('_'); *gotoxy (1 - x_offset, 23 - y_offset); *for i := 1 to 79 do write ('='); *{$IOCHECK-} *repeat -gotoxy'); *writeln (outfile, '0,', tuples); *writeln (outfile, '""'); end; {do_sdi} procedure init; begin *scrn_parm; clrscr; gotoxy (1 - x_offset, 1 - y_offset); write ('DIFUTIL: SDI/SDF or DIF to Standard DIF Format'); -readasc (infile, inblock); wk_str2 := inblock.rec; -readasc (infile, inblock); wk_str3 := inblock.rec; *until (wk_str1 = 'DATA'); *writeln (outfile, 'VECTORS'); *writeln (outfile, '0,', vectors); *writeln (outfile, '""'); *writeln (outfile, 'TUPLES-else begin 0if inblock.rec = 'BOT' then tuples := tuples + 1; 0end; -{endif} *until (inblock.ef); *close (infile); *reset (infile, inpath); *inblock.ptr := 0; *inblock.ef := false; *repeat -readasc (infile, inblock); wk_str1 := inblock.rec; nfile, inblock); wk_str1 := inblock.rec; -readasc(infile, inblock); wk_str2 := inblock.rec; -if wk_str2 <> 'BOT' then vectors := vectors + 1; *until (wk_str2 = 'BOT'); *tuples := 2; *repeat -readasc(infile, inblock); -if inblock.ef then begin 0end 2 := inblock.rec; *if wk_str2 <> 'BOT' then begin -wk_str:= -concat ('ERROR: "BOT" expected. "',wk_str2,'" follows DATA'); -wk_char := err_23 (wk_str); -close (infile); -close (outfile, purge); -exit (program); -end; *{endif} *repeat -readasc(i*if length (rec) > 0 then begin -i := pos (rec_lf, rec); -if i > 0 then delete (rec, i, 1); -end; *{endif} *end; {with F} end; {READ_ASC} procedure do_sdi; begin *readasc(infile, inblock); wk_str1 := inblock.rec; *readasc(infile, inblock); wk_stroveleft (buf [ptr], rec [length (rec) + 1], j); 0rec [0] := chr (length (rec) + j); 0{$rangecheck+} 0ptr := ptr + j; 0if ptr <= len then line_end := true; 0ptr := ptr + 1; -until ((line_end) or (ptr > len)); until (line_end); {endif} end; {check for actual read} {endif} -if ptr > 0 then repeat 0j := scan (len + 1 - ptr, =chr(13), buf [ptr]); 0if (j + length (rec)) > 255 3then j := 255 - length (rec); 0{endif} 0{$rangecheck-} 0meof (fl) then begin 6k := scan (len, =chr(00), buf [1]); 6if k > 1 then if buf[k-1] <> chr(13) then begin 9buf[k] := chr (13); 9if k < len then k := k + 1; 9end; 6{endif} 6len := k; 6end; 3{endif} 3ptr := 1; end; {block read} 3repeat 6j := j + 1; 6if j > len then begin 9ok := true; 9end 6else if buf [j] = chr (00) then begin 9ok := true 9end 6else if buf [j] = chr (26) then begin 9buf [j] := chr (00); 9ok := true; 9end; 6{endif} 3until (ok); if i := blockread (fl, buf, 2); 0if i = 0 then begin ef := true; 3line_end := true; ptr := 0; end else begin len := i * 512; 3ok := false; 3j := 0; egin -wk_str3 := concat (wk_str3, copy (wk_str2, 1, i)); -delete (wk_str2, 1, i); -i := pos ('/', wk_str2); *end; *i := pos ('.', wk_str2); *if i > 0 then begin -wk_str1 := copy (wk_str2, 1, i-1); -delete (wk_str2, 1, i); -end; *{endif} *if wk_str2 = 'DIF' -then wk_str1 := concat (wk_str1, '.TXT') -else wk_str1 := concat (wk_str1, '.DIF'); *{endif} *wk_str1 := concat (wk_str3, wk_str1); *repeat -gotoxy (1 - x_offset, 6 - y_offset); -clreol; -write ('Output DIF file (Default: ', wk_str1)if inblock.ef then begin ,end )else begin ,readasc (infile, inblock); wk_str2 := inblock.rec; ,if convert_e then if wk_str2 = 'V' then /if pos ('E', wk_str1) > 0 then begin 2wk_real1 := wk_str1; 2delete (wk_real1,1,2); 2REALSTR (wk_real1, wk_strDI/SDF/DIF record sets read =', in_count:5); repeat in_count := in_count + 1; &gotoxy (32 - x_offset, 15 - y_offset); &clreol; &write (in_count:5); &repeat readasc (infile, inblock); wk_str1 := inblock.rec; char := err_23 (wk_str); close (infile); close (outfile, purge); &exit (program); end; {endif} #writeln (outfile, wk_str1); #writeln (outfile, wk_str2); #in_count := 0; #gotoxy (1 - x_offset, 15 - y_offset); #clreol; #write ('Shad better be for "BOT"} readasc (infile, inblock); wk_str1 := inblock.rec; #readasc (infile, inblock); wk_str2 := inblock.rec; #if wk_str2 <> 'BOT' then begin wk_str:= concat ('ERROR: "BOT" expected. "', wk_str2, '" follows DATA'); &wk_#write ('Number of rows = ', tuples:5); wk_char := yn_23 ('Convert E-format numerics to decimal?','x'); convert_e := false; if wk_char = 'Y' then begin convert_e := true; end; {endif} { Now we begin data pairs. The next pair writeln (outfile, 'DATA'); writeln (outfile, '0,0'); writeln (outfile, '""'); #gotoxy (1 - x_offset, 9 - y_offset); #clreol; #write ('Number of columns = ', vectors:5); #gotoxy (1 - x_offset, 10 - y_offset); #clreol; = yn_23 ('No TUPLES or VECTORS. Is this an SDI file?','x'); if wk_char = 'N' then begin close (infile); close (outfile, purge); )exit (program); end else begin )do_sdi; )end; {endif} end; {endif} hen begin -wk_char := err_23 ('DATA not found. Unexpected EOF.'); -close (infile); -close (outfile, purge); -exit (program); -end; *{endif} end; {do_header}  begin #init; do_header; #if (vectors = 0) and (tuples = 0) then begin wk_char :0end; -{endif} *until ((wk_str1 = 'DATA') or (inblock.ef)); *if vt_error then begin -wk_char := err_23 0('Invalid DIF header entry. Program aborts.'); -close (infile); -close (outfile, purge); -exit (program); -end; *{endif} *if eof (infile) tLES' then begin 3delete (wk_str2, 1, 2); 3tuples := intstr (wk_str2); 3if tuples = 0 then begin 6wk_str := concat ('TUPLE error. ', Awk_str2, ' is not numeric.'); 6wk_char := err_23 (wk_str); 6vt_error := true; 6end; 3{endif} 3end; 0{endif} lete (wk_str2, 1, 2); 3vectors := intstr (wk_str2); 3if vectors = 0 then begin 6wk_str := concat ('VECTORS error. ', @wk_str2, ' is not numeric.'); 6wk_char := err_23 (wk_str); 6vt_error := true; 6end; 3{endif} 3end; 0{endif} 0if wk_str1 = 'TUPk); wk_str2 := inblock.rec; 0readasc (infile, inblock); wk_str3 := inblock.rec; 0if wk_str1 <> 'DATA' then begin 3writeln(outfile,wk_str1); 3writeln(outfile,wk_str2); 3writeln(outfile,wk_str3); 3end; 0{endif} 0if wk_str1 = 'VECTORS' then begin 3de*until (i = 0); *{$IOCHECK+} end; {init} procedure do_header; begin *vectors := 0; *tuples := 0; *vt_error := false; *repeat -readasc (infile, inblock); wk_str1 := inblock.rec; -if inblock.ef then begin 0end -else begin 0readasc (infile, inbloc, ') -->'); -readln (wk_str2); -if wk_str2 = '' then wk_str2 := wk_str1; -rewrite (outfile, wk_str2); -i := ioresult; -if i > 0 then begin 0str (i, wk_str); 0wk_str := concat ('I/O Error ', wk_str); 0wk_char := err_23 (wk_str); 0end; -{endif} 3); 2wk_str1 := concat ('0,', wk_str3); /end; ,{endif} ,writeln (outfile, wk_str1); ,writeln (outfile, wk_str2); ,end; ){endif} until ((wk_str2 = 'BOT') or (wk_str2 = 'EOD') or (inblock.ef)); until ((wk_str2 = 'EOD') or (inblock.ef)); #if inblock.ef then begin &writeln (outfile, '-1,0'); &writeln (outfile, 'EOD'); &end; #{endif} if in_count <> tuples then begin &gotoxy (1 - x_offset, 18 - y_offset); &writeln ('SDI/SDF/DIF records sets (', in_count, ') do not equal TUnd text data fields. .ff _____________________________________________________________________ | | | DIFUTIL: SDI/SDF or DIF to Standard DIF Format (AMB v.10/87) | |---bers. Put an odometer on the SDI scan so the user doesn't think the program died. Optionally strip the high bit of each byte, say for Apple II DOS-format text files. Add capability to handle MultiPlan SYLK format files. Worry about quotation marks (") aroubout. The "Future Enhancements" section lists some of the things that may bug me enough to maybe implement someday. I'm open to your suggestions and comments, too. .cj Future Enhancements (Maybe Someday) .lj Add English text to the I/O error message nume original file is in PC/MS-DOS or SOS/ProDOS ASCII text format. DIFUTIL allows you to handle many of the minor incompatibilities between different implementations of the DIF standard. It does not handle all incompatibilities or even all problems I know a. When it encounters an SDI/SDF file, it will create the header entries required by the DIF standard. It will create an EOD trailer segment if one is missing. It will optionally convert E-format numeric entries to decimal format. It is immune to whether th the DIF standard. It does not handle all incompatibilities or all problems. SIDE 1 DIFUTIL MANUAL SIDE 2 DIFUTIL PROGRAM (Pascal) optionally convert E-format numeric entries to decimal format. It is immune to whether the original file is in PC/MS-DOS or SOS/ProDOS ASCII text format. DIFUTIL allows you to handle many of the minor incompatibilities between different implementations ofences might remain in the imported file. DIFUTIL was created to deal with those problems. When it encounters an SDI/SDF file, it will create the header entries required by the DIF standard. It will create an EOD trailer segment if one is missing. It will 134- Both Sides There is no standard for text files across different operating systems. An MS-DOS ASCII text file is subtly different from an Apple /// SOS format ASCII text file. Depending on how the file was transferred from the other system, those differ WAP /// SIG PUBLIC DOMAIN LIBRARY 12022 Parklawn Drive Rockville, MD. 20852 (301)-984-0300 PDS NAME : DIFUTIL By Bloom DISK ID# : 3BLM-20 BOOTABLE?: YES PLE count (', tuples, ').'); writeln ('Better check it out.'); end; {endif} close (infile); close (outfile, lock); #wk_char := err23 ('End of job'); #clrscr; end.{DIFUTIL} ------------------------------------------------------------------| A: | Enter input SDI/SDF/DIF file --> .profile/copy/test.sdi | B: | Output DIF file (Default: .PROFILE/COPY/TEST.DIF) --> | | | C: | Number of columns = 12 | | Number of rows = 59 | | terchange Format) is a standard file format for data interchange between disparate data base management and spreadsheet programs. Since it is a text (human readable) format, it can even be transferred between different computers and operating systems. Whi=?@ABCDEFGHIs Street, Blacksburg, Virginia 24060 Office: (703) 231-7921 Home: (703) 951-2025 CIS: 76656,1514 BitNet: IRBLOOM @ VTVM1 DIF (Data In DIFUTIL: Standard DIF File Utility ALLAN M. BLOOM, PhD CDP Institutional Research, Virginia Tech, Blacksburg, VA 24061 2303 San Marco recalculate the minimum load address. 8. Exit to the Catalyst main menu via entering option "7" .tl .ff .bl Prefix: Press RETURN Max Files: 3 Program Path: .PROFILE/CATALYST/DIFUTIL/DIFUTIL.CODE 6. Enter "Y" to the final question. ESCAPE twice to the edit menu. 7. Enter "5" to update INTERPS. Do noto add a program entry. 6. Display Name: DIF Utility Interpreter: CATALYST/PASCAL Extra Drivers: Press RETURN Character Set: Press RETURN Screen: Press RETURN Keyboard: Press RETURN T/DIFUTIL/DIFUTIL.CODE .D1/SYSTEM.LIBRARY --> .PROFILE/CATALYST/DIFUTIL/DIFUTIL.LIB 3. Select "Catalyst Edit" from the main menu. 3. Enter "1" to "Edit Catalyst Menu." 4. Arrow to highlight the menu entry you want the program to precede. 5. Press "A" ted entries. If an unknown/invalid header is encountered, the program says so and shuts down. .pm0 .lm-3 .cj CATALYST INSTALLATION .lj 1. Create a CATALYST/DIFUTIL sub-directory and then copy the boot disk files .D1/SYSTEM.STARTUP --> .PROFILE/CATALYS A & B, you will see an I/O error if you messed up the pathname. During phase C, you may be told there are no VECTORS or TUPLES entries in the DIF header and asked if the input is an SDI file. If so, the program will scan the file to calculate those requirize of the file, in this case 59 rows of 12 columns. D: An odometer shows the number of DIF record sets (rows) processed. In the above example each record set corresponds to 26 DIF file records -- two per column entry plus a two-line header. E: In phases________________________________________________| .pm-3 .lm+3 A: Enter the input SDI/SDF or DIF file's pathname. B: Press RETURN to accept the default (same file with DIF or TXT suffix), else enter a new pathname for the output file. C: This shows the s | D: | SDI/SDF/DIF record sets read = nnnn | |=====================================================================| E: | Message area | |_____________________le DIF is a standard, that standard can be honored more in the breach than in the observance. SuperCalc exports an SDI (Super Data Interchange) file that is very like a DIF file but lacks critical information in the file's header section. SDI's earlier incarnation, SDF, has the same quirk. /// Easy Pieces can import a standard DIF file only if the numeric fields are in decimal format. It accepts "35.38" but ignores the equally valid "3.538E01" exponential form such as is produced by Lotus 1-2-3. Some progra the DIF header and asked if the input is an SDI file. If so, the program will scan the file to calculate those required entries. If an unknown/invalid header is encountered, the program says so and shuts down. CATALYSTch record set corresponds to 26 DIF file records -- two per column entry plus a two-line header. E: In phases A & B, you will see an I/O error if you messed up the pathname. During phase C, you may be told there are no VECTORS or TUPLES entries in (same file with DIF or TXT suffix), else enter a new pathname for the output file. C: This shows the size of the file, in this case 59 rows of 12 columns. D: An odometer shows the number of DIF record sets (rows) processed. In the above example ea==============| E: | Message area | |_____________________________________________________________________| A: Enter the input SDI/SDF or DIF file's pathname. B: Press RETURN to accept the default59 | | | D: | SDI/SDF/DIF record sets read = nnnn | |======================================================= | B: | Output DIF file (Default: .PROFILE/COPY/TEST.DIF) --> | | | C: | Number of columns = 12 | | Number of rows = | | DIFUTIL: SDI/SDF or DIF to Standard DIF Format (AMB v.10/87) | |---------------------------------------------------------------------| A: | Enter input SDI/SDF/DIF file --> .profile/copy/test.sdi er 16, 1987 Page 1 Bloom DIF Utility _____________________________________________________________________ | m died. Optionally strip the high bit of each byte, say for Apple II DOS-format text files. Add capability to handle MultiPlan SYLK format files. Worry about quotation marks (") around text data fields. DIFUTIL Octobto maybe implement someday. I'm open to your suggestions and comments, too. Future Enhancements (Maybe Someday) Add English text to the I/O error message numbers. Put an odometer on the SDI scan so the user doesn't think the prograhandle many of the minor incompatibilities between different implementations of the DIF standard. It does not handle all incompatibilities or even all problems I know about. The "Future Enhancements" section lists some of the things that may bug me enough DIF standard. It will create an EOD trailer segment if one is missing. It will optionally convert E-format numeric entries to decimal format. It is immune to whether the original file is in PC/MS-DOS or SOS/ProDOS ASCII text format. DIFUTIL allows you to . Depending on how the file was transferred from the other system, those differences might remain in the imported file. DIFUTIL was created to deal with those problems. When it encounters an SDI/SDF file, it will create the header entries required by the ms create a DIF file without the EOD trailer segment. Other programs choke on that omission. There is no standard for text files across different operating systems. An MS-DOS ASCII text file is subtly different from an Apple /// SOS format ASCII text file INSTALLATION 1. Create a CATALYST/DIFUTIL sub-directory and then copy the boot disk files .D1/SYSTEM.STARTUP --> .PROFILE/CATALYST/DIFUTIL/DIFUTIL.CODE .D1/SYSTEM.LIBRARY --> .PROFILE/CATALYST/DIFUTIL/DIFUTIL.LIB 3. Select "Catalyst Edit" from the main menu. 3. Enter "1" to "Edit Catalyst Menu." 4. Arrow to highlight the menu entry you want the program to precede. 5. Press "A" to add a program entry. 6. Display Name: DIF Utility Interpreter: CATALYST/PASCAL Extra Drivers: P0 WAP /// SIG MENU.MAKER PROGRAM (v. 6.2) =".D1"210: Coldstart (320: Warmstart &*X=11000: TEXT SLOW-DOWN LOOP ,X.1 CHANGE DISK SUBROUTINE23œ202:2200<RFa$=" YOU MAY SELECT YOUR DISK BY . We hope you enjoy it and encourage your submission of programs to our PD library. andle many of the minor incompatibilities between different implementations of the DIF standard. It does not handle all incompatibilities but is worth a shot if you are trying to transfer from one variation of DIF to anotherLN0 WELCOME! WAP /// SIG Public Domain Library Disk Category/Number : Bloom disks/3BLM-20 Disk Format: Self-booting DIFUTIL allows you to h /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// SIG, Washington Apple Pi 12022 Parklawn Drive Rockville, MD. 20852 (301)-984-030HER SUBROUTINEnSLOW=110xFLASH/2=FLASH/2):۴ =11:=07 FLASH$ SLOW FLASH:".d1/Menu.Maker"5 WAP /// SIG HELLO PROGRAM. UPDATED 4/12/89 DGO :#1,".D1/hello.text" ž#170 (#1;ERIN$ 2ERIN$<40F#1/P=23:=25:"PRESS ANY KEY TO CONTINUE.":G$U-Z#2,".D1/FLASHNAME.DAT":#2;FLASH$:#2%dFLASH=110: FLASTHE WAP OFFICE LIBRARY HAS A NUMBER OF APPLE /// BOOKS AND MAGAZINES. October 16, 1987 Page 2 ST/DIFUTIL/DIFUTIL.CODE 6. Enter "Y" to the final question. ESCAPE twice to the edit menu. 7. Enter "5" to update INTERPS. Do not recalculate the minimum load address. 8. Exit to the Catalyst main menu via entering option "7" DIFUTIL ress RETURN Character Set: Press RETURN Screen: Press RETURN Keyboard: Press RETURN Prefix: Press RETURN Max Files: 3 Program Path: .PROFILE/CATALYVOLUME NAME (/DISKNAME) OR DEVICE NAME (.Dx)"P12);::"80C";a$;:Zb$="CHANGING DISKS"$d=23:=0::"80C";b$;::12).n=12:=20:"MAKE A NEW MENU FOR DISK: ";N$xN$)<2110=N$ :210 I=1L(A$(I),A$))200B$OQRSTUVWX78C";"ANY KEY RETURNS TO THE MENU.">G$:::320H: Error Routine 202:U=11:"79C";"BAD PATH ERROR (NO DISK IN DISK DRIVE OR DESIRED FILE NOT FOUND.)"X=11000:X:::210Z a$="{,|,~,}; selects; back 1 lev 1600 &:WW=1:0 :SEG=1;".D1/S EG.F" SEG=1".D1/SEG.G"diskname$=3802  CATCH PASCAL TEXT FILES 202 :F*=08:"78C";"SORRY BUT MENU.MAKER CAN'T READ PASCAL TEXT FILES."04=10:"M$="NOVEMBER":1750M$="DECEMBER":1750826);"-";M$;" ";Ѡ,2));", ";"19";Р,2);" ";/П,2))=>13П,2))-12;џ,6);:1780$П,2))=0"12";џ,6);:ٟ;$П,2))=>12" PM-":" AM-" 1830WW=1530 =26:=211660,1670,1680,1690,1700,1710,1720,1730,1740^M$="JANUARY":1750hM$="FEBRUARY":1750rM$="MARCH":1750|M$="APRIL":1750M$="MAY":1750M$="JUNE":1750M$="JULY":1750M$="AUGUST":1750M$="SEPTEMBER":1750M$="OCTOBER":1750T 0")2070H540R\A$="RUNNING "+B$(I),16,B)f"79C";A$;:=0pB$(I),16,B) z::SEG=1".D1/SEG.T"t=+B$(I),16,B) yCT=CT+1~240:=24:=0:"@ ..... "DATE.TIME.LINE" ....JM=Ҡ,4,2))BTM1630,1640,1650,0=+IBOTM/2-.5):I=IBOTM:I/2=I/2)I=I-1 œ2120B=B$(I),16)," ")-1 B$(I),"BASIC 0")850B$(I),"TEXT 0")890 B$(I),"CAT 0")1140*B$(I),"FONT 0")18504B$(I),"FOTO 0")1930>B$(I),"PASTXB$(I);v:520: 500THPOS=4:I/2=I/2)I=I-1I=IBOTM THPOS=44:I/2<>I/2)I=I+1I2=-1:I=I-2:IBOTM<30THPOS=44I=IBOTM/2)*2:=+IBOTM/2)-1:CA)"PRINT.ALL": OA+P 3HA=(81+UCA)A=(81+LCA):::: OA+Q Quits 3IA=(83+LCA)A=(83+UCA)"PRINT.SHOW": OA+S 2JA=(68+LCA)A=(68+UCA)/Screen.Savers/HELLON=THPOS:B$(I);XA<8A>11540bA-7640,660,690,720l:=THPOS:ٺ1600 =Q:WW=0A=:A=21A=9&oldprefix$=40A=31410: Control C "aborts" program to Basic(:A=13770: Return Selects a file *DA=27:50: Escape to change disks/FA=324000: back out one directory level 3GA=(80+UCA)A=(80+L"BASIC 0":150A$="TEXT 0":150A$="CAT 0":150A$="FONT 0":150A$="FOTO 0":150A$(L),"BLOCKS")510*=27:=19:"FREE MEMORY AVAILABLE: ";=7:=20:"80C";A$(L);$:=5:THPOS=4:I=1:IBOTM=J-1:620Q=:=26:=21:sic; +Q Quits."r12);::"80C";a$;:+w#9,"DISKNAME.DAT":#9;DISKNAME$:#9|d$=DISKNAME$$=23:=0::"80C";d$;::12)201M=3:=14:"This /// SIG Disk is \^ 19";Р,2)", Washington Apple `, Ltd."=4:B$(1)="":B$(2)=""A$=16,B) THEN 240 #1, d$="":=10:"80C";d$ ž#1300I=0"I=I+1:#1;A$(I):290,#1 6L=I-1@j=1:same=0 J:SEG=0 Tœ2030^CT<1CT=1cCT>13000Zha$="{,|,~,}; selects; to new disk; J/2)=4:=+1:ۙ=44B$(J);:J=J+1I:1,180,22:2,280,21:2,2380,23:8A$(1000),B$(1000),C%(511),C$(20),name$(20):=10:=0UCA=128:LCA=UCA+32CT=15 IF PREFIX$= PREFIX$+MID$(B$(I),el; > ""*:<"">""""""""""""">>><2"<""">""" ""  ">"6**"""""&*2""""""""""""*,"" "" ">""""""""""""""**6"""""""> >>>xr]_`abcdefghijklmnopqrstuvwGA7  3  5  >>< (&20 *, **>> "2*&" " >>  ">> "8""> """"""< SOS DRVR"CUSTOM.3 )((8*,;((*,((+)((9/(p((>3  =9 :9 .(~|L|LNqooGoDDDcc0ccpc]]c"QM"|@@pAATT**|EAD PASCAL TEXT FILES."04=10:"78C";"ANY KEY RETURNS TO THE MENU."!>G$:::".D1/MENU.MAKER",320R",220(204::"79A";""; 2D=1:F=1 <#4;a$ FD=D+1 P#5;a$ZD=60#5;12)dD=60D=1nF=F+1::d$;::Y=1100:Y x13402  CATCH PASCAL TEXT FILES 202 :F*=08:"78C";"SORRY BUT MENU.MAKER CAN'T R".D1/MENU.MAKER",220 d$="" A$="PRINTING "+B$(I),16,B)=01:=0::"80C";A$;:#3,B$(I),16,B)Z=1#3;b$:"78A";b$Z=Z+1:Z=18:1290 1260 #4,B$(I),16,B)#5,".PRINTER"+ž#4#5;12):::".D1/MENU.MAKE30C$="N"C$="n"1160;:=23:=0::"79C";"PRESS ANY KEY TO HALT LISTING": $1020.202 8::Z=1B::=23:=0::"79C";"WOULD YOU LIKE A PRINTED COPY?":1C$:C$<>"Y"C$<>"y"C$<>"N"C$<>"n"1170*C$="N"C$="n"Y[\79C";"PRESS ANY KEY TO HALT LISTING"::202 1020#2,B$(I),16,B)ž#242:::1160Z=1#2;A$:"78A";A$Z=Z+1:Z>1842:::Z=1980*:=23:=0::"79C";"CONTINUE...?":1C$:C$<>"Y"C$<>"y"C$<>"N"C$<>"n"10 MENU.MAKER TEXT MODULESEG=0"MENU.MAKER"890&*X=11000: TEXT SLOW-DOWN LOOP ,X.1,180,22:2,280,21:2,2380,23:z:A$="LISTING "+B$(I),16,B)$=01:=0::"80C";A$;::12)>=23:=0::"r|>00000>0# #0~$ <"<"""<< <"""<"><$""< """"  "" 6***""""""""""<""< :< $"""2,"""""**6"""""< >>>>88  >!SHOLES 1!1!2@23#3#4$4$5%5%6^67&7&8*8*9(9(0)0)-_-=+=+\|QWERTYUI OP[{]}`~`~ASDFGHJ K L ;:;:'"'"ZXCVBNM ,<,<.>.>/?/?d0hp<=m@=>@?AL8 >m<>@m=@<=L8 <m>?=m@AL8 C9L8 ; ;k`;);k`,@`<,m p<L<`<p<`,ms<L=q=L: ,lXґȥӑ,10 h0  `,g0L  ҅ӥĥŰ+,0p 4 Ls  Ls i )"|tȌs|st HH` MjH,: <J h̰ <rh,oL`%CYgu9 Ln90$0%,7 ҥ L$0T,8OK50P;ҥ,8 L%\   8҅¥Ӆé҅L,5,6  & @jIH,5 p  He҅Ґhe…å逅h,23Lhʩd8,h)ec efeede`,5 H  h 4  `5!    4(P 4 4  `,g0L,10kH0 ԥ f0)ĭ9)9҅xh(ĥŐL i,1HȊ©L,52,9-P" a{) b) )ab)a a,h0& &+%a0 +hcefd(c,@cfabdf`cnx  (,4h`dd,9P"<:J H) +̰ H) +ʭcP h̰BTVSPLH   5"ʘ HH` (# (=  0`)aIٮ@8pذ `$0"8,:Jک@ׅפ؈۩MjL,:08*Ȅ B ,:J}΅н(I I $0;P̑бʑΈ,:JՐrx 0, )ߍ:) J)*PR,T,V( : `,k<,: JI`I`<,:J̰`=m@>,:J}ʅ̽(I I `<Mj,:0pJՐ̑ʈ`pJհ0`ՑʭrpȐ`=m@< B h A$g " x) (,`% (gL,}0, `gé ĩ `:) j:;jN;~j;O,:0'???>>8?>p<<AAA@@8A@q==C)CB)B C }LO}~~Șݻ~`}}~L< L }ީ~` ɠɀ)ӮԮmwӥmxԐ mi` HHGH`  &`LL) @L) L8``Lթ`~L8L)  =H 'HH N M))Mhh0    ) . 6 = J P S X [    $ 3 : = F d  > B H M s `e|&+.QVYcjuy~':{%(-47=FMUX\_jmz  .169DWfy   % * > A H K Z v z }      % , 1 5 : = B K R Z _ b g n s x ~ /47=G\x{~'+.149?CGIKMOQSUWY[]_acegikmoqsuwy{}J) ܭL FܪJJJJ)`'+9;=?ACEGINR\aejns~  #&).369<ADGJMP^g $*-06=HLORWcfloruzp Q%Q̑`pPIE1pΦ#$01ʐ1`JJJJ)`%υߥ`1(ȦJJJ`&&*`JJ` **&*&ߥ`J` ***`` ` Jjjߊ` ߊ`JfJfFߪ߆` `JfJfJfF`ߩ`$011̰JJJ LP \LD$7߭$PH8 nߩ nh ߍϭ - k, ϥ- kϱϮEϑʩ`P z  HH` k(h`$0#$E$0p Q%Qʑ`pPIE1p$E$0(L%τ`ϩE҅0Ȅ(fL% ('Άѽн`8Hٰ hIiHمh8Iif٤Φݰ>Jj8ۅe݅eޅ $  m`!J8݅ eۅ$  m` , V $צ!ϤҐ мφi`Jf`<,&ʰ,i8i#Hiihifʦʆi) v`i,ʐi,iPIIʥ)ifʦʆ̐pLj/Fϐ&Ȅ`'@τ`Fϐ@ E҅F8ئȢΆѽϽ`/epɀjff&ݥeepɀjffݠ %)  %)`%  0.)      0  ` ` @ ``8٨JJJ ) u˘ vͽʅ̆`8Hi #i,$0F y բӅLx  mӥmԐL] h `  )`%)8`)    H   ʥ)Ģ    H Ģ L E% %) L 8`ۅ&ۥe륅eٍeڍ808٥8٥ 8مڅ H , V Εm٭mڭ))njnjnjfjfjfj+mӥmԐ8L( Ӣ й` m j`Hآ Hӭԭ h h`8٭028ٍڍ0Z$eٍeڍm٥m8٥08ٍڍ`8٥058ٍڍ0ԭ V 8fxL@ ] I)!) g 80 J8}L y L 0yʽz0 y L7  Lh `*f*&*)` ϭPh0 йPL)`)L` L``  `L` H , 8 V ТΕLϦI ] +)J* g ISOS NTRPRHeLZĠР쁭堠堠ՠP򠭠έ魭fHhH_HcH uhch_hhhfhi0hhhB B A` ֥'( )&񦕤LNKM$Lb ě $m wl "m6X6+5 56ɀ56H $mhɀ(Z)& mL k~ wlL ͝dL Nsd# wl^_ ꂅ__hg^`8 悕`gHhHhH5?6@6@*5g5666gҦhhhhhhhhg:e:;e; ;m;`@c@c?be^@e@ _m__^ \Lx] i6g55``BY BSAMHH H] LPL(\)&P ěj9ȑ9ȑ99i=:i: >i>`Ɂ7XWWXjnXWi` ]?@@bgchch )^ ]b ]b^b^L\b8g+H__^8_ABB 9::)ѭ [ I[ aυ婶ZeLLL^$%Lae LGidFddddddd.ddddddddd ɕdˏd`Ls  Apple Business BASIC v1.23 - Copyright Apple Computer, 1980-83 CTERESOURCE UNAVAILABLDIRECTORY FULDUPLICATE VOLUM ERROR Please Press SPACE BAR IN PROGRAM INTERRUPTED%&'(%+.@C$DE FG!H"I'MN#PQRTW(X潭`: 808`:dd@՚H Z#IJJCSTRING TOO LONFORMULA TOO COMPLECAN'T CONTINUUNDEF'D FUNCTIOVARIABLSOS CALFILES BUSNOT SOI/FILE TOO LARGWRITE PROTECDISK SWITCHEBAD PATFILE NOT FOUNPATH NOT FOUNVOLUME NOT FOUNDUPLICATE FILDISK FULFILE LOCKEFILE NOT OPEDEVICE DISCONNECONV&CONV$CONV%LEFT$RIGHT$MID$INSTR>=<^/*-+NEXT WITHOUT FOSYNTARETURN WITHOUT GOSUOUT OF DATILLEGAL QUANTITOVERFLOOUT OF MEMORUNDEF'D STATEMENBAD SUBSCRIPRANGINVOKSTACK OVERFLOREDIM'D ARRADIVISION BY ZERILLEGAL DIRECTYPE MISMATNDEELSCONLISCLEAGENETABTSPCUSINTHEAMOSTEANOEXTENSIODIAFNOAAAAAAAAAAAAAASGNINTABSATYPRECAAAAAAAAAAPDLBUTTONSQRRNDLOGEXPCOSSINTANATNAAAAAAAAAAAASTR$HEX$CHR$LENVALASCTENAACONVOERRLIERKBEOTIMEDATEPREFIXEXFNEXFN%OUTREINDENAAAAAAAPOHOMA SUB$OFTRACNOTRACNORMAINVERSSCALERESUMALEGOTIRESTORSWAGOSURETURRESTOOALOASAVDELETRURENAMLOCUNLOCCREATEXECHAIAAACATALOAADATIMAGCADEAPRIssssssssss\3!z~IssssssssssssIG%ӓ,ssևwn7}|tttUUZ{fzxxˆU膅[L<^ENFONEXINPUOUTPUDIREAWRITOPECLOSATEXABYAAAAAWINDOINVOKPERFORAAFRHPOVP̠Ώ h:gpOn[n٧s]ds3issssssss0b>&dsjs|T}|s[xz{|}~ŭ᭭򭭪𭭠򠭠頭퀠Šӳ頠𠠀𠠠堠젭ӠΠdHddhd) _ ƢLh _L>h jhP _S @a-Qggeg5hih 6i6 "]S" ]$%SSSg a aL^ S S`La8 SiUjjS):,$f 0$ p $ 0~!L`!sm?iٰcL`S )!a{)Qi ڐ߽S) -ai) -aɢ ɣɍж$HS -ahʥ0SSȩ5%"/װ&hԐɈf0ɔĐ 8,f 8f L_ʅSS=ȄL`ȱi8eii LL<^~p l nhhLgOPP` Add# 6d s S SS@Ln A " r ,; s lLn#f  ;П ⭩,SLn "mʆ,S _S% nLh "mL_T ST#L(, U VV ׫$ 0  QpU= d hkddhe##5ddˏdd?Ll ,?#$04dHHd = d hkddˡddhhd`LsL#&F  ; s b 0` L+l$ Nsd#Lzm566ȱ5Ll H# wl m#͉LchL$m QRKLLsh$0LU$^`=8WW>X> 悅XXXL:^ g`L<^ l Jj bx bp,_;Ll  ~q$0P oՅ5R66R l ~ L%l $m0 =k $m#`$L#i)8#Ll  s s( L7bʊ# L-l m hxd5d$0H h`L^bLb$%/%5$ &5 &5e$$5e%%$&%$e$% Lk ׫ sHH ~qLPkHHh$0'ph | ZlWȥmW`L$|hXWXL-hm lmmLkl VYZZ{|| w ᐥlmmYZZ LxWXX ox ExYW# kXX 4=^W^0A, 9:: Ga.ghh 悅` A` \\ɾ,L<^hhZkKhLhhhe9e:: mLg jei `Ls j:,"hhhhLgɜEɝDɞLb Hɾɺдmhɾ Qp aj pi `p j` jLi j,d wlOZL^L^-L(dPL<^OPMNKLhhLg` Ls ҥ?ieCiLa,  aFL s a iLg ]hhh5h689H: H:HLHKHH6H5HHH` ui` pi` Qp j pi `p i` j jK$L%8eȢЅ iLOPP$pX0S&ȱhȱKȱLe潥ɂ逅$L# $mKL x~ m khLgLsLc h5逢)&a TH THLgL6k8:9: STT`)ɀLK$Lb8gLOPPKLMNhhm Vf0 mLf) mWA 0 -a mL8fW;8<< 悕` 6kLU*i kXX 4XLy \\'_ch_chbi^g \ihh ] Qp aj ih `p b iq bqn %jjg56Ly { b bq | XHWHHHֺh$PLh wlȱȱ%$LWH mh x~  m#W", mȱ28eLeji`Lwl mȱ"Ɂɂ ȱ :, iTjj ȱiVjj8逪XW0 Vf0WHW$ 0X: h ,@dd )e dʙdH &eh(dL ddک,ddLd:e``eLeHELLO ue 5eLse6e:7ee8ee:e`EAd j @a(% -, bLs j {ghhL<^gHhHhH , - b j$% @ag5h6h6hhhhh8g5h6h 悅`6 "]La ud `L  d.CONSOLE[[ TdSdddddd0 ddddd`dd A 6 s e 9c()' 9cKHLI jLdj89弅:彬: 悅`H hɝɞɜ)`dd  6芅 e ()'` e'()HKIL 9cL>hL<^) i!Ls j @aLK$L% :: 悅 lc!)` +b` +b` sL :b#`L,H s h ऊL(,L8f` A KL jLdjOPPKLL h AKL` Ѽ   (`H shLs Aji!S)Lt`SSS`L` z :0.`9::hhgg.%g& $gegަhH逪hhʰ` ҥ [ aLT ҥIJJABB=>>;<<?@@T ě hhhHH  `89VVE$ P% eT{||Hd ̐h p IkLo00$0 L>o "m nV dj$D$ P 膼Lo$0",i [ kLoHSHhp< {}$ p0H 07h ]k ,LmUVV `p F sLn 2 ukLoF вLm jȪL<^ȱQȱȅR dj sLHoUVV$ LhU Lp$ LL<^opL^```?EXTRA IGNORED?REENTER $0pL,`LgXW ׫ k*iXX 4X \\L<^Xii7 { n k$ |WlX &{f o0`LB ` H$ge &{h 80 '~L}H |h |zEn{iLxf d$h0Ly ef q80fL}COt#t$JZ mLKjk8 | ~Lm ^|-$nșRnȩ0iL f~ azea~ } \~ } &{e B{e yx %}ei0nihoi8傐IL|`7 z!L|iD8$n yiLyn)FjjjLyiɠ %}nnI*imLyjklm` s e-o+ smo..IE)2s S -+fh r$h8fL}fg s$gPf8ef B{f65m5l5k5n j5i`d,]WXX566 |m5 ^|l5k5n %j5i5` |m l)m |m`znth` |ht`i  y my`i n*` |jkjI*mlinLyFn`nEz0ʢiH xv5ui`uei0,iiL0y{n`nI0hhL,yLy |i{ xi` |={{ {LZ{ zL{ |8ii zivjwk xlym* 蕁24(y&x&w&v0⨥ymyxlxwkwvjvL{@jjj)(L{L<^~jklmL y56y^Vy dv88; 54541r |LiHi z xz U{y xy рz xh '~z zLz z~ zm zl zk zj zL{LyJ eyexew~ev~f~ffffJ`5665y5x5w5zEn{z lkj |yjJkjlkmlmi in`emeymlexlkewkjevjLkyi&m&l&k&j8iIiii9fjfkflfmf`nIngjIjgIm lkj`L<^}i0vvvvvj`L656 wh H5Gh`lmm566 Lx5Hȱ5ȱ5 F665 w56h(` x("LH)&h`( '&'`lmm566LxĠLx znInEz{iLx y? zL||uu`8i$iznIii0ĨV y${Wiuu8Iem_B_B`)&N> ȱI8gJJ hhge ghh f feLH>H= x\L|F )XHABB8 __^hHI8e^ @1 @+?%GHHHIJJih BABGHh`$  ě u Дs IJJ^__Lveȱeȱe `LćHƽ Ƽh`$ lȱlLL{ɝɍLɎСL s HI s shmHmHlHHɦ# shmHmHlHH , hHLt  ,, shTTLui ui,L3$0 |Lu xijk6kxyy xxy6i L[ s r$PLsi,L3-hLs L*tɘcɭ_ TTLdd`jk8L|L3L3TL3,L3i LL r$PLLBLsș Ȅ ( qƚƚ` s s),;,=,#,(,,ѼLL<^L<^ llmm$P$?TUJ)TU  ' Lsi imLqLsh E0`H ty ))ELyq  8 $0!PizEn{dUeUi hLqLs `wLr !L2 {}$ 0`QɀX zLs.+"2mXm tL qXXW zzEn{i x }H$ ]kh8 )KLe9e:: }Lgi , p s$8$0p`PL<^Յ H s r ɀ ȱX Hih0 & ?<I?iE W Lq s ) i8fe.șR0șRmymlylkykjyj00ڊIi i/ȄȪ)Re.șRI)ЪR0.ȩ+f.8f-RER/8 i:RRRRRR`y`'d |Ģ {ZuL.y +|z% T}uH }h{ ~|H !z az ~hJ inIn`L~8;)q4X>Vt~w/z*|cYX ~uƀ1rP aziP | |iɈ { T}i8Huiiu x BU 瀩{h z` |] az 뀩]Laz |gȑgʆ5a g5ȑgȥg <^^^__ɂ逅____<;إy6 hlhm^Ȋ^LL:^ȥ5^H^h ͎el5emȆ6п  ͎e^e__ iLZe *& eegggegȱgehh Ľ ,L<^  8` ^LQ ŠhhL6 $P 訽5 ͎56ۥ 8ee L:^?be^@ce@c __^_ \__^;<<6  $Phihi^Ȋ^6h656H |mHlHkHjHiHl5 8eeghh^__` HHH H bqh hhhn0iɐ1 }L yxL%}\i FHHHHH 6hhhHHlm ,҄ shh)>=>hgh<<;[a{p ;<<ccb? @c@ube.a{bb,\(eb cc`ebcA[8饰 a{8`8\e@@He? ]@@?hbbb0 ea ȑbc8L@ @@h5H ?5^6_6_hhXhXhWLk ? % ?Џ`5566` xe5566ɂ66` s p `  zLseff z.!'$ iߪ$ 0 H8eAi\h$ P8 (Lt$ 0}5}} ,kk} , kklm Lٓ[ 80@ 6 2`  dkH) ojhJJJJ ojL 0:i`L<^ jHHHHHH s jhLyqhhh6h6h555_ȱ5VHHHH %L/5H6H6Ht $mlmkljkij8ihn`L,$0DpA q enHi80 @Lyu \ % @u ćh `&m&l&k&j`2L0 և yxLT}$0pLI oբRLi `u LLi u Lui0 ܆ چ,,% п 擩lm0u 1eL5665`iɀ*iH i  @8 ei $ tutt tj ȡhn` t` 0RN0R 0R$n-RRR`i` p`5665i`$0BP?iH i hLbe55f5f6e}Lme6u5u }`6ʈ`v`jip` ? #  ue }~ %u $ چ 0 u}` L uu  ) }Li <i@L{i$i0 p $ 1`ui` LL Lbb `}i~ei^~0] e e^`}`566i5`_cf_cfi^eub` ?^qbep`L<^ ?8b^e` rp`I` ? ㄩp^|be #^b ebbu|beiee^^iL56^f" ऩ थ (! ( ऩ थ (" ( द!LGb8Lऩ@iu +-ELj) e | ^ .' "5 1 p) iIii i)Lm` ?i $0 ׄ $0 $0 ^`Hhth`^Qb ^^ 8` `H Jh(L悈`H逨h` Hh8 Hɀjhji` HihJi(`  ~q$L ɺ b$P i pi$ȱLdjɻƟ dj 柰ީ Lihh sLg  s ! b   s "!!!+|] {n LU{HLʁIڢIڢ-(h#5ᆥ](IڢʥnH BiHɁy U{y рhɁ xhLB` vy{| g|S}dpL}Qz}c0~~D:~L̑56gh6hegehh `iɇoȘ戅 aziȅ xdo`Abi$nFn) i  j g g ^ ܇.Laz͠Lć ^ ׄ& ć ׄ ć ͠L- x |z K{ | T}{ x xnH yxn0 I B xh B Lр |  e` ě u8A?pB@B@ )onL܇jkL| Nsdȩ8 NsdL2Lа,L<^ A s ׫ g iq s= sXHXHWHHHH ajL? b rLiq HHH s iqhhh5ȱ6ȱLI65 g5H6 2|HHHȱȱ6H6H5H s =к bqhhh Lshhhh` ~R/mZlmYZ PujHkki^^`H"h{||kjkȱ{ "ie{||  V{|56|6 w&5L<^i8pJ LUL-LG -$p0`pog $mkڥrok8o,koLdjAaCcoJ mko 5 $mkk mLw L L HG56H6LExh  (`|||}z,A[ :808Ш`,ޞ@`y Gy`LHq,;' L Pu  pLLwl`|H}HzH{HHH ɶ# xhH s  ~q s,; Ls  ~q$ hxrL iLpnH ~hɀ8(*iR.-:/ RRhhh{hzh}h| Pu p 0|8cJcm J_mm嚍J_AgBhBh \^A_B_B` ^"( zM jF566 x}z{6{LҜ #z{{"} GLsL<^ jHHH i dj ٥z{{ j}hhh ;в| |膆  RRRRH uhA?B@7B@87F8f7877878L:^7 8*JA5gB6B68 悅h圍h?H@H@HI?J@J@ "]h@h@h?gAhBhBJJ8 悅J圍J7ߚ8BܚLs`䚌B L:^`Ib^J sL͙ɚʚ `pAƚЙϚŚњ˚ ̚8 悅DDF͚ Κ8 DiFEC CD)ӚDmӚDԚCBКLěŚAݚ⚠IȌ 8 ꂍ  8 ꂅJJ` !7Ri88 pi UŦLUUU HHHHL 2hh LW iL 2hlhkhn jhimhHɗ8 Ls`LIŚ1CUDVDVU Lŧ 0 7U L`L:^֩ ŚEĚ L| Qp QeeRee8 1 V` 痠U` hh R LsL  z (L[ Rީ  @Y%(&:$LU s և ^|iHn %jHkHlHK s n ZlHmH5 s iH jHH楩e ) ,LsLR eՅ7V8U #   785U6VLΔU7e778ҥU^V_bcF_hcCgDhebbc \^__`U8傅UV` |UȱU` L<^ |UUƜ0ƛ ӗWqeWȱWqei W` |8UUWȥVUX`UeUUVUO / +'L U)łiV VL LI 8U 7ȱ7 UU ЯUVULU7V8 p L LZ U qUU qUH85h688V77U U 5qUWȥ6qUX7qWWȥ8qWW ٥IiV) V LVU?e8V je?e>e8U>e5V?e665e=e@eee8 hx57 xLCx8I77JJ8 88` H dhjL YYHH dYZZ oxhhe5566ɂ逅66 wZZY L YIL=m ) s  ʊHYImm shhhhYhZhZHHE` 3YZZ xLCxl5Ym6Z78ߠȘH yxy hL3 j kqHHHH s H , ,H s s ~qhh 1 lhhXhXhWWȱW7ȱW8 eLNLXZWX ` GGH HlHmHmH khmhmhlh hk8j7k8Lޒ e7788IjJkJk )lmm'&`UR{R||L̐: / cRRȹRRȥ Rл s `Lsh sh5lh6mh6mhxhyhy x x Qȱx7ȱx88 Ƃ 7e7888ł75 1$u tAvʘtDթ q(~th`pvquts~y fp$pp8j/;XAx=|8ez{{ ghh "o `L x  wwghhoؠKkqvj L`$uZuukvN kGv@  vvyLj L ʟ,-uukv kv@vvyL5Lj ʟA80멀uukeqqtt$uA)*t L; $uЫkЦuuj ysLq,kl$uhuuj XkkNuuj k 4%v. #  kddʪdd LLsLcdS L_H hRSO s ɋ 0 GeDe ˰GeEeHeFeIeLLsGeHeIeD=ee>e?eJeKeLje֩ u>e?eՍ "] a a$% iLg֢   sLj$%`8f  a e ; ` s ɩ` YLILcopL7 z0xH ׫$0_ ;h8fH`aai shH2 h zJJJJf Ik ɩ` ̬ t os YLA ևLLק jWXX` ׫$`pd8isŠt`dyoopd8ip`J uv`&&&8孪孪宐橈`! @ uA?B@B 悅@=g>h>h ]=i>j>k a=g8i>hj>h 悅ki=5j>6k6k;el)@7Me0u(> ƬƫHH ,hohp` ɩCe0R`ȹR`ee?e@e ue 5e T L=e;e`Lso`n}pm aa`dyo ɃɄ b`" lJJJJYe s ˰L8Ls LԫN l@u=ekPe tMe )llNesOet NeOetMeCOeNeȌ=e>e;ee :RRRiRȐȰRe9Re: J 2IHJh*=>> 95:6:6R L1 1Lԫ`L:^  aFL^R, ue 5eLڭR7>e?e5e5ehe?eLje LjeR=89R>:>:iR:RiRRiRL`8(RR(`EeFe  s bq Vml0L%#%"$w"$#%"`荚ٍ荺 荚`荺``` D ( )  * ) 4* * h* ))` L% q ȥ q Hi hi  i" i# #% $ȱ %ȱ &ȱ '`<!((g %(r(z(q( %y(i(0z %"#$ %&' $"#$%&'   `%$%ɠ%* " ~#C #p $ %*0"#)#)i $"% * %*  L! {" j% %ƌ(X#"$% "$ #%%& '   ` {" & ɠ% %)  !( (" %(r(z(q( %y(a(0: %   "$%&e$'e% R % <%e,ȥ,*,- y,,,-,,,ȱ,,- yL+,ȑ,` 2"p-,-L(Ġ %>,i-i8, ȱ,%,W,pp ڠ %p`l  " ) i SOS KRNLb.D1/SOS.INTERPŠ̠Š.D1/SOS.DRIVERР頞 0 ) (lH'&3&'&#e'#%e'%'&"$"$#%'#%h`$eh`L)i   HH `TH..TH..TH..THATS ALL, FOLKS!R`RT RT`#RT RRRRR`0R`RR 㵩:RRL㵆  ~ RR`BLOCKS FREE: BLOCKS USED: TOTAL BLOCKS: sj]"]\AjiGa@aI[5x<^sě xCxEx5eҥV{}g}gkj̐kIk~^hT}27uejewsHH st\hh H PASCODPASTXTTEXT PASDTABINARYFONT FOTO BASIC DATA WPTEXTSYSTEMRESERVRESERVCAT RPSDATRPSIDXAFDISCASMOD AFRPT SCNLIBk;eo $'>ed?eehi?e ueL5e qrL,op ɩ`et?ek;e`hZ L<^hZL<^L=ee>e ?e`opqrst !` T֩xxMH]@ Kۅ5H ɐE$ eİ Ȱ h`h`8`W h8`hR`hLҿ i x +ۅ5ۅ6 ǰ `E8<W`­ `0XLۅ5 ɩE` eĐL Ȑ 15WL QL5WW{5 ې'`,55 ې'` ݠ B1 ȩȑ Lɦ8`5  @ R㥶i ` İG8`FХ+jѲ84ƳJJ 2ΐ3泑ƳLTΩ潑ƽ`ƱƳ ΰ( {Π۵*+)e`8`)` J J + ΰ" 0 ΰ 🱼ѼL8`ǩ Ϡ` ϰ ƑȥǑ` Ѻе*`)ȥ+8ۍې  ,ѺLTΠ"LΠ5 խ ɐ /ݐE`C8`)@ ϰa)ۥ,8ېu+J,\ ȱLJΠ) ϰ'#,J(] { ΰ ƑȥǑ.8` { ΰ,JѲ ƳL΅ƱƳ ΰҥ,J0`#$"0#`!qȱi 5H5Ƶ ǽ jh5`L2̩ƍv̥Ǎw̩ÎL%ϠƄǥLj̩۬L~̠HHh` ̐`*ѺG0?M`)J"u-- M8`۬` # ː`  = O̰)= I`JJJJѶQi Lˢ  0 ̐ `"L˦ `H8`8$$"$= O̰=`$0`#$"0`$` H hQ)fʅ F jF jF jF &!  eװ*  ̰F湥 ƹ`Z8`@  ʰ泭ۑƳ ʐ` ʐ` ˰ ƹ Wː`ۘ . . .۪8*JۦȱѶ"` ɰ Ȑ`E`Ɔ X̐8`>>5Ѷ Qܩ<`>`\ʊJJJJ ۍ۩  ˰Fȱ X̰6 0 Lɠ 0ۑۑ8ȱ`H8` ɹ $  8JJJJ8 ` ۠ǽi `< Ȱ+<#5 ې'` ɐ /ݐE`W8`R` 5&i ` Ȱ 0i `<8> ȐT eİF cȰB)Hh5 ˭)*ȑƑȥǑ'(ȑ`L)ɭ)Ѷ*e`M) `ۅH)Ѱ%}ʈh Qܐ'``hi ` p6۽ʹZ5 HȐ/i i `гW8`0( ɐ Ȱ ʮ6E`5 խ ɐ ޢ ȰLȍ۱Ǎ X̰% & !J8` *LĢ `8 iۥƍۥǍ`ۅ %  6 )Ѱ Ѱ` 𝭧e ǐ bǰL*ۈ5ȱ۠ƍȱǍ X̐ H h1  /ݐE`ۈۅ ۅ 8ƭ X̐`LLŠǠ  ݭv̅w̅ ðzv̍ŭw̍ŭƭ ­ōō T̰]ŅƮņ X̠8iȱiiȱi ṰŅǭŅ XLōۭ۩ۅ ȱ8D`F`8eYƍťǍŠ)͠ Wٍۭۅ5ۅƭۅ X̰ ìۈۑ T̰ۅƭۅ X̰ۙ%ۍ" T`K8`)` İ ۱ۈ` ưW/ۈęۈЍ۩@` 8 MƐ  5 Q8`LŅ ۅ ۩ۍۅ Lɰ ʰۅۄÍÍۙ'Ù ۍ*ۨ  Ѝ۹ۙ8v- ðJ ¥ ð, ðLO ʰƥLT`'  mې浰``8 8 nʰ0 ̰+泱Ƴ m° x̰ ̐8` m° x̰8 ۢ8 ˰y ` ¥ nʰ泱Ƴ T̰#泪 Ѳ *Ƴ ` L:Ϡ`泑Ƴ` LaĥH8`JȘ I8`  S`ۈۥۥ۩Íۭۍۭۍ հL¢H8`Jj Ȅ ۍۆeۅiۅ Lɰ ʰWۅۄ ¦J>  *ǵ յý5Ņ4gȩυɩč5 iψ }.8` iϙLIѠ ˢ L΢ ΰ LϠ ˢ ΰ1` Đ@ АP8`B8`ۑJJJJ -ѥ N8`) ))УJ8` ۑȭۑǠۑۑȭۑ($S8`O8` "` / 򑺠+* ͐H h8` ΰi `()=`Insert volume: Τ in device: 蠠ɠ then press the ALPHA LOCK key twicex)_ @,P,R,T,V) )) `)8( ߠ',@ ߠ0  '葺 ݰL`5`i 祻(8`2ޝ51©ޅéąŅƍ >ϩ 1ޠ== f ɰ`ޭ`5=(5= i Х(`=H hDC5 L3ܵ ɐ /ݐ 8`5 ˥JJJJ8 H h ` ܠ825H h5 ɐ /ݐ 8`Hh ܥ5 `ɥܥܥܥܥ5`܅܅܅܅܅5`( ݰ)Ѻ ݰL ݰ泱Ƴ ʰȭۮ ʰͩΪΩۦ eװqȭqLJ  ˰Aۅƭۅ X̰2%&N  ʰƭ X̐`Ӏ堁ӠҠՈ՘̠ƠŠӠ̠ɤӮȪŅ͠Ϊ ܆5 HȰۈ)ۅƭۅ X̰ 3ڰLÍLT̥L㼠  ʰ` İK ХP8` LɐH80)N  հ)@LO ˰)0 ̐` M ­۠泭ۑƳѲƱƳ X̰ RڰäJۑĥ` İo!)N8`WپX0 ĥLä X0 ĥLà !"#$ Đ2@H AڰCŰrP` 3ڰ(` AڰѶ? İG8`Fە1 ռ İ ЩP߭)@N8`1@8` Aڰ񈱴 ˦,+* ʈJj =ؠ yiȩ`y4泱ƳHhz ʠiȱizLA`L;ؠ"  `1` Đ7@8V۩ Lɠ۪8ۊ۠X)JJJƄ X Ġȱ۠ ȍ۱۠ ۭ) ۍ ð*)#  O̰``)(`N8` ) xհۈ ̰آ*գ  Ͱ ݢգ LvL{ؠ;i ڥ(8` ְ( ȱ5 HȦ)`Lxץ: ש ְ⥺i ꥻ(8`Lx Lxש u )۠0)p խ.8`)@ ϰ) ϰۈۅƭۅǭۅ5 X̰ *ƭ۬͵̶L  ΐ` Wհ> H۪ȱHۑhƳh sϰq ` ʰiȱi `)5©éՅĩ5 }JJ+`.`8`ɂ )`@ ש ְO ֤FHۑۑh8`P) հ Wհҥ,J+j泭۪ƳۑȊ ) ~ fPL ͊.>.ʱ+,EP!.E.Lw+,,ӄ*- P*e (` հB հ5 Wհ0,J۪泭ۑƳ sϰ(` L Ͱ2 ~ P kҐ#L8 T 2ΠHHȑhhȑ`Ld )N8` xհ*eȱ+eȱ,i۠Ѻ۹ۑ񥤅- ť.Lcԥ.La Ͱ$)rJ Lɰ )# Ԑ) ͰU..++,,IJ/ ӥ-.?Цե,J+jѲ4Ƴǥ4聠 H hH kh8`8-ȥ.L 8*Ʊ )8 0*-`.G.ʱ*+,EP'.E.LұE0+,,ӄ*p-e  )LBѠٳ )8`i (` )N8`*eȱ+eȱ,i۠Ѻ*ȱ+L - ť.Lkҥ. ՅL ͐Ld ~ pа.J/)@߅4ڠ) w߭)Ů􅮈 ߠ'x)) J,QJ,SJ,U,P,W(`)(()  8)j`J j߅`0X ٠͠堘ӠȠŠ堠󠠩à٠΀ƉŠŠӠҠȠHHH *ح)0 D) HHHH,, ߘ)@ *)X  xI)}h)L, L ) SYSTEM FAILURE = $hh8`hhhxآY_Z@tPRVT,p S JJJJ ) ʍL@ i0i6`îӉ͠堧ǥӥ``HhHy)(h`H` 0L?i `h` `` `x)( 8 `jjJJԥ)եӬɂ )Ӆ҅`  `H0Xh`Π'à̠ȈL` 8`څ  Lk%  Lk8Lu텚8嚅 L L Ld V ``  h` ک V `ۅץ  VLFx) ( :` H ) L  .P'pб0 &L:L5'8+8`0Fܢ` ř,Ř 0 8f)J ӭƅХDžѥL1LUȑ  i ߩLL )  札)  ҩLL` **éL0;` H ) 4 )ߍ) hjjjjۥ0CF = -$(L !LLL&L L-LJ٥eƦ ,L  # ` (L.L…ҥÅ,] Xx,f (I0јIFjFjFji```x@gŽPy+wLwԠ͠ŠԹ.D1 .D2 .D3 .D`HJJJJh)y` (2%H H @`)h8`  HШБˆeЅАѤ  БĈ` H`)à`֩ нѽ>`]PU]]UPPX0 0 PPXPP  0h8蘠fȊf` ab 1abo)abaݰb L9c`` a N0Ioa0H ha`pLopna n`  3ɠ/8 L %iLɠ8逨J Hh $`b >_-%^%p_^^_ab"08^c_L8^c_L8^c_L8^c_ȑcc\] ab^_ ``aV R0M bba dda `Q8STRQ ST`c\ȱc]a  b 5DU e\^e]_ ^_ ^_LH8\^]_?Je\^e]_,78\^]_ ^ݰ_ ^_LH^_ $bL@A^_aoQ*@A RQL@A `T8`RLSJTKQHIQiHiIKNJ)M8逅OPOPHMIN'a MHNILHOIPaOHPI8JHFKIGFGaHMINNMʆSTL8HSITQQSTde0f`   cCȱcD C Ea  UV 1 ELUFVG FUUCVDեYCWZDXWXCUDV[ v`b0WXYZiUcȥVcWX eeYZ ggE` @SATRDžŠƠŚ̮ÎȠ Ӡ̠Ӡ` LL#L/LL'Lgab `abBcd cdBrcadbho:ab.cݰdDcݰd8abҊ v+abcabRcdTefVghXijSdfhj RR`^0U ` 0 ʠ0 8 `ůàՠԠàࠝӢӠ ȠDž̖͌͊頀ϐωŠŠӠҠȠγ`%!^0 ^)@`a R =` *^)ـooL]^)?i |TU QTU]qUoqTITsUsprRprqs]ToUXa` RL=Xa` R` *R`X`U T  *\AX[ @F\B9ɏ5\o*Ɂo)[[ @^`U V  *C?^0: ݳ ٢ ^)?i` *)@o `p^ XiH 1h `)X0 8~X 1`C X`)X0`C РǠ𠠐ŠŠӠҠȠƠŮƠҢâӠUAQY @?ZY 9ZYY^TU QZoȥɭ }`` ? }``  }`X0i 8~XX0H }h襯` ©Wéĭ }0W`F X0A */5BL. zF`LLz Lz`Y `Ơ堧 B k L( LO  %   }` ` ?!©UéĩU󥣍V }`` ?)) $p10LYeieLVȱ d0L`Hȱ hh` WɸSI I.ȩ8A 8ɸ4ɠ(H)h h8   `    i Ȣ d` $,)?P^ GL㢮 5L}P.)(Ơ L`ޠ LR  稱 I)0JJJJ騩  )* i LiHh`PQPQ>P Q,PQ"PɀQ@PAQ`8`nɀ<)nopoLpp`  DIFUTIL: Standard DIF File Utility ALLAN M. BLOOM, PhD CDP Institutional Research, Virginia Tech, Blacksburg, VA 24061 2303 San Marco | | DIFUTIL: SDI/SDF or DIF to Standard DIF Format (AMB v.10/87) | |---------------------------------------------------------------------| A: | Enter input SDI/SDF/DIF file --> .profile/copy/test.sdi er 16, 1987 Page 1 Bloom DIF Utility _____________________________________________________________________ | m died. Optionally strip the high bit of each byte, say for Apple II DOS-format text files. Add capability to handle MultiPlan SYLK format files. Worry about quotation marks (") around text data fields. DIFUTIL Octobto maybe implement someday. I'm open to your suggestions and comments, too. Future Enhancements (Maybe Someday) Add English text to the I/O error message numbers. Put an odometer on the SDI scan so the user doesn't think the prograhandle many of the minor incompatibilities between different implementations of the DIF standard. It does not handle all incompatibilities or even all problems I know about. The "Future Enhancements" section lists some of the things that may bug me enough DIF standard. It will create an EOD trailer segment if one is missing. It will optionally convert E-format numeric entries to decimal format. It is immune to whether the original file is in PC/MS-DOS or SOS/ProDOS ASCII text format. DIFUTIL allows you to . Depending on how the file was transferred from the other system, those differences might remain in the imported file. DIFUTIL was created to deal with those problems. When it encounters an SDI/SDF file, it will create the header entries required by the ms create a DIF file without the EOD trailer segment. Other programs choke on that omission. There is no standard for text files across different operating systems. An MS-DOS ASCII text file is subtly different from an Apple /// SOS format ASCII text filearnation, SDF, has the same quirk. /// Easy Pieces can import a standard DIF file only if the numeric fields are in decimal format. It accepts "35.38" but ignores the equally valid "3.538E01" exponential form such as is produced by Lotus 1-2-3. Some prograle DIF is a standard, that standard can be honored more in the breach than in the observance. SuperCalc exports an SDI (Super Data Interchange) file that is very like a DIF file but lacks critical information in the file's header section. SDI's earlier incterchange Format) is a standard file format for data interchange between disparate data base management and spreadsheet programs. Since it is a text (human readable) format, it can even be transferred between different computers and operating systems. Whis Street, Blacksburg, Virginia 24060 Office: (703) 231-7921 Home: (703) 951-2025 CIS: 76656,1514 BitNet: IRBLOOM @ VTVM1 DIF (Data In | B: | Output DIF file (Default: .PROFILE/COPY/TEST.DIF) --> | | | C: | Number of columns = 12 | | Number of rows = 59 | | | D: | SDI/SDF/DIF record sets read = nnnn | |=======================================================ews of Selector, Desktop Mgr and other products./- UPGRADE.512K : Upgrading your /// to 512K. The Best of ATUNC #4: Side Two-B3INF-26 InformationBootableDS 5.25SOSOn Side Two (Continued):ONTHREE.PRODUCT (Continued):*- WHY.512K.UPGRAD : Why upraw On Three.B- GRAPHIC.MGR.DMO : Report on a demonstration of Graphics Manager.I- GRAPHICS.MANAGR : Report on Graphics Manager and printer compatibility.L- ON.THREE.DEMOS : Bob Consorti visits ATUNC for demos of his 512K bd, etc.H- ON.THREE.PRODS : Revip when done calculating./- VIDEOTAPE.A3 : Hooking up a /// to a VCR. The Best of ATUNC #4: Side Two-A3INF-26 InformationBootableDS 5.25SOS On Side Two:ONTHREE.PRODUCT+- DRAW.ON.3.CMDS : Draw On Three commands..- DRAW.ON.3.REVW : A review of DG The Best of ATUNC #4: Side One-B3INF-26 InformationBootableDS 5.25SOSOn Side One (Continued):#MONITORS (Subdirectory)(Continued)E- SCREENBLNK.BEEP : In Visicalc (or other program) use toH blank screen then and /// will bee : Connecting an Apple /// to a color TV set.J- COLOR.MON.HKUP : Hooking a color monitor to the /// from composite port.;- PANASONIC.MON : Hooking up a /// to a Panasonic Monitor.J- SCREEN.BLANK : Inserting (screen blanking) into a program. October 16, 1987 Page 2 ST/DIFUTIL/DIFUTIL.CODE 6. Enter "Y" to the final question. ESCAPE twice to the edit menu. 7. Enter "5" to update INTERPS. Do not recalculate the minimum load address. 8. Exit to the Catalyst main menu via entering option "7" DIFUTIL ress RETURN Character Set: Press RETURN Screen: Press RETURN Keyboard: Press RETURN Prefix: Press RETURN Max Files: 3 Program Path: .PROFILE/CATALYe main menu. 3. Enter "1" to "Edit Catalyst Menu." 4. Arrow to highlight the menu entry you want the program to precede. 5. Press "A" to add a program entry. 6. Display Name: DIF Utility Interpreter: CATALYST/PASCAL Extra Drivers: P INSTALLATION 1. Create a CATALYST/DIFUTIL sub-directory and then copy the boot disk files .D1/SYSTEM.STARTUP --> .PROFILE/CATALYST/DIFUTIL/DIFUTIL.CODE .D1/SYSTEM.LIBRARY --> .PROFILE/CATALYST/DIFUTIL/DIFUTIL.LIB 3. Select "Catalyst Edit" from th the DIF header and asked if the input is an SDI file. If so, the program will scan the file to calculate those required entries. If an unknown/invalid header is encountered, the program says so and shuts down. CATALYSTch record set corresponds to 26 DIF file records -- two per column entry plus a two-line header. E: In phases A & B, you will see an I/O error if you messed up the pathname. During phase C, you may be told there are no VECTORS or TUPLES entries in (same file with DIF or TXT suffix), else enter a new pathname for the output file. C: This shows the size of the file, in this case 59 rows of 12 columns. D: An odometer shows the number of DIF record sets (rows) processed. In the above example ea==============| E: | Message area | |_____________________________________________________________________| A: Enter the input SDI/SDF or DIF file's pathname. B: Press RETURN to accept the defaultgrade to 512K.OTHER.COMPUTERSC- A3.A2.MAC.ETC : An evaluation of the /// vs. other computers.K- COMPUTER.TO.BUY : Discussion about what your second computer should be.B- IBM.PS2.DISADVA : Excerpt of an article "PS/2 is for Suckers."K- IBM.RUN.BY.A3 : How to control an MS-DOS machine remotely with a ///.@- LASER.128 : Discussion about this Apple // compatible.$ The Best of ATUNC #4: Side Two-C3INF-26 InformationBootableDS 5.25SOSOn Side Two (Continued):OTHER.COMPUTERS (CONTINUED)tionBootableDS 5.25SOSOn Side One (Continued):(SOFTWARE.MISC (SUBDIRECTORY)(CONTINUED):4-PASCAL.TOOLKIT : Includes a Sort.Directory program.D-SENIOR.NET : Information about the Senior Net computer network.  The Best of ATUNC #5: Side Two-A3INFKSMITH.INF : Locksmith 5.0 bug and how to deal with it.F-LOCKSMTH.BUG : Profile must be off to use Quickcopy in Locksmith.J-MAIL.LST.MG.CON : Converting MLM files to make them easier to work with.  The Best of ATUNC #5: Side One-D3INF-27 InformaDIRECTORY):4-GRAF.N.CALC.DEM : Describes a demo of Graf.N.Calc.3-HABAMERGE : Can you run ProDos on your ///?G-KEYSTROKE.A143 : Keystroke Data Base and the Micro Sci A-143 DDrive.>-KEYSTROKE.PROB : Writer needs help Keystroke A-143 Problem.>-LOCeir size/version.8-SOS.DRVR.SPACE: Dealing with Driver space limitations.;-SPEED.CALCS : Using Control 5 to speed up calculations.D The Best of ATUNC #5: Side One-C3INF-27 InformationBootableDS 5.25SOSOn Side One (Continued):SOFTEWARE.MISC (SUBr sizes.I-DRIVER.SIZES.2: More on Drivers and their impact on Apple /// programs.2-SOS.BASICS : What is SOS and what does it do?I-SOS.DRVR.HINT : How to get some insurance before working on SOS.Driver.A-SOS.DRVR.SIZES: Updated list of drivers and thed Graphics.5-SORCERER.PT5 : Track Ball; Assembly Language Basics.#-SORCERER.PT6 : The REMark Indexer. The Best of ATUNC #5: Side One-B3INF-27 InformationBootableDS 5.25SOSOn Side One (Contined):SOS.MISC.INFO (SUBDIRECTORY)-DRIVER.SIZES : Drive for the ATUNC PD. P The Best of ATUNC #5: Side One-A3INF-27 InformationBootableDS 5.25SOS On Side One:SORCERER.APPREN (SUBDIRECTORY)--SORCERER : Prorgamming on the Apple ///.--SORCERER.PT2.: Text Screen Control in Basic."-SORCERER.PT4 : Animatding a disk label util. The Best of ATUNC #4: Side Two-F3INF-26 InformationBootableDS 5.25SOSOn Side Two (Continued):SOFTWARE.MISC (CONTINUED):E- FINANCE.DISKS : Announcement about new Advanced Visicalc financial3 modeling disksD- BUS.GRAF.PRINT : Business Graphics drives a /// user to the Mac.D- DATABAS.CONVERT : Converting Apple /// files to another computer.@- DISCOURSE.PROB : Installing Catalyst Discourse on a Profile.K- DISK.LABELS : Sources for PD software - incluSOSOn Side Two (Continued): SOFTWARE.MISCI- AMORTIZATION.PG : Discussion of a PD real estate amortization program.?- BPI.GEN.LEDGER : Demo and discussion of BPI General Ledger.K- BUS.GRAF.FAIL : Fixing Stack Overflow problems with Business Graphics.n of the Powerprint drivers (DA Datasystems).E- PRINT.SPOOLER : Discussion of the Quark Discourse print Spooler.B- SERIAL.DRIVER : How to know you have the right serial driver._ The Best of ATUNC #4: Side Two-E3INF-26 InformationBootableDS 5.25ontinued):PRINTERS (CONTINUED):<- IMAGEWRITER.PTR : How to hook up an Imagewriter to a ///.J- IMAGEWRITR.PROB : Correcting a print problem with the null modem cable.8- PLOTTING : Plotting and graphing with the ///.K- POWERPRT.SIZE : Discussiorinter to print enhanced/bold print.>- HP.LASERJET : How to hook up a Laserjet Plus to a ///.@- HP.LASERJET.PNT : Configuring the Laserjet to work on a ///. The Best of ATUNC #4: Side Two-D3INF-26 InformationBootableDS 5.25SOSOn Side Two (C:<- LASER.128.AS.A3 : Apple /// w/Titan Cards vs. Laser 128.PRINTERSF- CABLE.SER.PNTR : How to build a serial printer cable for the ///.H- DIABLO.PRT.PROB : Diablo 630 printer problem/solution (in software).L- GEMINI.PRINTR : Getting a Gemini p-27 InformationBootableDS 5.25SOS On Side Two:SOS.MISC.INFO (SUBDIRECTORY)E-SYS.CONFIGURAT : The System Configurtion Program and how to use it.@-SYSUTIL.TIPS : Little known utilities for the Sys Utilities.A-TWO.STAGE.BOOT : Creating a two-stage boot for Pascal programs.B-UPGRADESOS.1.3 : How to upgrade your disks to SOS.Kernal v. 1.3.% The Best of ATUNC #5: Side Two-B3INF-27 InformationBootableDS 5.25SOSOn Side Two (Continued):TELECOM (SUBDIRECTORY):=-A3.TO.A3.COM : Moving information fMISSION : What is the mission of a user group? The Best of ATUNC #6: Side One-C3INF-28 InformationBootableDS 5.25SOS On Side One:AMORE.SORC.AP :This Subdirectory contains a number of the BusinessF Basic programs as discussed in the Son and Questionaire.--ATUNC.FUTURE.2 : Answers to questionaire.9-ATUNC.PHILOS : Why it pays to be a member of ATUNC.@-USERGP.ORG : What needs to be done to keep ATUNC moving.8-USERGPS.HOW.TO : How to get more involved with ATUNC9-USERGPS. jumper positions without having to go into) the /// every time. The Best of ATUNC #6: Side One-B3INF-28 InformationBootableDS 5.25SOS On Side One:USER.GROUPS (SUBDIRECTORY)H-ATUNC.FUTURE.1 : Why does ATUNC exist? DiscussioF-28 InformationBootableDS 5.25SOS On Side One:TITAN3.PLUS.2 (Subdirectory)K-TITAN3.2E.SLOTS : Discussion of the jumpers on the Titan ///+//e cards.G and how to install a switch to allow easy changesG in thetion of the Titan ///+// board.<-TITAN3.2.INFO : Good and bad features of the ///+// board.B-TITAN3.2.SUPPOR: Letter asking for help to get 80 column version.8-TITAN3.2E.CARD : Some thoughts about the ///+//e cards.{ The Best of ATUNC #6: Side One-A3INple /// group compiling Tips book. The Best of ATUNC #5: Side Two-F3INF-27 InformationBootableDS 5.25SOSOn Side Two (Continued):TITAN3.PLUS.2 (Subdirectory)@-TITAN3.2.BUG : Mouspaint won't work in ///+// emulation mode.8-TITAN3.2.CARD : Descriple and Apple Writer word processing tips.=-PROFILE.REFORMT: Reformatting a Profile and what it entails.B-RAM.TEST.1 & RAM.TEST.2 :Internal RAM test procedures and tips.7-TEMPERATURE.PB : Heat problems can cause trashed data.?-TIPS.BOOK : Canadian Apo-E3INF-27 InformationBootableDS 5.25SOSOn Side Two (Contineud):*TEST AND REPAIR (SUBDIRECTORY)(CONTINUED):=-NOT.BOOTING : Check the "On Lamp" if your /// won't boot.9-ON.LAMP.RAMERR : "On Lamp" problems and how to fix them.@-PROFILE.HELP : ProfiISK3.MAINT : Tips to help maintain your Apple /// Disk Drives.8-FATAL.ERR.CODES : Fatal Error Codes for the Apple ///.4-KEYBOARDKEY.FIX : Replace a Keyboard Key Yourself.--MOTHERBOARD.ID : Motherboard ID and Hints.A The Best of ATUNC #5: Side Twde Two (continued):*TEST.AND.REPAIR (SUBDIRECTORY)(CONTINUED):>-DISK.CHECK.UTIL : A discussion of this disk utility program.>-DISK3.ADJUST : The Disk 3's flywheel has sync bars on it.@-DISK3.BYPASS : Bypassing the Disk 3's Write Protect Switch.E-DC : Using the Confidence Disk for RAM problems.@-CONFIDENCE.DOC2: More on what each Confidence Disk test means.;-DIAG.DISKS.INST: Diagnostics Disks available for the ///.0 The Best of ATUNC #5: Side Two-D3INF-27 InformationBootableDS 5.25SOSOn SiCTORY):=-A3.EZ.REPAIRS : Easy repairs most ///ers can expect to do.;-BADDISK.WARNING: Problems with one brand of floppy disks.4-BOOT.FROM.A2 : Switching your .D2 Drive with .D1:-CLOCK.RESET : How to reset the A3 Clock on January 1.>-CONFIDENCE.DO?;-TELECOMMUN : Trying out a modem and Telecom software.C-TELECOMMUNICATI : Description of the various /// telecom programs.* The Best of ATUNC #5: Side Two-C3INF-27 InformationBootableDS 5.25SOSOn Side Two (Contined)::TEST.AND.REPAIR (SUBDIRErom one A3 to another.;-A3.TO.IBM.COM : Moving information from an A3 to MS-Dos.1-COMPUSOURCE : Hooking up to CompuSource BBS.=-MODEM.ELIMINATOR: What is the purpose of a modem eliminator?>-MODEM.HOOKUP : Can you hook up an internal modem in a ///rcerer's ApprenticeD articles. They include: PECULAR6A.X; PECULIAR6A.SLOW;> PECULIAR6B.SLOW; PECULIAR; PECULIAR2; PECULIAR3;C PECULIAR4; PECULIAR5; PECULIAR6. Note these will NOT# return to Menu.Maker./ The Best of ATUNC #6: Side Two-A3INF-28 InformationBootableDS 5.25SOS On Side Two:UTILITIES.MISC (Subdirectory):@- CONSTELATN.DSK : Documents an ATUNC PD "Constellation" Disk.B- DELETE.KEY.DRVR : Add an On Three delete key to your Apple ///.A- De a Laser Printer with your ///.EMAC.N.BAK :Transfering files from the Mac to the /// and back.LHow Do I?: Side Two-B3INF-29 Information NonBootableDS 5.25SOSOn Side Two (Continued):9POWER.SUPPLY :Trouble-shooting Power Supply problems.:Sion about the ///.*CLOCK.KIT :Add a clock to your ///.AEMULATION.TIPS :Modify your Emulation Disk to reset to Monitor.+FILE.RECOVERY :Recovering damaged files.8HARD.DISKS :How to take apart a Profile Hard Disk.;LASER.PRINTERS :How to usyour ///'s RAM.2UPGRADING.SOS :Upgrading to 1.3 version of SOS.JDESTRUCT.KEY :Another way to add a delete (destruct) key for your ///.How Do I?: Side Two-A3INF-29 Information NonBootableDS 5.25SOS On Side Two:2A3.INFO :Basic Informat your Apple ///.3DRIVER.CONFIG :Configuring your SOS.Driver file.7TURN.IT.ON :What happens after you boot your ///.,CLEAN.DRIVES :Cleaning your Disk Drives.;ALIGN.A143 :How to align a MicroSci A-143 Disk Drive.)RAM.TEST :Testing o build a battery backup for your ///.JCURSOR.MOD :How to modify your Cursor /// Joystick to play // games.How Do I?: Side One-B3INF-29 Information NonBootableDS 5.25SOSOn Side One (Continued):@DELETE.KEY :One way to add a delete key to ///. The material comesKfrom all over, but is on just one disk to provide as much help as possible. On Side One:-WORDJUG.REV : Positive (tho short) review of Word JugglerF-WORDJUG.SEARCH : Tip on looking through a long Word Juggler documentBBEST.DIRECTORY : PowerCat listing of ALt 1L-VISI.N.LOTUS123 : Describes PC Magazine article comparing the two programs. The Best of ATUNC #6: Side Two-D3INF-28 InformationBootableDS 5.25SOS On Side One:WORD.JUGGLER (SUBDIRECTORY):C-WORDJUG.INVERSE: How to make the Word Juggle screen los. Visicalc spreadsheet size.=-VISI.AP2.TO.A3 : Converting Apple // VC files to Apple ///.@-VISI.BRIDGE : Telecom pgm for Dow Jones that uses DIF files0-VISI.COMMANDS : Advanced VC commands - Part 25-VISI.INFO : Advanced VC commands/Info - Par review of DA Datasystem's Ramdisk Drivers for3 the Titan ///+// and //e cards. The Best of ATUNC #6: Side Two-C3INF-28 InformationBootableDS 5.25SOS On Side Two:VISI.PRODUCTS (Subdirectory):B-SPREADSHT.SIZE : 3EZP Spreadsheet vON.DISAS : An ATUNC member updates the Jeppson Disassembler.=- POWERKEYS.AD : Ad for DA Datasystem's Powerkeys utility.B- POWERKEYS.DUMP : The Powerkey's Keyboard layout can be printed.*- POWERKEYS.REVW : A review of Powerkeys.C- RAM.DISK : AIRECTY.SEARCH : Tips on searching directories.0 The Best of ATUNC #6: Side Two-B3INF-28 InformationBootableDS 5.25SOS On Side Two:)UTILITIES.MISC (Subdirectory)(Continued):C- FILE.RECOVERY : Review of On Three's Lazarus file recovery pgm.E- JEPPSELETE.KEY.MAKE : Another way to add a delete key to your ///.@- DIR.LABELER : Discussion of Directory Labeler /// v. 1.3.:- DIR.SEARCH : Some notes about directory searching.A- DIRECTORY.LABEL : Meeting topic will be Directory Labeler ///.3- DERIAL.CABLE :How to make a serial cable for your ///.JSOS.DRIVER.FILE :Al Bloom's tutorial on working with the SOS.Driver file.9SOS.DRIVERS :More on modifying your SOS.Driver file.LTELECOM.INFO :Everything you need to know to get into telecommunications2UPGRADE.256K :How to upgrade from 128 to 256k.=UTILITIES :Little known utilities in System Utilities.7VIDEO.HELPS :Getting Composite Color from the ///.MPair/D.A. Datasystems Catalogs3INF-30 Information NonbootableDS 5.25SORKS What the ThreeWorks disks contain.6ThreeWorks Disk #1: Side Two3INF-31Information (SW) Not BootableDS 5.25SOS On Side Two:HAPPLE3.BIB.85 An Apple /// Bibliography of articles for the year 1985.KA3.GLOSSARying to convert AppleSoft Basic programs.ThreeWorks Disk #1: Side One-C3INF-31Information (SW) Not BootableDS 5.25SOS(Side One Continued)CREPRINTS How to order reprints of articles you find in! ThreeWorks.8THREE.Wmarketing.JPEEK.POKE.CALL For the Basic programmer. A list of all known Peek,F Poke and Call statements with Apple /// BusinessJ Basic translations where possible. Useful for thoseA trFATAL.CODES A list of non-fatal codes which the user may, onG occasion find on his/her screen and what it meansG to the operation of the user's program. Original7 information from Sun Re occasion find on his/her screen due to a program= failure. Original information from Sun" Remarketing.ThreeWorks Disk #1: Side One-A3INF-31Information (SW) Not BootableDS 5.25SOS(Side One Continued)FNON. ///. Royaltyware cost $5.00/set. On Side One:HBIB.80.84 An Apple /// Bibliography of articles beginning in. 1980 and ending in 1984.BFATAL.CODES A list of fatal codes which the user may, onF ces Spread Sheet module.;WOSBASE :A little information about the WOSBASE DBMS.<ThreeWorks Disk #1: Side One-A3INF-31Information (SW) Not BootableDS 5.25SOS2The first of four disks containing Dave Ottalini'sFfamous data base files for the Appler: loading/saving with/control characters.1WD.OKI :Word Juggler Okidata 92/93 Filter.@WORD.PROCES :File Format for 3EZ Pieces Word Processor module.;DATA.BASE :File Format for 3EZ Pieces Data Base module.>SPREAD.SHEET :File Format for 3EZ Pie Pascal filer.D"Best of ///'s Company #3: Side-Two3INF-31 InformationBootableDS 5.25SOS On Side Two:4LETS.TALK :Review of Russ System's Lets Talk BBS?WORD.JUGGLER :Word Juggler and Desktop Manager's Macro ManagerJWD.J2 :Using Word Juggley #3: Side One-B3INF-31 InformationBootableDS 5.25SOS(Side One Continued):?MICRO.COURIER :Zap modem initiation sequence in Micro Courier.FSOFTWARE :Miscellaneous tidbits of useful Apple /// information.7FILE.RECOVERY :Recovering files with theriter to Word/Word Perfect.>VISI.SKED :Using Visi Schedule for Critical-Path scheduling.4BIG.DISK :What's {} mean in TAU's Big Disk Check.2BPI.SOA :My SOA Accounting package is bombing!%KEYSTROKE :How to backup Keystroke.$$Best of ///'s Companct)$Best of ///'s Company #3: Side One-A3INF-31 InformationBootableDS 5.25SOS6The third disk in a series containing just some of theAgreat information from Ed Gooding's ///s Company BBS in Richmond, Virginia. On Side One:6APPLEWRITER :Convert Applew the programs that were once offered forHour SARA. All of DA Datasystems disks are in the PD now. Some of Pairs#are (hopefully there will be more.)9Side One: Pair Software Catalog (Huge file - 222 blocks)3Side Two: DA Datasystem Catalog (Files by subjeOS@This disk contains the catalogs of two former Apple /// vendors.LThis disk is offered for two reasons. One is historical. One Informational.KWe think it's worth spending a disk to do this. And we think its importantKto keep available information aboutY A glossary of terms related to the Apple /// and many' of it's programs.8ThreeWorks Disk #2: Side One-A3INF-32Information (SW) Not BootableDS 5.25SOS3The second of four disks containing Dave Ottalini'sFfamous data base files for the Apple ///. Royaltyware cost $5.00/set. On Side One:HAPPLE3.BIB.86 An Apple /// Bibliography of articles for the year 1986.HA3.PGM.VERSIONS A list of many Apple /// programs and their latest& roups). In many cases, the contact person may stillK have a /// and can provide support if you live in the area.HAPPLE3.CONSULTS A list of individuals known as consultants for the Applsk #4: Side One-C3INF-34Information (SW) Not BootableDS 5.25SOS(Side One Continued):IAPPLE3.CLUBS2 This file contains a list of groups that were AppleD /// specific or had /// SIGs (Special InterestK G and engineering numbers.AAPPLE3.CLUBS A current listing of organizations that areL active Apple ///-specific clubs or have Apple /// SIGS0 (Special Interest Groups).ThreeWorks Di historical setting.ThreeWorks Disk #4: Side One-B3INF-34Information (SW) Not BootableDS 5.25SOS(Side One Continued):FAPPLE3.CABLES An Apple cable compatibility guide for the AppleJ family of computers, including stock3.BBS A listing of Apple /// Bulletin Boards around the nation.DAPPLE3.BOOKS A listing of books about the Apple /// or thatD mention the Apple /// either in a technical or) s prices and descriptions. M-ZThreeWorks Disk #4: Side One-A3INF-34Information (SW) Not BootableDS 5.25SOS2The third of four disks containing Dave Ottalini'sFfamous data base files for the Apple ///. Royaltyware cost $5.00/set. On Side One:GAPPLEndors and clubs around the nation.> Includes prices and descriptions. A-L _7PD.3SOFTWARE2 A list of all known public domainH offerings by vendors and clubs around# the nation.< Include3.BIB.90s An Apple /// Bibliography of articles for 1990/91.ThreeWorks Disk #3: Side Two3INF-33Information (SW) Not BootableDS 5.25SOS On Side Two:7PD.3SOFTWARE1 A list of all known public domainG offerings by vey of articles for the year 1989.7DL13.DB A data base listing the offeringsI on the DL (Data Library) 13 section of MAUG (Micro-A networked Apple Users Group) on CompuServe.HAPPLEeWorks Disk #3: Side One3INF-33Information (SW) Not BootableDS 5.25SOS2The third of four disks containing Dave Ottalini'sFfamous data base files for the Apple ///. Royaltyware cost $5.00/set. On Side One:HAPPLE3.BIB.89 An Apple /// Bibliograph of Apple /// articles for the year 1988.JFILE.TYPES A list of the various file types used by the Apple //% computer family.HMON.COMMANDS A complete set of the Apple ///'s Monitor Commands.IThre BBS.ThreeWorks Disk #2: Side Two3INF-32Information (SW) Not BootableDS 5.25SOS On Side Two:LAPPLE3.BIB.87 An Apple /// bibliography of Apple /// articles for the year 1987.LAPPLE3.BIB.88 An Apple /// bibliographye Continued)LA3.CHIPS A list of the chips found inside your Apple ///, theirF respective location and sources of replacements.I Original information from Ed Gooding's ///s Company version numbers.LA3.REPAIRS A list of companies or individuals who can repair your; Apple /// or its peripheral hardware.`ThreeWorks Disk #2: Side One-B3INF-32Information (SW) Not BootableDS 5.25SOS(Side One ///.6ThreeWorks Disk #4: Side One-D3INF-34Information (SW) Not BootableDS 5.25SOS(Side One Continued):LAPPLE3.DRIVERS A listing of all known Apple /// device drivers, their8 latest version numbers, size, etc.JAPPLE3.PUBLCTNS A list of publications dealing specifically with theB Apple /// or that include articles about it.KAPPLE3.TIPS A listing of Apple /// tips from numerous newslettersH and magazines. Brief desBethesda, Md. 20814- (301) 654-8060+ WELCOME!: WAP /// SIG Public Domain Library Disk 8 Category/Number: Information/3INF-234 E /// /// /// /// /// /// /// /// /// /// /// /// /// /// ///4 /// SIG, Washington Apple Pi2 7910 Woodmont Ave. #9100 TGO=====|====|====|====|====|====|====|====|====|====|====|====|====|====|====|===.G :Review of the //GS version of DTM - Author Unknown.RTICLES (Subdirectory):7-CAMPBELL.1 :Cooling the Jets on your Hot Apple ///;-CAMPBELL.2 :The Apple ///: Death Bed or New Found LifeD-COLLECT :How to buy and collect old computers By Tim Swenson!-TESSELL.MACROS :Using DTM MacrosD-DTM.REVIEW 6: Side Two-B3INF-35 InformationBootableDS 5.25SOSOn Side Two (Continued)PD.DISKS (Subdirectory) -AUG.DISKS -SEPT.DISKS -OCT.DISKS -NOV.DISKSBest of Ottalini #6: Side Two-C3INF-35 InformationBootableDS 5.25SOSOn Side Two (Continued):OTHER.A TRAIL.JANUARYTRAIL.FEBRUARY TRAIL.MARCH TRAIL.APRIL TRAIL.MAY TRAIL.JUNEBest of Ottalini #6: Side Two-A3INF-35 InformationBootableDS 5.25SOS On Side Two: TRAIL.JULYTRAIL.SEPTEMBER TRAIL.OCTOBERTRAIL.NOVEMBERTRAIL.DECEMBERBest of Ottalini #1 version of the Best of Ottalini, all theCarticles published by the WAP /// SIG's Co-Chairman for 1991. Some9additional articles are also included from other authors.Best of Ottalini #6: Side One3INF-35 InformationBootableDS 5.25SOS On Side One:YS A complete listing of the Keywords used in BusinessJ Basic. Includes descriptions, examples and notes on# each Keyword.Best of Ottalini #63INF-35 InformationBootableDS 5.25SOS9This is the 199le /// Computer. The compiler has checkedE some of them, but would recommend the user call= or write a specific vendor in this listH before sending any money for a particular product.IBASIC.KEcription of tips provided$ in most cases.pThreeWorks Disk #4: Side Two3INF-34Information (SW) Not BootableDS 5.25SOS On Side Two:HAPPLE3.VENDORS A list of all vendors who support or supported theC App Disk Format: NOT self-bootingK This is the 3EZP version of the /// SIG's Public Domain catalog. It'sJ been changed to Data Base format to make it easier for you to read andN manipulate. It can easily be recombined and then placed on your