LnSOS BOOT 1.1 SOS.KERNEL SOS KRNLI/O ERRORFILE 'SOS.KERNEL' NOT FOUND%INVALID KERNEL FILE: xةw,@  ȱlmi8#)!)O^<FFLASHNAME.DAT[GYw %SEG.T jŸ/ -READ.ME.FIRSTO$: *HELLO.TEXT{Y O$HELLO }Y/ *SOS.INTERP 4keY! *SOS.KERNEL ,VY!a*SOS.DRIVER ^4ZDISKNAME.DATZ0YYIII.BLM.13TUFFu' -ASCIUPLD.TEXT'L - +TESTFILE.IN/" TESTFILE.OUT1= 1 'CONDATA3 **MENU.MAKER 6 |/ASCIUPLD.MANUAL9 >dLԡm#i㰼m#iЕOLԡȱfg hi !dLԡ憦  Ljmkm l y`2 Lԡ8(Je稽)ʈ@L  !"#$%&'()*+,- else begin len := i * 512; 3ok := false; 3j := 0; 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] := *rec := ''; *repeat if ((ptr < 1) or (ptr > len)) then begin i := blockread (fl, buf, 2); 0if i = 0 then begin ef := true; 3line_end := true; ptr := 0; end 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 beginile} 3if (length(strg) > 0) then if (strg [1] =' ') 7then delete (strg, 1, 1); 3if (length(strg) > 0) then if (strg [length(strg)] =' ') 7then delete (strg, length(strg), 1); end; {BLANK1} procedure READ_ASC (var fl: filetp; var f: fileblock); (var strg: string); 3{Strip double/lead/trail blanks from string }  var double: integer; 8 *begin double := pos (' ', strg); 3while (double > 0) do begin 9delete (strg, double, 1); 9double := pos (' ', strg); 3end; {wh00] of integer; *fld_trunc: packed array [1..100] of boolean; *fld_max: integer; *out_con: array [1..100] of integer; *out_max: integer; *fld_err: integer; *ten_max: boolean; *aladin_up: boolean; * procedure BLANK1 *err_char: char; *rec_no: integer; *fld_name: array [1..100] of string [40]; *fld_val: array [1..100] of str255; *fld_dummy: packed array [1..100] of boolean; *fld_len: array [1..100] of integer; *fld_out: array [1..1ext; *outpath: string; *prefix: string; *infile: filetp; *inblock: fileblock; *inpath: string; *scrn_title: string; *err_str1: string; *err_str2: string; *err_str3: string; *err_str4: string; *ok: boolean; *wk_str: string; *wk_str2: string; *wk_255: str255; *wk_char: char; *yyyymmdd: string; *wk_curpos: integer; *confile: text; *conpath: string; *conrec: string; *outfile: t buftype = packed array [1..1025] of char; fileblock = record :BUF: buftype; :LEN: integer; :PTR: integer; :EF: boolean; :REC: str255; :end; *filetp = file; *filetype = file;  var *i,j,k,l: integer;{$list+}  program ASCIUPLD; {Convert ASCII file to upload fmt - AMB 12/15/87} *{ } {$list-}  uses applestuff, genutil, dirstuff;  {$list+} type str255 = string [255]; chr (00); 9ok := true; 9end; 6{endif} 3until (ok); if eof (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} {endif} end; {check for actual read} {endif} -if ptr > 0 then repeat 0j := scan (len + 1 - ptr, =chr(13), buf [ptr]); 0if (j + lenD); *upperstr (PATHNAME ); *blank0 (IO_METHOD); *blank0 (PATHNAME ); *if (IO_METHOD = 'REWRITE') or (IO_METHOD = 'RESET') -then *else begin -wk_str1 := 'Procedure OPEN error: Invalid IO_METHOD parm'; -wk_str2 := concat ('I/O method passed = "',ANK0} procedure UPPERSTR (var str: string); var i: integer;  begin for i := 1 to length (str) do .if ord(str[i]) in [97..122] 1then str[i]:= chr(ord(str[i]) - 32); .{endif} *{end for i} end; {UPPERSTR} begin upperstr (IO_METHO* procedure BLANK0 (var strg: string); var i: integer; begin repeat -if length (strg) = 0 then begin 0i := 0; 0end -else begin 0i := pos (' ', strg); 0if i > 0 then delete (strg, i, 1); 0end; -{endif} *until (i = 0); end; {BL integer; *i: integer; *user: boolean; *wk_str1: string; *wk_str2: string; *wk_str3: string; *wk_str4: string; *wk_char: char; *ok: boolean; *x,y: integer; *curs_at_eol: boolean; 13/83 AMB 1. Don't scroll on error. } 3{ 2. If pathname starts with "**" } 3{ open without user interface. } 3{ } 4 var error_num: } 3{ ABORT causes an EXIT(PROGRAM) to be issued. } 3{ QUIT exits the program with a null pathname. } 3{ } 3{ Modified 11/3{ } 3{ Under normal conditions this proc will try to } 3{ get a valid pathname forever. If none exists, } 3{ the user may exit abnormally: } 3{ } 3{ TYPE FILETYPE = FILE OF whatever; } 3{ BEGIN } 3{ OPEN (fname,dspname,'RESET/REWRITE',pathname) } 3{ END; } } 3{ A file of records must generally have its own } 3{ sub-procedure to use OPEN: } 3{ } 3{ PROCEDURE open_rec; st have a TYPE } 3{ variable called FILETYPE. If "TEXT," OPEN will } 3{ work for both TEXT files and UNTYPED files. This } 3{ should be the default for a program generally. } 3{ 4var PATHNAME: string); {In: Default PATHNAME or null} N{Out: Actual PATHNAME if OK. } N{ Null String if QUIT from proc } 3{Open a supplied filename } & 3{Notes: The calling program/procedure mu {FILENAME: Internal name of file} N{FILETYPE:User-defined data TYPE} N{ for the file. } 4DISPLAY_NAME: string; {English title of for display } 4IO_METHOD: string; {Either RESET or REWRITE. } -until ((line_end) or (ptr > len)); until (line_end); *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 XOPEN (var FILENAME: FILETYPE; gth (rec)) > 255 3then j := 255 - length (rec); 0{endif} 0{$rangecheck-} 0moveleft (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; IO_METHOD,'".'); -wk_str3 := 'Fix the calling program, please.'; -wk_str4 := 'Press RETURN to exit program.'; -write_error (wk_str1, wk_str2, wk_str3, wk_str4, 9[chr(13)], wk_char); -exit (program) -end; *{endif} *{$iocheck-} *user := true; *if copy (PATHNAME, 1, 2) = '**' then begin -delete (PATHNAME, 1, 2); -user := false; -end; *{endif} *x := -1; *curs_at_eol := false; *dot_text_code := false; *repeat -if user then begin 0wk_str1 := concat 0 ('Enter pathname of the ', DISPLAY_ 1; -if (incount mod 3) = 0 then write ('.'); -i := pos ('|', conrec); -if i = 0 then begin 0wk_string := conrec; 0conrec := ''; 0end -else begin 0wk_string := copy (conrec, 1, i-1); 0delete (conrec, 1, i); 0end; -{endif} -blank1 (wk_string);  [i] := 0; -fld_out [i] := 0; -fld_dummy[i] := false; -fld_trunc[i] := false; -out_con [i] := 0; *end; gotoxy (0, 14); write ('Loading Conversion Records'); *{$goto+} *repeat -readln (confile, conrec); -incount := incount +4write_error (err_str1, err_str2, err_str3, =err_str4, [chr(13)], err_char); 4fld_err := 1; *end; begin *fld_max := 0; *out_max := 0; *fld_err := 0; *incount := 0; *for i := 1 to 100 do begin; -fld_name [i] := ''; -fld_val [i] := ''; -fld_len procedure load_conv; label 1234; var *i,j,k: integer; *incount: integer; *wk_string: string; * *procedure err; *begin 4err_str2 := ' Press RETURN'; 4err_str3 := ''; 4err_str4 := ''; ; 0err_str2 := ' Press RETURN'; 0err_str3 := ''; 0err_str4 := ''; 0write_error (err_str1, err_str2, err_str3, err_str4, 3[chr(13)], err_char); 0end; -{endif} *until success; *write (chr (30)); *unitclear (1); *YN_23 := wk_char; end; {YN_23} 'Y','y','N','n'] then begin 0if wk_char > 'Y' then wk_char:= chr (ord (wk_char) - 32); 0success := true; 0end -else if default in ['Y','N'] then begin 0wk_char := default; 0success := true; 0end -else begin 0err_str1 := 'Please answer "Y" or "N."'-if length (s) > 66 then s := copy (s, 1, 66); -write (chr(30), s); -gotoxy (66, 23); -write ('(Y | N) --> '); -if default in ['Y','N'] then begin 0write (default); 0gotoxy (78,23); 0end; -{endif} -read (keyboard, wk_char); -if wk_char in [efault response or require a "Y" or "N" } var wk_char: char; *success: boolean; begin *if default > 'Y' then default:= chr (ord (default) - 32); *repeat -unitclear (1); -success := false; -gotoxy (0, 23); a'] then begin 3close (FILENAME); 3exit (program); 3end; 0{endif} 0end; *until error_num = 0; *{$iocheck+} end; {XOPEN} function YN_23 (s:string; default: char): char; *{Prompt for "Y" or "N" response at screen bottom } *{Allow a d to abort this program'; 0write_error (wk_str1, wk_str2, wk_str3, wk_str4, 3[chr(13),'q','Q','a','A'], wk_char); 0if wk_char in ['Q', 'q'] then begin 3PATHNAME := ''; 3error_num := 0; 3close (FILENAME); 3end; 0{endif} 0if wk_char in ['A', '-if error_num <> 0 then begin 0user := true; 0get_pas_error (error_num, wk_str1); 0wk_str1 := concat (PATHNAME, ' is invalid. ', wk_str1); 0wk_str2 := 'Press RETURN to retry'; 0wk_str3 := ' or Q to quit with no file'; 0wk_str4 := ' or Aresult; 0if (error_num > 0) 0and (pos ('.TEXT', PATHNAME) = 0) then begin 4wk_str1 := concat (PATHNAME, '.TEXT'); 4reset (filename, wk_str1); 4error_num := ioresult; 4if error_num = 0 then PATHNAME := wk_str1; 4end; 0{endif} 0end; -{endcase} -if PATHNAME = '' then begin 0error_num := 0; 0writeln; 0writeln ('No file'); 0end -else if IO_METHOD = 'REWRITE' then begin 0rewrite (FILENAME, PATHNAME); 0error_num := ioresult; 0end -else begin 0reset (FILENAME, PATHNAME); 0error_num := ioNAME, ': '); 0ok := prompt_for_filename (wk_str1, x, y, 6PATHNAME, curs_at_eol); 0if not ok then PATHNAME := ''; 0i := length (PATHNAME); 0if length (PATHNAME) > 0 then 3if PATHNAME [i] = '.' then delete (PATHNAME, i, 1); 0{endif} 0end; -{endif} -i := evalint (wk_string, wk_curpos); -if i = 0 then goto 1234; -if i >= 900 then begin 0i := i - 900; 0if i = 0 then i := 100; 0fld_dummy [i] := true; 0end; -{endif} -if ((i > 100) or (i < 1)) then begin 0str (i, wk_string); 0err_str1 := concat ('Invalid input field number = ', 3wk_string); 0err; 0goto 1234; 0end; -{endif} -if i > fld_max then fld_max := i; -blank1 (conrec); -if length (conrec) = 0 then begin 0fld_name [i] := 'Unused'; 0goto 1234; 0end; -{endif} xy (0, 0); *write (chr (28)); *err_str2 := ' Program aborts'; *err_str3 := ''; *err_str4 := ' Press RETURN'; *write_error (err_str1, err_str2, err_str3, 7err_str4, [chr(13)], err_char); *gotoxy (0, 0); *write (chr (28)); *e*for i := 1 to fld_max do begin .if fld_dummy [i] then begin 1{$rangecheck-} 1fillchar (fld_val [i], 256, ' '); 1fld_val [i, 0] := chr (fld_len [i]); 1{$rangecheck+} 1end; .{endif} *end; {for i} end; (*load_conv*) procedure abort_err; begin *goto4wk_string, ' is unreferenced.'); 1err; 1end; .{endif} *end; *if fld_max = 0 then begin -err_str1 := 'No input fields entered.'; -err; -end; *{endif} *if out_max = 0 then begin -err_str1 := 'No output fields entered.'; -err; -end; *{endif} string); 4err; 4end 1else begin 4out_con [fld_out [i]] := i; 4end; 1{endif} 1end; .{endif} *end; *for i := 1 to out_max do begin .if out_con [i] = 0 then begin 1str (i, wk_string); 1err_str1 := concat ('Output field number ', := concat ('Undefined entry for input field ', 4wk_string); 1err; 1end; .{endif} .if fld_out [i] > 0 then begin 1if fld_out [i] > fld_max then begin 4str (i, wk_string); 4err_str1 := concat ('Invalid output field number ', 7'for input field ', wk_field ', 3wk_string); 0err; 0goto 1234; 0end; -{endif} -fld_len [i] := j; -1234: j := j; *until eof(confile); *{$goto-} close (confile); *for i := 1 to fld_max do begin .if fld_name [i] = '' then begin 1str (i, wk_string); 1err_str1 6err_str1 := concat ('Invalid "T" length for Aladin'); 6err; 6end; 3{endif} 3end; 0{endif} -{endif} -j := evalint (wk_string, wk_curpos); -if ((j < 1) or (j > 255)) then begin 0str (i, wk_string); 0err_str1 := concat ('Invalid output length for ); 3err; 3end; 0{endif} 0fld_len [i] := 0; 0goto 1234; 0end; -{endif} -if length (wk_string) > 0 then 0if wk_string [1] in ['t','T'] then begin 3fld_trunc [i] := true; 3delete (wk_string, 1, 1); 3if aladin_up then begin ; -while (j > 0) do begin 0wk_string := copy (conrec, 1, j-1); 0conrec := wk_string; 0j := pos (' ', conrec); -end; -wk_string := conrec; -if wk_string = '*' then begin; 0if aladin_up then begin 3err_str1 := concat ('Invalid "*" length for Aladin'; 0err_str1 := concat ('No output length for field ', 3wk_string); 0err; 0goto 1234; 0end; -{endif} -j := pos ('|', conrec); -if j > 0 then begin 0wk_string := copy (conrec, 1, j-1); 0conrec := wk_string; 0end; -{endif} -j := pos (' ', conrec)0str (i, wk_string); 0err_str1 := concat ('Invalid out seq for field ', 3wk_string); 0err; 0goto 1234; 0end; -{endif} -fld_out [i] := j; -if j > out_max then out_max := j; -blank1 (conrec); -if length (conrec) = 0 then begin 0str (i, wk_string)end -else begin 0wk_string := copy (conrec, 1, j-1); 0delete (conrec, 1, j); 0end; -{endif} -blank1 (wk_string); -j := evalint (wk_string, wk_curpos); -if j = 0 then begin 0goto 1234; 0end; -{endif} -if ((j < 1) or (j > 100)) then begin ng); -if wk_string = '' then wk_string := 'Unused'; -fld_name [i] := wk_string; -blank1 (conrec); -if length (conrec) = 0 then begin 0goto 1234; 0end; -{endif} -j := pos ('|', conrec); -if j = 0 then begin 0wk_string := conrec; 0conrec := ''; 0-j := pos ('|', conrec); -if j = 0 then begin 0blank1 (conrec); 0if conrec = '' 3then fld_name [i] := 'Unused' 3else fld_name [i] := conrec; 0goto 1234; 0end; -{endif} -wk_string := copy (conrec, 1, j-1); -delete (conrec, 1, j); -blank1 (wk_strixit (program); end; {abort_err} begin *repeat -date (yyyymmdd); -today := concat (copy (yyyymmdd, 5, 4), copy (yyyymmdd, 3, 2)); -scrn_title := -('ASCIUPLD: Convert ASCII file for upload (AMB.12/87)'); -stdscreen (scrn_title); -gotoxy (0, 3); -inpath := ''; -xopen (infile, 'input ASCII file', 'RESET', inpath); -if inpath = '' then begin 0err_str1 := ' No input filename given'; 0abort_err; 0end; -{endif} -outpath := ''; -prefix := ''; -wk_str := inpath; -i := pos ('/', wk_st.0r maybe even worse than that CA 12345 Mrs. Jane 951-8702 Ben and Gwen Evans 2308 Capistrano Whatsatown CA 12345 Emily Jones 552-7653 LABEL Bill Winfrey 2311 Capistrano Whatsatown CA 12345 Bill, Jr., Frank 951-2196 John and Betsy Wurtz and this line is way way way too long 23057890 Apartment 7654321 Capistrano Avenue de Sol Whatsatown CA or maybe even NJ 12345 John Christopher Linda (*) and Michael Sojka 951-1610 Dan and Ann Amos 2306 Capistrano Whatsatown o_max:4); -wk_char := yn_23 ('Convert another file?', 'N'); *until wk_char = 'N'; *gotoxy (0, 0); write (chr (28)); end. {ASCIUPLD} infile); -close (outfile, lock); -gotoxy (0,18); -for i := 1 to fld_max do begin 1if fld_dummy [i] then fld_max := fld_max - 1; -end; -writeln('Number of input fields per record = ', fld_max:4); -write ('Number of output fields per record = ', outdif} 8{$rangecheck+} 8readasc (infile, inblock); 8end; 5{endif} 1end; 1for i := 1 to out_max do begin 5writeln (outfile, fld_val[out_con[i]]); 1end; 1if ten_max then 4if rec_no >= 10 then 7inblock.ef := true; 4{endif} 1{endif} -end; -close (8{$rangecheck-} 8fillchar (fld_val [i], 256, ' '); 8fld_val [i] := inblock.rec; 8if fld_len [i] > 0 then begin ;if ((fld_trunc [i]) ;and (length (fld_val[i]) <= fld_len [i])) ;then ;else fld_val [i, 0] := chr (fld_len [i]); ;{endif} ;end; 8{en-gotoxy (0, 16); -write ('Processing record number'); -rec_no := 0; -while not inblock.ef do begin 1rec_no := rec_no + 1; 1gotoxy (24,16); 1write (rec_no:6); 1for i := 1 to fld_max do begin 5if fld_dummy [i] then begin 8end 5else begin (outfile, purge); 0abort_err; 0end; -{endif} -wk_char := yn_23 ('Just do a ten-record test?', 'Y'); -if wk_char = 'Y' 0then ten_max := true 0else ten_max := false; -{endif} -inblock.ef := false; -inblock.ptr := 0; -readasc (infile, inblock);  := ' No conversion data file.'; 0close (infile); 0close (outfile, purge); 0abort_err; 0end; -{endif} -load_conv; -if fld_err > 0 then begin 0err_str1 := 'Your conversion data file has problems.'; 0close (infile); 0close (confile); 0close0close (infile); 0err_str1 := ' No output upload file.'; 0abort_err; 0end; -{endif} -gotoxy (0, 11); -conpath := concat (prefix, 'CONDATA'); -xopen (confile, 'CONVERSION DATA file', 'RESET', conpath); -if conpath = '' then begin 0err_str1-{endif} -if inpath = wk_str2 then begin 0wk_str2 := concat (wk_str2, '.UP'); 0end; -{endif} -outpath := concat (prefix, wk_str2); -gotoxy (0, 7); -xopen (outfile, 'output UPLOAD file', 'REWRITE', outpath); -if outpath = '' then begin str; -{endif} -if length (wk_str2) > 12 then wk_str2 := copy (wk_str2,1,12); -wk_char := yn_23 ('Are you uploading to Aladin?', 'N'); -aladin_up := false; -if wk_char = 'Y' then begin 0aladin_up := true; 0wk_str2 := concat ('X.', wk_str2); 0end; r); -while i > 0 do begin 0prefix := concat (prefix, copy (wk_str, 1, i)); 0delete (wk_str, 1, i); 0i := pos ('/', wk_str); -end; -inpath := wk_str; -i := pos ('.',wk_str); -if i > 0 0then wk_str2 := copy (wk_str, 1, (i-1)) 0else wk_str2 := wk_ (J)=A$(I),1,31)!J/2<>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),57TUVWXY\VOLUME 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$0 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 | | | 11 | Phone | 10 | * | 12 | Codes | 9 | 5 | 913 | Title | 3 | * | 914 | Region |1 | 2 |24| 6 | T10| 5 | State | 7 | 2 | 6 | Zip Code | 8 | 5 | 7 | Zip Ext | | | 8 | Others1 | | | 9 | Others2 | | | 10 | Misc Seq | Field Name | Seq | Length | -----|--------------------|-------|--------| 1 | Name | 2 | T20 | 2 | Number | 4 |* | 3 | Street | 5 | T15 | 4 | City Winfrey 2311 Capistrano Whatsatown CA 12345 951-2196 John and Betsy Wurtz 23057890 Apartment 7654321 Capistrano Aven Whatsatown CA 12345 951-1610 Dan and Ann Amos 2306 Capistrano Whatsatown CA 12345 951-8702 Ben and Gwen Evans 2308 Capistrano Whatsatown CA 12345 LABEL 552-7653 Bill16,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; and to boot. ASCIUPLD converts an ASCII text file (one line per record field) from one data base or spread sheet program into the u8:;<=>?@ABCDEFGHIJKLMNOPQRSwxycos Street, Blacksburg, Virginia 24060 Office: (703) 231-7921 Home: (703) 951-2025 CIS: 76656,1514 BitNet: IRBLOOM @ VTVM1 * NOTE: This program is on SIDE TWO of this WAP PD DIe fields (Name, Street, and City) will be truncated if the field length is longer than 20, 15, or 10 respectively. Three fields (State, Zip Code, and Codes) will be padded with blanks or truncated to a fixed length. The two lines at the end of the command file illustrate the "little man who wan't there" feature. In this example, the ASCII file is to be imported into a ten-field record. Each imported record has two fields (Title and Region) that aren't in the source ASCII file. ASCIUPLD will create upload fput fields. Each output field must be referenced. If there is a duplicate, the most recent applies. A gap anywhere between 1 and the largest output sequence number is an error. You may not have zero output fields. 4. The fourth entry, if any, isd by this sequence number. If it is zero or not numeric, the program assumes this is an unused field. If it is numeric and invalid (not 0 to 100), it is an error. It is also an error if it is numeric and larger than the number of real and dummy inr you want. If there is no "second |", the program assumes this is an unused field. 3. The third entry, if any, is between the second "|" and the third. If it is numeric (1 to 100), it refers to the output file sequence. The upload file is create). You may not have zero fields per record. 2. The second entry, if any, is whatever is between the first "|" and the second. It is the name of the input field. This human readable text is for your convenience only. The field may be blank or whateve file's record group. If a group has 25 lines and you list 10 entries in the command file, ASCIUPLD thinks each ten input lines refers to a single record. Don't list 30 real items either. You WILL be sorry. You may have "extra" dummy lines (9xxuence number (with 900 converted to 100). If the entry is numeric and invalid (not 1 to 100), it is an error. If there is no "first |" ASCIUPLD assumes this is an unused field. You must have one real "first entry" for each line in the input ASCIIst recent counts. If the entry is not numeric, the line is ignored. An entry in the range 900-999 flags a "dummy" line, one that is not in the input file but is to be created in the output file. The leading '9' is stripped to find the true seqroughly. These are the rules: 1. The "first entry" is whatever precedes the first "|" or the whole line if no "|" is present. If that is a number between 1 and 100, it refers to the corresponding input field number. If you duplicate a number, the mon convenience. The values need not be lined up -- left or right justified -- within fields. COMMAND FILE RULES ASCIUPLD seems to take forever to read a typical command file. That is because it is checking everything very thoe line. Up to 100 fields may be described in a command file. The fields of a command file line need not be in any special places. The vertical bars ("|") are the field separation indicators. The bars are in fixed columns in the above example only for huma Others1, Others2, and Zip Ext. Its "unused" status is flagged by a blank or zero or non-numeric "output sequence" entry. The command file may have comment lines (the column titles in the above example), identified by a non-numeric entry at the start of th ASCII Upload The command file must have at least one line per input field. An unused field need have only its field number -- as shown for field 10 in the above example. An unused field may be more completely described, as withTitle in position 3 will have its original, non-existent, length -- a zero length string -- an "*" here is the same as a "0" length. ASCIUPLD December 19, 1987 Page 1 Bloom ile lines for those missing fields. The "9" prefix to input sequence number tells ASCIUPLD that it should not read an input file record. Instead, it creates a blank line of the proper length in the proper sequence. Region in position 1 will be two blanks. whatever follows the third "|". It is the length of the field in the output file. If the third entry is numeric and valid (1 to 100), this must be either an asterisk (*) or a number between 1 and 255. The number may optionally have a "T" prefix. If the field is an asterisk, ASCIUPLD lets the input field length alone, or creates a zero-length string for "little man who wasn't there" lines. If it is a number, the output string will be of that length. If it is a "T" prefixed number, the o in A. Each command file record is read and edited during "Loading.." If an error is detected, it will flash in a block on the screen. Note the error for later correction. After editing, if any errors were detected, the program ends. Correct rectory as the input ASCII file) else edit the pathname as in A. An Aladin upload file must have the "X." prefix. D: Press RETURN to accept the default (a file named CONDATA) in the same directory as the input ASCII file) else edit the pathname as UP-Arrow: File menu. B: Press RETURN or "N" if it is not an Aladin upload. If it is an Aladin upload, you may not have "*" or "T" output lengths. C: Press RETURN to accept the default output upload file path (a file named X.whatever in the same dis: ESC: No file. Pgm ends. RET: Accept the contents. L/R Arrows: Move cursor. Openapple-I : Toggle insert. Openapple-L-Arrow: Delete left. Openapple-R-Arrow: Del right. Openapple-ESCAPE: Default reappears. Y | N) --> {Y} | H: | Convert another file? (Y | N) --> {N} | | | A: Enter the input file's pathname. Edit the pathname as follow | Number of output fields per record = yy | |---------------------------------------------------------------------| B: | Is this an Aladin upload? (Y | N) --> {N} | D: | Just do a ten-record test? ( | F: | Processing record number nnnn | | | G: | Number of input fields per record = xx | | D: | Enter the path of the CONVERSION DATA file: Prefix/CONDATA | | Loading Conversion Records..... | | | A: | Enter the path of the input ASCII file: | | | C: | Enter the path of the output upload file: Prefix/def-name | | | | ASCIUPLD: Convert ASCII File For Upload (v.11/87) 12/01/87 | | | | RUNNING ASCIUPLD When you boot ASCIUPLD (or invoke it from Catalyst or Selector), you will see a single screen. ASCIUPLD's screen looks like this: | named CONDATA in the same directory as the input ASCII data file, but it can be anywhere. The command file must be prepared in advance. Almost any editor will do, but be careful in Apple Writer to terminate each line with RETURN. |" or a blank, after which you may enter anything. ASCIUPLD ignores everything after the fourth entry. The command file is an ASCII text file in any of three acceptable SOS file types: ASCII text, Pascal text, or Pascal data. The program assumes it is utput string will be no longer than that number. ASCIUPLD December 19, 1987 Page 2 Bloom ASCII Upload The fourth entry may be followed by a "the command file and re-run ASCIUPLD. E: Press RETURN or "Y" to have ASCIUPLD process only the first ten records. You should always run a test first. Then use any handy editor (or your eyes if you selected .PRINTER output) to see if the output file is exactly what you want. This is a long running program, so take a few extra minutes to ensure it's doing good before committing to a full run. ASCIUPLD December 19, 1987 Page 3 Bloom T 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$=TALLATION 1. Create a ASCIUPLD sub-directory and then copy the boot disk files .D1/SYSTEM.STARTUP --> .PROFILE/ASCIUPLD/ASCIUPLD.CODE .D1/SYSTEM.LIBRARY --> .PROFILE/ASCIUPLD/ASCIUPLD.LIB 3. Select "Catalyst Edit" from the main menu. 3. Enter "1" file fields are only as long as they need to be, and the output file fields may be padded with blanks -- and may even not exist in the input file, the output file can be considerably larger than the input file. CATALYST INSomething like the public domain NVASCI program to strip the "NAME:" part and create a standard ASCII file with one line per record field. You are also responsible for ensuring that the output device has enough room to hold the upload file. Since the inputll quickly get out of phase. When PFS prints an ASCII file to disk, it does not print blank record fields. If one field of one PFS record is blank, your whole output file will be out of sync. For PFS, you must print to disk in NAME:VALUE format, then use sare responsible for ensuring that the input ASCII file does not have any missing fields. If you define the input file as having 25 real lines per record, each 25 lines is considered to be a record. If the input file does not have one line per field, you withe number of output lines per record. G: At the end of processing, ASCIUPLD tells you the number of records per field in the input ASCII and in the output upload files. H: Press RETURN or "N" to terminate the program. Press "Y" to re-start. You ASCII Upload F: An odometer shows the number of records (complete sets of ASCII file lines) that have been processed. Processing time is directly dependent on the number of input lines per record and on 1660,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":1750M$="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:=21>> ""*:<"">""""""""""""">>><2"<""">""" ""  ">"6**"""""&*2""""""""""""*,"" "" ">""""""""""""""**6"""""""> >>>xr]_`abcdefghijklmnopqrstuvGA7  3  5  >>< (&20 *, **>> "2*&" " >>  ">> "8""> """"""< SOS DRVR"CUSTOM.3 )((8*,;((*,((+)((9/(p((>3  =9 :9 .(~|L|LNqooGoDDDcc0ccpc]]c"QM"|@@pAATT**|a$,1)="/"5060:s=s-1 5030=a$240 MENU.MAKER 6.2 * Thanks to C.M.Davidson for his help!THE WAP OFFICE LIBRARY HAS A NUMBER OF APPLE /// BOOKS AND MAGAZINES. ASCII to Data Base Conversion Utility by Bloom l; 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 leve 1600 &:WW=1:0 :SEG=1;".D1/SEG.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:"7r|>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 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: ASCII Upload Interpreter Pathname: CATALY%(-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 IST/PASCAL (A) Extra Drivers: Press RETURN Character Set Pathname: Press RETURN Screen: Press RETURN Keyboard: Press RETURN Prefix: Press RETURN Max Files Allowed Open: 3 Program Path: .PROFILE/ASCIUPLD/ASCIUPLD.CODE 6. Ent~ŭ᭭򭭪𭭠򠭠頭퀠Šӳ頠𠠀𠠠堠젭ӠΠSOS NTRPRHeLZĠР쁭堠堠ՠP򠭠έ魭HER 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: FLAShich order to import the fields. It even let's you create import fields that aren't in the original file. Information and source code is on Side One. Program is on Side Two. Another great PD offering by Dr. Al Bloom. r. Al Bloom. n ASCII text file (one line per record field) from one data base or spread sheet program into the upload format needed by an importing program. A special command file tells ASCIUPLD (1) which fields of the input ASCII file to be imported and (2) in wz|0 WELCOME! WAP /// SIG Public Domain Library Disk Category/Number: Bloom Disks/3BLM-13 Disk Format: Self-booting both sides ASCIUPLD converts a /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// SIG, Washington Apple Pi 12022 Parklawn Drive Rockville, MD. 20852 (301)-984-030uper PMove, the interpreter's name is .PROFILE/SOS.INTERP ASCIUPLD December 19, 1987 Page 4 er "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" NOTE A: If your Pascal 1.2 interpreter was installed with S̠Ώ h:gpOn[n٧s]ds3issssssss0b>&dsjs|T}|s[:: 悅 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  `89$ 0~!L`!sm?iٰcL`S )!a{)Qi ڐ߽S) -ai) -aɢ ɣɍж$HS -ahʥ0SSȩ5%"/װ&hԐɈf0ɔĐ 8,f 8f L_ʅSS=ȄL`ȱi8eiidHddhd) _ ƢLh _L>h jhP _S @a-Qggeg5hih 6i6 "]S" ]$%SSSg a aL^ S S`La8 SiUjjS):,$f 0$ 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<^ENFONEXINPUOUTPUDIREAWRITOPECLOSATEXABYAAAAAWINDOINVOKPERFORAAFRHPOVPdd A 6 s e 9c()' 9cKHLI jLdj89弅:彬: 悅`H hɝɞɜ)`dd  6芅 e ()'` e'()HKIL 9cL>hL<^) i!Ls j @aLK$L% L<^gHhHhH , - b j$% @ag5h6h6hhhhh8g5h6h 悅`6 "]La ud `L  d.CONSOLE[[ TdSdddddd0 ddddd`?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 )L<^ȱQȱȅR dj sLHoUVV$ LhU Lp$ LL<^opL^```?EXTRA IGNORED?REENTER $0pL,`LgXW ׫ k*iXX 4X \\L<^Xii7 { n k$ |WlXVVE$ 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ȪЖ 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 {ghhi L[ s r$PLsi,L3-hLs L*tɘcɭ_ TTLdd`jk8L|L3L3TL3,L3i LL r$PLLBLsș Ȅ ( qƚƚ` s s),;,=,#,(,,ѼLL<^L<^ llmm$P$`LćHƽ Ƽh`$ lȱlLL{ɝɍLɎСL s HI s shmHmHlHHɦ# shmHmHlHH , hHLt  ,, shTTLui ui,L3$0 |Lu xijk6kxyy xxy6+|] {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р |  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 | i8fe.șR0șRmymlylkykjyj00ڊIi i/ȄȪ)Re.șRI)ЪR0.ȩ+f.8f-RER/8 i:RRRRRR`y`'d |Ģ { &{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 8` `H Jh(L悈`H逨h` Hh8 Hɀjhji` HihJi(`  ~q$L ɺ b$P i pi$ȱLdjɻƟ dj 柰ީ Lihh sLg  s ! b   s "!!!" ऩ थ (! ( ऩ थ (" ( द!LGb8Lऩ@iu +-ELj) e | ^ .' "5 1 p) iIii i)Lm` ?i $0 ׄ $0 $0 ^`Hhth`^Qb ^^ 78ߠȘ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 楽HHȱȱ6H6H5H s =к bqhhh Lshhhh` ~R/mZlmYZ PujHkki^^`H"h{||kjkȱ{ "ie{||  V{|56|6 w&5L<^i8e` ě 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|Hgȑ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^f8 hx57 xLCx8I77JJ8 88` H dhjL YYHH dYZZ oxhhe5566ɂ逅66 wZZY L YIL=m ) s  ʊHYImm shhhhYhZhZHHE` 3YZZ xLCxl5Ym6Zm6Z x` Lj5 3LٓL bq VlmL{} ӓ0566 `sL{ bq Zm*elLmLiɑL %}lm$%`L:^fCDDEFUVFVX L; d  seRթR`yiɀjjn*8miɝ d L .q$uL$)JJ8偅8傪 u Tf$i0Ł!y0GLqL~䁰< 0$H ,GhGթ $u$n 0GЫ-Gv)' $G uJ-$n0+G $G0)`u vphh` Ljk ,hh`Sj9-k L9j ekekk|z)ekk |j[ ٢  L`j 9kkj"j"kеAX"+-&$.ECR/#Z*! DBA0 k$JJJJ) vvyLj L ʟ,-uukv kv@vvyL5Lj ʟA80멀uukeqqtt$uA)*t L; $uЫkЦuuj ysLq,kl$uhuuj XkkNuuj k 4%v. #  1$u tAvʘtDթ q(~th`pvquts~y fp$pp8j/;XAx=|8ez{{ ghh "o `L x  wwghhoؠKkqvj L`$uZuukvN kGv@  pJ 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@eeehi?e ueL5e qrL,op ɩ`et?ek;e`hZ L<^hZL<^L=ee>e ?e`opqrst !e5ehe?eLje LjeR=89R>:>:iR:RiRRiRL`8(RR(`EeFe  s bq Vml0L dMeL` bՍe :RRRiRȐȰRe9Re: J 2IHJh*=>> 95:6:6R L1 1Lԫ`L:^  aFL^R, ue 5eLڭR7>e?e5e?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;e,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?e ɩE` eĐL Ȑ 15WL QL5WW{5 ې'`,55 ې'` ݠ B1 ȩȑ Lɦ8`5  @ R㥶i ` İG8`F`X8``éۅĩ >` T֩xxMH]@ Kۅ5H ɐE$ eİ Ȱ h`h`8`W h8`hR`hLҿ i x +ۅ5ۅ6 ǰ `E8<W`­ `0XLۅ5` ռ``ߤeI`IiţO`Ȯʆ/ )󘑡`()0zq 滅ѺY Ueۅ5Ѻ Ѻ  Qܐ'`i ҩ *C8/y.i/ ȑ  © $ E7<3W`ȽLֽȄ @8`R ) [)_[AͰ")[)_[A:0/.ЩȑΘ8e * ȩ`Loü 7)?۽۩ W٠Յ<ōōř ռV7 uM78 V榠=ü#)@5 ɐ /ݐE ) .) @L `lqhٯ޿=ϓTXIֲ̛̐~ؠIJK,-NOPQ0vt `` LLɠ8`ΛLL渠`0 `8`HiHiH ihhȱh`86)IH)heuQɸ` ` W` ] %饚0` W` ߰4`)|E8LLLRLLLLL*LLLLLhh`LLL`SOS 1.3 01-NOV-82(C) 1980, 1982 BY APPLE COMPUTER INC. ) `G`î** }*`o^`on 8 JJAj@` *?($`ΠņɠŠ堠РѠ͠஠әƆH v?c,,,,h߈ߢ~))`3PLLP*%(i&`Ѕ񩏍E H pph`Xۅ ۩ۍۅ Lɰ ʰۅۄÍÍۙ'Ù ۍ*ۨ  Ѝ۹ۙ8v- ðJ ¥ ð, ðLO ʰƥLT`'  mې浰``8 8 Wٍۭۅ5ۅƭۅ X̰ ìۈۑ T̰ۅƭۅ X̰ۙ%ۍ" T`K8`)` İ ۱ۈ` ưW/ۈęۈЍ۩@` 8 MƐ  5 Q8`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/)@߅4N8`) ))УJ8` ۑȭۑǠۑۑȭۑ($S8`O8` "` / 򑺠+* ͐H h8` ΰi `()  *ǵ յý5Ņ4gȩυɩč5 iψ }.8` iϙLIѠ ˢ L΢ ΰ LϠ ˢ ΰ1` Đ@ АP8`B8`ۑJJJJ -ѥ +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ƍťǍŠ)͠(` L Ͱ2 ~ P kҐ#L8 T 2ΠHHȑhhȑ`Ld )N8` xհ*eȱ+eȱ,i۠Ѻ۹ۑ񥤅- ť.Lcԥ.La Ͱ$)rJ Lɰ )# Ԑ)Hۑۑh8`P) հ Wհҥ,J+j泭۪ƳۑȊ ) ~ fPL ͊.>.ʱ+,EP!.E.Lw+,,ӄ*- P*e (` հB հ5 Wհ0,J۪泭ۑƳ s߭lߩ * xLx @h hhh ,0)ߨ)Ah&'0HHHH xhhhh ,0)ߍLLhhh@)&&&(&('+*H)H(h)H@x )HH30.0\-JM-, J3,e$,d,,  * *l߅߅H ߅ \xi ߅LHHH *ح)0 D) HHHH,, ߩ0  xLߍ󠠩à٠΀ƉŠŠӠҠȠHHH *ح)0 D) HHHH,, ߘ)@ *)X  xI)}h)L, L )ڠ) w߭)Ů􅮈 ߠ'x)) J,QJ,SJ,U,P,W(`)(()  8)j`J j߅`0X ٠͠堘ӠȠŠ=`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 ֤Fȑȱȱȱ008 8hhh H(`x )HH'Ƚ!88x , ,,(`," , *)` `   `x )HH8(=&(+ʈ&ਹ''&&hh(` * @ HH` 2``ӠР    0) ) $p10LYeieLVȱ d0L`Hȱ hh` WɸSI I.ȩ8A 8ɸ4ɠ(H)h h8   `    i Ȣ d` $,)?P^ GL㢮 5L}P.)(Ơ L`ޠ LR  稱 I)0JJJJѤ  БĈ` H`)à`֩ нѽ>`]PU]]UPPX0 0 PPXPP  į󠠩ҙ̙ɠΠɊՐӠӢ̢ՠҠŠԠҚРĠ鱃ԠȠࠠLQ  * WHHH>%H H @`)h8`  HШБˆeЅА 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=23:=0::"    ) . 6 = J P S X [    $ 3 : = F d  > B H M s `e|&+.QVYcjuy~':{  )* i LiHh`PQPQ>P Q,PQ"PɀQ@PAQ`8`nɀ<)nopoLpp` 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 QZo79C";"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"10i ՄԐhh, (MIPLIOKN`ȑȥ.- * ө<ѩ ϩ - (A= NL% AҩA N= ,>- JD)3E)X,qȑ ;?L x0LC L '5դԦ kˍ12/n in the corresponding Aladin data base record field. Side One: Contains the ASCIUPLD Manual and source code listings Side Two: Contains the actual ASCIUPLD program d, (2) no longer than a fixed "truncation" length, or (3) truncated or space padded to a fixed length. The last handles the "Aladin" data base's quirky restriction that each uploaded ASCII file's data field must be exactly as long as the "width" declaratioile to be imported and (2) in which order to import the fields. It even lets you create import fields that aren't in the original file. You control the length of the fields in the output upload file. Each may be (1) as long as the corresponding input fielES - Both Sides ASCIUPLD converts an ASCII text file (one line per record field) from one data base or spread sheet program into the upload format needed by an importing program. A special command file tells ASCIUPLD (1) which fields of the input ASCII f WAP /// SIG PUBLIC DOMAIN LIBRARY 12022 Parklawn Drive Rockville, MD. 20852 (301)-984-0300 PDS NAME: ASCIUPLD by Bloom DISK ID#: 3BLM-13 BOOTABLE?: YEAD 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"` N=    `H Wh (0­1í2L-. * <өхυ L"= N8 =i N% JL@ҭ"A N! xLC L 'Lp- >)AE)H ;LLW x0Lx:9,<0 `Ld L)(I bL)8 ʪi)I8R & h:1ߠ*x (,< K 1x ` (`98  bLH8 xʍ6ʍ7hh)ɄJJRH88,< ʠʠ &,<0,80ʬ8ʠ6ʠ+È`&È` & IMk`4`5`6`7`8`9`<ȭ=` & @jI`:ȭpȭqé,i0L È`,g HH`LL! l      5  Hdcefh&+si  M0    x) `(,  LuL-upp<`uqq=L: vuL L L <Le Le ,g0L HH`! ( 9EKQWbmz`(" ((è%È`2ȭ3`1`d`c` C9L8 ; ;k`;);k`,@`<,m p<L<`<p<`,ms<L=q=L: ,lXL ==L: ,lCL <=L: <,n)LL8 L8 u:L8 ;)ߍ;j`; ;j`uBL8 uCL8 u)u;) u;L8st HH` MjH,: <J h̰ <rh,oL`%CYgu #1:CY` 9C<m><=m@=>@?AL8 >m<>@m=@<=L8 <m>?=m@AL8¥Ӆé҅L,5,6  & @jIH,5 p  He҅Ґhe…å逅h,23Lhґȥӑ,10 h0  `,g0L  ҅ӥĥŰ+,0p 4 Ls  Ls i )"|tȌs|ԥ f0)ĭ9)9҅xh(ĥŐL i,1HȊ©L,52,9-P" a{)9 Ln90$0%,7 ҥ L$0T,8OK50P;ҥ,8 L%\   8҅df`cnx  (,4h`dd,9P"<:J H) +̰ H) +ʭcP h̰ʩd8,h)ec efeede`,5 H  h 4  `5!    4(P 4 4  `,g0L,10kH0 WL)6La5 I`6 cef`7 I`8 iIi`9A)I@`a{ ~I)_ bJ) b) )ab)a a,h0& &+%a0 +hcefd(c,@cfabOO&+- ((((PPPPBTVSPLH   5"ʘ HH` (# (=  0`)aIAHOTW\_bx{'69@IPW]`cfjmpsx}(̠`x (̠` [   `L `` ``I FF x (̠%L#fowz*13579;=?ACFNWaehmpx "'+@\mrv{( 3  +J FF tѤ `U t`*8`AB*0 B8` L=?՝ԝϝН ` 1`*x (DEHG 1h H J IFD`* H FFLx 7( hL8 989::m8ʥi,;Ɂ)˭5i ɠ)54`x* ,< ʝ88 (`…ʍ0Åˍ142;)5I)5i 4`)5;`xH)$ 45R8 h(`x   h) `(" (  (È& 8  `)2ȱÍ3`)1`Ɂ" (cefd`Hcefh) `xÙ+(`xÙ&(`)4`)5`)6`)7`)8`)9`,i0!M:0p ȱq L `" (~)y ~JJ* I `x|x|,,}P-X~ F }~L } `,}0 x) `(`hh% ( ΍ ύ逅Ñ}`` " ( ĩ~Í'38;HMRUZekqv{4(C) Apple Computer 1983. Serial Card RS-232 Driver.t.RS232L c "߄P(C) Apple Computer Inc. 1983Mȩ`,(0LH  HL*,0))`Í-ȱÍ.ȱÍ/x0)0)? 00XȱÍ1``(LH*00fg `;?MOQSUWY[]`fjnx},49?HMRV\_dx}8f* 2*H UhX U'+`0`)0)0 X*4,2*,10M.-- x0 0`0֤F`,(0LH  ,-! (`í-ȑí.ȑí/ȑí0ȑí1ȑ``)M#-"ȩȩȭ*SEPH DHUEY NHMH` (# (B1BBl^`h[,($ ( h ))lfg % (*+,("-#.$/&1)%)?0'`,(0LHEąĩEŅ,/'+?8fPF ZCOPYRIGHT 1981 APPLE COMPUTERMICHAEL JOI P S V \ a h m p s x |     ' + < ? D G N U f k p x (+@EIR[ty} NQEpson Printer Driver2.EPSONER A               . 3 6 9 < ? B E H N S V \ _ b w      ! ( 0 7 I N S _  . G R Y f {    ! $ 4 9 F ORUX]`finsw| !%*/369<?BEJMRUX]`h  2;AGMS[fot|;?DGLTot <?BGLQgjox',/25:BGKORY\aelpu !$(+.147<?BFIL̑бʑΈ0 Б̱ΑʈeمΐeمАA萿 :  `ʝ"`t  !#%')+;CNU\eh "*-036<BLORX_fj &+388,:Jک@ׅפ؈۩MjL,:08*Ȅ B ,:J}΅н(I I $0;P̑бʑΈ,:JՐ̑ʈ0 Ցʭr̈A萠L: ֦ڱΑ0Б֤ h L  p,:0 JfiΥiώJe΅Хiю@ B $pI I `<Mj,:0pJՐ̑ʈ`pJհ0`ՑʭrpȐ`=m@< B h AL: 8p,:Jf׮@$PA B $P@/A'ʤ˅΄ϥ̤ͅЄ B $̑бʑΈ0Ƞ h L: $)טɀIim>ٮ@8pذ `$0";O,:0'???>>8?>p<<AAA@@8A@q==C)CB)B Crx 0, )ߍ:) J)*PR,T,V( : `,k<,: JI`I`<,:J̰`=m@>,:J}ʅ̽(ĩϭ & &υΠÑΈ~ F ~ҰةeÅÐн},,P,`,g$ ( $g " x) (,`% (gL,}0, `gé ĩ `:) j:;jN;~j 01 % (, :'`'LM :01 `,'0LM& (,'0LMIĥIC ,$P( n(.0- .-L 3L 3`,,P*M#-"x Z)(,,p` *+)+X,,PM#-" 2Z SHRH` (# ($GGjc`,'$ ( 2 *)6Ucfkw &+8;@CJMPSV]bejApple Dot Matrix Printer Driverv7.DMP A Copyright (C) 1983 by Apple Computer Inc.,`,'0LM ! (```*M#ȩ ȭ-ȩ`,'0LM @>L,, 3,,0-./(,$)x*%)/+(```04@DRTVXZ\^`belv{!$'*-049?BIIC ,$P( n(.0- .-L 3L 3`,,P*M#-"x Z)(,,p` *+)+X,,PM#-" I82-A/0M)-/M#-" &0x,) ++`x2Z SHRH` (# ($GGjc`,'$ ( 2 *)601 % (, :'`'LM :01 `,'0LM& (,'0LMI (C) 1983 by Apple Computer Inc.v7 .PARALLEL A`@dCopyright (C) 1983 by Apple Computer Inc.!$'*-036<?FKUn|  $)036=BEJQX]`ejorw "'.147:=@CWZadknDParallel Printer Driver -- Copyright ` ) `x,X0R p)(`KO} #9<CHKjoz $*-DINS^bkmoqyX ))hq mm0 stqs[L,j,XLl)`Z5L,lLp,VP VeLE,WWVfLEZZLpnl,Y0g,dP\,]0X]eLE\pqnp aLm bLm cZ )^ `ÍTȱÍU`n064e0[x R X([ `R )l) )g mmL)` mmL ),d-eYLfYuqgQ,V0L@VEPf>i\]M,j,qg$[H" (x^ÈȌm(`TȭU` n  q `ȩ`,S0L HH`Lfh,V W ,W0x_)_ qnZ[oprsXY\]mRl`)  __ ` ) (`^" ( ÙH 8fqhq:,V0-,X0x R) X)(LW h,TULarȥȑ`,S0LoEąĩEŅ o`n L# 8fqn,S0L lHkH`! (rs`^HH` (# (ALS`,S$ ( M iR)QKL % "_TUkVW S`% (SLn Zx R)(KL `,S0LrEąĩEŅq,k0stI82-A/0M)-/M#-" &0x,) ++`x,`,'0LM ! (```*M#ȩ ȭ-ȩ`,'0LM @>L,, 3,,0-./(,$)x*%)/+(```04@DRTVXZ\^`belv{!$'*-049?BIUcfkw &+8;@CJMPSV]bej!Apple // Super Serial Card Drivert.SSCARD A "߄P(C) ApplvЭ H ʊJyjhz|ֆ׆ح)JfJf$PIJfש ʈ8 @ש wx LVخ ʊJJJ莟mwwxixÈ``,t0L4 HH`L  d!  `ɖ" ( dÈ  ``,t0L4 d0Cս30. , V  @„ȄL5`ʝ`))ժu/((((PPPP @``` @@@@`xp<@ @ :H9H` (# ( -l..PcJt`,t$ ( t`tL4`,t0L4 HH`! (`ɖ" ( """"""""33333333DDDDDDDDUUUUUUUUffffffffwwwwwwww(C) 1980 Apple Computer147:=@CWZadkn9Copyright (C) 1983 Apple Computer, Inc. Graphics Driver..GRAFIX b """"""""33333333DDDDDDDDUUUUUUUUffffffffwwwwwwwwDINS^bkmoqy!$'*-036<?FKUn|  $)036=BEJQX]`ejorw "'.\pqnp aLm bLm cZ ) ` ) `x,X0R p)(`KO} #9<CHKjoz $*-fYuqgQ,V0L@VEPf>i\]M,j,qg$[HX ))hq mm0 stqs[L,j,XLl)`Z5L,lLp,VP VeLE,WWVfLEZZLpnl,Y0g,dP\,]0X]eLERl`)  __ ` ) (`^" ( Ù^ `ÍTȱÍU`n064e0[x R X([ `R )l) )g mmL)` mmL ),d-eYL 8fqn,S0L lHkH`! (rs`^" (x^ÈȌm(`TȭU` n  q `ȩ`,S0L HH`Lfh,V W ,W0x_)_ qnZ[oprsXY\]mKL `,S0LrEąĩEŅq,k0stH 8fqhq:,V0-,X0x R) X)(LW h,TULarȥȑ`,S0LoEąĩEŅ o`n L# HH` (# (ALS`,S$ ( M iR)QKL % "_TUkVW S`% (SLn Zx R)(e Computer Inc. 1983M 0ޤՐڢ,P<0 )ߍL- J,P,QJ,R,SJ,T,U,W`,t0L40 ( dȅɥŐ ĐL  }LO}~~Șݻ~`}}~L< L }ީ~` ɠɀ)ӮԮmwӥmxԐ mi` HHGH`  &`LL) @  .169DWfy   % * > A H K Z v z }      % , 1 5 : = B K R Z _ b g n s x ~    ) . 6 = J P S X [ \x{~'+.149?CGIKMOQSUWY[]_acegikmoqsuwy{}%(-47=FMUX\_jmz'+9;=?ACEGINR\aejns~  #&).369<ADGJMP^g $*-06=HLORWcfloruz/47=G`JJJJ)`%υߥ`1(ȦJJJ`&&*`JJ` **&*&ߥ`J` ***`` ` Jjjߊ` ߊ`JfJfFߪ߆` `JfJfJfF`ߩ`$011̰JJJJ) ܭL FܪJJJJ)`$PH8 nߩ nh ߍϭ - k, ϥ- kϱϮEϑʩ`P z  HH` k(h`$0#$E$0p Q%Qʑ`pPIE1p$E$0p Q%Q̑`pPIE1pΦ#$01ʐ1 ('Άѽн`8Hٰ hIiHمh8Iif٤Φݰ>Jj8ۅe݅eޅ $  m`!J8݅ eۅ$  m` , V $צ! LP \LD$7߭&ʰ,i8i#Hiihifʦʆi) v`i,ʐi,iPIIʥ)ifʦʆ̐pLj/Fϐ&Ȅ`'@τ`Fϐ@ E҅F8ئȢΆѽϽ`/(L%τ`ϩE҅0Ȅ(fL%)  %)`%  0.)      0  ` ` @ ``8٨JJJ ) u˘ vͽʅ̆`8Hi #iϤҐ мφi`Jf`<,ӅLx  mӥmԐL] h `  )`%)8`)    H   ʥ)Ģ    H Ģ L E% %) L 8`ۅ&ۥeepɀjff&ݥeepɀjffݠ %٥8٥ 8مڅ H , V Εm٭mڭ))njnjnjfjfjfj+mӥmԐ8L( Ӣ ,$0F y  h h`8٭028ٍڍ0Z$eٍeڍm٥m8٥08ٍڍ`8٥058ٍڍ0ԭeٍeڍ808@ ] I)!) g 80 J8}L y L 0yʽz0 y L7  Lh `*f*&*)` ` m j`Hآ Hӭԭ` L``  `L` H , 8 V ТΕLϦI ] +)J* g I V 8fxLL) L8``Lթ`~L8L)  =H 'HH N M))Mhh0 ϭPh0 йPL)`)L    $ 3 : = F d  > B H M s `e|&+.QVYcjuy~':{(Z.AUDIO C(C) 1980 by Apple Computer Inc.D vHuH` (# (jjA`,A$ (BC x) @( A`% (ALpx)`(BC `,A0Lp& (,A0Lp9 æĬSɀ֙TȌS 9S`YX`X-,C$<>"n"850\C$="N"C$="n"1000;f:=23:=0::"79C";"PRESS ANY KEY TO HALT LISTING": p840z2,280,21K:=23:=0::"79C";"TO PRINT OR RETURN TO MENU, HIT THE SPACE BAR":C$:C$<>" "930:ۺ1000 :=".d1"01:=0::"80C";A$;::12)E=23:=0::"79C";"PRESS ANY KEY TO HALT LISTING"::2,280,21 840#2,B$(I),16,B) ž#2910*#2;A$:A$:12304810 >:120*H:=23:=0::"79C";"CONTINUE...?":0RC$:C$<>"Y"C$<>"y"C$<>"N"IC 0")700B$(I),"TEXT 0")740B$(I),"CAT 0")960B$(I),"FONT 0")1660B$(I),"FOTO 0")1730400A$="RUNNING "+B$(I),16,B)"79C";A$;:=0B$(I),16,B):A$="LISTING "+B$(I),16,B)$=2)I=I+1&I2=-1:I=I-2:NIBOTM<30XTHPOS=44I=IBOTM/2)*2:=+IBOTM/2)-1:0b=+IBOTM/2-.5):I=IBOTM:I/2=I/2)I=I-1lvB=B$(I),16)," ")-1B$(I),"BASA=:A=21A=9oldprefix$=A=31110A=27:=".D1":980A=13630=THPOS:B$(I);A<8A>11400A-7500,520,550,580:=THPOS:B$(I);:380: 500THPOS=4:I/2=I/2)I=I-1I=IBOTM THPOS=44:I/2<>I/,A$="TEXT 0":406A$="CAT 0":40@A$="FONT 0":40JA$="FOTO 0":40TA$(L),"BLOCKS")370*^=27:=19:"FREE MEMORY AVAILABLE: ";h=7:=20:"80C";A$(L);$r:=5:THPOS=4:I=1:IBOTM=J-1:480|Q=:=26:=21:1400 =Q:WW=0PE> sets Prefix to .D1; aborts."12);::"80C";a$;:d$=DISKNAME$$=23:=0::"80C";d$;::12)1,180,22F=3:=14:"This /// SIG Disk is \^ 1991, Washington Apple `, Ltd."=4:B$(1)="":B$(2)="""A$="BASIC 0":40511),C$(20),name$(20):=10:=0nx=+B$(I),16,B)140 PREFIX$=.D1 #1, ž#1180I=0I=I+1:#1;A$(I):170#1 L=I-1j=1:same=0:/#9,".D1/DISKNAME.DAT":#9;DISKNAME$:#9Ta$="{,|,~,}; selects; J/2)=4:=+1:ۙ=44PB$(J);:J=J+1ZI:8dA$(1000),B$(1000),C%($(/4:?IXad#ˆ̭U)? VW @ ?ddxtB˩Eʍ@Xx ,P Eʍ(itiBX`,A0Lp HH`! (```,A0Lp HH`L%&S```lBcguwy{}:=12:=0:120=+B$(I),16,B)1408A$(1000),B$(1000),C%(511),C$(20),name$(20):=10:=0 :120>::=23:=0::"79C";"WOULD YOU LIKE A PRINTED COPY?":1C$:C$<>"Y"C$<>"y"C$<>"N"C$<>"n"1010C$="N"C$="n"120#4