Discovering the mysteries of the datasette

Modding and Technical Issues

Moderator: Moderators

tlr
Vic 20 Nerd
Posts: 567
Joined: Mon Oct 04, 2004 10:53 am

Re: Discovering the mysteries of the datasette

Post by tlr »

eslapion wrote:For the moment, I will make a complete analysis of the transfer function of the datasette playback amplification system, very likely try to mod my datasette to improve turbotape reliability and performance and then see what could be next.
Also remember that the actual tape will be a factor in this. How does a datasette record to the tape? pilot tone, etc... These parameters need to be optimized for the particular type of magnetic material. I guess only "Normal" type tapes were considered.

Perhaps it's possible to equalize the recording to compensate for the playback transfer function to get more reliable loading? (i.e mod of the datasette or record with other equipment)

I presume that was done in at least some commercial tape mastering for the c64.
groepaz
Vic 20 Scientist
Posts: 1185
Joined: Wed Aug 25, 2010 5:30 pm

Re: Discovering the mysteries of the datasette

Post by groepaz »

I guess only "Normal" type tapes were considered.
down to the point that using "chrome" or "metal" (which are "harder") will damage the tape head, indeed :)
I'm just a Software Guy who has no Idea how the Hardware works. Don't listen to me.
User avatar
pixel
Vic 20 Scientist
Posts: 1345
Joined: Fri Feb 28, 2014 3:56 am
Website: http://hugbox.org/
Location: Berlin, Germany
Occupation: Pan–galactic shaman

Re: Discovering the mysteries of the datasette

Post by pixel »

groepaz wrote:
I guess only "Normal" type tapes were considered.
down to the point that using "chrome" or "metal" (which are "harder") will damage the tape head, indeed :)
Holy Moly! Glad to know. I guess a Wiki update is in order.

Something else: My thinking was that Fourier transforms of recorded and played-back signals could provide new insights as well, if some kick-ass resolution recordings can be done.
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Re: Discovering the mysteries of the datasette

Post by eslapion »

AFAIK, using CrO2 tapes on normal heads will not cause damage but the different magnetization and bias required for recording results in poor quality recording when used in the datasette.

Metal tapes, however, may be a different story.
Be normal.
User avatar
pixel
Vic 20 Scientist
Posts: 1345
Joined: Fri Feb 28, 2014 3:56 am
Website: http://hugbox.org/
Location: Berlin, Germany
Occupation: Pan–galactic shaman

Re: Discovering the mysteries of the datasette

Post by pixel »

One Luigi Di Fraia really seems to like the datassette. Countless turbo loaders documented: http://www.luigidifraia.com/c64/docs/tapeloaders.html
A man without talent or ambition is most easily pleased. Others set his path and he is content.
https://github.com/SvenMichaelKlose
tlr
Vic 20 Nerd
Posts: 567
Joined: Mon Oct 04, 2004 10:53 am

Re: Discovering the mysteries of the datasette

Post by tlr »

pixel wrote:One Luigi Di Fraia really seems to like the datassette. Countless turbo loaders documented: http://www.luigidifraia.com/c64/docs/tapeloaders.html
There's a lot of stuff here: http://c64tapes.org/forum/viewforum.php?f=4
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Re: Discovering the mysteries of the datasette

Post by eslapion »

These examinations of tape loaders are interesting but they all examine what's going on at the high level.

I'm really interested at the internal electronic behavior of the datasette and what I discovered is quite fascinating.

During loading, before feeding the square wave to the 64 or VIC, the datasette takes the signal from the read head and performs a double filtering which makes it very sensitive to a relatively narrow range of frequency and very few of these loaders seem to take that into account, not even the popular Turbo Tape from Compute.

This filtering also acts as a form of "leaky" integrator which turns the saved square wave into a triangular wave the amplitude of which is at the peak at around 2 kHz. Above that frequency, the amplitude progressively diminishes and the consequence is the transfer becomes more and more sensitive to misalignment, tape degradation, etc...

Here is a partial table of the test point signal amplitude according to the saved square wave frequency with a perfectly new Sony type I HF 60 minutes cassette:

Code: Select all

Freq. Hz - Amplitude pk-pk Volts
1410		1.9
2000		1.8
2.8k		1.4
4.0k		0.9
5.7k		0.5
8.0k		0.3
11.3k		0.2
16.0k		0.15
At 8kHz and above, the signal is unrecognizable.

Now, looking at these numbers, keep in mind Turbo Tape signals at frequencies between 4.5 and 5.5 kHz and then ask yourself why is it the slightest head misalignment or tape degradation results in an unreadable file.

To operate reliably at higher rates, it would be necessary to alter the properties of this analog filter.
Be normal.
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Re: Discovering the mysteries of the datasette

Post by eslapion »

I just laid my hands on a Datasette model C2N-A. In this one, finding the speed adjust was quite easy.

I think I can make a "super" datasette by increasing the speed at which the tape flows and increasing the cutoff frequency of the low pass filter/integrator by changing a feedback 180 pf capacitor attached to the second stage op-amp.

This might even allow for the development of a version of turbo tape that's even faster.

I will also investigate the changes required to make the datasette compatible with CrO2 tapes (Type-II) for higher reliability and longevity.

AFAIK, it is necessary to modify the datasette to be able to RECORD properly on Type-II tapes but reading them back should be doable on all properly working datasettes, modified or not.
Be normal.
User avatar
TLovskog
Vic 20 Enthusiast
Posts: 194
Joined: Fri Mar 25, 2011 3:16 pm
Location: Kävlinge, Sweden

Re: Discovering the mysteries of the datasette

Post by TLovskog »

Really cool work and effort eslapion!! Always interesting when someone actually takes the time and effort to understand, document and explain in detail.
BR
Thomas Lövskog
tlr
Vic 20 Nerd
Posts: 567
Joined: Mon Oct 04, 2004 10:53 am

Re: Discovering the mysteries of the datasette

Post by tlr »

eslapion wrote:I will also investigate the changes required to make the datasette compatible with CrO2 tapes (Type-II) for higher reliability and longevity.

AFAIK, it is necessary to modify the datasette to be able to RECORD properly on Type-II tapes but reading them back should be doable on all properly working datasettes, modified or not.
Interesting work. I'd like to see more on the RECORD path. It would be interesting to know what's recordable frequency wise and perhaps if the recording path could be altered to compensate somewhat for the playback filtering and other anomalies.
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Re: Discovering the mysteries of the datasette

Post by eslapion »

TLovskog wrote:Really cool work and effort eslapion!! Always interesting when someone actually takes the time and effort to understand, document and explain in detail.
I'm glad to oblige. Your comment is quite refreshing considering what I read from Jens on Lemon64...
...this is plain showing that you haven't made a product before... Your postings have shown often enough that you like to stay within your little world of hardware understanding (just look at the PLA vs. EPROM threads - q.e.d.).
Be normal.
tlr
Vic 20 Nerd
Posts: 567
Joined: Mon Oct 04, 2004 10:53 am

Re: Discovering the mysteries of the datasette

Post by tlr »

It would be interesting to know what the optimal pre-conditioning should be if mastering using an analogue tape deck (.wav -> cassette) for loading back on the datasette.

Mastering this way should allow higher reliability loading of custom protocols than is possible when recording on the datasette directly.

Parameters could involve general EQ, recording level and perhaps also the waveform used. The tricky part is that to determine this the actual cassette tape needs to be modelled as well as the datasette transfer function and detection circuitry.

Spice model anyone? ;)
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Re: Discovering the mysteries of the datasette

Post by eslapion »

tlr wrote: The tricky part is that to determine this the actual cassette tape needs to be modelled as well as the datasette transfer function and detection circuitry.

Spice model anyone? ;)
The datasette transfer function is not so difficult to model I guess since the schematics are available. It's some sort of 4th order filter that uses op-amps.

However the transfer function of the tape itself, that's a whole different ball game and I suppose only empirical measurements will give us this information. Also, the model for the tape will certainly be different from brand to brand.
Be normal.
Forbidden64
Vic 20 Hobbyist
Posts: 146
Joined: Sun Feb 28, 2016 9:59 pm
Location: CA USA

Re: Discovering the mysteries of the datasette

Post by Forbidden64 »

eslapion wrote:Can anybody tell me if the people who created TurboTape and Rabbit considered these characteristics of the datasette when creating these software?
Well the guy who made the Rabbit was Carl Moser when he worked at Eastern Software. There was an article written in Dec 1983 in Compute Gazette about the Rabbit. This is the only section I could see about the technical details of how he did it.

"In a telephone interview with Carl Moser, who wrote the Rabbit program for Eastern House, Moser stated that the Rabbit mode should be more reliable than even the normal Commodore mode. His reason is that the Rabbit checks both the leading and trailing edges of a tone to decide if it is a one or zero (files are stored on tape as a series of tones). The improved routines used by the Rabbit were worked out with recording studio equipment to give increased reliability at the faster speeds."

Now I am by no means a hardware whiz here...so correct me if I am wrong/help me on this one. I checked the hardware schematic for the c64. The CASS RD line goes from pin 4 which is the edge connector...gets a quick boost from a 5v rail with a 3.3k resistor. Then there is a decoupling cap, then it just goes straight into the flag pin of the 6526. To my rudimentary understanding of what happens after that, the 6526 initiates an interrupt at that point. I guess my question would be HOW the donkey's ass does it know where the trailing edge of the signal would be??? Does the flag revert that accurately and then he just kept the interrupt going repeatedly pinging for the flag to be off? I just don't know...sounds most likely though.

Unless I am missing something(s) crucial here, he just did exactly what chuck peddle did, and what you did. Pull out a scope and noodle around with sound equipment until it worked consistently the way he wanted. I could be missing something huge though! If you can see a trailing edge perfectly without a phase lock loop, Id sure like to know how!

There is one obvious clue though...which is that he elected to go with that particular speed, and not a faster one. From what I have read it seems to be quite reliable though. If the author is anything to go by. Rabbit stores 300k on 30 mins of tape, or 10k/min or ~166 bytes per second. Not bad for an old datasette!

BTW I too have been fixated by the idea of making an "ultra-sette". I think the easiest way to modify the speed is just to replace the pulley wheels to be a different ratio. Just have the motor pulley use a [larger] pulley, then shrink the other pulley size down. You could even configure the pulleys so as to use the same size belt perhaps. If it comes to the amp being the problem...perhaps the ones used in floppy drives might be more useful than the ones in the stock datasette. Since they are reading data from a much smaller azimuth head.
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Re: Discovering the mysteries of the datasette

Post by eslapion »

Forbidden64 wrote:Now I am by no means a hardware whiz here...so correct me if I am wrong/help me on this one. I checked the hardware schematic for the c64. The CASS RD line goes from pin 4 which is the edge connector...gets a quick boost from a 5v rail with a 3.3k resistor. Then there is a decoupling cap, then it just goes straight into the flag pin of the 6526. To my rudimentary understanding of what happens after that, the 6526 initiates an interrupt at that point. I guess my question would be HOW the donkey's ass does it know where the trailing edge of the signal would be??? Does the flag revert that accurately and then he just kept the interrupt going repeatedly pinging for the flag to be off? I just don't know...sounds most likely though.
The 3.3k resistor is a standard pull-up which ensures the !SRQ IN is a logic high when no datasette is connected so the IEC port works the way it should.

The 470pF capacitor just acts as a noise canceler and ensures a bit of current flows every time the logic value of the RD line changes. However, it's impact is at frequencies considerably higher than the range used by the data rate of the datasette. The overall impact of the 2 components in the digital world (at datasette bit rates) is almost nothing. This is normal since Cassette RD is tied to !SRQ IN which must be usable at IEC speeds.
There is one obvious clue though...which is that he elected to go with that particular speed, and not a faster one. From what I have read it seems to be quite reliable though. If the author is anything to go by. Rabbit stores 300k on 30 mins of tape, or 10k/min or ~166 bytes per second. Not bad for an old datasette!
I am not exactly impressed by the figures you're providing here. I think a normal Commodore save/load is around 120 bytes per second. I think Turbotape (Compute's Gazette) provides about 300 Bytes per second.
BTW I too have been fixated by the idea of making an "ultra-sette". I think the easiest way to modify the speed is just to replace the pulley wheels to be a different ratio. Just have the motor pulley use a [larger] pulley, then shrink the other pulley size down. You could even configure the pulleys so as to use the same size belt perhaps. If it comes to the amp being the problem...perhaps the ones used in floppy drives might be more useful than the ones in the stock datasette. Since they are reading data from a much smaller azimuth head.
Well if you understand my previous posts, this cannot work.

The signal the VIC-20 or C64 receives from the datasette is an analog signal processed through a Schmitt trigger. The Schmitt-trigger effectively prevents you from having any idea of the amplitude of the analog signal being turned into a square wave. As the frequency increases, the amplitude of the signal diminishes and it's reliability decreases accordingly because of the high order filter/integrator built into the datasette's electronics.

If you want to create an "ultra-sette", the first step is to alter the filter to ensure it can handle the higher frequency range required for a higher bit rate. The integrator effect of the filter boosts the amplitude of some specific frequencies and is therefore essential to the ability of the Schmitt trigger to provide a reliable signal. An "ultra-sette" equipped with a filter designed for operation at a higher frequency would therefore become incompatible with the normal Commodore protocol, probably with Rabbit, Turbotape and others as well.

I am not very familiar with the way a floppy disk RW head encodes data on this different type of magnetic surface but it seems to be a whole different ball game.
Be normal.
Post Reply