Index

Developer(s): Dick Cultice
Date: 198x
Type: Program
Platform(s): TS 2068
Tags: Database

Some kind of custom database.

Content

Appears On

Related Products

Related Articles

Related Content

Image Gallery

Index

Source Code

    1 REM **** NAME "INDEX" ****
   10 REM *** COPYWRITE 1985 ****
   20 REM **** R. D. CULTICE ****
 1000 REM **** MENU ****
 1002 CLS 
 1005 PRINT TAB 9;"************";AT 1,9;"**  MENU  **";AT 2,9;"************",,,
 1010 PRINT "   1.  LOCATE FILE"
 1015 PRINT "   2.  ENTER FILE"
 1020 PRINT "   3.  SAVE FILE"
 1025 PRINT "   4.  EDIT"
 1030 PRINT "   5.  STATUS"
 1035 PRINT "   6.  INITIALIZE"
 1040 PRINT "   7.  LOAD FILES"
 1060 INPUT Q$
 1065 IF Q$>CHR$ 48 AND Q$<CHR$ 56 THEN GO TO 1090
 1075 PRINT AT 12,11;AT 12,11;" PARDON "
 1085 GO TO 1060
 1090 GO TO 4000+VAL Q$*VAL "500"                                                              
 2000 REM **** COUNT ****
 2010 FOR I=I1 TO LEN F$-4
 2020 IF F$(I)=" " THEN RETURN 
 2030 LET I$()=F$(I1 TO I)+"         "
 2040 NEXT I
 2050 RETURN                                                                                    
 2100 REM **** CHECK N$ ****
 2110 FOR J=10 TO LEN N$-9 STEP 10
 2120 IF N$(J-9 TO J)=I$() THEN GO TO 2160
 2130 NEXT J
 2140 IF J>=2560 THEN GO TO 6500
 2150 RETURN 
 2160 LET N=(LEN N$-J)/10
 2170 RETURN                                                                                    
 2200 REM **** CHECK A$ ****
 2210 FOR J=10 TO LEN A$-9 STEP 10
 2220 IF A$(J-9 TO J)=I$() THEN GO TO 2260
 2230 NEXT J
 2240 IF J>=2560 THEN GO TO 6500
 2250 RETURN 
 2260 LET A=(LEN A$-J)/10
 2270 RETURN                                                                                    
 2300 REM **** LAST FILE NO. ****
 2305 LET L$="0": IF D$="" THEN RETURN 
 2310 FOR I=LEN D$-3 TO 4 STEP -7
 2320 IF D$(I-3)=F$ AND VAL L$<VAL D$(I TO I+3) THEN LET L$=D$(I TO I+3)
 2330 NEXT I
 2340 RETURN                                                                                    
 2500 REM **** CHECK INPUT ****
 2510 PRINT AT 14,0;"ENTERY OK? Y/N"
 2520 PAUSE 0
 2530 RETURN                                                                                    
 4500 REM **** SEARCH ****
 4510 CLS 
 4520 PRINT "  FILES TO BE LOCATED",,,
 4530 PRINT "CATAGORY H,I OR C ?",,,
 4540 INPUT F$
 4550 PRINT "NAME ?",,,,
 4560 INPUT B$
 4570 PRINT "MODIFIER ?",,,,
 4580 INPUT C$
 4585 CLS 
 4590 PRINT "    SEARCHING",,,,
 4600 FOR I=LEN D$-6 TO 1 STEP -7
 4610 IF F$="" THEN GO TO 4630
 4620 IF F$<>D$(I) THEN GO TO 4730
 4630 LET N=LEN N$-(CODE D$(I+1)*10+9)
 4640 IF B$="" THEN GO TO 4660
 4650 IF B$<>N$(N TO N+LEN B$-1) THEN GO TO 4730
 4660 LET A=LEN A$-(CODE D$(I+2)*10+9)
 4670 IF C$="" THEN GO TO 4700
 4680 IF C$<>A$(A TO A+LEN C$-1) THEN GO TO 4730
 4700 PRINT D$(I);" ";N$(N TO N+9);A$(A TO A+9);D$(I+3 TO I+6)
 4720 IF E=1 THEN GO TO 6120
 4730 NEXT I
 4740 IF INKEY$="" THEN GO TO 4740
 4750 GO TO 1000                                                                                
 5000 REM **** FILE ENTRY ****
 5005 CLS : INPUT "BOOK # ";F$
 5010 GO SUB 2300
 5015 PRINT "LAST FILE NO. ";L$
 5020 PRINT "ENTER FILE NAME IN THE FORM OF  ""I N$ A$ NNNN"""
 5030 INPUT F$
 5035 PRINT F$
 5040 GO SUB 2500
 5045 IF INKEY$<>"Y" THEN GO TO 5000
 5050 LET I1=3
 5060 GO SUB 2000
 5070 GO SUB 2100
 5080 IF N$(J-9 TO J)=I$() THEN GO TO 5110
 5090 LET N$=I$()+N$
 5100 LET N=J/10
 5110 LET I1=I+1
 5120 GO SUB 2000
 5130 GO SUB 2200
 5140 IF A$(J-9 TO J)=I$() THEN GO TO 5170
 5150 LET A$=I$()+A$
 5160 LET A=J/10
 5170 LET D$=D$+F$(1)+CHR$ N+CHR$ A+F$(LEN F$-3 TO )
 5180 PRINT AT 16,0;"FINNISED ? Y/N"
 5190 IF INKEY$="" THEN GO TO 5190
 5200 IF INKEY$="Y" THEN GO TO 1000
 5210 GO TO 5000                                                                                
 5500 REM **** SAVE FILES ****
 5510 CLS : IF S$<>"" THEN GO TO 5530
 5520 PRINT "ENTER FILE NAME ": INPUT S$
 5530 PRINT "FILE NAME """;S$;"""": PRINT "START RECORDER THEN ENTER,      3-SAVES."
 5540 SAVE S$ DATA D$(): SAVE S$ DATA N$(): SAVE S$ DATA A$()
 5550 GO TO 1000
 5560 PAUSE 0
 5570 PAUSE 600
 5580 SAVE S$ LINE 1000
 5590 GO TO 1000                                                                                
 6000 REM **** EDIT ****
 6010 CLS 
 6020 PRINT "1. DELETE FILE"'"2. EDIT NAME"'"3. EDIT MODIFIER"
 6030 INPUT Q$
 6040 GO TO 6000+VAL Q$*100
 6050 GO TO 6000
 6100 LET E=1
 6110 GO TO 4520
 6120 PRINT """D"" DELETES"
 6130 PAUSE 4E4
 6140 IF INKEY$<>"D" THEN GO TO 6180
 6150 IF I=1 THEN LET D$=D$(I+7 TO )
 6160 IF I=LEN D$-6 THEN LET D$=D$( TO I-1)
 6170 IF I<>1 AND I<>LEN D$-6 THEN LET D$=D$( TO I-1)+D$(I+7 TO )
 6180 LET E=0
 6190 GO TO 1000                                                                                
 6200 PRINT "ENTER FILE NAME"
 6210 INPUT F$
 6220 LET I$()=F$
 6230 GO SUB 2100
 6240 PRINT N$(J-9 TO J)
 6250 PRINT "CHANGE TO ?"
 6260 INPUT F$
 6270 LET I$()=F$
 6280 LET N$(J-9 TO J)=I$()
 6290 GO TO 1000                                                                                
 6300 PRINT "ENTER MODIFIER"
 6310 INPUT F$
 6320 LET I$()=F$
 6330 GO SUB 2200
 6340 PRINT A$(J-9 TO J)
 6350 PRINT "CHANGE TO ?"
 6360 INPUT F$
 6370 LET I$()=F$
 6380 LET A$(J-9 TO J)=I$()
 6390 GO TO 1000                                                                                
 6500 REM **** STATUS ****
 6510 CLS 
 6520 PRINT "FILES...... ";LEN D$/7
 6530 PRINT "NAMES...... ";LEN N$/10-1
 6540 PRINT "MODIFIERS.. ";LEN A$/10-1
 6550 PRINT "BYTES FREE. ";FREE ,,,
 6560 PRINT "ROOM LEFT FOR ";INT (FREE /7);" FILES, ",256-LEN N$/10;" NAMES, ";256-LEN A$/10;" MODIFIES."
 6570 PAUSE 0
 6580 GO TO 1000                                                                                
 7000 REM **** INITIALIZE ****
 7010 DIM I$(10)
 7020 LET N$="          "
 7030 LET A$="          "
 7040 LET D$=""
 7050 LET A=0
 7060 LET N=0
 7080 LET S$=""
 7085 LET E=0
 7090 GO TO 1000
 7500 REM **** LOAD FILES ****
 7510 CLS : PRINT "FILE NAME": IF S$="" THEN INPUT S$
 7520 PRINT """";S$;"""": PRINT "START RECORDER"
 7530 LOAD S$ DATA D$(): LOAD S$ DATA N$(): LOAD S$ DATA A$()
 7540 GO TO 1000
 9980 STOP 
 9983 REM *** save starts here *
 9984 SAVE "INDEX1" LINE 9990: SAVE "PRCODE"CODE 64256,1111
 9988 GO TO 1000
 9990 REM GOTO here to initialize BASIC and load machine code PRINT DRIVER
 9992 CLEAR 64255: LET PRINTORG=64261: POKE 26704,INT (PRINTORG/256): POKE 26703,PRINTORG-(INT (PRINTORG/256))*256: LET MODE=64256: LET TRASH=MODE+1: LET POS=TRASH+1: LET WIDTH=POS+1: POKE MODE,1: POKE POS,0: POKE TRASH,0: POKE WIDTH,79: LOAD ""CODE 64256,1111
 9994 REM  Jump to start of your BASIC program
 9996 GO TO 1000
 9998 CLS : PRINT AT 8,0;"Looking for program from tape...",,,,,,,,"Start Tape Recorder": LOAD ""

Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.

Scroll to Top