This is an archived, read-only copy of the United-TI subforum , including posts and topic from May 2003 to April 2012. If you would like to discuss any of the topics in this forum, you can visit Cemetech's
z80 & ez80 Assembly subforum. Some of these topics may also be directly-linked to active Cemetech topics. If you are a Cemetech member with a linked United-TI account, you can link United-TI topics here with your current Cemetech topics.
Z80 & 68k Assembly =>
z80 & ez80 Assembly
Author |
Message |
|
scedarbaum
Newbie
Joined: 04 Jun 2009 Posts: 5
|
Posted: 18 Oct 2010 01:22:10 am Post subject: |
|
|
Hello. For a small TI / z80 project, I thought it would be cool to have a program play sounds (whose data would be stored in appvars) through the I/O port on the TI 84. I know that this has been done before, but I thought it would be cool to code for myself. Thus far, most of my research has been on how to convert data from WAV files to raw sampling data as well as how to talk to the I/O port (i.e. set the ring and tip high/low.) However, there are two serious roadblocks I have come across:
1.) An appvar's data size seems to be limited to 65535 bytes (as the field for the data's size is only 2 bytes in size). Given that that's not a whole lot of music when you're dealing with uncompressed data, would the best option be just to have many appvar files for longer sounds? Is there a faster/easier to handle way to store a lot of contiguous memory in the archive?
2.) Although this is slightly off topic, I am having a lot of issues finding information on how to send data to headphones (i.e. what their line coding is.) Being fairly oblivious to working with low level hardware, if anyone could point me in the right direction it would be very much appreciated. Again, I know this is probably off topic so I apologize.
Any input on either of these is much appreciated. Thanks for reading,
Sam
Last edited by Guest on 18 Oct 2010 01:23:52 am; edited 1 time in total |
|
Back to top |
|
|
calcdude84se
Member
Joined: 09 Aug 2009 Posts: 207
|
Posted: 25 Oct 2010 12:51:14 pm Post subject: |
|
|
1) Store the sound data in an app.
2) http://wikiti.brandonw.net/index.php?title=83Plus:Ports:00 Just alternate the states of the lines at the correct frequency. There is no "line encoding"
Edit: Also, good luck!
Last edited by Guest on 25 Oct 2010 12:51:51 pm; edited 1 time in total |
|
Back to top |
|
|
scedarbaum
Newbie
Joined: 04 Jun 2009 Posts: 5
|
Posted: 26 Oct 2010 08:30:38 pm Post subject: |
|
|
calcdude84se wrote:
Ah, I hadn't thought to store the data in an application. Is it possible to write these files without an assembler / signing them? Ideally, I'd like to be able to have my Wave file parser program write the file directly. Thanks a lot.
-Sam |
|
Back to top |
|
|
Lionel Debroux
Member
Joined: 01 Aug 2009 Posts: 170
|
Posted: 08 Nov 2010 12:37:39 am Post subject: |
|
|
83+ FlashApps have been independently signable by third-parties for years with TI's tools, as TI published the keys long ago.
But you can also sign FlashApps with RabbitSign. |
|
Back to top |
|
|
scedarbaum
Newbie
Joined: 04 Jun 2009 Posts: 5
|
Posted: 08 Nov 2010 06:12:26 pm Post subject: |
|
|
Lionel Debroux wrote:
83+ FlashApps have been independently signable by third-parties for years with TI's tools, as TI published the keys long ago.
But you can also sign FlashApps with RabbitSign.
Gotcha, please pardon my noobness I am still pretty new at this. Thanks very much.
Last edited by Guest on 08 Nov 2010 06:49:32 pm; edited 1 time in total |
|
Back to top |
|
|
DigiTan Unregistered HyperCam 2
Super Elite (Last Title)
Joined: 10 Nov 2003 Posts: 4468
|
Posted: 13 Nov 2010 12:52:18 pm Post subject: |
|
|
The new SpASM assembler (from the developer of WabbitSign and WabbitEmu) also has functions to handle multi-page apps for large sound files. To actually play the sound, a Radio Shack 1/8" stereo to 3/32" stereo converter will adjust the size down for you to use headphones. Thanks to portable devices getting small, I'm seeing more and more 2.5mm headphones online that already fit the TI port by themselves. |
|
Back to top |
|
|
scedarbaum
Newbie
Joined: 04 Jun 2009 Posts: 5
|
Posted: 13 Nov 2010 03:45:03 pm Post subject: |
|
|
DigiTan wrote:
The new SpASM assembler (from the developer of WabbitSign and WabbitEmu) also has functions to handle multi-page apps for large sound files. To actually play the sound, a Radio Shack 1/8" stereo to 3/32" stereo converter will adjust the size down for you to use headphones. Thanks to portable devices getting small, I'm seeing more and more 2.5mm headphones online that already fit the TI port by themselves.
As of right now, I have a simple C++ command line program that takes a wave file, writes a binary file with a header and the sample data, and then calls upon rabbitsign to sign the file and convert it to a proper .8xk hex file (no assembler involved in the process). I've been able to successfully put these large, multi-page files onto the calculator via TI-connect and was hoping my main application (the "sound player") would be able to aggregate these external sound files (via searching the VAT) and play them by reading the data directly from the archive (using the data's start address found in the VAT.)
I've been ignoring the issue of multipaging (ignorance is bliss until your calc crashes I suppose) and have thus made two possibly incorrect assumptions: 1.) that rabbitsign would format my sound files for multipage use and 2.) that once I obtained the data start address for an app file in the VAT, I could read through it linearly all the way through.
Is this model viable, or am I cutting too many corners? Thanks a lot for everyone's help,
Sam |
|
Back to top |
|
|
DigiTan Unregistered HyperCam 2
Super Elite (Last Title)
Joined: 10 Nov 2003 Posts: 4468
|
Posted: 13 Nov 2010 04:46:11 pm Post subject: |
|
|
I guess you'll have to check with the others on that one. I know app page numbering has the counter-intuitive requirement of forcing you to dec in order to step from one page to the next. Maybe WabbitSign includes some kind of command line switch to make the multi-page data seamless like the way SpASM does. |
|
Back to top |
|
|
|
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