Releases: MetalHexx/TeensyROM-UI
2.0.3
2.0.2
2.0.1
2.0.1 Fixes
- Fixed an issue where fetching or indexing directories that contain extended characters were failing due to UTF8 encoding.
- Example failing directories:
- /720° [00077]
- /Knötie in Cave
- Bug report credit: JTHonn
2.0.0
Time to Mix some SID files??
The Amiga DJ scene is super dope! My jaw dropped when I first saw people doing DJ mixes on a pair of Amigas. Stuff like this is so important for keeping the scene alive in 2025. There is just something fascinating to me about keeping these machines and the culture surrounding it relevant 40+ years later. So, ever since I got started with the TR project, I've been thinking...how can we make this happen with our 8-bit machines and SID files? Can't let those 16bit Amiga folks have all the fun! ;)
The Experiment
I think I've arrived to something that is a viable way to mix live SIDs on your C64s. Travis has implemented some fun ways to alter a SID by changing it's speed and muting it's individual SID chip voices. In collaboration with Travis (@SensoriumEmbedded), these functions are now remotely controllable via serial port. I was able to squeeze a ton out of them to create, what I believe to be, a comprehensive set of tools to effectively perform live mixes / remixes on Native Commodore 64 SID chips in realtime and on familiar MIDI controller hardware.
Early Demo Videos
Beat Juggling the same SID on each C64. SIDablism! ;)
You can get really funky by combining replay, pause, and instant speed jumps. Lots of creative beat juggling ideas to unlock here!
- Check back for more demos soon!
New Features
Player updates
- Toggling the gear icon on the player will reveal some new advanced control features
- SID Fast-forward
- SID Seek / Scrub (move forward or backward through a track!)
- SID Fine-grained Speed Control from -68% to +10,000%
- SID Voice Muting
- Save SID speed preferences
- Send playing track to another device
- SID Loop Mode
- Most SIDs loop. Very handy in a mix.
Playlist support
- Create and manage your own playlists
- Playlists create a dir on the TR.
- Usable when working directly on your C64 hardware.
- Custom sortable with drag and drop (for dj mix sets)
- Custom ordering saved to
playlist.jsonon TR
Multi-TR Device Support
- This unique feature aimed to support DJing with multiple TR/C64s
- Open an instance per TR device
- Unique TR Hardware is tagged and "remembered" for things like MIDI settings.
Device Synchronization
Sync multiple file operations across devices for easy mix set planning.
- Favorite Tagging
- Playlist creation/changes.
- Directory sort order
- SID Speed customizations
- File deletion
- Launch the current playing SID on another device (great for prepping a beat juggle)
- Offline Syncing enables a device to "catch up" with previous sync operations.
- IMPORTANT NOTE!
- You must load up both TeensyROM storage devices with the same initial set of files!!
- Files are NOT actually copied across devices during synchronization.
- Only the actions to you take will be synced.
PC Keyboard Support
- Media button control to pause / play / next / previous
- SID voice muting
- SID speed
MIDI Support!
Most UI / Player operations are now controllable from any midi controller. Great for DJs, live performance or general use.
- Map controls for SID voice mutes, speed, navigation and more.
- Midi Learn for easy configuration.
- Multiple options for Note or CC based control.
- MIDI settings saved and loaded automatically per tagged device.
- SPECIAL NOTE:
- Should you combine your DJ setup with a DAW, make sure you disable the midi devices you want to use in TeensyROM UI.
- Otherwise, they won't show up in the UI or cause them to fight for control of the device.
Start-up Options
- Auto-launch the last song / game you were playing
- Random start still optional
- Enable Loop Mode by default (for DJs)
Text File Support
- UI now recognizes text files as a launchable type.
Additional Notes
- UI v2.0 Requires TeensyROM FW 0.6.7 (see Travis' last release above)
- UI v1.0 will no longer be supported with TR FW 0.6.7++.
- Upgrade to this UI when you update your TR firmware.
My Current Setup
This is my current midi device / DAW setup which is still a work in progress. This is just one way to set things up. There are other ways to do it. Use your creativity! See: Sajtron's demo video he goes a more traditional route with an audio mixer
Full Setup
Midi Mapped Deck Layout
- 2x Arturia Mini Lab 3
- Each keyboard is midi mapped to functions on the TeensyROM UI to control a C64
- A few knobs are mapped to effects in Ableton Live.
- MRCC helps make this mapping this easy by setting up multiple virtual ports for the Minilab.
Midi Mapped Mixer
- Faderfox micromodul DJ2 MIDI DJ Mixer
- Most midi controls are mapped to Ableton Live
- The top encoders are also mapped to directory navigation in TeensyROM UI.
- MRCC helps make this mapping this easy by setting up multiple virtual ports for the mixer.
Conductive Labs MRCC Router
- I use the MRCC share my midi devices and map them to both the UI and Ableton
- MRCC allows me to create multiple "Virtual Midi Ports" to each device to make them usable by more than one program.
- This isn't required, but works awesome in this setup.
UI and Ableton Layout
2 instances of the UI connected to each TR / C64. Both C64s Audio routed through my audio interface and into Ableton Live.
- Ableton Acts like the mixer and sound effects processor.
- Additional utility provided with Looper, Beat Repeat, and various effects.
- Mix can be fully recorded dry with wet midi automation recorded which will be very handle post-production if needed.
Greetings
Travis, Sajtron, Avrilcadabra, Divertigo, Angal, Paula Haunt, slippyex, Infiniti Banana -- thank you all so much all for taking time out of your schedules to listen to my mad scientist thoughts and providing valuable insights, feedback and motivation on the idea. Extra special thanks to Sajtron who took a lot of time to collaborate on getting a DJ setup of his own up and running! And of course, Travis, the true wizard behind the curtains.
1.0.1
Minor Metadata Patch 1.0.1
- Update for HVSC #81 metadata.
1.0.0
Release v1.0.0
Time to unleash the beast!
After an unnecessarily long run in "alpha", we're skipping straight to an official v1.0.0 release. It's been deeply tested by a few folks and it's looking quite solid. Of course, there is always the possibility of edge cases with certain machines/environments. But we can work through those. The issue tracker has been opened up, so please submit any problems you run into including an .zip attachment of your /Assets directory.
Special Thanks
- @SensoriumEmbedded (Travis Smith): TR Inventor. Full time UI testing. Cool dude.
- Richard: TONS of early build UI testing.
- Divertig0: Extensive late build UI testing. Musician. TR Experimentalist.
- Avrilcadabra: UI Smoke testing. Musician. TR Experimentalist.
- StatMat: Brainstorming. OneLoad64 / TR Load Time Improvements. NFC Project.
- The creative, supportive and inspiring TeensyROM Community.
Updates
- Auto-Copy / Watch Directory
- Enhanced to preserve directory structure in TR storage when deep directories are copied
- Watch directory will now detect files/directory when they're moved (drag and drop). Prior to this, it only fired on file copies.
1.0.0-alpha.59
FIX: Connection Issue when Non-Standard COM Ports are present
- Solves a connection issue where writing a PING to the serial port on a non-standard Bluetooth COM port causes operation and UI to hang indefinitely.
1.0.0-alpha.58
version bump
1.0.0-alpha.57
Feature Release: 1.0.0-alpha.57
TeensyROM Dual Boot / Minimal Mode Support
- The Desktop UI will automatically re-negotiate connections to TeensyROM in Dual Boot scenarios.
Configurable Default Filter
- You can now set Music, Games, Images and All as the default launch filter.
- Defaults to All.
- Configurable in Settings view.
Auto-Connect on Application Startup.
- Why waste time clicking the connect button?
- Optional: Can be disabled in Settings view.
Auto-Launch on Application Startup
- This will automatically launch Games, SIDs, and/or Images on application startup
- File type launched will be based on selected default filter
- Application will automatically open to Discover view when this option is enabled.
- Optional: Can be disabled in Settings view.
Additional Notes
- This will likely be the last Alpha feature release.
- Looking for support for testing before moving into Beta
- Launch Demo coming soon once Beta starts.
1.0.0-alpha.55
Feature: SID Subtune Support
- SID files with subtunes now appear in the player toolbar with prev/next and dropdown options for navigation
- Fix: Bug that was causing the log screen to spam in certain launch conditions

