_(G)5X20:X2Gd"":X4)"C128 (80 COLUMN) PHILEMASTER"wiX)"THIS IS AN EXCELLENT FILING PROGRAM"nX)"ORIGINALLY WRITTEN FOR THE C64 BY"sX)"ROBERT DRAKE AND WAS PUBLISHED IN"vX)"VOLUME 5, ISSUE 4, PAGE 41 OF THE"&xX)(34)"TRANSACTOR"(34)" MAGAZINE."UX)"IT IS MENU DRIVEN, WRITTEN IN BASIC"X)"AND VERY "(34)"USER FRIENDLY"(34)" WITH SUCH"X)"THINGS AS RECORD FIELDS, SORT FIELDS,X)"AND CUSTOM PRINT ROUTINES DETERMINED"X)"BY THE USER FROM MENU SELECTIONS."GX)" PRESS  ANY KEY TO CONTINUE"Q1390"":X)"WHEN FIRST RUN THE PROGRAM WRITES A"X)(34)"DUMMY"(34)" FILE (PREFIXED WITH PM-) THAT"X)"HOLDS YOUR RECORD DESCRIPTIONS AND"X)"THEN WRITES ANOTHER FILE (WITHOUT THE"JX)"PM- PREFIX) AFTER YOU HAVE ENTERED"_X)"YOUR DATA."X)"EACH TIME YOU RUN THE PROGRAM YOU"X)"MUST EITHER CREATE A NEW "(34)"DUMMY"(34)" FILE"X)"OR LOAD AND EXISTING ONE BEFORE YOU" X)"ARE SHOWN THE MAIN MENU."J X)"ONCE YOU REACH THE MAIN MENU YOU MUST" X)"SELECT THE "(34)"LOAD DATA"(34)" OPTION IF YOU" X)"WANT TO LOAD PREVIOUSLY SAVED RECORDS. X)" PRESS  ANY KEY TO CONTINUE" 1390$!"":X)"I USED MY C64 VERSION OF PHILEMASTER"R!X)"QUITE FREQUENTLY AND REWROTE IT FOR"!X)"THE C128 IN ORDER TO UTILIZE THE 80"!,X)"COLUMN DISPLAY (AND SOME OF THE NEW"!0X)"BASIC 7.0 COMMANDS.)"!1X)"IF YOU HAVE QUESTIONS OR COMMENTS"("6X)"LEAVE EMAIL TO LARRY K1 AND I WILL"@";X)"TRY TO REPLY."o"@X)" PRESS  ANY KEY TO CONTINUE"y"E1390""":X1)"SET YOUR C128 FOR AN 80 COLUMN DISPLAY""X1)"AND ENTER  RUN 1250 TO BEGIN.""## ************ LGK PHILEMASTER ************)#:r# * BASED ON A PROGRAM FROM 'TRANSACTOR' - ISSUE 5, VOL. 4 - PAGE 41x#:# * V1.0 - 6/22/86#:# * REWRITTEN FOR THE C128 IN 80 COLUMN MODE BY:#:# *************************$ * LARRY G. KIRGAN *0$ * 252 PRAIRIE ST. *P$ * LOWELL, IND. 46356 *p$ * (219) 696-6115 *$ *************************$:$ -------------------------------------------------------------------% *** MAKE SURE COMPUTER IS IN 80 COLUMN MODE%:~% (N)5"  PLEASE SWITCH TO 80 COLUMN MODE  TO RUN THIS PROGRAM ":%:% *** TRAP ERRORS%(:%26920%<:%F%:1950%P:%Z *** CLEAR KEYBOARD BUFFER AND GETKEY C$%d:&n208,0:C$"":C$:&x:2& *** DISK ERROR ROUTINE8&:f&DS11690:(7)"  DISK ERROR "DS$&DS1T10:" PLEASE RE-RUN THE PROGRAM":ՋDS1T11:" GOTO 1810 TO RESUME PROGRAM WITHOUT LOSING VARIABLES"&DS1&&:9' *** COLOR ROUTINES (NOT USED ARE LISTED FOR FUTURE UPDATE??)?':J'"":U'"":`'"":k'"":v'"":'"":'"":'""":',"":'6"":'@"":'J"":'T"":'^"":'h"":'r"":'|:( *** CLEAR ALL WINDOWS(:+(0,0,79,24,1:1(:X( *** WINDOW SPECIFICATION ROUTINE^(:z(X118:Y12:X259:Y22:(X14:Y12:X274:Y22:(X120:Y12:X257:Y26:(X121:Y114:X257:Y218:(X120:Y112:X257:Y221: )X126:Y11:X252:Y223:')X120:Y19:X257:Y222:C)X12:Y15:X277:Y223:I):j): *** WINDOW BORDER ROUTINEp)&:~)0(27)"M"):X11,Y11,X21,Y21)DXX (0):YY (1))N"";:II1(YY1):"";::"")XII1(XX1):"";YY)"":*b"";:II1(YY1):"";::""(*lX1,Y1,X2,Y2.*v4*:V* *** DEFINE STRING VARIABLES\*:*M1$" PRESS  ANY KEY TO CONTINUE"*M2$" PRESS  M TO RETURN TO MENU"*M3$" INSERT PHILEMASTER DATA DISK"*:* *** MENU HEADING+:+CR$(13):17+1530:1690:1750:1510:1840I+(7)(27)"R"t+"  "+"  P H I L E M A S T E R "+ "  "+"  FROM LARRY G. KIRGAN ", "  "+,*M112880:,4M124080P,>1770:1570:1840|,H" * * * INITIALIZE RECORD FILE * * *",R::" PRESS  C TO CREATE A NEW FILE",\:" PRESS  L TO LOAD AN EXISTING FILE"-f:" PRESS  D TO VIEW DISK DIRECTORY"-p1,8,15-z1390/-C$"C"2380@-C$"L"2220-C$"D"(7):1690:1530:1780:1840::(7)" PRESS  ANY KEY FOR MENU":1:1390:2020-2170-1540:::(7)" * * LOAD AN EXISTING RECORD FILE * *"'." WHAT IS THE NAME OF THE FILE"::" TO LOAD ";FI$D.(FI$)13FI$(FI$,13)Y. #2,"PM-"(FI$)c.1430q.2,N$,NF$.NF(NF$).FD$(NF).I1(NF$). 2,FD$(I). I. #2.$ 2680.. :.8 *** CREATE NEW FILE.B :/L 1540::" * * * CREATE A RECORD FILE * * *"g/V (7)" WHAT IS THE NAME TO USE FOR"::" THIS FILE ";FI${/` FI$"":2390/j (FI$)13FI$(FI$,13)/t #2,"PM-"(FI$),W/~ 14300 ::(7)" WHAT IS THE MAXIMUM NUMBER OF RECORDS"::" TO BE PLACED IN THIS FILE ";N$&0 N$"":244040 2,N$CR$;0 ::(7)" HOW MANY FIELDS (HEADINGS) DO YOU"::" WANT PER RECORD ";NF$0 NF$"":24700 NF(NF$)0 FD$(NF)0 2,NF$CR$;0 I1NF1 ::(7)" WHAT IS THE NAME FOR FIELD (HEADING)"::" NUMBER"I;1 FD$(I)/1 2,FD$(I)CR$;N1 FL(FD$(I))FL(FD$(I))U1 I^1 #2d1 :1( *** CREATE A NULL FILE12 :1< #2,(FI$),W1F I1NF1P 2,"EOD"CR$;1Z I1d 21n :1x *** INITIALIZATION1 :1 N(N$)+2 REC$(N1,NF),R%(N1),S%(2N1),W(NF),F(NF),FW(NF)62 I1NB2 R%(I)II2 IY2 L(FD$(1))e2 FW(1)Lq2 J2NF2 FW(J)(FD$(J))2 LFW(J)LFW(J)2 FL(FD$(J))FL(FD$(J))2 J2 BL$" "3 N0: (N=CURRENT NUMBER OF ENTRIES) 3 :43" *** MAIN MENU:3, :I36 M11:2020Z3@ M10:T11:1p3J 1790:1570:18403T (7)5)"* * * * MAIN MENU * * * *"3^ " PRESS  1 TO ENTER DATA"3h " PRESS  2 TO SEARCH DATA"4r " PRESS  3 TO LOAD DATA FROM DISK"@4| " PRESS  4 TO LIST/SORT/CHANGE DATA"k4 " PRESS  5 TO SAVE DATA TO DISK"4 " PRESS  6 TO PRINT DATA"4 13904 K(C$)4 K49K5529704 K483050,3240,3800,4060,3530,61404 29704 : 5 *** ENTER INFORMATION5 :5 NN1?5 1530:1690:1730:1600:1840f5 (7)9)"ENTER RECORD INFORMATION"|5 1630:1800:18405 (27)"L";5 55905& C$"Y"314050 ""5: 3100(6D N(N$)::(7)(15)"  YOU HAVE ENTERED THE MAXIMUM NUMBER OF RECORDS THAT THIS FILE WILL HOLD! "M6N N(N$):20)M1$:1390:28706X :(7)17)"DO YOU WANT TO ADD MORE RECORDS (Y/N) ?"6b 13906l C$"Y":NN1:31006v C$"N"31706 28706 :6 *** SEARCH6 :7 1530:1690:1730:1600:1840 7 (7)14)"SEARCH DATA"67 1630:1800:1840E7 (27)"L";W7 " SEARCH: ";a7 5790k7 1390|7 C$"^"28707 K(C$)647 K1KNF33007 :(7)" ENTER THE ITEM TO SEARCH FOR OR PRESS  RETURN TO VIEW EACH RECORD"$8 " ";:PROMPT$FD$(K)" TO SEARCH FOR"78 842,34:208,1A8* 5430L84 I1Nq8> A$(REC$(R%(I),K),(A$))34508H :28)"RECORD NUMBER:"I:8R 55208\ :(7)19)M1$8f 13908p C$"^"28708z I 9 A$(REC$(R%(I),K),(A$))::28)"SEARCH COMPLETED"9 :(7)19)M1$(9 139029 287089 :L9 *** SAVE DATAR9 :t9 1530:1690:1730:1600:18409 :(7)M3$9 1760:1570:18409 :(7)M1$9 :M2$9 13909C$"M"2870914309 #2,"@"(FI$),W9$1430:.1530:1690:1730:1540:18407:8(7)10)"SAVING....."FI$M:B1630:1760:1840X:LJ1Nd:VK1NF:`2,(34)REC$(R%(J),K)CR$;:jK:t"*";:N185(N185):~J:J1NF:2,"EOD"CR$;:J:#2:2870::: *** LOAD DATA;:%;1530:1690:1730:1600:18404;:(7)M3$J;1760:1570:1840Y;:(7)M1$d;:M2$n; 1390;C$"M"2870; #2,(FI$);(1430;21530:1690:1730:1540:1840;<(7)10)"LOADING....."FI$;F1630:1760:1840;PNN1@" PRESS  6 TO RETURN TO MAIN MENU" >J1390,>TM(C$)@>^M49M554170O>hM542870_>rM504450e>|:> *** LIST INDIVIDUAL RECORDS>:>1530:1690:1750:1540:1840>:(7)" CURRENT DATA FILE HAS"N"RECORDS"?:" START AT WHAT RECORD NUMBER ";K?K1KN4310I?:::(7)(15)7)"ILLEGAL RECORD NUMBER"Y? 4::4260{?1530:1690:1740:1570:1840?(7)"  F = FORWARD  B = BACKWARD  R = RESTART  M = MENU"?1630:1800:1840:(27)"L";@IR%(K):(7)" RECORD NUMBER"K":":)@5520Y@1390:C$"F"C$"B"C$"R"C$"M"4360k@C$"F"KK1}@C$"B"KK1@&K1KN@0KNK1@:C$"R"4190@DC$"M"4060@N:4340@X:@b *** LIST ALL RECORDS@l:@vM494700A1530:1690:1730:1570:1840AA(7)11)"LIST OF ALL RECORDS"WA1630:1800:1840fA(27)"L";qAJ1NAJ10" ";:4560AJ100" ";:4560AJ1000" ";AJ": ";AA$AA$""4610AA$AA$""4590AK1NFB REC$(R%(J),K);" ";BK$B 1390WBH4060]BR:vB\ *** DELETE AN ITEM|Bf:BpM534940Bz1530:1690:1730:1600:1840B(7)13)"DELETE RECORDS"B1630:1800:1840B(27)"L"; C(7)21)"CURRENT DATA FILE HAS"N"RECORDS"NC:PROMPT$" DELETE WHICH RECORD NUMBER "XC5430rC(A$)0(A$)N5130C:" RECORD NUMBER "A$":":CI(A$)C 5520C:(7)16)"DO YOU WANT TO DELETE THIS RECORD (Y/N) ?"C1390DC$"N"4060DC$"Y"4850DJ1NF>DREC$(R%(I),J)REC$(R%(N),J)ED$JOD.NN1ZD8 4060`DB:xDL *** CHANGE RECORD~DV:D`M525250Dj1530:1690:1730:1600:1840Dt(7)13)"CHANGE RECORDS"D~1630:1800:1840D(27)"L";E21)"CURRENT DATA FILE HAS"N"RECORDS"JE:PROMPT$" CHANGE WHICH RECORD NUMBER"TE5430nE(A$)0(A$)N5250zEI(A$)E:" RECORD NUMBER:"IEE5520E:(7)" IS THIS THE CORRECT ITEM (Y/N) ?"F:20)"PRESS  ^ TO RETURN TO RECORD MENU"F1390#FC$"^"40604F C$"Y"5160HFC$"N":5000RF5110jF(:24)"CHANGING ";uF2FLAG1}F<BNFFNIFP5600FZFLAG0FdNBFn4060Fx:F *** SORTF:FM514060F1530:1690:1730:1570:1840G(7)14)"SORT RECORDS"+G1630:1800:1840:G(27)"L";PG(7)" SORT ON:";ZG5790dG1390uGC$"^"4060GK(C$)64GK1KNF5340G:(7)30)"SORTING....."G5890G:G" *** INPUT PROMPT STRINGG,:G6PROMPT$;H@A$"" HJA$HTA$"^"4060.H^A$(34)55008Hh"";BHr5430HH|NH:ZHJ1NFH" "FD$(J);:FL2)": "REC$(R%(I),J)HJHH:H *** INPUT VARIOUS FIELDSH:H28);H"RECORD NUMBER"N:HK1NFHA$"" I(FD$(K)BL$,L2);;IFLAG1L4)REC$(R%(N),K)CR$;L1);"";NI842,34:208,1VIA$hI&A$""A$"*"}I0REC$(R%(N),K)A$I:KID:(7)17)"IS THE ABOVE INFORMATION CORRECT (Y/N) ?"IN1390IXC$"Y"IbC$"N"5710IlI161:(20);:Jv"";$J24)"CHANGING ";:5600*J0J:FJ *** LIST FIELDSLJ:XJI1NFtJ10)(I64)" = "FD$(I){JIJFLAG15870J:10)"^ = RETURN TO MENU"J:(7)10)"PRESS THE  KEY REPRESENTING YOUR CHOICE"JJ:K *** TOURNAMENT SORTK :>KM0:NN1:X0:BN1:J0B:S%(J)J:JOK J0N232mK*BB1:I1S%(J):I2S%(J1)wK46050K>S%(B)I:JKHXX1:CS%(B):C06070KR" "REC$(C,K):R%(M)C:MM1K\S%(C)XKfC%C2:JC%2:CNC%:CB5960 LpI1S%(J):I2S%(J1)LzI10II2:60404LI20II1:6040>L6050PLS%(C)I:5990uLII1:REC$(I2,K)REC$(I1,K)II2{LLNN1L:(7)20)M1$L1390L4060L:L *** PRINT DATAL:L1530:1690:1730:1600:1840 M(7)13)"PRINTER OUTPUT"#M1630:1800:18402M(27)"L";AM$T$"":CT0TM.842,34:208,1M8(7):" WHAT NAME DO YOU WANT TO USE FOR THE HEADING ";T$MB(7):" HOW MANY COLUMNS DO YOU WANT TO INDENT THE LEFT MARGIN 06";LM:CTCTLM1MLCT756860NVLM$(BT$,LM)8N`(7):" THE RECORD FIELDS ARE:":CNjFLAG1MNt5790XN~FLAG0N(7):" WHAT IS THE TOTAL NUMBER OF RECORD FIELDS THAT YOU WANT PRINTED ";FNFNFFNFNI1FO(7):" WHAT IS THE LETTER REPRESENTING THE RECORD FIELD THAT WILL BE ITEM"I;:A$,OF(I)(A$)64GOF(I)NF F(I)16310O(7):" HOW MANY COLUMNS OF RECORD FIELD '"A$;:"' DO YOU WANT PRINTED ";W(I)OCTCTW(I)1:CT756860OI P(7):" DO YOU WANT THE RECORD FIELD HEADERS PRINTED (Y/N) Y";H$#PH$"N"H$"Y"6370rP(7):" WHAT RECORD NUMBER DO YOU WANT TO START WITH 1";B1$:B(B1$)P(7):" WHAT RECORD NUMBER DO YOU WANT TO STOP WITH "N;P N1000"";E:6450PN100"";E:6450 QN10"";E:6450Q(N10"";E+Q2ENENzQ<(7):" DO YOU WANT THE OUTPUT TO THE SCREEN OR PRINTER (S/P) S";DV$QFDV$"S"DV3:6510QPDV$"P"DV4:6500QZDV$"S"DV$"P"6460Qd(7):27)"PREPARE THE PRINTER"Qn:(7)19)M1$ Rx:19)M2$R1390R.RC$"M"2870;R3:3,DVXR3,(BL$,(80(T$))2)T$_R3qRH$"Y"6660|RI1FRI13,(FD$(F(I))BL$,W(I));" ";:6630R3,(FD$(F(I))BL$,W(I));" ";RIR3RI176:3,"=";:IR3SIBE SJ1F;S"J13,(REC$(R%(I),F(J))BL$,W(J));" ";IS,J16720rS63,(REC$(R%(I),F(J))BL$,W(J));" ";yS@JSJ3STA$S^A$""6770Sh1390SrIS|3S3S:23)"PRESS  P TO PRINT DATA AGAINS:19)M2$S1390 TC$"P"6460TC$"M"2870(T6820.TkT:13)"NO SINGLE FIELD AND/OR THE LENGTH OF ALL FIELDS"T:13)"CAN TOTAL MORE THAN 76 COLUMNS IN LENGTH!!"T::19)M2$T1390T:CT0:6170T1690U" AN ERROR OCCURRED IN LINE:"EL2U" THE SYSTEM ERROR NUMBER IS:"ERbU&" THE USUAL ERROR MESSAGE IS: "(ER)jU0 6tU:2870