How Sinclair computer interprets audio and loads code

edited March 2012 in Hardware
Hello,

First time posting here, so sorry if the question is already answered or is unanswerable.

I am trying to find some info about how sinclair computers interpret audio for loading the games.

Could some one direct me to a certain source or an existing forum thread please.

I am hoping to implement a similar process in Java or Max/Msp for a much simpler purpose, namely load an jpg image using audio input and the other way around. I have done some tests with detecting frequencies of a sinewave, where a certain frequency value (in time) represents a location of a pixel, that worked but it was extremely slow and inefficient.

As far as i know in sinclair computers that happens on a much lower level where (if i am correct) positive or negative parts of a square wave represent 0s and 1's. Listening to a few old game cassettes I have, I can also hear that there are also sine waves, and the frequency content of the rest of the sounds is very varied. I wonder how that analysis is performed (so fast), is there a common technique for such a thing that I could read about?

There's probably much more to that, so first maybe somebody could direct me to the right direction.

thanks a lot.
Post edited by Auris on

Comments

  • edited March 2012
    Auris wrote: »
    Hello,

    First time posting here, so sorry if the question is already answered or is unanswerable.

    I am trying to find some info about how sinclair computers interpret audio for loading the games.

    Could some one direct me to a certain source or an existing forum thread please.

    I am hoping to implement a similar process in Java or Max/Msp for a much simpler purpose, namely load an jpg image using audio input and the other way around. I have done some tests with detecting frequencies of a sinewave, where a certain frequency value (in time) represents a location of a pixel, that worked but it was extremely slow and inefficient.

    As far as i know in sinclair computers that happens on a much lower level where (if i am correct) positive or negative parts of a square wave represent 0s and 1's. Listening to a few old game cassettes I have, I can also hear that there are also sine waves, and the frequency content of the rest of the sounds is very varied. I wonder how that analysis is performed (so fast), is there a common technique for such a thing that I could read about?

    There's probably much more to that, so first maybe somebody could direct me to the right direction.

    thanks a lot.

    Square wave. Each "tone" consists of two edges - hi and low signal. Number of tones determine bit status - long (many tones) == 1, short (fewer tones) == 0.

    D.
  • edited March 2012
    -- Thread moved from "emulators" to "hardware" --
  • edited March 2012
    It's FSK modulation. The rom code counts time between zero crossings to determine if a zero or one is read.

    http://www.worldofspectrum.org/ldbytes.html

    has a little on it.


    A '0' bit takes two 855 T halfpulses
    A '1' bit takes two 1,710 T halfpulses (twice the length of a '0' bit)

    This works out to two tones with fundamental freq 1kHz and 2kHz. Typical analogue audio cassettes have a passband from 50 Hz to 12.5kHz.
  • edited March 2012
    Thanks, FSK modulation is a helpful pointer. Mr. Google knows quite a bit about it. Appreciate your help!
Sign In or Register to comment.