In the meantime here is another thing to ponder.
I had problems loading in machine-language (not BASIC of course) software
from the tapes I got given with the machine. I tried a number but the none
seem to load successfully expect for the shortest program.
Ok, so I figured the tapes were just old and degraded. Googling around and
trying things out I found I could make sound files (WAV) from cassette
binary archives of Sorcerer software using the MESS emulator. Hooray!
BUT...loading these into the Sorcerer via soundcard seemed tricky. No
matter how much I fiddled with the volume and tone controls, an error always
seemed to appear about 45 seconds to a minute into the run. Very fine
adjustments made a slight difference, but the only program I could get to
load in was actually a copy of the short file (Martian Invaders) that I'd
successfully loaded via real tape. Off the top of my head I think it was
just over a minute long (it could be longer).
I looked at the WAV file with Audacity. They were nice square waves with a
good amptitude. They certainly LOOKED ok. Hmmmm....
After scratching my head a bit, I started to wonder if it was a timing
issue? I wondered if somehow the Sorcerer was eventually losing synch with
the input data. Acting on this hunch, using Audacity I converted the sound
file so it was 5% faster. No improvement. Then I tried 5% slower. Wow, I
found that the load got further. Instead of falling over after about 45
seconds it was about 1.30 seconds or so. The volume also didn't seem quite
as critical.
Eventually after playing around and finding the limits I discovered that if
I made the WAV files 8.5% slower I'd always get a successful load no matter
how large the file (actually tolerance seemed to be between 7.5% and 9.5%).
The more I moved outside those tolerance parameters, the quicker a load
failed.
From this I came to a conclusion that it indeed
was a synch/timing issue.
Now the question is this.
1. Was it caused by an error in code in the MESS emulator, in that the sound
files were created with the timing 8.5% faster than it should be OR....
2. Is there something out of whack with the cassette interface in my machine
(a cap out of tolerance maybe) which gives an incorrect timing/synch on
load. Making the files 8.5% slower counteracted this fault, so a successful
load was (always) accomplished?
Any thoughts on this?
At first I assumed it was just an error in MESS. That someone just got the
timing wrong when writing the tape output routine. Thinking about it, now
I'm not so sure? I couldn't seem to get any of the REAL tapes to load
except for Martian Invasion (the shortest one). Happily as well as having a
real tape, Martian Invasion was also in the binary archive. Before changing
the speed, I could also get the Martian Invasion WAV to load with fine
volume fiddling. So maybe it is the Sorcerer that's out of synch rather
than MESS?
I don't know, but it would be good to find out which one of the hypothese is
correct.
I might try to digitize the tapes. If I get nice square wavs, I'll see if I
can slow these down by 8.5%. If I do, then can successfully load them into
the Sorcerer, this would indicate that the problem is with my machine rather
than MESS.
I've foudn my Sorceror Techncial Manual -- do you have it? Is it on-line
anywhere?
The cassette interface is much more hardware-intensive than on most home
micors. It uses the UART on the main logic board along with the
encoder/dcecoder circuitry on a daughterbord. The tape signals are
carried on a DB25 conenctor, along with the RS232 signals. The normal Mic
and Ear signals are also on RCA sockets I think.
I assume that the cable you are using is goof. If you are using a DB25
cable, you might want to check it against the schematic on page 36 of the
manual. If you are using normal audi cables, check them for continuity, etc.
There is an LED on the tape interface board that should be on most of the
time, but go off (and stay of, or at worst flicker occasionally) when
loading a tpae. Does it? It indicates that the phase locked loop on the
tape interface has locked.
There's a procedure for testing the tape interface starting on page 31 of
the manual, and troubeshooting hints starting on page 32. It's probably
worth goign through this. There's a theory-of-operation section starting
on page 41, but I don't think that's particularly clear or helpful.
I think if all else fails, you'll have to check the frequencies of the
signals in your audio files (or tapes), and trace the signals though the
read amplifiers nad filters with a 'scope. Then check that the PLL is
locking correctly, and that the output clcok frequency of that is what
you expect.
-tony