home *** CD-ROM | disk | FTP | other *** search
- 10 REM *ABC SORT V2.8 IDEA BY R.G.GORE*
- 20 REM* RT. 1 BOX 315 / MEXIA TX *
- 30 REM* WRITTEN BY R.W. KOBER 8/1/85 *
- 40 PRINT"[147]":POKE53280,0:POKE53281,0
- 50 CLR:OPEN15,8,15
- 60 DIMAA$(1000):GOSUB1370:IFSFTHEN1020:REM SF=SET FLAG FOR MENU
- 70 :
- 80 :REM *********************
- 90 :REM * CREATE A NEW LIST *
- 100 REM *********************
- 110 :
- 120 K=K+1:IFK$="Y"ORZATHENK=I-AD
- 130 IFK>NTHEN190
- 140 R$ = ""
- 150 PRINTK;:INPUT" [191][157][157][157]";R$:IFR$="[191]"ORR$=""THENPRINT"[145][145]":GOTO150
- 160 IFR$="\"THEN1020
- 170 IFR$="END"THENFORP=KTON:AA$(P)="":NEXT:K=N+1:GOTO190
- 180 AA$(K)=R$:K=K+1:GOTO130
- 190 K=K-1:IFK>0THEN220
- 200 PRINT"[158] ** NO INPUT TO SORT ** [146][159]"
- 210 FORT=1TO1000:NEXT:GOTO1020
- 220 PRINT" [";K;"] [129]ITEMS HAVE NOW BEEN SORTED.":I=K+1
- 230 :
- 240 REM **************************
- 250 REM * SYS TO ML SORT ROUTINE *
- 260 REM **************************
- 270 SYS49152,N,AA$(1):REM N=NUMBER TO SORT - AA$(1)=NUMBER TO START SORT WITH
- 280 :
- 290 PRINT"[150] PRINT TO S[146][159]CREEN OR P[146][159]RINTER?"
- 300 GETS$:IFS$=""THEN300
- 310 IFS$="\"THEN1020
- 320 IFS$="P"THEN580
- 330 :
- 340 REM *******************
- 350 REM * PRINT TO SCREEN *
- 360 REM *******************
- 370 :
- 380 PRINT"[147]"TAB(20-LEN(L$)/2)L$:REM CENTERS LIST TITLE & 390 UNDERLINES IT
- 390 PRINTTAB(19-LEN(L$)/2);:FORLI=1TOLEN(L$)+2:PRINT"[184]";:NEXT:PRINT
- 400 FORJ=1TOK
- 410 PRINTTAB(4)J;TAB(7);AA$(J):CL=PEEK(214):QQ=0:REM 214 CONTAINS CURRENT LINE#
- 420 :
- 430 REM **************************
- 440 REM * STOP LISTING AT BOTTOM *
- 450 REM **************************
- 460 :
- 470 IFCL>20THENPRINT" [158] ANY KEY TO CONTINUE - \ = MENU [159]":QQ=1
- 480 IFQQTHENWAIT198,1:GETKK$:IFKK$="\"THEN1020
- 490 IFQQTHENPRINT"[147]"TAB(20-LEN(L$)/2)L$
- 500 IFQQTHENPRINTTAB(19-LEN(L$)/2);:FORLI=1TOLEN(L$)+2:PRINT"[184]";:NEXT:PRINT
- 510 POKE198,0:NEXT:PRINTTAB(11)"[158] ANY KEY FOR MENU [159]":WAIT198,1
- 520 POKE198,0:GOTO1020:REM 198 CONTAINS THE # OF CHARACTERS IN KEYBOARD BUFFER
- 530 :
- 540 REM *******************
- 550 REM * PRINTER ROUTINE *
- 560 REM *******************
- 570 :
- 580 GOSUB900:IFGMTHEN1000:REM GM=FLAG FOR GET MENU
- 590 REM *****************************
- 600 REM * LINES 590 TO 640 ARE FOR *
- 610 REM * PRINTERS OTHER THAN THE *
- 620 REM * COMMODORE 1525 OR MPS 801 *
- 630 REM *****************************
- 640 REM
- 650 PRINT#4,TAB(40-LEN(L$)/2);L$
- 660 PRINT#4:PRINT#4
- 670 PRINT#4:LI=4
- 680 FORJ=1TOK
- 690 PRINT#4,TAB(10);J;AA$(J)
- 700 PP=0:IFPEEK(653)=1THENPRINTTAB(5)" [158] PRINTING PAUSED [146] [145]":PP=1
- 710 IFPEEK(197)=48THENJ=K:PRINTTAB(5)" PRINTING ABORTED [146] ":GOTO740
- 720 IFPPTHENGOSUB950:GOTO700
- 730 IFLI=>60THENFORIL=1TO8:PRINT#4:NEXT:LI=0
- 740 LI=LI+1:NEXT
- 750 PRINT" ADVANCE PAGE (Y/N) [146]"
- 760 GETA$:IFA$="Y"THEN790
- 770 IFA$="N"THEN1000
- 780 GOTO760
- 790 FORAP=1TO65-LI:PRINT#4:NEXT:GOTO1000
- 800 REM **************************
- 810 REM * LINES 800 TO 840 DITTO *
- 820 REM * LINES 590 TO 640 ABOVE *
- 830 REM **************************
- 840 REM
- 850 :
- 860 REM *********************
- 870 REM * CHECK FOR PRINTER *
- 880 REM *********************
- 890 :
- 900 GM=0:PRINT"[147]":CLOSE4:OPEN4,4
- 910 PRINT#4:IFST AND128THEN960
- 920 PRINT"[147][158]"TAB(242)"SET PRINTER HEAD TO TOP OF PAGE, AND"
- 930 PRINTTAB(44)" PRESS COMMODORE KEY WHEM READY ":WAIT653,2
- 940 PRINT"[147][154] DATA TO PRINTER - STAND-BY"
- 950 PRINT" SHIFT TO PAUSE -- \ TO ABORT [145]":RETURN
- 960 PRINTTAB(248)"THE PRINTER IS NOT ON!"
- 970 PRINTTAB(240)TAB(249)"[151]\ TO ABORT PRINTING"
- 980 IFPEEK(197)=48THENGM=1:RETURN
- 990 GOTO910
- 1000 CLOSE4
- 1010 :
- 1020 PRINT"[147] ********"
- 1030 PRINT " * MENU *"
- 1040 PRINT " ********"
- 1050 :
- 1060 PRINTTAB(48)"[158]W[146][159]ORK WITH ANOTHER LIST":KK=K:K=0
- 1070 PRINTTAB(48)"[158]P[146][159]RINT SAME LIST AGAIN":AZ=0
- 1080 PRINTTAB(48)"[158]L[146][159]OAD AN EXISTING LIST":POKE2,0
- 1090 PRINTTAB(48)"[158]V[146][159]IEW FILE DIRECTORY"
- 1100 PRINTTAB(48)"[158]S[146][159]AVE LIST TO DISK"
- 1110 PRINTTAB(48)"[158]R[146][159]E-SORT LIST "
- 1120 PRINTTAB(48)"[158]A[146][159]DD TO LIST "
- 1130 PRINTTAB(48)"[158]E[146][159]DIT LIST"
- 1140 PRINTTAB(48)"[158]Q[146][159]UIT"
- 1150 PRINTTAB(43)"[150] ENTER '\' AT ANY PROMPT FOR MENU [159]"
- 1160 GETA$:IFA$=""THEN1160
- 1170 IFA$="3"THENK=1
- 1180 IFKTHENIFA$="4"THENSYS595:GOTO1310
- 1190 IFA$<>"3"ANDA$<>"4"THENK=0
- 1200 IFA$="W"THEN2780
- 1210 IFA$="P"THENK=I-1:GOTO290
- 1220 IFA$="L"THENPOKE2,1:GOTO2780
- 1230 IFA$="S"THEN1670
- 1240 IFA$="E"THEN2380
- 1250 IFA$="R"THENK=I:GOTO190
- 1260 IFA$="A"THENAZ=1:GOTO1990
- 1270 IFA$="V"THENSYS49600:GOTO1020
- 1280 IFA$<>"Q"THEN1160
- 1290 PRINTTAB(52)"[158] ARE YOU SURE? [159]":WAIT198,1:GETO$:IFO$="Y"THENCLOSE15
- 1300 IFO$="Y"THEN63000
- 1310 GOTO1020
- 1320 :
- 1330 REM ***************
- 1340 REM * WORK SCREEN *
- 1350 REM ***************
- 1360 :
- 1370 GOSUB2090:IFMETHEN1610
- 1380 PRINT"[147]"TAB(254)"[158] ABC SORT "
- 1390 IFPEEK(2)THENK$="Y":GOTO1510
- 1400 PRINTTAB(45)"[150]USE AN EXISTING LIST (Y/N) ?":SF=0:IFCSTHENRETURN
- 1410 PRINTTAB(240)TAB(242)"[151]'\' FOR THE MENU - 'L' FOR DIRECTORY[150]"
- 1420 PRINT""TAB(120):CS=0
- 1430 WAIT198,1:CS=1:PRINT"[147]":GOSUB1380:GETK$:IFK$="Y"THEN1510
- 1440 IFK$="L"THENSYS49600:CS=0:GOTO1380
- 1450 IFK$=CHR$(13)THENPRINT"[145][145][145]":GOTO1400
- 1460 IFK$="\"THEN1610
- 1470 IFK$<>"N"THENPOKE198,0:GOTO1430
- 1480 PRINT" - ALPHABETIZES BY FIRST ENTRY -":FLAG=1
- 1490 INPUT" MAXIMUM NUMBER TO ENTER [159] [191][157][157][157]";N$:N=VAL(N$):IFN$="\"THEN1610
- 1500 IFN=<0ORN>1000THENPRINT"[145][145][145][145]":GOTO1490
- 1510 Z$="THE NEW":IFK$="Y"THENZ$="EXISTING":FLAG=0
- 1520 TA$="":IFK$="Y"THENTA$=""
- 1530 PRINTTA$"[150] ENTER NAME OF "Z$" LIST [159]":INPUT" [191][157][157][157]";L$
- 1540 IFLEN(L$)>15THENPRINTTAB(43)"[158]NAME LENGTH LIMIT = 15 CHARACTERS[145][145]":GOTO1530
- 1550 IFL$="[191]"ORL$=""THENPRINT"[145][145][145][145]":GOTO1530
- 1560 IFL$="\"THEN1610
- 1570 IFK$="Y"THENPRINTTAB(40)"PLEASE WAIT..... THE LIST IS LOADING..":GOTO1890
- 1580 PRINT" ENTER 'END' TO COMPLETE THE LIST IF LESS THAN"N"ARE ENTERED.
- 1590 [153]"DEF":[142]
- 1600 [153]"DEF"
- 1610 SF[178]1:[142]
- 1620 :
- 1630 [143] ****************
- 1640 [143] * SAVE ROUTINE *
- 1650 [143] ****************
- 1660 :
- 1670 [153][163]42)"CLRUSE THE SAME NAME "[199](34)L$[199](34)"CLR (Y/N)?":O[178]0
- 1680 [161]O$:[139]O$[178]""[167]1680
- 1690 [139]O$[178]"\"[167]1020
- 1700 [139]O$[178]"Y"[167][153]"SYS WARNING!! WAITDEF THIS EXISTING FILE WILL BE ":O[178]34
- 1710 [139]O[167][153]" REPLACED! OKAY TO CONTINUE?? (Y/N)CLR"
- 1720 [139]O[167][146]198,1:[161]KK$:[139]KK$[179][177]"Y"[167]1020
- 1730 [139]O[167]1780
- 1740 [139]O$[179][177]"N"[167]1680
- 1750 [133]"FOR ENTER NEW NAME SINCMDCMDCMD";L$:[139]L$[178]"SIN"[176]L$[178]""[167][153]"ONONONON":[137]1750
- 1760 [139]L$[178]"\"[167]1020
- 1770 [139][195](L$)[177]15[167][153][163]42)"SYSNAME TOO LONG...15 CHARACTER LIMIT":[137]1750
- 1780 [153]" OKAY...SAVING "L$
- 1790 [152]15,"S0:"[170]"["[170]L$
- 1800 [160]1:[159]1,8,1,"["[170]L$[170]",U,W"
- 1810 [141]2660:[139]ER[167]1020
- 1820 [129]I[178]1[164]N:[152]1,AA$(I):[130]
- 1830 [160]1:[137]1020
- 1840 :
- 1850 [143] ****************
- 1860 [143] * LOAD ROUTINE *
- 1870 [143] ****************
- 1880 :
- 1890 [160]2:[159]2,8,2,"["[170]L$[170]",U,R":I[178]1
- 1900 [141]2660:[139]ER[167]1020
- 1910 [132]2,AA$(I):I[178]I[170]1:[139]ST[167]1930
- 1920 [137]1910
- 1930 [160]2
- 1940 :
- 1950 [143] **************************
- 1960 [143] * ADD MORE NAMES TO LIST *
- 1970 [143] **************************
- 1980 :
- 1990 [139]I[178]0[167]I[178]K[170]1
- 2000 [153]"SYS NUMBER OF NAMES IN FILE ="I[171]1:AD$[178]"":[139]AZ[167]ZA[178]1
- 2010 [133]"CONTADDITIONAL NUMBER TO ADD TO LIST 0CMDCMDCMD";AD$:[139]AD$[178]"\"[167]1020
- 2020 [153]:AD[178][197](AD$):N[178]I[170]AD[171]1:I[178]N[170]1:[139]AZ[167]120
- 2030 [142]
- 2040 :
- 2050 [143] ****************************
- 2060 [143] * CHECK MEMORY FOR ML DATA *
- 2070 [143] ****************************
- 2080 :
- 2090 [139][194](49161)[178]165[175][194](49162)[178]20[167]ME[178]0:[142]
- 2100 :
- 2110 [143] ****************
- 2120 [143] * TITLE SCREEN *
- 2130 [143] ****************
- 2140 :
- 2150 [153]"LOAD"[163]250)"PRINT "
- 2160 [153][163]10)"PRINT DEF PRINT "
- 2170 [153][163]10)"PRINT DEF SYS A B C S O R T DEF PRINT "
- 2180 [153][163]10)"PRINT DEF V2.8 PRINT "
- 2190 [153][163]10)" "
- 2200 [153][163]99)"FORBY"
- 2210 [153][163]55)"CLRR. G. GORE"
- 2220 [153][163]59)"AND"
- 2230 [153][163]55)"R. W. KOBER"
- 2240 :
- 2250 [143] ***************************
- 2260 [143] * ML DATA LOADING ROUTINE *
- 2270 [143] ***************************
- 2280 :
- 2290 [129]D[178]49152[164]49492:[135]Y:[151]D,Y:[130]
- 2300 [151]595,76:[151]596,177:[151]597,194
- 2310 [129]D[178]49600[164]49901:[135]Y:[151]D,Y:[130]
- 2320 ME[178]1:[142]
- 2330 :
- 2340 [143] ****************
- 2350 [143] * EDIT ROUTINE *
- 2360 [143] ****************
- 2370 :
- 2380 [133]"CLR ENTER NUMBER TO EDIT (\=MENU) SINCMDCMDCMD";EN$:EN[178][197](EN$)
- 2390 [139]EN$[178]"SIN"[176]EN$[178]""[167][153]"ONONONON":[137]2380
- 2400 [139]FLAG[167]I[178]KK[170]1
- 2410 [139]EN$[178]"\"[167]2600
- 2420 [139]EN[177]I[171]1[167][153][163]52)"SYSNUMBER TOO LARGEDEFON":[137]2380
- 2430 [139]EN[179]1[167]2380
- 2440 [153]"PRINT NUMBER"EN"IS "AA$(EN)
- 2450 [153]"FOR EDIT THIS NAME (Y/N)?"
- 2460 [161]O$:[139]O$[178]"N"[167]2380
- 2470 [139]O$[179][177]"Y"[167]2460
- 2480 [153]"CONT ENTER THE CORRECT NAME (*=DELETE NAME)"
- 2490 [133]"DEF SINCMDCMDCMD";NN$:[139]NN$[178]"\"[167]2600
- 2500 [139]NN$[178]"SIN"[176]NN$[178]""[167][153]"ONONONONON":[137]2480
- 2510 [139]NN$[178]"*"[167][153]" DELETE NAME COMPLETLY (Y/N)? DEF":[137]2530
- 2520 [153]"VERIFY CHANGE "AA$(EN)" TO "NN$" (Y/N)?ON"
- 2530 [161]O$:[139]O$[178]"N"[167]2480
- 2540 [139]O$[179][177]"Y"[167]2530
- 2550 [139]NN$[179][177]"*"[167]AA$(EN)[178]NN$
- 2560 [139]NN$[178]"*"[167]AA$(EN)[178]""
- 2570 [153]" OPENCHANGE ANOTHER (Y/N)?ON"
- 2580 [161]O$:[139]O$[178]"Y"[167]2380
- 2590 [139]O$[179][177]"N"[167]2580
- 2600 [137]1020
- 2610 :
- 2620 [143] **************************
- 2630 [143] * ERROR CHECKING ROUTINE *
- 2640 [143] **************************
- 2650 :
- 2660 [132]15,ER,ER$,TR,BL
- 2670 [139]ER[178]0[167][142]
- 2680 [153]"":[129]I[178]1[164]19:[153]"*TAN";:[130]
- 2690 [153][163]128)"DISK ERROR ENCOUNTERED!!PRINT"
- 2700 [153][163]100[171]([195](ER$)[173]2))ER$
- 2710 [153][163]83)"SYS PRESS COMMODORE KEY TO CONTINUE OPEN"
- 2720 [146]653,2:[142]
- 2730 :
- 2740 [143] ***********************
- 2750 [143] * NEW LISTING WARNING *
- 2760 [143] ***********************
- 2770 :
- 2780 [153]"LOAD"[163]253)"SYS WARNING!! OPEN"
- 2790 [153][163]82)"FORTHE LIST NOW IN MEMORY WILL BE LOST "
- 2800 [153][163]45)"IF ANOTHER LIST IS SELECTED."
- 2810 [153][163]91)"PRINTCONTINUE? (Y/N)"
- 2820 [151]198,0:[146]198,1:[161]KK$:[139]KK$[178]"Y"[167]50
- 2830 [137]1020
- 2840 :
- 2850 [143] ***********************
- 2860 [143] * LIGHTNING SORT DATA *
- 2870 [143] ***********************
- 2880 :
- 2881 [131]32,253,174,32,158,173,32,247,183,165,20,133,253,165,21,133,254
- 2882 [131]32,253,174,32,158,173,162,1,165,71,157,85,193,157,125,193,165
- 2883 [131]72,157,105,193,157,145,193,165,253,208,2,198,254,198,253,160,3
- 2884 [131]24,189,125,193,101,253,157,125,193,189,145,193,101,254,157,145,193
- 2885 [131]136,208,236,189,85,193,133,80,189,105,193,133,81,189,125,193,133
- 2886 [131]82,189,145,193,133,83,32,21,193,144,4,202,208,228,96,165,82
- 2887 [131]133,78,165,83,133,79,160,2,177,78,153,250,0,136,16,248,48
- 2888 [131]11,24,165,80,105,3,133,80,144,2,230,81,160,2,177,80,153
- 2889 [131]247,0,136,16,248,32,32,193,144,230,56,165,82,233,3,133,82
- 2890 [131]176,2,198,83,32,21,193,176,31,160,2,177,82,153,247,0,136
- 2891 [131]16,248,32,32,193,176,225,160,2,177,80,145,82,185,247,0,145
- 2892 [131]80,136,16,244,48,183,160,2,177,80,145,78,185,250,0,145,80
- 2893 [131]136,16,244,24,189,85,193,125,125,193,133,82,189,105,193,125,145
- 2894 [131]193,133,83,102,83,102,82,32,21,193,176,22,189,85,193,157,86
- 2895 [131]193,189,105,193,157,106,193,32,53,193,232,32,69,193,76,71,192
- 2896 [131]189,125,193,157,126,193,189,145,193,157,146,193,32,69,193,232,32
- 2897 [131]53,193,76,71,192,165,81,197,83,208,4,165,80,197,82,96,160
- 2898 [131]255,200,196,247,176,11,196,250,176,6,177,248,209,251,240,241,96
- 2899 [131]196,250,96,24,165,80,105,3,157,85,193,165,81,105,0,157,105
- 2900 [131]193,96,56,165,80,233,3,157,125,193,165,81,233,0,157,145,193,96
- 2901 :
- 2902 [143] ***********************
- 2903 [143] * LIST DIRECTORY DATA *
- 2904 [143] ***********************
- 2905 :
- 2906 [131]173,33,208,72,173,32,208,72,173,134,2,72,32,204,255,32,68
- 2907 [131]229,169,9,141,33,208,169,11,141,32,208,169,7,141,134,2,24
- 2908 [131]162,1,160,11,32,240,255,160,0,185,120,194,240,6,32,210,255
- 2909 [131]200,208,245,169,1,162,8,160,0,32,186,255,169,1,162,118,160
- 2910 [131]194,32,189,255,32,192,255,162,1,32,198,255,160,31,32,207,255
- 2911 [131]136,208,250,160,13,169,32,32,210,255,136,208,250,32,207,255,72
- 2912 [131]165,144,201,64,240,24,104,201,91,208,241,32,207,255,201,34,240
- 2913 [131]5,32,210,255,208,244,169,13,32,210,255,208,212,104,169,1,32
- 2914 [131]195,255,32,204,255,160,0,185,140,194,240,6,32,210,255,200,208
- 2915 [131]245,169,0,133,198,165,198,240,252,104,141,134,2,104,141,32,208
- 2916 [131]104,141,33,208,169,0,133,198,32,68,229,96,36,0,18,32,70
- 2917 [131]73,76,69,32,68,73,82,69,67,84,79,82,89,32,13,13,0
- 2918 [131]13,32,32,32,32,32,32,32,32,32,1,1,32,18,32,39,92
- 2919 [131]39,32,75,69,89,32,70,79,82,32,77,69,78,85,32,13,0,13,0,255
- 2920 [131]32,68,229,24,162,11,160,9,32,240,255,160,0,185,215,194,240
- 2921 [131]6,32,210,255,200,208,245,160,252,162,0,32,179,238,232,208,250
- 2922 [131]200,208,245,96,82,46,87,46,32,75,79,66,69,82,32,87,82
- 2923 [131]79,84,69,32,84,72,73,83,13,0,52
- 63000 [143] RE-CONNECT TO LS
- 63010 [151]51200,75 : [143] ROUTINES NADA
- 63020 [147]"PAYLOAD CONNECT",8
-