Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
Continuing to stretch the boundaries of graphing calculator hacking, hardware, and software, Christopher Mitchell and Cemetech Labs are proud to present music played on a floppy drive... controlled by a calculator. Inspired by other projects such as the Star Wars Imperial March played on two floppy drives and Bach's Toccata and Fugue in D Minor, BWV 565 on four floppy drives, I hoped to implement this concept on a much more limited control device: a TI-83+ graphing calculator. While microcontrollers such as those used in the projects above have dozens of GPIO pins for interfacing with external hardware, the TI-83+ graphing calculator has only two I/O lines, both bidirectional. I did a bit of research on controlling floppy drives, and discovered that if I held pin 16 (Motor Enable) and pin 12 (Drive Select) of the floppy drive low, I need only pulse the Direction In and Step pins (18 and 20) to control the floppy drive's read/write head stepper motor. I put together the circuit, discovering in the process that previous projects had incorrectly identified pins 10 and 14 as the necessary lines to hold low, and then modified my mobileTunes 3.1 media player for calculators to output the necessary control signals to modulate the floppy drive's motor. Other than the floppy drive, the calculator, and a breadboard for making interconnects, the only hardware used is a standard 5/12V power supply for the floppy drive. Enjoy the results as demonstrated by Coldplay's "Clocks" in the video below!

More Information
Floppy Drive Music with a Calculator project page
Floppy Drive Music from a TI-83+ demo video

Friggin Awesome Kerm!

How much modification did it take to MT3 to get it to work this way?

And dammit now I wanna listen to that full song.
I had to modify the routine that counts notes to figure out the length of the song, of course the core of the sound-playing routine, and of the course the accepted filetype (0,2,4 for "FloppyTunes" songs instead of 0,1,4 for mobileTunes songs). I tried to make the head change direction every one pulse, but it would miss the direction change because of timing, hit the end of the track, and not make any more music from being stuck. Therefore, I unrolled the playTone loop (which has an inner delay loop followed by a toggle of the link lines) into four pieces, two of which toggle with the direction set forward, two with the direction set backwards. I did that instead of just adding logic to the single so that I didn't need to re-calculate my note values and durations, since they're based on cycle-counting for that specific loop.
WOW, cool! Nice work Kerm!
This is great! But why'd you choose such a bad song Wink
merthsoft wrote:
This is great! But why'd you choose such a bad song Wink
Because back in the day I spent a week or two painstakingly sequencing it by hand, so it was in a proper format for monophonic playback and would therefore work well with this. Smile
Nice! Sounds like sawtooth waves. Reminds one of classic 80s chiptune music. Smile

I wonder how much wear and tear that puts on the stepper motor.
Travis, quite a bit, I'd think; I wouldn't trust the drive to read any disks after this. Wink Late in the night I found it was starting to skip on certain frequencies, but I tracked that down to just a loose jumper from my breadboard.
Pretty awesome Smile great job! Now this, is true hacking and 1337ness.
That's awesome! I'm so messing with my own unused floppy drive tonight.
juju2143 wrote:
a that's awesome! I'm so messing with my own unused floppy drive tonight.
You should stop by HCWP; I'd be happy to answer any construction questions. Smile

Ashbad: Many thanks, that's what I aim for. Wink
KermMartian wrote:
juju2143 wrote:
a that's awesome! I'm so messing with my own unused floppy drive tonight.
You should stop by HCWP; I'd be happy to answer any construction questions. Smile

Ashbad: Many thanks, that's what I aim for. Wink
Oh right it's Wednesday, I'll come for sure Smile
I'm curious how you did this. I remember that MT3 used, basically, macros for the entire thing, does that mean you can just change what macros it uses, and instantly get a song compatible with floppy drives? Either way, very well done Very Happy Now you just need to get some Nightwish on that thing Razz
I do indeed, except that MT3 songs are all quadraphonic. They would sound very bad if I stripped out all but one channel, so I used an old song I had made for MobileTunes 1.0, which was a monophonic player. Smile
*bump* Huzzah, another Hack-a-Day feature! From the first two comments, looks like a pretty positive response:

http://hackaday.com/2011/12/01/making-sweet-floppy-drive-music-with-a-calculator/
WE need to make a national anthem to the country you will clearly once rule.
Dapianokid wrote:
WE need to make a national anthem to the country you will clearly once rule.
Haha, you flatter me, good sir. Wink Glad you enjoyed this.
You might want to call your new music device ipod.
Dingus wrote:
You might want to call your new music device ipod.
I might? And why would that be, exactly?

Also, I need to post up the floppyTunes program and better instructions on how to replicate this soon; two people requested it so far.
interesting... could it be done with an apple 800k internal 3.5" floppy drive it is actually made by sony and the sony model number is: MODEL MP-F51W-23. so yeah i'd like to try to make floppy drive music with a calculator, but i don't have a compatable calculator ,or a pc floppy drive, but I do have a powermac g5, an arduino uno board, and an apple floppy drive.
and all of my pc's have ubuntu 12.10 or windows me and before or they're broken Laughing
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 2
» All times are GMT - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum