For Retro Computing Enthusiasts
,

Commodore Classics: Quickfind

By Harvey B. Herman — originally published in Volume 1 – Issue 1 – June, 1983

Since the Commodore PET was introduced in 1977 as one of the first personal computers, hundreds of handy programs and routines have been written in Commodore BASIC. Many of these programs, when translated and updated, are equally handy for users of today’s VIC-20 and Commodore 64 computers. From time to time we’ll feature some of these “Commodore Classics.” This one was adapted from a program and article by Harvey B. Herman, an associate editor of COMPUTE!.

If you use tape, you’ll love “Quickfind.” Quickfind lets you locate and load programs off cassette tape in a snap. Although it’s still not as good as owning a disk drive, it does remove much of the frustration of storing many programs on tape – and it’s a lot less expensive.

Quickfind permits programs to be loaded after the tape has been positioned by Fast Forward under computer control. It was originally written for the Commodore PET back in the days before floppy disk drives were available. The Datassette recorders made then did not even have tape counters. Finding programs on a cassette tape was a time-consuming task. Although today’s Datassettes have digital tape counters, Quickfind is still a useful utility. It works by storing a directory as the first program on each tape. This directory calculates the proper amount of time to Fast Forward to locate each file. Quickfind is self-prompting and easy to use, even for beginners.

Two updated versions of Quickfind are included here, for the VIC-20 and Commodore 64. Be sure to carefully type the right listing for your computer and read the following instructions.

How To Prepare A Tape

1. Load a copy of Quickfind into the computer and change the program names in line 350 to those of your own programs. A filename, as it’s called, may be up to 16 characters long (including spaces). Do not remove the word DATA from line 350. The first word on this line must be DATA so the computer knows that the subsequent characters are data to be read. A VIC or 64 accepts only 80 characters per program line, so if you run out of room, start a new line 360 with DATA as the first word and continue entering your filenames.

2. At line 140, set the variable N equal to the number of programs you are storing on that side of the cassette (in other words, the number of program names you included in line 350). For instance, if you are recording six programs, change line 140 so N = 6. This tells the computer to expect six programs on that side of the tape.

3. Now SAVE your modified version of Quickfind as the first program on a new tape. Do not rewind. Remove this tape and insert the cassette from which you want to load your first program.

4. LOAD the program into the computer. Remove the cassette.

5. Insert the Quickfind tape and SAVE the program. It should now be recorded just following the Quickfind program itself on the new tape.

6. Rewind the tape, LOAD and RUN Quickfind. Select the next program and let the computer fast forward to the proper place. Do not rewind. Remove the Quickfind cassette, and again, insert the tape from which you want to load the next program.

7. LOAD the next program.

8. Put back the Quickfind tape and SAVE.

9. Repeat steps 6 through 8 as many times as necessary. (This will depend on how many programs you are storing on that side of the cassette.)

This procedure is easier than it appears and will become second nature if you do it often.

How Quickfind Works

You can skip this part if you want. You already know everything you need to use Quickfind.

But for those who are interested, Quickfind works because the Commodore Datassette is more sophisticated than it might appear at first glance. The computer can control its drive motor and detect if a switch is pressed. It cannot differentiate, however, between the press of Fast Forward or Play. That’s why after running Quickfind and selecting your program, Quickfind prompts you to press the right buttons. Here are the steps in that sequence:

1. Is a button pressed? If yes, prompt for release and wait until no. If no, continue.

2. First program? If yes, skip ahead to step 8. If no, continue.

3. Prompt for press of Fast Forward.

4. Fast Forward pressed? If yes, continue. If no, wait until yes.

5. Turn off Datassette motor when time is up.

6. Prompt for release.

7. Fast Forward released? If yes, continue. If no, wait until yes.

8. LOAD program using “dynamic keyboard” technique.

The programs are spaced six seconds apart in this version of Quickfind (see line 280). Time is kept by the built-in “jiffy clock.” (A jiffy is a sixtieth of a second.) The variable TI always contains the value of this clock.

“Dynamic keyboard” is a technique for loading programs from within another program. It is similar to the trick the computer uses when you press the SHIFT and RUN/STOP keys and get an automatic LOAD and RUN (see this month’s “Gazette Feedback”). If you want Quickfind to do automatic LOADs and RUNs, you can change the 13 in line 340 to a 131.

Don’t be discouraged if you fail to understand any or all of the technical details. We were all in that boat at some point. Quickfind can be used even if you don’t understand all the tricks. Keep in mind that as you continue to use your VIC or 64, what now seems to be arcane black magic may become clearer to you. At that time you’ll be able to refer back to technical discussions for help with your own programs. It may happen sooner than you think.

See program listings on page 114.

Companion disk Companion Disk (.d64)

Enjoyed this? It’s what we do every month.

The revived COMPUTE!’s Gazette brings the spirit of the golden era to today’s retro scene — Commodore, Atari, Amiga, and more, in full-color print and digital every month.