Audio While You CloadBy John Victor
"Your mission, Jim, if you choose to accept it..."
There is no question that the microcomputer community dislikes computer cassettes-and with good reason. In the early days of cotnputing when hobbyists had no other storage medium, hours of frustration were spent trying to save or load programs from cassettes. When disk storage became available, most hobbyists gladly junked their cassettes. Many manufacturers have quietly stopped supporting their cassette systems.
Unfortunately, this has prejudiced software developers against the use of the Atari cassette system. However, I consider this component one of Atari's strongest points. The Atari system, unlike most others, uses a cassette player made specifically to run on the ATARI. This makes cassette recording and playback much more reliable.
But the strongest point is this: the Atari cassette is recorded in stereo. The digital information for programs is stored on the right track. Sound recorded on the left track is played back through the user's TV set. The existence of the leftside sound track means that recorded voice or music can be played at any time while the computer is on-either during the running of a program or during the loading of a program.
One technique that we use at PDI is to put voice instructions on the left sound track to play while a cassette is loading. This means that we do not have to put instructions for using for using the program in the program itself, reducing the memory requirements. At least half of the Atari market consists of 16K ATARI 400 computers. By keeping memory requirements within 16K (and providing programs in cassette format) a software publisher will reach a greater percentage of the Atari market.
The existence of a voice track gives the program user something to do in the time it takes to load the program. This can set the mood for the game itself. In MOONBASE 10 we use the voice to give the player a "recorded message" from Earthbase control as to the nature of the mission (just like MISSION IMPOSSIBLE). Most of the four and a half minutes it takes to load the program is spent doing something related to playing the game.
To create and use the voice track during the cassette load, several things have to be done. First, the sound that the
computer makes during a cassette load has to be turned off. This is done with a POKE 65 ,0. This can be put in a loader program placed first on the cassette. This loader program will contain a visual display, the POKE 65,0, and a CRUN routine that will automatically load and run the main program.
The following is the CRUN routine. POKE 764,32 will automatically produce a carriage RETURN so that the next program will begin loading. The ASCII values in the REM statement are those for the machine language CRUN routine found in the USR routine. (USR routines are used to run machine language from BASIC.)
1000 REM ROUTINE TO CRUN NEXT PROGRAM 1005 POKE 65,0 1010 POKE 764,32 1020 X=USR(ADR(""})7H)TH)6;)A")) 1030 REM ASC VALUES FOR ABOVE STRING 1040 REM 162, 253, 154, 169, 183, 72,169, 84, 72, 169, 4, 32, 182,187,169,255,76,4,187After the first program is loaded and run, instructions will be put on the screen and the next program load started. Any recorded sound in the left channel will now be heard clearly in the TV set. Positioning of the recording is important.
Atari programs have a two-second string of zeros recorded at the end of each cassette program. The programs stop loading two seconds before the recorded program ends. This means that the recorded voice or music can begin just before the first program ends, but must end two seconds before the main program's record track. Otherwise the computer is going to turn off the voice track before it finishes.
The Atari 410 Program Recorder can play back voice and music but cannot be used to record it. This must be done on a stereo tape deck or a reel-to-reel recorder. For the sake of quality, master tapes from which cassettes are going to be manufactured should be made on reel-to-reel recorders ONLY! Cassette recorders do not produce good enough SOUND to be copied. There is just too much speed variation and lack of separation between the two stereo tracks on cassette masters. If the user only wants a few copies, then a stereo tape deck is okay, but this is not acceptable for commercial software producers.
The first step in making the master tape is to record the programs. The ATARI computer makes no provision to connect the ATARI to a stereo recorder, so the programmer will have to rig up something. This is not very difficult. The "data out" and the "ground" pins in the peripheral connector are the ones that send the program signal to the recorder.
Serial I/O Port Connector
These can be connected to the recorder with a cable that has alligator clips on one side and an RCA connector on the other. A local Radio Shack or audio dealer may have this, or an audio technician can make one. The alligator clips are then connected to the ATARI pins 5 and 6, and the RCA is plugged into the right recording jack of the stereo unit. It's not a bad idea to put tape over the alligator clips to keep them from touching the wrong points.
Before recording, start the computer outputting and set the VU meter on the recorder at between 7 and 5. Also note the reading on the tape counter.
Record the loader program. The computer will lay down 18 seconds of pilot tone before the program is recorded. However, after the program is loaded, the computer will continue to output pilot tone. Listen to the computer for an indication of when the program stops, and immediately shut off the recorder. Next, record the main program. Using the tape counter, keep track of where on the tape the second program is.
The voice (or music) can now be recorded. To record voice, connect a microphone to the left-side "mic" jack. The recorder must be one that will not erase the right track while the left one is being recorded. This can be determined quite simply-there must be a separate record button for each track.
Using the tape counter as a guide, rewind the tape. Then begin recording voice instructions and / or music on the left track. This must be finished 2 seconds before reaching the end of the recorded program (because that is where the computer is going to stop when the program is loading).
It will also help to have an appropriate graphic on the screen while the main program is being loaded. If directions are being given, the directions might also appear on the screen at the same time.
This technique can enhance a program and make it more interesting. It also adds a "professional" touch to cassettes.
Listing: CLOAD.BAS Download
John Victor is President of Program Design, Inc., a software manufacturer whose products for the ATARI computers include MOONBASE IO and Pumpkin Stand, both of which use the techniques described in this article.