Tape loading basics

Frequently Asked Questions about the Sinclair ZX81
Forum rules
This is designed to be a simple set of questions and answers - please no general chit chat in here - keep it focused to help new users!
Post Reply
harlandski
Posts: 5
Joined: Sun Feb 11, 2018 8:24 am

Tape loading basics

Post by harlandski »

Any general advice on loading from original tapes? Following my ZX Spectrum experience I've tried:

- Using an old-fashioned mono tape recorder (still works great with my Speccy)
- Setting the volume to just off maximum
- Only having ear plugs connected when loading
- Trying at slightly different volume settings
- Trying multiple times

About my specific ZX81 arrangements

- I have four programs on tape (Raiders, Bomber, 16k Chess and Chess Clock)
- I have an unmarked 16k RAM pack which tests as really working (using the little machine code programme included)
- I have tried both my ZX81 and my ZX Spectrum wires to connect to the tape recorder
- I have tried connecting the mic ports after all

Nevertheless, I have so far only been able to load Chess Clock. When trying to load Raiders or Bombers I get a reset somewhere along the line (most often) or (at best, and at maximum volume) "Load Check Failed // Reload // 0/2". With Raiders for example there is a two-line BASIC program loaded: 1 SAVE "RAIDERS" 2 RAND USR 017342.

Is there anything I'm missing about loading from tape on a ZX81? Are there any tests I can do to troubleshoot?

I'm surprised this isn't in the FAQ, and it seems to belong best here, but I'm happy to move it elsewhere if that's where it better belongs.
Lardo Boffin
Posts: 2155
Joined: Sat Nov 26, 2016 2:42 am

Re: Tape loading basics

Post by Lardo Boffin »

Tape loading can be a dark art!

I have my volume set at about 80% and similar for tone. Most of my tapes load at this but some don’t and are extremely picky about the settings.

The little program (assuming it is a Sinclair RAM pack) just checks to see how much memory is registered and is no guarantee that it is 100% working. Only getting a 16k program to load will do that - although doubtless someone could knock up a simple program to write a value to each mem loc and check it is still set which would be more conclusive. Try typing in DIM A(3000) as this will allocate 15000 mem locs to an array of numbers (5 bytes per number I believe). You could then write a loop in BASIC to set each value in the array to something and then check it is still set?

If the tape always fails in the same place then it may be worth looking at the tape itself at that point to see if it is damaged / wrinked etc. Although the feedback on a standard zeddy is not brilliant and it is sometimes guesswork to figure out where it fails.

If you know the tape player is fine then that should be ok but it may be worth cleaning the heads and checking alignment etc. Loading on the speccy is doubtless more robust so may not be affected by minor issues that could cause zeddy problems.

Keep trying different volume and tone settings! A huge amount of patience can be required and unfortunately you don’t always know whether the tape is dodgy or the volume setting is wrong...

Have a look at the viewtopic.php?f=7&t=1211 thread. Hopefully when these are up and running things should be easier - at least the LED lights up when the volume level is correct which rules out one possible problem.
ZX80
ZX81 iss 1 (bugged ROM, kludge fix, normal, rebuilt)
TS 1000 iss 3, ZXPand AY and +, ZX8-CCB, ZX-KDLX & ChromaSCART
Tatung 81 + Wespi
TS 1500 & 2000
Spectrum 16k (iss 1 s/n 862)
Spectrum 48ks plus a DIVMMC future and SPECTRA
harlandski
Posts: 5
Joined: Sun Feb 11, 2018 8:24 am

Re: Tape loading basics

Post by harlandski »

Thank you for the reply and the troubleshooting advice. I will try all of your suggestions and report back - luckily I still have a tape head cleaner cassette!

I hadn't considered that the unmarked 16K memory pack might not be working after all. I also have a Sinclair pack but that is definitely non-functional. The programme I used was:

Code: Select all

1 POKE 18000,33
2 POKE 18001,11
3 POKE 18002,0
4 POKE 18003,57
5 POKE 18004,68
6 POKE 18005,77
7 POKE 18006,201
8 PRINT (USR(18000)-16373)/1024;"K"
I will try your suggestion and see if the memory really is working.

Thanks for the link to the scrubber-dubber too. Looks very useful, and would be great if someone could start to produce them as you say.
Lardo Boffin
Posts: 2155
Joined: Sat Nov 26, 2016 2:42 am

Re: Tape loading basics

Post by Lardo Boffin »

Looking at the program it does just report the amount of memory present. While I don't think it likely to not be working if it does report 16K it is possible. I was initially using a Memotech 16K RAM pack and that didn't work (but reported the correct RAM amount) due to the dip switch settings on the back... :? Once I set those all was well.
ZX80
ZX81 iss 1 (bugged ROM, kludge fix, normal, rebuilt)
TS 1000 iss 3, ZXPand AY and +, ZX8-CCB, ZX-KDLX & ChromaSCART
Tatung 81 + Wespi
TS 1500 & 2000
Spectrum 16k (iss 1 s/n 862)
Spectrum 48ks plus a DIVMMC future and SPECTRA
Post Reply