Close

Software-Check. Testing-Check. Reliability-Check. That's a wrap.

A project log for SBC-85 Cassette Tape Interface

Every retro system needs a good, reliable cassette interface to save and retrieve programs and the SBC-85 is no different.

craigCraig 03/15/2020 at 21:210 Comments

Assemble....probe....tweak.....repeat pretty much sums up getting the details refined for this tape software.  Have it working reliably now after adding a couple of details that I hadn't thought about in the beginning.  First I added a really long (15s) burst leader to the tape output to give me time to get the tape started and into position and to give the player's automatic adjustment time to decide what it is going to do with this strange music it is hearing.  Then the leader finishes with an ASCII countdown from nine to zero as a data integrity check and then jumps right to the data.  As of right now I do not have any error checking on the data other than confirmation of the leader countdown.

There are two software parameters:

These values give an output rate of 7.5ms per bit or 133 bits per second, a.k.a., 133 BAUD which is a little less than 900 bytes per minute of tape.  Not bad for a first try and there is still plenty of room to play with these two software parameters.  Standard Tarbell was about 10x that speed so there is a great deal of room for improvement.   I may take it up to at least an even 1kB per minute of tape if I feel the need for round numbers.  A lot of my old data tapes are 7.5 minute which will hold much more than the available RAM in the SBC-85.  I never liked putting multiple programs on one tape since I don't have a position counter on most of my players and I like the simplicity of one-tape-one-program.  One thing that I need to remember to do is to write on each tape the parameters I used until I settle on final values. Otherwise future me will have to go back to the logic probe to figure them out.

After getting the basic tape output and tape input portion going, I started doing little features like controlling the board status LEDs and such.  The basics of those are done but adding features will probably continue as I am actually using the cassette interface to save and retrieve data for the SBC-85.

Admittedly I used Tarbell standard back in the day and actually never used the Intel format before now.  One thing that has surprised me is the insensitivity to output volume on playback.  Once the volume is high enough for the integration RC into the last op-amp to maintain a logic one, additional volume comes with no penalty and the circuit seems to be completely immune to clipping or saturation.  As a result, I have been running with the output volume pegged on max with no ill effect.  That is something that the Kansas City and Tarbell circuits always seemed to have difficulty since there was a volume sweet spot for playback.

So, except for the documentation, I am calling this project done except for determining the maximum reliable data rate.  With some early playing around with this, it is apparent that too much modification of the output frequency will require an update to the values of the RC in the integrator.  If this doesn't drain quick enough there is a period of time where the logic at the end of a tone burst becomes indeterminate which can lead to false triggers of the next bit.  For now, I need to update the user's manual and include waveform captures for diagnostics.

Discussions