• Please review our updated Terms and Rules here

Audio cassette formats

This is awesome! Thanks! I'm going to still try to incorporate Manchester decoding into my program so we'll see how that goes.

Rich
 
This was my clean signal in the exact same spot after the leading sequence:
View attachment 67416

Recovering the wave by calculating the first derivative could be a very powerful technique for recovery of computer software recorded on cassette in general. The most common pathology in my work with Exidy Sorcerer cassettes is a reduction in amplitude associated with a partial dropout and/or a DC shift so the signal no longer crosses through zero. This confuses real hardware and modern utilities that have been developed to assist in working with Kansas City Standard audio signals. To date to recover a number of one-of-a-kind titles I have resorted to hand re-drawing the waves which is a tedious process and not practical where there are multiple dropouts.

See this example of the TRS-80 game Cosmic Fighter converted by a person or persons unknown 40 years ago to run on the Exidy Sorcerer.
Being able to automatically identify and selectively reprocess segments of audio such as this could be very helpful.

2569310_COSMC.png
 
See this example of the TRS-80 game Cosmic Fighter converted by a person or persons unknown 40 years ago to run on the Exidy Sorcerer.Being able to automatically identify and selectively reprocess segments of audio such as this could be very helpful.
View attachment 67421

I made a Kansas City Standard decoder which uses a quite advance DSP technique, it might be worth trying. So if you have any KCS files that you don't have already decoded please let me know.

I wrote an article about my utility on the magazine Retromagazine n.17, it's in italian language but the article might be translated in the future as they now publish also "Retromagazine World".

On a side note: where I can find more info about the Exidy Sorcerer, is there a website with files, emulators etc.. ?
 
side A of the LP also decoded with the same method. It reads:

Code:
**********  THIS IS THE BERMUDA TRIANGLE, OVER. SLOW DOWN.
TARGET 50 MILES OFF SOUTH FLORIDA, A GIANT PYRAMID AT
OCEAN BOTTOM.  *********
 
I made a Kansas City Standard decoder which uses a quite advance DSP technique, it might be worth trying. So if you have any KCS files that you don't have already decoded please let me know.

I wrote an article about my utility on the magazine Retromagazine n.17, it's in italian language but the article might be translated in the future as they now publish also "Retromagazine World".

On a side note: where I can find more info about the Exidy Sorcerer, is there a website with files, emulators etc.. ?

Thank you for pointing out the article.

https://www.classic-computers.org.nz/blog/2017-01-23-software-for-real-sorcerers.htm could be a starting point since it links to two emulators and has a number of WAV files for cassettes.
 
Recovering the wave by calculating the first derivative could be a very powerful technique for recovery of computer software recorded on cassette in general.

I think that is right, although the apparent benefit of the derivative is really the effect of high pass filtering. If you pass the signal through a high pass (low cut) filter, merely a series capacitor and load resistor of the correct value (which is a form of a differentiator), the problem, which is the low frequency undulating baseline is ignored. Then the more meaningful zero crossings return, which are more meaningful than the peaks. Also, since those zero crossings are at an expected position, you can lock a PLL circuit and gate the zone before and after the zero crossings with a window, which would significantly improve the noise immunity and data recovery.
 
I think that is right, although the apparent benefit of the derivative is really the effect of high pass filtering.

indeed my first attempt was to apply a simple high pass filter: I tried dozen of parameters (cutoff frequency and order of the filter) but I wasn't able to find any good set of values.

The problem was that I restricted my search in the range 100-800 Hz for the cutoff frequency because I didn't want to loose information. But now I see that I should have looked in the opposite direction, for example an HP filter with 8000 Hz cut off roughly gives the same result as the derivative.
 
Back
Top