Alert icon
We're changing our privacy policy. This stuff matters.  Learn more  Dismiss

Nintendo DS SSTV drawing tablet

Loading...

Sign in or sign up now!
Alert icon
Upgrade to the latest Flash Player for improved playback performance. Upgrade now or more info.
636 views
Loading...
Alert icon
Sign in or sign up now!
Alert icon

Uploaded by on Oct 23, 2009

I wrote this program that sends images acoustically between 2 Nintendo DS handhelds. A dark pixel is sent as a low frequency tone(1500) and a bright pixel is sent as a high frequency tone (2300 hz). It scans from left to right, top to bottom. Each line there is a synchronization pulse of 1200 hertz. This shows how far the signal travels...I still need to work on getting the sync to work when there is more than a short distance between them. It also has Scottie 1 & 2 and DX reception and transmission, and Martin 1 & 2 transmission. You can get it at http://members.cox.net/amishman35/creations.html The source code is there too.

Category:

Science & Technology

Tags:

License:

Standard YouTube License

  • likes, 0 dislikes

Link to this comment:

Share to:

Uploader Comments (Amishman35)

  • lawl i decoded this with mmsstv and it worked but it was wierdly colored XD

  • @noble00006 If you have a homebrew cartridge you could download the hombrew program and receive SSTV images with the Nintendo DS, You can also get a much nicer Sony PSP version that can save the images as well. at aych tee tee pee colon slash slash members dot cox dot net slash amishman35 slash creations dot html

  • Hi, I'm trying to write similar software to convert BMP files to WAV (8 bit PCM with a 44100 hz sample rate). How did you get the signal to line up with the sample rate?

    I'm using martin M1, and the period for luminance of 1 pixel should be 573 microseconds.

    But my sample rate is 44100 hertz, it doesn't line up, it would mean the number of samples is not an integer.

  • @johanhendriks With the function I posted, it returns 2 as long as the timer hasn't expired, and then !2 is when it expired. *output is a one element Signed Short with the sample of the tone. It needs an NCO function that returns a sine wave of the frequency of the argument. Send tones for as long as the function returns 2, then call the function again when it doesn't and advance to the next pixel or tone element.

see all

All Comments (12)

Sign In or Sign Up now to post a comment!
  • hey this is really cool, can you repost the source and the .nds link, becouse the links on your site are dead!

  • @Amishman35

    Thanks, that's awesome

  • @johanhendriks

    --PART_3--

    else { counter-=wholesamples; retvalue=1; fracsample+=samerror; if(fracsample > = 1.0) { fracsample-=1.0; counter--; } } return retvalue;

    }

    --END_PART_3--

  • @johanhendriks

    --PART_2--

    if(milliseconds !=oldmilliseconds || first==1) { samplesneeded=(samplerate) * (milliseconds /1000.0); samerror=modf(samplesneeded, &wholesamples); first=0; } if(counter < = wholesamples) { retvalue=2; output[0]=nco(frequency); oldmilliseconds=milliseconds; counter++; }

    --END_PART_2--

  • @johanhendriks Here's a function that does that(the next few posts)

    ---PART_1---

    int sstvtone(float frequency, double milliseconds, double samplerate, signed short *output)

    { static double fracsample=0.0; static int counter=0; static double samplesneeded=1; static double samerror=0; static int first=1; static int retvalue=0; static double oldmilliseconds=1.0; static double wholesamples=0; --END_PART_1--

  • Nice work! I'm gonna find my DS charger nao, haven't used in ages, I got an R4 card.

Loading...
Alert icon
0 / 00Unsaved Playlist Return to active list
    1. Your queue is empty. Add videos to your queue using this button:
      or sign in to load a different list.
    Loading...Loading...Saving...
    • Clear all videos from this list
    • Learn more