Solve those Tape Problems

by Derryck Croker

 

Issue 22

Jul/Aug 86

Next Article >>

<< Prev Article

 

 

Some interest has been shown in a modification to the 410 recorder published by ANTIC magazine some time ago, known as the 'Hi-Rel' modification. No doubt the 1010 unit would benefit from the same type of modification, however be warned that if your cassette unit is still under warranty then you will void it if you open up the machine.

HOW DATA IS SAVED

To help us to understand the reasoning behind this modification it would help us to look at how data is transferred to and from the cassette.

The data to be saved is fed into the tape buffer on Page 4 of the computer in blocks of 128 bytes at a time, and a pointer keeps track of when the buffer is full. When it is full, it is sent to tape and a further 128 byte block is loaded into the buffer. Additional information is added to each block as it is sent out in order to help the O.S. with housekeeping. Each block is preceded with two marker bytes. This pair of bytes has a start bit, with the remainder set to alternating 1's and 0's. The byte pair is terminated with a stop bit. Following the markers is a control byte, and then the data, in 128 byte blocks as you will recall. Bringing up the rear is a checksum byte, which is the sum of all of the bytes making up this package, including the marker bytes. You will see that 132 bytes are thus required to complete the transfer of each block of data.

With our buffer full, we are ready to save it to tape. Each byte is examined, and every bit that is set is converted to a tone of 5327Hz, and every one that is not set is converted to one of 3995Hz, both tones supplied courtesy of POKEY.

So far so good, but we require to distinguish each block from the next, so a further marker tone is added to each block that is sent. You will have noticed this tone particularly when using LIST "C:", as the length of the tone is quite long. Long enough in fact that when you ENTER the program back, BASIC has time to check each line for correct syntax before the next block of data arrives. As the program length grows so the time taken for this process increases, until finally the tape motor stops until the checking has been completed. The long gap between blocks allows the motor to restart when the next block is requested, and the motor has time to run up to speed again before the next block arrives.

So, we have converted our program into two audio tones to be recorded on tape, and so far we could have pressed an ordinary domestic recorder into service. However, there are no facilities in the computer to convert the two tones back into data. Instead they are converted back into data in the recorder using a process called FSK, or frequency shift keying. This is the reason why we must use the official Atari recorder, or buy an interface to use with a domestic recorder. Such an interface will convert the two tones for us, usually employing a circuit called a phase locked loop, not something we will go into now, but if you wish to buy one then make sure that it has facilities for remote control of your recorder and that it takes advantage of the 'sound through' capability. The recorder will require a remote control socket and it must be stereo for these two items to function.

WHY A MODIFICATION?

And now we get to the ANTIC modification. As we have seen, the requirement for converting the two tones (we will call the 5327Hz tone a 'mark' and the 3995Hz tone a 'space') is met by circuitry inside the cassette deck. On playback, the tones from the playback head are fed to two filter circuits, each of which is designed to pass through only the tone for which it has been tuned. The outputs from both filters, of which one will only pass a 'mark' and the other a 'space', are then fed to another circuit called a comparator, and the output from this is the data, formed from 1's and 0's, just as it was inside the computer when we saved it to tape.

Assuming, then, that no spurious signals have interfered with the data to your computer, what happens next? Well, the data, now in digital form as we have seen, is received in the tape buffer in the same order that it was sent, that is two marker bytes, a control byte, the block of data and bringing up the rear, the checksum byte.

The two marker bytes are used by the O.S. to set the baud rate for that block by storing the current VCOUNT value from ANTIC when the start bit arrives. The alternating 1's and 0's are counted off until the stop bit is reached, whereupon the current frame counter is compared with the VCOUNT value previously stored. The resulting time elapsed allows the O.S. to determine the speed at which the next block is to arrive as it is necessary to maintain a pointer to keep track of incoming data to determine when the buffer is full. You will see that this calculation is carried out for each block which allows adjustment for stretched tape or motor speed (within reason).

The baud rate has a default setting of 600 by the way, but can vary from 318 to 1407. It is possible to change the baud rate with a suitable program, but it is likely that unreliable results will occur if speeds above 847 are used due to limitations within the system.

The control byte's only function is to inform the O.S. that the end of the file has been reached.
The checksum byte, which we have seen is the sum of all the bytes in the particular block, completes the procession. It is obvious that a single byte cannot possibly store such a large number that usually results, so a complicated formula is used to reduce the sum to a reasonable figure, as is done when the figure was originally computed.

This checksum as retrieved from tape is compared with another computed from the present contents of the buffer, and if there are any discrepancies due perhaps to spurious data introduced in the FSK demodulating process then the loading process stops and we get an error, 143.

That is the theory anyway. Many things conspire against the successful retrieval of data. One of them is that Atari used components in the filters that were not of the highest tolerance.

That is to say that the values of the resistors used in this part of the circuit could vary from the designed values by up to 10%.. It is therefore possible that the response of the filters may then become inaccurate and thus pass through the tone designated for the other filter.

The 'Hi Rel' modification redresses the problem by the replacement of 6 resistors, 3 per filter, with ones of the same value but of the much closer tolerance of 1%.

And the resistors to be changed? Below you will find the components involved for both the 410 and 1010 units. If you cannot read resistor colour codes or wield a soldering iron then you may care check the panel with this article.

410 1010
Ref Value  Ref  Value
R10 68K  R111 68K 
R11  56K R112 56K
R12  7K5  R113 10K 
R13  5K6  R115 6K2 
R14 330K R149 330K
R15 240K R114 330K

Two of these resistors, R14 and R15 (and the corresponding 1010 components) are connected in a feedback loop from the LM324 I.C, from pin 7 to 6 and 1 to 2 respectively.

The remaining resistors set up D.C. bias levels and input levels. Some tracing of the circuit is required to locate these components on the 410 board, however the 1010 has the reference numbers printed on the board. Look for two pairs of capacitors on the 410 board of value 820pf, and you should find that each pair is connected across R14 and R15 respectively. You should now be able to find RI0 and R12 connected to the junction of one pair of capacitors, and you should find that R12 is connected to earth, and R11 and R13 to the junction of the other pair of capacitors. In this case R13 is connected to earth. As a further check, the other ends of R10 and R11 are connected together, and it is this junction which carries the output from the playback amplifier, pin 14 of the I.C.

IDENTIFY YOUR PROBLEM FIRST

I said that many things conspire against the successful transfer of data from tape, and if you are having difficulties you must ascertain whether the problem is due to the one outlined, or whether another problem exists. If you find that tapes recorded on your machine won't load, but load correctly on other machines then the above fix will probably deal with the problem, and no doubt you will have had problems with commercial programs too. Another problem exists if tapes recorded on your machine load back but not on other machines, and in this case it is likely that the record/playback head requires adjustment. This is a job best left to an Atari service centre.

In our seemingly never-ending mission to achieve good results from the cassette recorder we must also service it from time to time. No recorder whether digital or Hi-Fi can be expected to give of its best if the heads or the tape transport mechanism are dirty. Filthy capstans and pinch-wheels cause tape speed variations and caked up heads may prevent the successful reading of the tones from tape.

The technique is simple. Obtain some cotton buds and a can of electrical cleaner. Check first that it does not contain any lubricant, I use R.S. cleaning fluid.

Spray the bud and press the 'PLAY' button on the deck to make the heads move into a position where they can be cleaned with a gentle up-and-down movement with the bud. Work quickly as the cleaner rapidly evaporates. You will see the capstan and rubber pinch-wheel to the right of the heads. Boot BASIC and type, in direct mode, POKE 54018,52 RETURN. With the capstan now turning clean it and the pinch-wheel with the bud. Finally, stop the machine and remove any loose cotton wool with your finger nail. You will find that surprising amounts of brown tape deposit collects, and often this deposit will be the cause of loading errors.

This cleaning process is also invaluable on plug-in boards such as cartridges and edge connectors on memory boards etc. in which the 800 abounds!

______________________

The author is willing to undertake this modification and some others for a small fee. Please note that this service is supplied directly by the author and not through PAGE 6 which can accept no responsibility for any problems which may arise.

The services offered and costs are as follows.

410/1010 resistor change inc. components, clean heads and pinch-wheel. £5.50

410 addition of red LED 'busy' lamp to illuminate when drive motor active. Specify left or right hand fitting.
£1.50

1010 Rewire present LED to illuminate only when transport controls pressed. £1.00

Send your cassette unit and power supply only. Please note that I cannot undertake to repair faulty units. Terms are cheque or postal order, and you must include return carriage. Don't forget your return address. Make a careful note of the serial number of the machine before you send it.

Please telephone me first with your requirements on 0923 673719. Derryck Croker.

top