I've created a subsystem for audio playback on the Ti-83+SE and 84+, which I've creatively titled "Untitled TI Audio Subsystem".
Untitled TI Audio Subsystem is an untitled audio subsystem for Ti-83+SE and Ti-84+(SE) calculators. It makes use of all three crystal timers; timer 1 for the left audio output, timer 2 for the right audio output, and timer 3 for progressing the audio.
The purpose of this project is to be a lightweight subsystem others can make use of to add music or sound effects to their assembly programs or games. It's been tested on a real Ti-84+, a real Ti-84+SE, and an emulated Ti-83+SE.
This audio subsystem includes the following features:
The subsystem plays audio from a series of audio instructions. I've created a python script to compile these audio instructions into a series of bytes to be included or pasted into your program. The python script also has limited midi file conversion capabilities.
This was originally written as part of a larger project I'm working on, but I figured I'd also release it as a standalone thing in case anyone else was interested in making use of it.
You can download the project here: https://drive.google.com/file/d/1TA6Q7F9KJwYtFOIOT9HRD4AEB5EGSA2-/view?usp=sharing
Included in the download files:
Here are some example songs I've converted to the subsystem to show off its capabilities (both included in the download files):
If y'all have any comments, questions, or suggestions, I'd love to hear them!
Untitled TI Audio Subsystem is an untitled audio subsystem for Ti-83+SE and Ti-84+(SE) calculators. It makes use of all three crystal timers; timer 1 for the left audio output, timer 2 for the right audio output, and timer 3 for progressing the audio.
The purpose of this project is to be a lightweight subsystem others can make use of to add music or sound effects to their assembly programs or games. It's been tested on a real Ti-84+, a real Ti-84+SE, and an emulated Ti-83+SE.
This audio subsystem includes the following features:
- 4 channel 1-bit audio (2 channels audible at a time)
2 channels for music, 2 channels for sound effects
Pitch sweeping capabilities
Duty cycle options to give audio a bit more ~color~
Can play frequencies ranging from 64.63Hz to 1260.31Hz (C2 to D#6)
Timing handled by the Crystal Timers
Single-frame call stack and finite loops
The subsystem plays audio from a series of audio instructions. I've created a python script to compile these audio instructions into a series of bytes to be included or pasted into your program. The python script also has limited midi file conversion capabilities.
This was originally written as part of a larger project I'm working on, but I figured I'd also release it as a standalone thing in case anyone else was interested in making use of it.
You can download the project here: https://drive.google.com/file/d/1TA6Q7F9KJwYtFOIOT9HRD4AEB5EGSA2-/view?usp=sharing
Included in the download files:
- readme.txt: More detailed information about this subsystem
audio.z80: The audio subsystem to include in your assembly code
Compiler: Folder containing the audio compiler and example songs
audio_ex.z80: Simple example program using the audio subsystem
audio_ex_player.z80: Not-so-simple example program using the audio subsystem
credits.txt: Additional credits for the example songs used and code snippets used
Here are some example songs I've converted to the subsystem to show off its capabilities (both included in the download files):
If y'all have any comments, questions, or suggestions, I'd love to hear them!