Cassette LOAD/SAVE Routine and Problems for the ZX81, Part 4

SYNCHRO-SETTE VOL. 2 #5/6 JUNE/JULY 1983

WINKY BOARD 2

For those of you who are not familiar with what the Winky can do, you can make duplicates of a cassette tape from one recorder to another with this device in between the two recorders, no matter how many programs are on the tape.

There is another important use. Do you have a noisy RAMpak that introduces noise onto a tape when you are trying to save a program? When you don’t use the RAMpack, the noise disappears, so you know it is the RAMpack.

We have one such RAMpack that is so bad, saved programs cannot be reloaded no matter what the volume adjustment is at. When listening to the tape with the cords disconnected from the recorder, it sounds like the sound a train makes at a high speed when played back with program pulses being all but drowned out.

When the Winky 2 board was installed (just plugs in between the computer and the recorder) the program loaded with no problem. Listening to the tape through earphones showed all the noise to have disappeared.

LOADING/SAVING PROGRAMS 8K ROM EZRA GROUP, P. O. BOX 5222, SAN DIEGO, CALIFORNIA 92105

SAVING

Keep the tape computer connector always plugged into the EAR and MIC receptables of the computer. however at the tape recorder end only keep the one connected which you are using. Let us say the last line of your program is 1000 SAVE “SHOOTIST”. Then press LIST 1000 and ENTER. When the line 1000 appears at the bottom screen DELETE (SHIFT 0) the 1000. Move the tape to the position you want it. Then voice record SHOOTIST three times and immediately stop the tape. Set the tape volume to level which saves the best. Start recording and immediately press ENTER. The computer can be close to the TV but the tape recorder must be maximally (connector at full stretch) remote from the TV and computer. Only the MIC side of the connector is plugged into the tape recorder. You can have TV sound up a bit as you record. If you have a long 16K program SAVEing you can do other things and when the buzzing sound stops and there is a 0/0 report bottom screen stop the tape and you have SAVEd a program. Note the start and stop tape position and mark them in a catalog together with the SAVE title. Replay some of the tape to make sure you hear the shrill buzz of program (MIC plug pulled out).

LOADING

LOAD in FAST mode. Type in the command LOAD “SHOOTIST”. Locate your program on the tape from your catalog. After you hear the title (it should be three times) there is a faint buzz. In a few seconds there is total silence. Stop the tape at the beginning of th silence. Plug into the tape EAR side of the connector. Leave the MIC plug not connected to the tape. Adjust tape volume to the known proper level. Push the tape PLAY switch and immediately press ENTER on the ZX. Have the TV sound up a bit and when the buzz stops and there is the 0/0 report bottom screen stop the tape and you have loaded the computer.

SAVING FAILS.

Check to see the tape volume is high enough. Check to see that you are using the MIC connector. Is the MIC plug in the right receptacle? Is the tape remote from the TV and ZX? Reset the voice title and SAVE again… it should work after all these checks.

LOADING FAILS.

Do the above checks and also put the computer end of the connectors in and out a couple of times to shine the contacts. If you have a 16K RAM pack put it on and off twice to shine contacts. Sometimes the tape is stretched or glitched in other ways. Programs should always be saved twice. Do not load or save on metal tables.

CONNECTOR.

The ZX comes with an 18 inch tape-ZX connector. The older ones had screw in tips which break after much use. The later deliveries are with unitary plastic tips and are more durable. In persisent failures check connector for breaks (this happened to one of our older models).

SAVING SCREEN DISPLAYS.

  10 PRINT "THIS DISPLAY WILL ER
ASE WHEN YOU HIT SAVE ""TEST"""
20 SAVE "TEST"

10 INPUT A$
20 PRINT "THIS DISPLAY WILL NO
T ERASE WHEN YOU HIT SAVE"
30 IF INKEY$="S" THEN SAVE A$
40 GOTO 30

The first program is the regular way of saving. Try it and see that the screen display is lost when saving is finished. RUN the second program. Input any string (any set of one or more characters) and hit ENTER. Press SAVE and notice after saving the display remains on screen. IT will be saved. Remember you need the 30-40 continuing loop to make line 30 work from the keyboard. The double quotation marks are SHIFT Q.

FREQUENT SAVES.

When composing or entering a long program SAVE after every 50 or 60 lines to avoid unfortunate losses from wipeouts (crashes).

PAUSE CAVEAT.

With ZX80/8K ROM or ZX81 FAST mode right after a PAUSE line you need a POKE 16437,255 line or crash happens in a few minutes.

VARIABLES AND ARRAYS.

In a long program with large arrays and many variables (all these arise from LET statements) saving is prolonged because these items too are saved. Press CLEAR and ENTER before you save and all these will be cleared away shortening saving time. A shorter program has less chance to be glitched. If you want to save these items because they would be hard to regain or type in then do this: For the second last line of the program insert a REM statement (the last line is the SAVE line). Before you save hit LIST (REM line number) and ENTER. Then SAVE the program. Later when loading this program hit ENTER and the last two lines will appear on the screen. The REM line should be something like 990 GOTO 100 to PRSRV VARBLS. RUNning a program wipes out all variables. You use a GOTO statement to preserve them and the GOTO number must be past all the DIM and LET X=0 type statements or there will be clearances. The REM line reminds you not to RUN when you first load the program.

LARGE TO SMALL.

You cannot LOAD a small program SAVEd from a 16K ZX into a 1K ZX. You can from 1K to 16K. Large to small no, small to large yes.

COMMONEST CRASHES.
Jiggling transformer jack or RAM pack.

SOURCE NOT KNOWN SUSPECT SYNC MAGAZINE.

SAVING UNSAVEABLE PROGRAMS.

How do you back up programs you can’t break into, like machine code (MC) or self running programs? You know the importance of backups if you or your tapes ever malfunction. This trick LOADs any program and then returns to BASIC, without activating the error detector.

Hook up both EAR and MIC plugs so you can LOAD then SAVE. Put the tape in the tape deck without turning it on.

SAVE CHR$ USR 832 “PROGRAM NAME”

You must change tapes quickly in the five – second silence between LOAD and SAVE, and press RECORD/PLAY. (It helps to keep your cassette deck’s hood opened.) If the program self – runs, it executes after finishing the SAVE. (This is when two recorders would work fine and use the PAUSE control on the recorder. Don.)

How does it work? USR 832 calls the ROM LOAD subroutine, and the two quotes hold the program name. (You can also type “” with no program name. The computer reads this as LOAD “”. After LOADing, the USR call RETurns to BASIC to finish the line, evaluating to zero. CHR$ changes the zero into a string. The line reads SAVE ” ” (CHR$ of 0 is the space character) and the computer SAVEs the program. For SAVE and LOAD, the syntax checker looks only for quotes and any string, so the computer accepts the line and SAVEs.

Save a self – running program (with or without MC) by pressing BREAK after the program LOADs and starts to RUN. (If you can’t BREAK in here, try CHR$ XX in response to an input prompt to get an error report. –LFV) This returns you to BASIC and a K cursor. LIST the program to find the line SAVE “program name”. GOTO this line to SAVE the program under its name.

These methods worked on all my unSAVEable programs.
Gary Preston, Glade Hill. VA.