Over the past couple of weeks, I've been working on a four channel interrupt-based music player for use in assembly games. This program is for 15MHz+ calculators, so no, it won't work on normal TI-83+. Today, I'm proud to report that I've gotten more than just a frequency sweep test written. Today, I've got actual music to play.


For this test, I embedded the source (almost verbatim) of the track "Same One (Bellon)" found with QuadPlayer, and wrote a small routine that feeds that information almost verbatim into the sound driver. After tweaking the frequency delays of the audio interrupt and messing with the tracker timing, I ended up with this: https://soundcloud.com/iambian-zenith/audiotest2/s-q7HJz

(Note: The music is much cleaner on hardware. And when the computer trying to record this isn't struggling)

More work needs to be done with the actual timing or file interpretation (or perhaps the source is at fault? I dunno.) and there does seem to be distortion in the sound at higher frequencies. For the sound linked above, the crystal timer for the sound driver is set at CPU (15MHz) / 8 with a delay count of 30 (which resolves to about 62.5KHz), while the timer for the music tracker was ... well.... guessed and tested until I found that it played it at a rate "close enough" to how QuadPlayer played it.

At the mentioned rate above, I ran further tests to see how much of the CPU is actually taken by the audio interrupt. Using Wabbitemu, I got ~76.5% used, while on my TI-84+SE, I got ~74.8%. During tonight's HCWP, I'd like to distribute this test program to see what numbers other people are getting. I'm especially curious to see if the timings vary a bit more on TI-83+SE hardware.

Another note: Since this an audio-only program, there isn't much in the way of screenshots, unless you like watching a blank screen for the current test, or a bunch of rapidly-changing numbers for the prior test.

EDIT: Link modified to actually point to the audio file. It seems what I had before gave an error
This sounds like great work, Iambian; I'm glad you made such progress on it. I enjoyed getting to read along with your progress while you worked on this on SAX today. I have already thought of a TI-84+CSE game that I want to use this in, with your permission, so I look forward to giving that a try. It's too bad there are no screenshots for this yet, though I certainly understand why (I love looking at rapidly-changing numbers!).
I've started working on a full-featured tracker. When I dove into that project, I thought it would be all nice and easy, given that I had written out plans for the actual tracking part, but then reality hit me.

File selection would be easy, but creating a new project file? That's what I spent the last two days working on and it's still not fully complete. The menu that allows the user to type it in, however, has been (functionally) completed. So many thing went wrong in it. If you look at the screenshot below, you'll understand why it took so long.

Screenshot: http://imgur.com/sbWFQVi

The code is a huge mess, as well. I'll clean it up after I apply brain bleach and let it simmer so I remember absolutely none of it.

Next in line: Input verification and file creation.
I'm excited. The audio you posted sounded good for 4 channels coming out of the link port. A tracker is something I've always wanted to make for a calculator, but I don't have the audio chops to pull off the sound output using the calculator alone. Best of luck to you.
  
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 1
» All times are UTC - 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

 

Advertisement