This document will describe the method to transfer Amstrad cassette software to be used with a emulator.
The cassette software needs to be converted into a tape-image which uses the TZX/CDT file structure.
There are already many tools that exist for transfering Spectrum cassette software and some of these work equally well for the Amstrad.
You will need:
I have a Pentium-II 333 PC with a Soundblaster 16 ISA which has a "Line Input" connector.
There might be a "Mic Input" but this is not suitable. The sound card may filter the sound through this connector and therefore distort the incoming sound signal. I have heard that the "Line Input" is not affected.
I use "Goldwave". Goldwave website
The "Sound Recorder" built into Windows is also acceptable, but to record more than the default 60 seconds, you will need to create a empty .WAV sound file of a suitable length (e.g. 15 minutes). You can then open this file and record the sound into it.
It is best if you use software that will show you the sound wave that is being recorded, because you will be able to see the cleanness and volume of the signal and will be able to see any changes that are made to it.
You will need to disable the following features (if available on your software)
Basically any effect that is applied to the incoming sound which could change it.
If your computer is powerful enough so that you can do other things while recording, then you should check the following:
Also, it is good if you can adjust the sample rate or recording quality. This will affect the size of the final sample file, but can also be used to increase or decrease the recording quality for different quality cassettes or for duplicated cassettes.
At this time, it is only available for Windows or DOS. So you will need Windows or DOS and a PC. I use Windows 2000, but it works equally well with Windows 95.
I use Goldwave because it can save as .voc.
WATCH OUT!!!!! GOLDWAVE ALWAYS DEFAULTS TO 16-BIT STEREO SOUND OUTPUT WHEN SAVING!!!!!!!
I use a cassette walkman with a 3.5mm stereo sound lead from some old speakers. A suitable lead and adaptors can be obtained from almost any electrical store.
It is best to be able to adjust the volume of the output from the hi-fi/stereo/cassette recorder and possibly to adjust the azimuth (the little screw by the tape head).
The azimuth screw and tape head can be seen when the cassette is playing. You can adjust the screw (turning it clockwise or anti-clockwise) by using a philips (cross-head) screw.
The azimuth controls the tape head. When it is turned, the sound will get sharper or distorted and could move from the left speaker to the right speaker. The aim is to make the sound as sharp and clear as possible, and if preferable to the centre of sound.
You don't need to adjust the azimuth unless you are having a lot of problems transfering the cassette!
If you use a hi-fi then you will need to disable noise reduction (dolby), any bass or treble boost, and reduce the boost from any equalizer.
You should set all the equalizer levels to the same at 0. If this is not done, then the sound will be distorted and may not decode properly.
And, if possible, you should use the "line-out" connector if available, although output to headphones is often ok.
First you will need to test your setup is correct.
If successful you should have recorded the sound from the cassette. Now listen to the sound and check if there is any distortion, pop or crackles. If there is, and this was not on the original cassette, then you may have problems recording sound with your setup.
You will need to eliminate these pops and crackles before you can record any cassettes. The pops and crackles will affect the sound and voc2tzx will be unable to decode it!!!! :(
On my system, whenever the harddrive was active, there would be pops and crackles in the recorded sound :(
I eliminated the pops/cracks using these steps:
There are other methods, but if you can't elminate these problems then you can't record the sound. voc2tzx can't decode the sound unless it is clean.
You will have more luck converting cassettes in the following cases:
If you are trying to transfer a copy (e.g. tape-to-tape duplication), or the cassette doesn't work properly on the Amstrad then it will be more difficult for voc2tzx to decode the sound. It may be because of extra noise, or the cassette may be damaged and some of the sound signal will be missing.
But, good luck!
What you need to do:
You should have a clean sawtooth like waveform which fills almost all the display where the signal is shown.
If not, adjust the volume. If you over adjust then the waveform will distort. This is bad.
If you under adjust then the signal will be small, and voc2tzx may not be able to recognise it. This is also bad.
You want the volume to be as high as possible without the waveform distorting and without the volume being over the maximum that can be recorded.
The main problem now, is that voc2tzx doesn't autodetect the loader type. So you might need to adjust the settings and/or use different switches. You will need to attempt to identify the loader and then use the appropiate command-line as listed on ADATE.
Note, there are many different loaders and some of these are not supported by ADATE, so be prepared for many to fail. Also, many software houses used the same loader system for almost all their software, so if you succeed with one piece of software, you might succeed again with another piece.
Another thing to look for is for the bytes A1,BC prefixed with CD or C3. These bytes identify a headerless loader.
Or, look for the bytes 77 and BC prefixed with CD or C3. These bytes identify a standard loader.
For standard loaders there are always two blocks, header and data. These have corresponding sync bytes of 26 (header) and 1C (data). These will be in a sequence for each block and the name will appear next to the header line.
But be aware that the CDT/TZX support might not be complete or might be bugged, so if there are problems, you should check it on another emulator just to confirm if the emulator is broken or if the transfer is wrong.
You will also need to make sure you convert any additional levels which could have different loading methods!!!! If possible try and test the game enough to check that the levels have been transfered correctly!
Check both sides of the cassette. Sometimes there is a exact duplicate of the game from side A, but at other times there might be extra levels.
ZIP archives can be created with WinZIP utility (WinZip)
The file_id.diz should be in the format described in the docs/upload.txt file on the ADATE archive.
So there you have it. The main problem currently is that you might need to adjust the command-line before you will get a completely correct decoding and this can sometimes take a bit of time. The recommended command-line is given for some well known and common loaders in the ADATE docs.
By default, "Sound Recorder" will record up to 30 seconds of sound. To record more you will need to do the following:
For recording cassettes, this file will need to be big enough to hold approx. 15 minutes of sound.
The "voc" sample file format was designed for the original ISA Soundblaster sound card, which was only capable of playback or recording using a fixed set of frequencies.
In the file, the sample rate is not stored directly, but is calculated from a "factor". This "factor" does not have enough accuracy to define all sample rates exactly.
When the file is saved, Goldwave will resample the sound so it matches a sample rate supported by the voc file format. So, if you recorded a sound at 11025Hz, then it will be resampled and reported as as 11111Hz by voc2tzx.
I haven't experienced any problem when Goldwave does this, so I don't worry about if if it happens.