@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@W!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr d M * @  $ % CC$$)%1 Udߥ$9%: !0 S$%} DD˙`  }J)Lr J  ((  p L ()   J}L= ( L 0q A    IB JC;? D W } LL  ` W )LA!  ߰")-݆ p" } $G@LL 08`Q")<2Q0 -G$Ș݆ UL# ; p8(()(0ʥ)NQ` }$GȘ݆LU )L ݆ L GȘ ݆LL )W>Z   HH)H }p h  hyhy D L> L JJ    ! LA*` BF }7'8  M HN H` 8 Z  \LdJJ!"! GFE@F (!L }EE !E^ ^ E E7EȩEdE/EȩE  D } .L }  ;F d  ;?F7F? ( .   Z D LL d } . D  L    p  E` , d)  D L) 0BM݊L݉} ML  N݆ L NLML [ TEqEHȱEqEh 0Gȹ G} HLL GɛL  LFREE SECTORS G) *Gȩ GȽG GȌ*jj >G} C8jJ3j2CD( C202C ԠBX` N 1? l LlD:RAMDISK}.COMLu L1 L ;LHL  T`  `8  ɐ     `TU  } L ? .  t`GBJ ~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI4 0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D8:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D8:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J  (` 9 V⪍ ઍ  -'}LLu ÝDEHILV 9 .l 9 .l  `` s$B BH(}I|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝLu } 3E:}DISK OPERATING SYSTEM II VERSION COPYRIGHT 1984 ATARI CORP.A. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDG*}E J. DUPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRES+}SF. LOCK FILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES P. FORMAT SINGLEL !N',}#"&))9(&*)/h)''-&؆莟R'S  vL/ˢ L }Insert DOS 2.0s, type Y Λx -}DEfHI 1莏#q! @ y0ɛ8A0,' ȅ 1 1ild! 1L!NO SUCH ITEMSELECT.} ITEM OR FOR MENU! 0 .z:*{}.|{ 1 0 0JB 18L%|DL/}%DIRECTORY--SEARCH SPEC,LIST FILE?[# 0 0 &|D3" 1L!NOT A DISK FILEN !B 1L!E# 1 !BD0}ED:}:1BJ|DE 1DEBHI 1 h0ߢ 0.1}  0?詛 1 y0YЛ 1 ;#L" ;#L! BL1TYPE "Y" TO DELETE...DELETE FILE SPEC2}COPY--FROM, TO?OPTION NOT ALLOWED697 FREE SECTORS COPYING---D8:COPY32.COMl# 0|D .L/%#3}##JB|DE 1BHID#E 1#0: B 1L!#͑### B 1#c$0SY4}S1}:## # # .#Ƚ# # 𩛙## 1,#PD#ELJ- <.BJD#E 5}1 1HH 0hh|DL%1}:̳# L% #D#EL% 1 0 . .0O% 1L!WILD CARDS NOT A6}LLOWED IN DESTINATION 0 <.|K}N 2 FORMAT. t* 5) 1L!`) 0NΞ 0 L1) 1 L!BAD LOAD FILELOAD FROM WHAT FILE?) 0 ?}0#B 1L!WHAT FILE TO LOCK?) 0 0$B 1L!WHAT FILE TO UNLOCK?DUP DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO US@}E PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV.FE! +L1   `*  70 2 2A} 0.* 1 y0 0)INSERT BOTH DISKS, TYPE RETURN^, 1 y038逍 N, 1L! ,B}C, t*  Lx+, 0 ^, 1 y0 , ,0,0 ,L+ ,I0 ,Vǭ0C}Ξ, 0 }, 1 y0C,ШC, 0K'!" H H 'h h Lx+!EF 5L1L!D,I,HhD}` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNINSERT DESTINATION DISK,TYPE RETURNE}`  `8 rL1`-* 1P* 1 y0Y`hhL!NAME OF FILE TO MOVE?- 0 0|DL% <.F},^ 1 70 0 .@L# .BJ 1  DEHIB V L1 ,} 1 70,L.  G}JB|,#P#DE 1 HI BDEHHII 1 B 1 ,^ 1 70,0La- B V,#PH},^ 1 70 0L#L!-* 1P* 1 y0Yj383}mm ݭI}}`8}``|* ? ɛ,`|:-)| / 1L!`DESTINATION CANT BE DOJ}S.SYS0 0H{ 24Δ 28/L!/) 2 Π 2 0 ξK}hAΞB,0 J 1 BDEHI,HÝDE 1HIHIDELSAVE-GIVE L}FILE,START,END(,INIT,RUN)O S0 1`BDEPHI V` S0H 1 L!M}0 0 1L~0`PLEASE TYPE 1 LETTER,0`hhL! 70 1L0L<1 ,;ɛ7,"ɛ:ݦ1ݥN}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{NAMEO} TOO LONG B VL!` L1I H1EΝDL1|mDiE` V0`8d/8 i:222 1 LP}!ERROR- 164ɛ+,' 20*.. өr2 1``2TOO MANY DIGITSINVALID HEXAQ}DECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8uR} ECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8u05  15 2 2151^116115ύ011$r2ԭ5 3)5)5ԭx GT}@@L00)+& 2 L0=ɛ -L!1LV1L1 /3 3ȹ441L-4 v3 25 2H 2h͔5U}L3L3 2 k3U hh`DOC`QL3P1Lk0S1H /3h0B k3@ VL0LU!#$53 1181118V}1111Ε5 1Lk0552 1Ȍ1i111i11115Lk0pppB4f5&&&&&&&&^6f^6&&&&&W}&&A1@BJ D2ELVK@BHILV^Щ6 2BD2EJ VBD5EHI0 V0%5X}5 2iХiL[2 25 25`D:*.*` i@`8 ``@i `8@`0 BLV525<4Y}5`HH i ԍΗ552 ԍhh@ Lح1Э1Ѣ 24.4 24Z}4`D4E` 2BJ k3LVRH` 2BD4EhK)I JLV333 BASIC languag i}e OBJ > MACHINE language DOC > DOCumentation PIC|MIC|FNT|MVM > Graphics AMS|MUS|MBD > Music LST j} > BASIC LISTing -Some MACHINE language programs can only be run by booting the disk MENU "without" BASIC! -For s k}ome programs, XL/XE models may require a "TRANSLATOR" program to be booted first! [Also available from BELLCOM] - l}Most programs are relatively self-explanatory; however, some have separate DOCumentation files available. Some BASIC m} programs may contain instructions in their program listings. -To use this great MENU program on your own disks, n}simply copy the file "AUTORUN.SYS" onto your disk. * MENU written by DAVID CASTELL * program on your own disks, ^ DATABASE ======== Most of this program is self- explanatory, but there are a few pointsp} that require clarification. 1) Do not use extenders on filenames as the program assigns extenders as a meansq} of distinguishing data files (.DAT), headings (.HDG) and formats (.FMT). 2) Take care in naming new filesr} as duplicating a filename can erase an entire database! 3) Data files should not be locked on disk as all us}pdates require file writing capability. 4) Main menu option are as follows: S-save current data file;t} use to update disk files after all changes; be sure to use 'save' before using the 'N-new file' u}command. P-print data to screen or printer; follow prompts for options; see special formatting insv}tructions below. A-add new data or create new database file. C-change data in existing file;w} search option can be used to locate records; do not use to delete entire records. D-delete recordx}s; search option can be used to locate records to be deleted; includes 2nd chance prompt; once dey}leted a record cannot be recovered. T-sort records in ascending or descending order; sorting done z}by string comparison; numerical fields must be of equal length to sort properly; use leading '0's {} where necessary. F-file catalogue from disk. N-new data file loaded from disk; be sure to use 'S-s|}ave' command to save previous file used before using 'N'. Q-quit and save current file; do not use}} 'break', 'reset' or turn off computer to exit program as data may be lost, particularly new data~} or updates. 5) Searching can be used with the print, change and delete commands. At the prompt select the} field to be searched and choose the number corresponding to your criteria. All searching is done by str}ing comparisons and require an exact match. A wild card option is available by using an '*' in your search } string. For example, to find all the names the start with a 'A' set your search criteria to 'A*'. Up to 8 c}riteria can be used in a search and a record can be made to satisfy one or all of the criteria. To start} the search select menu item '8-BEGIN'. 6) Formatting output to the screen or printer is the most complex f}eature of this program. Default formats are provide for rough output but with some planning the special }formatting option can produce nice results. Special formats are created and saved to disk using the following} commands: 1 Print data field name 2 Print data item 3 Tab over from end of previous record 4 Nex}t line -a line feed 5 Print text as specified 6 End format file To create a format file start at the top left }corner of the page or screen and work across the page. Multi-line records can be printed with the 'next line' command}. It is only necessary to format one record as the program merely cycles through the same format for each record print}ed. Do not use a 'next line' before the 'end' command as the latter includes a line feed. Further detail is as foll}ows: 1 Print heading -enter '1' to print the name assigned to a data field and indicate which field by number.} 2 Item -enter '2' to print data item and select field by number. 3 Tab -enter '3' to tab and then the number} of spaces to tab from the end of the previous record printed. Remember that the program treats all records }in a field as fixed length even if some spaces are blank. 4 Next line -enter '4' for a line feed and then enter the} number of line feeds you want i.e. 2=double spacing. 5 String -enter '5' and then type in the text you want in}cluded with each record. 6 End -enter '6' to end the formatting process and the format will be saved to disk.} Once created, a format can be reloaded every time you want that particular report. You cannot print a one time hea}ding or report title with the above procedure but I have devised a way to do it using two separate format files. First} create a page layout with column heading etc using the tab,string and next line commands. It will save to disk and p}rint out as a test. Ask for the program to print a record that is not in the database and it will print once and stop}. Now create a second format file for the data using the same column tab and spacing. It will save to disk as well. B}e sure to use a different file name for each format. To print a report, load the first format, ask for a record n}ot in the file and the page header will print. Load in the second format and print out the required records using th}e desired seach criteria. As a final note, I recommend that this program be copied to a separate disk and locked t}o prevent erasure. The program has a very efficient disk space utilization process and can hold numerous data files,} formats and heading files. Anyone requiring further informat- ion can write to me: Ronald F. Martin } P.O. Box 367 Orono, Ontario CANADA L0B 1M0 or contact me through Oshawa TAPS.d F. Martin l66NNNNNNNNN1N1N12CRAFIFNFHFMTCDC1C2FBCNSRTSEPBYTIBNMJSFSHIBLHITS}EPFRELRECLHIRJQJCIIBNDIA } @@} !"@#$%&'(})*+,-./012345678}9:;<=>?@ABCDEFG}H2$$******************************7$$* *<$$* DATABASE MANAGER *A$$* } from *F$$* SOFTSIDE MAGAZINE *K$$* by *P$$* MARK PELCZARSK}I *U$$* *Z$$******************************ny6-6-@#6-%+6-%}36-%;6-%C6-%K6-%S6-%[6-%g6-A%s6-@y6-x8;A`,&;,;,;,;,,6-86}-AVI09,9,;A,;A,;A,76-6@6.D:I6.D:2;A,-A"".67,.>:},2 ii104,201,5,240,15,168,240,5,104,104,136,208,251,132,213,169,1,133,212,96,104,133,216,104,133,215,104kk141,251,}6,104,141,250,6,104,104,133,218,104,133,213,104,133,212,104,104,133,217,169,0,133,209,133,214jj162,1,165,215,133,205,165,}216,133,206,173,250,6,133,222,173,251,6,133,223,24,165,205,133,203,101,218jj133,205,165,206,133,204,105,0,133,206,24,165,}222,133,220,105,3,133,222,165,223,133,221,105,0,133,223ii164,207,169,1,208,2,208,188,197,217,240,10,177,205,209,203,144,2}1,240,12,176,55,177,205,209,203,144hh49,240,2,176,7,196,208,176,41,200,144,219,169,1,133,209,164,218,136,177,205,72,177,2}03,145,205,104hh145,203,192,0,208,241,160,3,136,177,222,72,177,220,145,222,104,145,220,192,0,208,241,232,224,0,208ff2},230,214,228,212,208,134,165,213,197,214,208,128,165,209,201,0,208,162,169,0,133,212,133,213,96/K:+0}%0/ A-A $GET RANDOM ACCESS POINTERI36-@:7$%<$%,,$AV%@:7$%<$%,,I}6-@:7$%<$%,, $8 6. 678%,&,. &67,.)$8BLANK RECORDD-@"6.1(>:,EN}TER FILE NAME 5D4A@##7<,2A)7<,3ZA@? 67,.67B:,%,..DAT*-B:,?7<,4.}A@& 67,.#67B:,%,..HDG&$:-@"&(>:, Ġ0 AP: AUULines 250-260: R}eplace lower case with the corresponding contol characters.00(>:A%, FILE: A((** DA}TABASE II ** RECS: %A( !( FREE: &&( ( ($"66.NONE AP6(}(I) INITIALIZE A NEW FILE,U((L) LOAD A SAVED FILE?!(/(Կ 6)A>:,4IK A`U A@6>:,0L}A@ A"AJ A A T!A`^((%(FOR WARM RESTART: GOTO 360(&h6 A`} AP6((S) SAVE CURRENT FILEr((P) PRINT DATA|( (A) ADD DATA((C) CHANGE A RECORD((D) D}ELETE A RECORD((T) SORT((F) LIST FILE NAMES((N) START NEW FILE((Q) QUIT(( (( } )(>:,">:,4S A" A`">:,4P A" A`">:,4A A" A`(>}:,4C6- A!( A`.>:,4D6-6-$ A!. A`">:,4T Ap" A`">:,4}F A" A`>:,4Q)>:,4NA`& A`0A: AD>:,4N%N }B+XQ-@$(>:, DATA FILES:. AAD:*.DATK A Q6-b@-@ .(ΧԠ}ˠٮ3= AP@$l v8-@ '-@)@ 8B:, A/ -(7<@,} 6-%'+ / B:, A8-@@#1(PRESS FOR MORE 8)0-@#6-}"(>:,& 0 A0@ A`"(6(ϠӠΠ@ APE-@#>:,0L>(PRES}S TO CONTINUE E)$LOAD SUBROUTINE; 6- AP(&( 0 A@;}<<;$+%@,,9%@,;$%,;$,;$%,[ -%68,-! 5;8%@,&,}=6. L67$&,. U67,.[6- B:,"A$ 67,.6-%AP$ A` ) -)}%67,.>:,) #@# A   6- $*!!READ ITEMS UNDER HEADING CH4B 6-8,6-8%,&#6}-&%+-16-; ApB>"67$%<$%,.7<, "$HW0(>:AV,>:AS,ˠӠ5}:@6-J APM'W A@RINITIALIZE SUBROUTINE V.2\ AfD AP(((HOW MANY HEADINGS 2 Ap}6D AppE()(ENTER MAXIMUM HEADING LENGTH 3 A7E AzP A ;$,9,#6-&}*6-616.@68,-F6-P AP -`(( HEADING #% :"+6-B:,1!V(MAXIMUM LENGTH }IS  . REENTER` A "A & B:, 67B:,%,. & A a A 01(MAXIMUM LENGTH OF 7<,}: 5? A U68%@,-8,%[!a6-67B:,%,. [%6-P:+I:,&A ,'+%,,/ A@F}@D:*.*[FIND SPACE ON DISK B:, A  A `^ A 86-A:7<@,,$&++}%@,$,R6-P:'+8%@,%,,X ^6-$ AP$(DISK SPACE REPORT:[(,(DATABASE CAPACITY =  RE}CORDS76-8%,C6-@PI6-O6-U![6--6$ A0(6-$'&P:$', "6-(6-}*  (*( BLOCK SIZE =  RECORDS.4(*(SECTORS/BLK = P:$'%?P,4 APZ0;$%,;$,;8%@},&,;$%,86. G67$&,. P67,.Z AP$06-@6-6-&' Ap-6-0$.v A A@}((D("ONE MOMENT...ALLOCATING DISK SPACEv( FOR RECORDS %@ TO %@...8M-}$56-P:'AV,E6-&$AVM6-$B967%<%,.>:,'67%<%,.>:,967%<%,.>:,L*  }$@*6-V 6- $`:('( - FILE NOT INITIALIZED-6-7 AP:$jWRITE RECORD R FROM TI$t}+ A@ Ap ( A`+$~READ RECORD R INTO TI$1 A@6- Ap$. A`1$WR}ITE HDG FILE: 6- AP(%( / A@:4    & - 4 }! -% 8, !6--B:,%AI# 7:,4YJ A(pT A`Z6-d A }>:,0NA 6- A0("*4A2c AP6-%( (S) SCREEN or8( (P) PRINTER ?E)}@H(S>:,4PY6-c AP<>:,0SA0F! A!AR!$PPRINT ONE RECORD VERS. 4}ZR(>:A%,%A0A`1-@"R(PRESS ( FOR MENU)d )"@'6-n$x))PRI}NT ONE RECORD TO PRINTER, VERS.4A A`$ "(>:A%,D  RECORD % (-16}-8,D6-8%@,&)" 7$%<$%, 7<,& )$PRINT ONE FORMAT2 6-6-6.$7B:,,062}67B:,,.6=6-A:7<,,6-%% @56-A:7<%,,=6-%77AAAA A@A} 6.7$%<$%, Ap8 6-8,6-8%,&#6-&%.6.7<,8 Ap) -67B:,%,.  ) }A! !- !  6. A 6-"7<,0!6-%" AP6.7<%+&,&,}6-%"67B:,%,., Ap6  $@2 6-%"(%( ŠӠ/ AP2$J 6-%A@}T% AP6-%!&%6-&^6-@  AphT AP(<(RECORD NUMBER % (ENTER ! TO END)?}(B(J-T Ar7<,4!6- $| 6-%- A@6-8,#6-8%,&-6-&%67$%<}$%,.7<, A""DATA INPUT SUBROUTINE VERS.1K!(7$%@<$%, : %.6-8,A6-8%@,&}K6-&%& B:, 67B:,%,. & A 67<,.$CHANGE SUBROUTINE VERS.2U AP4("(C) CHANGE I}TEM, (K) KEEP ITEM, ORU((R) KEEP REMAINDER OF RECORDS((RECORD %6-"6-0-3(<6-8,I6-8%},&S6-&%''(7$%<$%, : 7<, ? "  A@/ )/>:,0C*>:,0K*>:,0RA} (>:,>:,4KA@>:,4R6- A@%AR A%AR& 6-0[  6-"6-}# A@,6-8,96-8%,&C6-&%[67$%<$%,.7<,:$DDELETE SUBROUTINE VERS.2N,(AR,(}DELETE THIS RECORD? X& )&>:,0Y*>:,0NAb) (>:,AR)>:,4NAPl96.7$%<$%,,}67$%,.7$%%,967$%,.v67B:,%,. C6-8%,&8,)67$%,.7$%%,2B:,"96.C A@6}.7:,4AJ6-T A P>:,4D6- A P A N(( SORTING..."}A0A&N6-?:C:,= :C68,-[8, )8,!A"P}--@"(VALUE:-8,"6A#  & B:, 67B:,%,. & A",67$%<$%,.6-}%,!A# A" "  " )!%A# 6-&  8,"6-$  8,"6-6-.  8},"6-8 A"B  A$L g-@!9(>:, 1) ITEM MUST MEET ALL CONDITIONSc(>:,2) ITEM MAY MEET A}NY CONDITION gV  )!A#` F 6-6-8,6-&-@08,"6<6-@F A$ j  8,6}-6t  ~ !6*6- A   "66- 5 A$"!P:+ A`5 A$ 7E}:AR' A`/070 +-@"!( Ǯ+ A$ * (PRINTER NOT ON LINE* A(@}  6-&-6-% K "6-8,6-8%,&)6-&%A67<,.7$%<$%,K A%  A`  6-}-  8,"66- A'  G6-88,,6-88,%,&)6-&%<6.7$%<$%,G6.7<, 0-67}<,4  &6.0 A%p 6.7<, 0-67<,4  &6.0 A% 6.7<, ""8,A&}A& A&p( /A&2 A'< 4A&F "A'P 7,0*A'Z 7<&,47<&,}A&d A'n 1A&x A'  "6-6- A'   "6-6-   "*"}A'P ")"A(  " A` %6-"@% Ap  ")" A  " AP}  " Ap  "6- P-@"9($Ǯ = IARMP$ 6-}@",(ϠӠ...6 A(@ #-@"#(END OF FILE... -#(>:AS, FOR MENU*)-$}" 2%(>:AS,NO DATA IN MEMORY./ AP2$, PRINT FORMATTING, V.16  AP4A)@ .( SAME FORMAT? }) +>:,4Y.$J >:,0NA(pT O((L) LOAD FORMAT or2((C) CREATE FORMAT 9)<(O>:,4CA)p}^ >:,0LA(ph 6. A14D: $r  A)P| 5 -'67B:,%,.+ 5 }A)` 6(FORMAT  NOT FOUND( AP/6.66.  $ o A)p6-6- 6.* APQ("START }IN THE UPPER LEFT CORNER ANDl(WORK ACROSS EACH LINE.o( P( 1:HEADING(2:ITEM&(3:TAB6( 4:NEXT LINEC(5:STRING}M(6:ENDP(  )!A) 67B:,%,.=:,6-% 77A0 A0 A0PA0PA0A1 3} AP-/ %) 7$%<$%,3  1((WHICH? 6-&1 )!A00 A0` C( HOW MANY}? ' )!@9( OUT OF RANGE.C A0P 1 6.=:, @ 6.0167B:,%,.=:, 67B:,%,.6-%} A1 >(STRING: %67B:,%,.!367B:,%,.>6-%B:,  AP A)& * A1p A1 }4D:'6.*$0 :  P:+B:,&,'AP,D Y-P:+B:,&,'AP,6B:, $AP%APO(7$AP}%> ATARI <<B-@@](@ > f i l e <oAR@r(u}(( Version 3.1%-@A %+ ';A`,'6-I:,$? MAIN PROGRAM AND MENU};$?,;$?,90@@@S0@@@m0@@@@@};@ ,;@ ,d##@@K:iAR@nY A(}5( ** DATABASE FILE S}YSTEM **8(;(Y((I) INITIALIZE A NEW FILEp%%((F) PRINT OUT DISK FILE NAMESx+((L) LOAD EXISTING FILE!(+(--> })@AR1>:,4L( Ġ' A1 A8>:,4I$(Ԯנ. }A8 A6>:,4F"(ԠŠ, A6 A(>:AS, A A6-+%@,}$90@@ @S0@@ @m0@@ @|( }COMMANDS:((AdAU}AR@( (D) DUMP FILE((P) PRINT FILE( (A) ADD DATA((C) CHANGE A RECORD((R) REMOV}E A RECORD( (S) SORT FILE((L) LIST FILE NAMES((E) ENTER NEW FILE"((Q) QUIT#(( ((( WHAT }DO YOU WANT ? ,)@@7>:,4D(DUMP! A -6-@7 AJ,>:,4P(PRINT" A0, A}T7>:,4A(ADD ! A@-6-7 A^F>:,4C6-@&(CHANGE 0 A<6-F A}hE>:,4R6-@%(REMOVE/ A;6-E Ar8>:,4S(SORT " Ap.6-8 A}|">:,4L A" A>:,4Q)>:,4EA(>:AS, A"@A@ 6}-W(% CURRENT FILE IS NOT SAVED.C CONTINUE COMMAND? (Y/N) P)@W >:,>:,4NA>:,0}YA>:,4E%& +X +b&&@@D:*.*g APl@}n,,7B:,&@ to abort.>( (DATABASE default)U(E!}NTER FILE NAME? _ A< 6.B:,!@2(} 8 CHARACTERS ONLY.< A 46.DATABASE"@'"}A! A!67@ ,..DATOAd@6.D:267B:,%@,.O@@#}@@@4@4;$%%@,;$%%@,V6-@t6-@$}y@zB:,"A~ 67,.6-%AP AE6-@@%} 67,.*B:,"AP 6-%AP* AU@6-@$T(0(>:AS,FILE NOT FOUND &} =)@@(J APT AINITIALIZE SUBR."((HOW MANY HEADINGS " @A'}*&(ENTER MAXIMUM HEADING LENGTH * @A26-&@6-6@6-A 6.6.(}"-,%!( HEADING #%@ :%-; B:,!1(MAXIMUM LENGTH IS  . REENTER; A/, B:,)} "67B:,%@,. , A167B:,%@,.6 @6-$SAVE SUBR.mAR6(*}Press to abort.L(( DEFAULT)c(ENTER FILE NAME? m A"@'A 06.*!+} A"!67@ ,..DAT4OAd@6.D:267B:,%@,.O@@H(@,}I(@J(@K(@R6-@W3B:, %AI)(@7:,4P6-@$ 1}A0P >:,0SA0 d6-@(=(&AFTER EACH RECORD WILL RETURN TOd("THE MENU, ANY OTHER KEY CONTINU2}ES. ((PRINT: ( (A) ALL RECORDS ( (S) SELECTIVE PRINTING )@ ">:,4S A" A03} >:,0AA0V 4(6-6-@*6. 4 A @ $& (+ (RECORD %@4}(0 -: 77(7$%@<$%,7$%@%$<$%$%,D  N )@S "@'$X  b5} A  " (}(RECORD %@"( - <<(7$%@<$%, 7$%@%$<$%$6}%,   ()@"@'(6-@ $H 6-+%@,$R \ -f 3 k 3RECORD 7}%@3 p -z 7737$%@<$%,7$%@%$<$%$%,     $33R8}ECORD %@3-$7737$%@<$%,7$%@%$<$%$%,. 8$6-6-9}%@!A@&"(ENTER MAXIMUM ITEM LENGTH&% @6-% A@'';$%%@:},;$%%@,7(#(RECORD NUMBER %@&()(7-%!(7$%@<$%, : %B B:,!;}8(TOO LONG,MAXIMUM SIZE IS  . REENTERB A@ , B:, "67B:,%@,. , A@%67B:,%@,. <}$O(.(#}(C) CHANGE ITEM, (K) KEEP ITEM, ORO((R) KEEP REMAINDER OF RECORD((RECORD %@)6=}-@6-)-I(I(7$%@<$%, :7$%@%$<$%$%, ?"@(>} AP?)@?>:,0C*>:,0K*>:,0R*@'AP`"@'' AP (>:,>:,4KA?}P$>:,4R6-@$ AP%!(7$%@<$%, : %C B:,!9(TOO LONG. MAXIMUM SIZE IS @} . REENTERC AP, B:, "67B:,%@,. , AP$$67$%@%$<$%$%,.6- A}6-"6-$op (}((RECORD %@(-==(7$%@B}<$%, : 7$%@%$<$%$%, %%(DELETE THIS RECORD? (Y OR N),)@,>:,0Y*>:,0NC}A`p (>:,>:,4NAa`67B:,%@,. ))67$%@,.7$%@%$%,6-&@6-D}6.7@:,,6-&@ )!$F}8(+( (A) ASCENDING, OR (D) DESCENDING8)@$>:,4A6-@$ Aq$>:,4D6-@$ AqG} Ap`P (}-@@ ((Ġ:AR@P-&@ 6--%@1H}-@@( 1B2yAq0Aq@E?7$%@%$<$%$%,27$%@%$<$%I}$%,E6- AqEE?7$%@%$<$%$%,37$%@%$<$%$%,E6- "Aqa6J}.7$%@<$%,H67$%@<$%,.7$%@<$%,a67$%@<$%,.   6-$? SEARK}CH@"6@ A$J (}(Ƞ!(;0@@@U0@o0@L}ART(0) RECORD NUMBER^;-7(%@) 7$%@<$%,; hL(M} ( (((SEARCH WHICH HEADING: ,L )!%@A@r6-&@| A !6-6-N}!6- 6@AP "@6-A:, "@6-A:,6-& "@6-A:,: -D O}"6@A0N AAAX //7$%@%$<$%$%B:,,/A0] Ab //7$%@P}%$<$%$%B:,,4A0g 7B:,AR@A$#'"A&6-&@' A%#6-%@#67,.>:U},# (>:,# A%INITILIZE SEARCH&%-@@(0%I"6@%(SEARCH RECORD# )I @V})!%@A:%&6@"( SEARCH VALUE&?%AR@D%((PRINT OUT ITEMS:F%'('( 1) LESSW} THAN OR EQUAL TO...H%( 2) EQUAL TO...J%''( 3) GREATER THAN OR EQUAL TO...L%4"6@(*( ...RECORD#  ?X}4 A`N%.(.(... IN HEADING #%@?X%)@6-A:>:,,b%!! @)!@A`l%!"6Y}@!6.=:&@,v%$j' Bp':(FORMAT NOT FOUND%)@0@: A( B`(4( DISZ}K ERROR)@*@4 B D:ATFILE.BASFOUND%)@0@: A( B`(4( DIS> ^^^^^^^^^^^^^^^^^^^^^^^^^ 򺛛 Cassette - Simply type "CLOAD" a\}nd when it is loaded type "RUN" Disk - For booting with a drive we suggest you use DOS 2 or 2.5 (anything) and that it]} not be booted using DISKIO or any other program of that type do to malfuctions. Just type LOAD or RUN "D:VIDEOFIL.ER^}". 򺛛 When you have loaded the program and then typed RUN a menu will be displayed with five option_}s: [1] Create a New Tape [2] Change Listing [3] Print Listing [4] Clear Tape [5] End Session `} Creating a new tape is simply where the program creates a new tape in numbered sequence. Eg. You have 4 tapea}s in memory and you choose option #1 it will create another tape. (#5..#6..etc...) Then it will ask for how many prb}ograms there are on this tape and you have a choice of 1-9. It then will ask the name of that program. (1-13 charactec}rs) after this it will ask the starting number on the tape. Eg., say it is the 1st program then enter "0000" then od}n the others do the same. Say it starts at 427 then enter "0427" and so on. For entering the length simply hit the e} key until you get to the length you wish and then press the key. After this the screen will go blank for af} couple of seconds while it enters the info into the program. After that the program will return to the menu. g} Here is where you change an already existing tape. When it asks you the tape number enter 01-99 and then it wilq}b%DOS SYSb*)DUP SYSb SAUTORUN SYSb_HELP DOCb-oDATABASEDOCboDATABASEBASbP ATFILE BASb[VIDEOFILDOCbTzVIDEOFILBASb5DIFCONVTDOCb:DIFCONVTBASbJ=DISKINDXBASb<PROGLIB BASb PROGSORTBASl print what is on that tape on top of the screen and then ask you which program to change. After that it asks you thr}e same questions as in option #1 and use the same format as in option #1. The screen will then clear once again and thes} menu will appear again. In this mode you will be able to print the listing either on the screen or tht}e printer. Reminder: when entering the tape number enter "01 - 99" and then the screen or printer. Thiu}s option is for clearing a tape fully and then re-entering new programs and for removing a tape completely from the lisv}ting. Reminder - "01 - 99" for the tape number. This is for when you've finished changing the listing w}and you must save the program or whatever you changed will be LOST!!! And after it is done saving it will return to Bx}asic. *If you have any questions or any problems please leave me a message on the BBS where you downloaded this progy}ram. s.c. p.n.sage on the BBS where you downloaded this progM~O))PNUQANNMANUMANAMESLLNTLPNMPRSTSTSELYNM2NUNUMPNAMONMDATATKIT!{}IACLRESET@@@@ !|}@!}} !"#$%&'()*+,!~}-./0123456789VIDEOFILER&&!}BY PAUL NEAVES AND SCOTT COULTER ~~9@,9@,;@,;@,;@,9@,;@,;@!},;@,;@,;@, A0-@A #B(>:A%,"-@@B(Enter Number!} of Programs #$;@.@@K:;)@%/6-&@H/ @)!@ @6&!}((W-@#-@@5( Enter Name ofS( Program #:W)1-@@1(Enter Sta!}rting Number #*B@.@@K:B-@+@-@'%@$)@-68,-!}66-8,@(>:8,,,&6-@&8,"AU@B-<8,"A&6-&6-@'%%@@<( . !}/&67@<@,.>:8,,F67B:,%@,.>:8@,,f67B:,%@,.>:8@,,67B:,%@,.>:8!}@,,0B6.30-Mins#-@@ 8(Select Length :B#AP1#-@@ #( 2 F:B2y,!}"@@T3 F:B2y,@@I4"430-Mins#AP5%-@@P % @I6"!}@I@V7 @X8_0@#(}K6-$A%A%$@&@_!@AC9!} @`:70@#(}7!@@a;G6-A @`--@@P;6-%A!}?#C"G <F (}-@@<( DATA ,,,F @b=>6-%@#-@@>( D!}ATA ,,> B?6((CONT!-3AB@6&@AB@FC(>:A%,*0!}@@@16.86.?6.C c%dT-@A ((>:A%,:-@@T(Enter Ta!}pe Number: #h@.@@K:B-@V-@$%@c)@l68,-u6!}-8,(>:8,,6-@i8,"AUAj<8,"A&6-&6-@$%%@@<( k lO&!}67@<@,.>:8,,F67B:,%@,.>:8@,,O6-A:,o-@@8(Starting Name L!}engthJ-@@o( Y A ##A%+$A,'"5-@="Q-!}@@%Y(]3-@@%(/-@(@%3(26-B:,'@*-@ &@%.(2 !}%( (%(Change Which Program #`@.@@K:;)@B(>:,` @I)!@W!}AES6-&@I3#A%+$A,%+$@,?"I"S AH "?(( Enter Name!} of;( Program #>:,:?,)"@*"@*4 SQUARE PEGS,p-@@1(Enter Starting !}Number #<@\@@K:p-@c-@'%@$)@-68,-66-8,!}@(>:8,,L6-@c8,"AUAP<8,"A&6-&6-@'%%@@<(  6.&6!}7@<@,.>:8,,F67B:,%@,.>:8@,,f67B:,%@,.>:8@,,67B:,%@,.>:8@!},,B6.30-Mins#-@@ 8(Select Length :B#AP#-@@ #(  F:B2y,"@!}Aa F:B2y,@AW"430-Mins#AP%-@@P % AV''6-A!}%+$A,%+$@,>0@*(>:A%,>!AdM(>:A%,"-@@C(!} DATA ,,,M Ae0-@@0( DATA ,, B6((CONT!-!}3AB@6&AB@*(>:A%,*0@@@%Q-@A !}((>:A%,:-@@Q(Print from tape #B@.@@K:B-@@!}-@!%@$)@-68,-66-8,@(>:8,,&6-@&8,"AUAQ<8,"A&6-&6!}-@!%%@@<(  F&67@<@,.>:8,,F67B:,%@,.>:8@,,-@@!}(to #B@.@@K:B-@@-@"%@$)@-68,-!}66-8,@(>:8,,&6-@&8,"AUAX<8,"A&6-&6-@"%%@@<(  !}F&67@<@,.>:8,,F67B:,%@,.>:8@,,# 6-A:,6-A:,#6-&@ A( (+( !}PRINT ON ۱ PRINTERA( ۲ SCREEN| A @8@@K:E)@P@!}^6-&@H| @)!@ApL"@/@@P:<6. L6. !}"@/@@E:I0@c0@@uAR@@@!}dB7t@d@ @@@S)(@ TAPE #%@5"@S(@!} =========+"@+(@ (@I(@ START NAME !} LENGTHU"@(@" M"@M(@. =======================!}====================/6-%@%#A%$A/ A "-@" +6-B:,'@ "@!}+(@!(@ "=-@@&)(@ - =(@#"@A!}$"@A%"@A&"@A'"@A("@A) A!}*6-%@+<-@@&)(@ - <(@,+ (@(@+"A-!} A.-@A /%E'-@A '6-G|(>:A%,"-@@F(۱ !}Clear tape - change listingX-@@|(۲ Remove tape - renumber restI(-@@(( Select <1/2>:Jk!}@.@@K:;)@F@R"@Ia( k A5K)"@P( !}) AUL A0O--@@-(Clear Which Tape #Pc@.@@K:B!}-@V-@"%@c)@QB 68,-6-8,(>:8,,+6-@B8,"AUA6R<8!},"A&6-&6-@"%%@@<( S  A Tg&67@<@,.>:8,,F67B:,%@,!}.>:8@,,O6-A:,c-@Ag U0@#(}5-@@I-@ g($!}A%A%$@k t(CONT-AB@&V9AB@/0@@!}9 @5Wb+6-$A%A%$@&@=-@@X( DATA ,,b @bc.-@@!}.(Delete Which Tape #dc@.@@K:B-@V-@#%@c)@!}eB 68,-6-8,(>:8,,+6-@B8,"AUAVf<8,"A&6-&6-@#%%@@<(!} g  Bhg&67@<@,.>:8,,F67B:,%@,.>:8@,,O6-A:,c-@Ag j!} (}#0@5-@@I-@ g($A%A%$@k t(CONT-!}AB@&mAB@ AoQ-@@5#$A%A%$A9"?(}Q-!}@@rr-@"%"@h($A%A%$A&A DATA ,,,r A!}wwRR($A%A%$A&A%$@&@ DATA ,,y7 (CONT"-4A!}B@7&zAB@ | @(}(((B#$A%A%$A&AF"Z-@!}@ ($A%A%$A&A%$@}:  ((CONT%-7AB@:&~AB!}@%-@A =(>:A%,"-@@=(*** End of Session ***.-@@.(!}Are you sure :Y@.@@K:;)@G"@O(Y A "@x!}( A  A-@AP %6-@@6(isk or assette :^@!}.@@K:;)@G"@gT(^ A""@h(" A A!}4 A A  D1:VIDEOFIL.ERA@U0@@ (:( ERROR #F!}:A,N-@APR U% % C +AR@1@@dCB7t@d '@ @!}'@@ 70@70@@@ .-@@.(   !} +-@@+(   --@@-(  5-@@5( I D E!} O I L E R +-@@+(By: Scott Coulter )-@@ )(and Paul Neaves %-@@%( !}Option Menu '-@@'( ------------- *-@@*(۱ Add New Tape 1-@@1(۲ Cha!}nge Tape Listing +-@@+(۳ Print Listing (-@@((۴ Clear Tape )-@@ )(!}۵ End Session (-@@"(( Your Choice :& S#@@K:0)@<"@II(!}S @00 ,"@P"(, A: ("@Q( ( AP< ("@R( !}( A%? )"@S( ) AD @ A1pp1-Hour,1.5-Hours,2-Hours,2.5-Hours,3-Hours!},3.5-Hours,4-Hours,4.5-Hours,5-Hours,5.5-Hours,6-Hours, ,30-Mins D:VIDEOFIL1-Hour,1.5-Hours,2-Hours,2.5-Hours,3-Hours S DIF Conversion ============== Documentation by David Fuller SYNFILE+ is one of the latest in%} filemanagement programs and in my opinion is the best. In the 3 years I have owned my ATARI, I have spent most of my%} time writing programs for data files. I am very familiar with ATARI's capabilities and limitations. SYNFILE+ makes u%}se of all of ATARI's attributes, including expanded memory. I wrote a disk catalog program because the best filemanag%}ement program was only able to search on the one main index field. The disk catalog program could search on three. I %}later modified the disk catalog program to be a VHS movie file in which 1250 records, the program, and the index, all r%}esided on one disk. SYNFILE+, although the program is on a seperate disk, has the ability to search on sixteen fields%} and the size of your file is only limited by memory for the index. It can search across disks. Good-bye disk catal%}og, hello SYNFILE+. I decided I wanted my files in SYNFILE+. This meant I would first have to convert my files to DIF%} (Data Interchange FILE) files, so I wrote a program to do so. DIF files were originally set up by the people who wr%}ote Visicalc in order to have a universal file structure that could be used to transfer files between programs or bet%}ween computers. Because of this structure (which I think was done a little backwards), it takes a long time to process %}data files. The DIF file is set up with rows and columns and the information is stored by column. All the information%} in the first column is written first, then the second column, and so on. When a data file is being converted, this m%}eans that the information is written by field. The data file has to be read from beginning to end once for each field%}. If you have 16 fields, the file has to be read sixteen times. This is just to convert to DIF. Then the file has to be%} loaded into SYNFILE+. I did 72 records which took 45 minutes. The DIF file winds up being much larger than the sourc%}e file. If you have a full Filemanager data disk, the converted DIF file would probably not fit on one disk. For each%} field in your data file, there are at least 8 characters added to the DIF file plus some additional information to s%}eparate the fields. One way around this would be to create subfiles with Filemanager and do each subfile separately. In%} the conversion program I have included a function to break down large files into two smaller files. In addition, whe%}n SYNFILE+ converts the DIF file to it's own format, it has a minimum field length of 16 characters. This means if yo%}ur data file has a field with 2 charaters, when SYNFILE+ converts it, it will contain 16 characters. This can be modi%}fied back to 2 characters with Modify Form and Merge functions is the Synfile program. The only thing I found I didn't%} like about SYNFILE+ is the fact that it doesn't give you any idea what is going on when it is converting DIF files. I%}t could take an hour, or it could take 6 hours. You never know until it is done. This BASIC program will automatic%}ally convert filemanager files to DIF files and will also convert other DOS type files if you know the structure (numbe%}r of fields, lengths, whether they are strings or numeric, and the number of records in the file). If you are convert%}ing a Filemanager file, simply insert the data disk and the program will give you a list of the files on the disk. Yo%}u then select which file you want to convert. The program will show you a list of the field names to make sure you ha%}ve selected the right files. You will then be asked how many records you want to copy. This allows you to create 2 sm%}aller DIF files from a very large data file. If you enter the same number as the total records, the conversion will onl%}y create one file. If you enter a number that is less than the number of records in the file, the coverion will creat%}e one file with the number of records you entered and another file with the rest of the records. Next you will be asked%} for the name of the output file. After all these entries have been made, the program will proceed to write the DIF f%}ile, displaying the field and record numbers as it goes along. At the beginning of the program you will be asked if %}you want to convert a Filemanager file or other. If you select other, you will be asked questions about the fields an%}d file names. Then it will again start to create the DIF file. After the DIF file has been created, load Synfile, re%}move the Synfile disk, insert the disk with the DIF file on it, and then select the "DIF to Syfile" function. You sho%}uld now see the name you selected for your DIF file. Press RETURN and the rest is up to Synfile. This process could t%}ake quite a while to complete. The file the Synfile creates will have field names such as "A", "B", "C", ect. Any fi%}eld which had 16 characters or less will now have 16 charaters. Another thing you will find is that the conversion o%}nly differentiates between character fields and numeric fields. Any fields that had special features in Filemanager s%}uch as computed, repeating, or dollars will now simply be text or numeric. This is not a problem because you can chan%}ge them back with Synfile's "Edit Form" functions. It is important that you follow the right sequence when modifying%} the form. The first thing you must do is to change the field names back to what they were or what you want them to be%}. BEFORE changing the lengths or types, save the new form. Now you can edit the same form again and modify the length%}s and types. DO NOT change the names of the fields durring the second modification. If you do, you will loose informa%}tion. If you want to add or delete a field, you must create a new form, using the same names for the fields you want to%} retain and using different names for fields you want to add. Changing the field lengths or types makes it necessar&}y to Merge the file into the new form. This is explained in the Synfile documentation. If you have a large file, only&} index the file on one field and set the index length to one character. This reduces the chance of running out of mem&}ory durring the merge. Well, I hope you enjoy using Syfile as much as I have, Dave/ mem$yJKANUMFLDFLDNFNLINANSRINFILTTLCHGNUCHGFLDFNCTTYPETYPEFLNAMLCRITPSRCHFLCHGFLSRCHFLDCHGSE*}BYTINPTSTSRCSTCHLNGTHSRCLNGTHCHRQUERXSTYPELINFLD1FLD2LNTERERLIIDXFLIDXIDXIDXDEIDNUMFLDSFLDLNGTLNGHT*}CHDRIVEOUTFILQUTMAXLENUMFTSOTHETYCPPASSTARLINESCRSCRSRCXXTESTSPACESPAC*}@ *} !"*}#$%&'()*+,-./0@12* }3456789@:;<=>?@AB* }C@DEFGHIJKll*REPRINTED IN ACE NEWSLETTER FEB* } '85 3662 VINE MAPLE DR EUGENE, OR 97405 *""**************************** DIF COVERSION FILE UTILIT* }YBY DAVID FULLER 9/6/84ATARI ANONYMOUS OF RIUSER'S GROUP72 CRYSTAL DRWARWICK, RI 02889""**** }*************************  A A@(}ԠŠŠ!!( by David Fuller(*(&( Ho*}w many Drives (1 or 2) *2# @)!@# @@<(-@@((1. FilemanagerF(2. OtherP#(*}(Enter Type of File #Z01*02 @`d! 426-@! An6-@x(((( Insert Fi*}lemanager Data Disk-)( in Drive 1 and press Π-- (}()( Files on the Disk-(-6.D1:*.**}-@@4@47@<@,4FREEAM7@<@,4DATM(7@<*}@, 7@<@, A`U@(.( Which File to Convert 9( =F6.D:U67@*},.67B:,%@,..FMT ԠĠ٠Ӡ (}AR @@*}@@6-3-@@'68,--!36- 6-"L*}@6-B:,/67&@<,..IDXL@@,@6-&@6B-@@$*}@( 5@B@@D6-6-@868@<@,-@D6-J -@*} 68,-T=8,!A*8, A.68,-@=68,-@V58,!A&68,-8,&A568,-*}Y6-%8,^6-P:8,'@%,h&"8,'@%6-%& Ar6-%@|f"@ (68<@*},-&@66-%@B6-S68<@,-\6-8,f A\!AU(68<@,-&@66-%@*}B6-S68<@,-\6-8, 68<@,-S(S(File >:@4,7@:@4*}, has  records( Screen(s)( Field names+(6-6-@+6-@/!-@$*}@@/6-%@56-%@"@)6-@ 56-@"@6-@! -!(*}. 7<%@, -@@(,(( Is this the right File (Y/N) , 0Y%,(((How many r*}ecords to convert ,!6-@ !6-@6-@67B:,&@,.DAT&ŠƠŠ0F*}(&( Enter name of output fileB( up to 8 characters F:V 6.D67@,.=:,.67@,.:=67@,* }.V67B:,%@,..DIFD"@ AN#(#(Insert Desitnation disk X-)( in Drive 2 and press *!}Π-b% (}(%( Processing...l+-@@+(Total Records: vC-@@"(Field: 4-*"}@@C( Record #:6.>:@4, @@#"@*!@# A:@*#}+@@:@@6-(@TABLE'(@0,16(@K(*$}@VECTORSj(@0,=:&%@,y(@(@TUPLES'(@0,=:,'(@*%}5(@DATA&(@0,05(@-@/"@!-@@%(/ A`7-@*&}@7(7$@&@<$@,&(@-1,0&(@BOT6-%8,  - -@@*'} (  '6-6-@'6-*@/7-@:7@<@,,"AU*"@7 A*(}1^-@:7@<@,,"AU*!@C-@&@P@T ^ A4S# 8<@,)!8<@*)},.6-%B:,;@I6-%@S A >S8," A.(@-1,0S(@7&&8,%@**}<,HL8,"@=(@0,A:7&&8,%@<&,,L(@VR* -%@&@*+}* f p "@z@ 1(@-1,0&(@EOD1@ " A *,}i( (4(&Do you want to convert the rest of theD( records Hi7@<@,0YA @*-}6-%@6-R"@(3(Insert new destination disk N( and press Π R (} *.}A`$-@@!( Š$ԠҠŠϠ% (}%( Convert Other File(($(How man*/}y Fields in File (,(%(How many Records in File ),(/(((How many records to convert ,/(  6*0}-@-@$&(Length Field #&68,-.p'(Type of Field [tring/umber] +[7@<@*1},0S*7@<@,0Nf(S OR Np Ap857@<@,4N+68,-@5 AB68,-L*2} Qp6--@(6-%8,, 8!AU;(Y(Record length longer thanm( 255 characterspSC6-*3}@,68@<@,-@C68@<@,-V) (}(%( # Length Type)(`/-@/( *4} 8, j8,"(Stringt8,"@(Number~   (Q(*(Are all entries Correct *5}(Y/N) .G7@<@,0YQ AK (}(,(Enter name of Source FileG( example: TEST.DAT K*6} 6.D:67@,.6-@ (} A`[6-F:A,46-F:A,%AV$F:A,7([( *7} Ҡ ԠŠ-()( Press Π to continue -%ԠРӠ< (};@4,*8}<6. ԠϠƠŠ٠hh;AU,;@,;A@,;@@,;@,;@@,;@,;@*9},;@,{{;AU,;AU,;@,;@,;AU,;AU,9@ ,9@ ,9@<@*:},;AU,V.6.$------------------------------------2(>6-J6-@V6-@ $'6.7&&8,%*;}@<&,'6-&-B:,@6@(7<,0 '$-6-&@2 6-%@$D:DIFC*<}ONVT.BAS,'6-&-B:,@6@(7<,0 '$-6-&@2 6-%@$D:DIFC( c$$QQQQQQQQQ1Q1Q1Q1Q1Q1Q1Q1Q1Q2Q2Q2Q3Q3Q4Q6Q6Q8Q8Q10Q19Q20Q25Q25Q26Q27Q30Q31Q3.>}2Q33Q36Q42Q50Q55Q55Q57Q64Q75Q76Q77Q81Q81Q84Q86Q92Q94FILESORDFILENAMAREASAVPTONCOUNLPSDIS.?}KLOLINESCA .@}.A} !"#$%&'()*+,.B}-./0123456789:;<.C}=>?@ABCDEFGHIJKL.D}6-@6-@'6-@36-@?6-@K6-W6-@c6-@ o6-@{6-@.E}6-@6-@6-@6-@6-@6-@6-@6-@ 6-@6-A0 .F}6-@06-@4'6-A@36-A`?6-@eK6-@W6-@c6-A1o6-A{6-A6.G}-AP6-AU6-A"`6-B2y6-A6-A'6-A 36-A0?6-A`K6-A W6-.H}Ac6-APo6-AY{6-Ap6-A@6-AR6-AdW6-Ap6-A'6-A36-A.I}@?6-A`K6-A W6-A)@@;,;,;, 6. &6-,6-@;$A,;,   A1 .J} , 6- 6 6- @ 6-J: -2 *-@9662': ^ 2$h4 (} .K}ϠӠΠ٠$ ,-0 4  " &&(}TOTAL NUMBER OF RECORDS IS  " i$(ENTER T.L}O SORT BY DISK #E( TO SORT BY EXTENSIONi( TO SORT BY PROGRAM NAME6(( TO SORT BY PROGRAM TYPE.M}2 AP6 4D6-6-  4E6-6-  4P6-6- & 4T6-6.N}- 0 :P(4(Ԡ̠ŠP:$+',%, Ӡ<-@ FJ P6-XR6-P:',%-&&6-.O}$&%R7<%&,/7%+$,<%+$,%&,Apv67<,.7+%,$&,6-+#67+%,$&<+%,$,.7$&,+6-&.P}+ !!7<%&,27$&%,+ A@!!67+%,$&<+%,$,.7<,> F:,"4(ԠĠԠ.Q}Ԡ> A!A (ԠĠ -  ])(!} ϠՠȠϠҠŠ.R}C( ŠŠί٩G K OW4Y]6-*((( ҠĢҠԠԠ 43%(ˠĠҠˠ.S}Ҡ/ A 3 HB:," RB:,Ap\!67<,.7<,!67<,.00fB:,Ap067<,.7.T}<,#67<,.7<,067<,.0z 4END A < 6-% 6.D#67,.=:,167,.:*.*< .U}("(7<,4FREE  3/7<,4 DOS SYS)7<,4 DUP SYS3 3/7<@,4MENU )7<,4.V} AUTORUN SYS3  6. " A #  ( PROGRAM TYPE# 4* AP67<,., 67<,.W}.6 6-%6-$&"67<%,.667%<%,.7<,67%<%,.,  " ( **BYPASSED** $Q((.X}(ĠƠ٬ӠˠD(TOTAL RECORDS IS NOW G(MQ B-A  `O((Ӡ.Y}ĺ 5(ӠԺ 9 ?6-G-K O  " + " A!P:+ A0.Z}S:>0H:,$  6-(->67<,.7$&<$, "(E-( 7<, 7<, 7.[}<,E( 7<,  %6.7<,4 %6.  6.4A 6.ADVENTUR 4B6.BRAINGAM.\} 466.BUSINESS# 4D6.DEMO( 446.DUNGDRAG- 4E6.EDUCATON2 4G6.GAME7.]} 476.GRAPHICS< 4I6.INPROCESA 4L6.LOANFUNDF 4/6.MAKEGAMEK 4M6.MANYPLA.^}YP 436.MUSICU 4 6. Z 4S6.SCI FAIR_ 4-6.TELECOMMd 4T6.TEST._}i 4U6.UTILITYn 4W6.WORDPROCs 426.2 PLAYERx 4 6. } 4 6. .`}  4 6.  4 6.  ("*" A"*"@V A 6-%.a} P  (( ĠƠŠ>(ӠΠϠŠB FP A0 F:," .(&( Ӡ.b}ϠŠ* . F:," 0 "(((("('(,(0  (} 46.XXX ".c}(a1( *** INDEX TO PROGRAMS FOR . *** 7"=(}a( ĠԠΠϠԠ0 "0(.d} ĠԠΠϠԠ"(6-"(,//($DISK# PROG.NAME XTEN SIZE FILETYPE6$@% (.e}}%(ΠŠҠΡJ -A ^  6- h1(!(ĠΠԠ'1 .f}A " !   A !c@(8}TYPE IF YOU WANT TO ADD RECORDSIN MEMORY TO FILE.C(F(c.g}( ΠX( (0(" THIS MAY RESULT IN DUPLICATES.?(  (N/Y)C GO0YTX ? 6-.h}-F:,"(;(ŠĠԠԠ? 667<,.7$&<$,&7<,4*.6-%2 6   N.i}#(&& RECORDS WRITTEN:( RECORDS DROPPED> F-J N F:,"Ap &F:,"A) 0V .j}(}-R(8ΠҠĬԠɠġŠ٠ήV : -  D  .k}N A`vT  A & A P30H:,$T(} ؠϠˠ$$(DISK# PROG.N.l}AME XTEN SIZE: 6-%:( 7<, 7<, 7<,2!( 7<, 7<,267$&<$,..m}7 F:,"(-(ĠĠԠԠ7 A 0 A`$  $(}ŠԠĠ -  .n}F:,A6  Q#( ĠƠŠĠ' *(D(HIT RETURN WHEN READYHMQ \3+ -!( A.o}RE YOU SURE$(/((N/Y)3 p0Y+ zJ  A"$@3*-F(ΠJ .p}-AP  ) -%(** FILE IS HIDING **)  A"M+0H:,$3(} ̧Ӡ.q}ˠM(͠٠l,($WHICH ACTION DO YOU WISH TO PERFORM?U($ENTER: TO LOAD INDEX FROM DISKl( .r} TO ADD RECORDS x"( TO DISPLAY FROM MEMORY?( TO PRINT FROM MEMORY^( TO SCAN FOR A PGM NAMEx( TO SORT.s} IN MEMORY8 w#( TO SAVE INDEXes TO DISK@( TO DELETE DISK INDEX^( TO DELETE FROM MEMORYw( TO 'ZERO' ME.t}MORY` 8( TO EXIT PROGRAM8( TO DISPLAY DISK MENUt :-@",(ӠΠ٠ 2-6 :  .u}4A   4SO   4SC A0  4SA A  4L A  4D   4P6- .v}  4X A!@  4XM A&  4Z A%  4E A&  4? A(p   ;  +.w}-%( ARE YOU SURE((3((N/Y)7 ;  0Y ( %2 2  +--(!!! ARE YOU SURE !!!2(< X3(.x}(THIS WILL COMPLETELYWIPE OUT ALL MEMORY!6(A((N/Y)E IQ4YU+XP   "  %%(} .y}ǠӠ hh(` YOU MAY DELETE AN ENTIRE DISK'S INDEX FROM MEMORY BY ENTERING THAT DISK'S NUMBER NOW.  .z} B:,A'@ !67<,.7<,!67<,.00 B:,A'` 067<,.7<,#67<,.7<,067<,.0 F.{} 6--6-$-7&<&,47<,>67&<&,.*F6-% < F:,"(/(ŠĠԠԠ2'< A(.|}   --( ӠĠҠΠ d`(XNOTE THAT ACTUAL DELETION WILL NOT OCCUR UNTIL RECORDS ARE WR.}}ITTEN BACK TO DISK FILEd   -  6 S @@6-(0H:,$/(}I(ԠˠՠS A.~})@ 0 6.D67,.=:,%67,.:*.*0J  ( A(T I@8(=(Ӡ.}ϠŠA EI | 8 6.D67,.=:,+67,. :PROGINDX.867,.DAT " $ S A)`(}-O(0E.}NTER 3-DIGIT EXTENSION FOR FILENAME خS  67,.$ "  o (} (o(] ϠΠ٠͠Ŭ.}Ҡ ŠҠΠƠŠՠŠ ǠҺ B:,"  5 -+7>h2}l x      @@IAb2}@@@@@@@A`@ DDOPEN#3,82},0,"D:PROGLIB.DB":CLOSE#3:XIO 35,#3,0,0,"D:PROGLIB.DB" A;@2,;@,A6. ̠͠ 2}MARCUSE--COMPUTE#17;#@@K:5@;(2]];@b,;@,;@,;@"2},;@,;@,;@,;@,<U1;A,;@ ,;@ ,;@,B6. D:DISK.CATU6. D:PROG2}LIB.DBdP +@@d1B7t@d4(9(P( CATALOG OPTIONSn//(' 1 AUTO CATALOG 5 UPDAT2}E RECORDx--(% 2 LIST DIRECTORY 6 SORT LIBRARY,,($ 3 ADD DISK (NON DOS) 7 RUN PROGRAM,,($ 4 INQUIRY/LIST 2} 8 END SESSIONK Ai A`#6-A:>:,,- BK @)!@A`%6-%@%!@A2}("@A.$( ԠˠϠŠ. AiA A@*@@4 B2}A@@'B:, @)7@<@,06( ERROR- @ AP06-@&6.7@<@,0 A2};@6-A'@;ApA:(Ҡˠ (DNNN) =>#:B:,"AE62}-A` A6@@E(@"3@3@5@,H6-A2} A<@@D:*.*H6-6$ A@$ B@B:, @AJ2},"@("6-%@, AT(-@@$7<,0 ( ^f+67@<@,.7@<@,2}D67@ <@ ,. f67&@,.7@<@,h57&@,0 567&@<&@,..r>>4DOS2}.SYS)4DUP.SYS)4MEM.SAV)4DISK.CATA|F+67%@<%@,. F67%@<%@,.G/62}7%@<%@,.7@<@,=6-%@G A@6-'@@(@( FILES FOUND= , 2} FREE SPACE= 7@<@,: @!( DISK IS # :( Ԡĺ®! Ai!"A2}OOAAAA A0A@APAUA  + AbP A' 2}A-@A $** RE-CATALOG[6-@ Ab6.+6-@76-@C6-@O2}6-[6-! Ap!"@ AD-@D7$@&@<$@&@,4A2}; 67@b,.D1(  DELETED ON ; ALb767@Y<@a,.7$@&@<$@,T67$@2}<$@,.*b6-%@V)@(@) A  AbP"A** AUTO CATALOG62}-@  Ab@-@@"@*7$@<$@,4*A@[.6.7$@&@<$@&@2},Q6.7$@&@<$@,[ Ah  A P** MANUAL ADD-6-@  Ab# Ah- A2} P 5(}  - INQY/LIST(6-@2 Ae5( <( OUTPUT: 1. INQUIRY,( 2. BROWSE<( 3. LISTING K 2}Ai A0@#6-A:>:,,- BK @)!@A0@ E6-6-@% Ab16-E @2}A1 Z6-A0 A 9@@P:C BZ(@ D,5>F / Ap6-%@2}/!@A3& A1 A1`A20  Av(: =6- ( (E=END) OR* Ai=>:,4E2}A PD A1X 2"@/(}VOL FILE ID DESCRIP2(b #( #"@A10l A1 2}!@A2  //(@  PERSONAL PROGRAM LIBRARY  KK(@:DISK# PROG/FILE ID DESCRIPTION TYPE SOURCE D2}ATE SECTORS  44(@       1!@U6-1 @>:@, A12} "@@ "@ Ai A P5(}  -RECORD UPDATE+6-@5 Ae%62}-@ Ab%6-! Ap!!@A P9 Av(9($ TYPE FIELD # TO UPDATE, D TO DELETE)2} Ai>:,4D)67@b,.DA AC6-A:>:,,# BA @)!@AC& #A-@2}"# &((( ENTER NEW A`@%( A@03 Aa@)(@3 A@ 6 (}  - 2}SORT/COMPRESS,6-@6 Ae/%( TYPE Y TO SORT ON FIELD # / Ai>:,0YA+A&@2}+A&@,( LOADING SORT PROGRAM,% D:PROGSORT|RUN PROGD(( ҠǠ==>!-6-@2}DB:,"A` Ab6-%6-@66-@%B:,B6-@L Ap`"@ A P'(2}'( Ԡ  TO RUN 8(( TYPE 'Y' TO RUN% Ai8>:,0YA P,67@,.,67@<@2},.D:.(( LOADING  AUp$%. B1((  NOT ON DISK' A 1 A Pp( } TO ADD 2}, ENTER:z% #A!-@@%"77 @*+"@)"@)"@,A`@( A`@%  2} $(|----| $ (|------------|  $*#(|----------------------| '*$( |-------| 2}$( |-------| $( |------| $(|---| $(-@@a$67<,. ( _2}67@<@,.167@<@,.H67@<@8,._67@9<@E,.K67@F<@R,.167@S2}<@X,.H67@Y<@b,.K$8J6-Ab A%@J@6@B'@2}$ B'$j$6-AbP A$@t4@4@5@~ B2}$d( KEY:#An9-@" ( $ /(E END9 Ai; A `6-A:>:,,# B;2} @)!A `"@Ae2#-@" 2"@Ae0( ENTER VALUE0B:2}, @A `%B:,&@!Aep6-%B:,&@$2 A` Aa(67@b,.*2 Av2}6( TYPE 'Y' IF OK # Ai6>:,0YAh(@$4(( Ԡ==>*)@1(>:,42}$@#( PRESS ANY KEY TO CONTINUE0)@=( >:,@$X("@)"@(@b= Ap`@2}$ B=7@b,4DApl"@Ap@v07<,Apm6-%@(6.7@<@2},?6.7@<@,V6.7@<@8,m6.7@9<@E,K6.7@F<@R,16.7@S<@X,H6.2}7@Y<@a,K$66-@ ()( RECORDS FOUND= 3 A 6$) (}#A)-@@)"(2}  " Av%& )$ ( $ ( $ ( $ ( $ ( $ ( $ ( $(#H@@2}:( ˠˠ ERROR D AiH <#E@@7( ˠ ERROR A AiE &,,1,2}4,5,16,17,38,39,45,46,52,53,58,59,61&LLˠ ,Ǡ , ,Š , ,Š , ,ALL RECORDS D:PRO2}GLIB6,17,38,39,45,46,52,53,58,59,61&LLˠ ,Ǡ , ,Š , ,Š , ,ALL RECORDS D:PRO0P_qXRECAPS %%** ATARI PROGRAM LIBRARY S6}ORT** AP6-I:,&AE ;,;@b,;@,36. D:PROGLIB.DBE( LOADING FILE6 A06}*@@66-(= @`@$ B=7@b,4D@@2>6-%@4676}$@b&@a<$@b,.> @@<5@5( RECORDS LOADED=  , BEGIN SORTF%!@%6-?:A6