wintermute
....
To celebrate the **20th birthday of the ML303 (v5 to 7)**, I am happy to share a new firmware release — a small birthday present for this great little 303-inspired machine (yes, we got old).
One of the main goals why this firmware was made, was to move the ML303 closer to the original Roland TB-303 firmware and add new tools and features everybody wanted 20 years ago (and today).
The firmware was completely re-written so the machine feels less like a generic MIDI sequencer and more like an authentic 303: step-based pattern editing, Pitch/Time workflow, pattern chaining, track structure, D.C. / D.S., transpose handling and timing-related behavior were all revisited with the original 303 concept in mind.
This update is the result of a huge amount of reverse engineering, testing, debugging and firmware work. It was done in my spare time after I completely re-engineered the original TB303 firmware and built a new CPU emulation for the RE-303 that added also advanced features and a small display. After I finalized the RE-303 firmware I wondered if I could port the key features to the ML303. It took much longer than I thought and a lot of time went into understanding and rebuilding old behavior, memory handling, pattern and track logic, SysEx transfers, MIDI and the limits of the original PIC-based firmware platform. ROM space is extremely tight with this firmware, so many features had to be implemented, tested, reduced, optimized and reworked until they finally fit.
List of the key features:
## Pattern Mode
## MIDI
## BPM / Sync
* Pattern SysEx transfer
* Track SysEx transfer
* Settings SysEx transfer
* Safer EEPROM refresh after SysEx receive
* Improved SysEx status and error handling
## SYS / System
* Startup / maintenance handling refinements
* Demo / licensed mode handling
* Manual license workflow
* Many ROM optimizations to make the new features fit into the original firmware limits
* Jitter Mode !!!
## Web Utility
* tbd
## How to get a license
This is still a hobby project. There is no commercial support infrastructure behind it, and development is done in spare time. If you like the project and want to support further development, there is an optional “buy me a coffee” link in the tool. This is completely voluntary and not required to request or receive a license.
A big thank you goes to everyone who contributed to the ML303 project in the past and helped keep it alive. Special thanks to **Matze, Kaspar and Roland** for their earlier contributions, ideas and work around the 303.
Happy 20th birthday, ML303!
Update V.1.1.5
- improved Jitter Crazy mode (simulates low battery)
- improved UI stability when editing during playback
Update V.1.1.6
- improvved display
- added tap write and metronome
User manual added
One of the main goals why this firmware was made, was to move the ML303 closer to the original Roland TB-303 firmware and add new tools and features everybody wanted 20 years ago (and today).
The firmware was completely re-written so the machine feels less like a generic MIDI sequencer and more like an authentic 303: step-based pattern editing, Pitch/Time workflow, pattern chaining, track structure, D.C. / D.S., transpose handling and timing-related behavior were all revisited with the original 303 concept in mind.
This update is the result of a huge amount of reverse engineering, testing, debugging and firmware work. It was done in my spare time after I completely re-engineered the original TB303 firmware and built a new CPU emulation for the RE-303 that added also advanced features and a small display. After I finalized the RE-303 firmware I wondered if I could port the key features to the ML303. It took much longer than I thought and a lot of time went into understanding and rebuilding old behavior, memory handling, pattern and track logic, SysEx transfers, MIDI and the limits of the original PIC-based firmware platform. ROM space is extremely tight with this firmware, so many features had to be implemented, tested, reduced, optimized and reworked until they finally fit.
List of the key features:
## Pattern Mode
- Improved Pitch and Time editing
- Step navigation while editing
- More consistent edit cursor behaviour when switching between Pitch and Time edit modes
- Clearer LCD feedback while editing and live step information during playback
- Pattern randomization, transpose, rotate workflow
- Improved Pattern Mode workflow
- Pattern / Track switching via Func key
- Improved pattern chain display behaviour and cursor
- Fixes around stale transpose / pattern chain state
- Many bug fixes around pattern playback and display handling
- Pattern SysEx send and receive
- Safer pattern refresh after SysEx receive
- Improved status and error handling
- Track step editing
- Pattern number per track step
- Loop count per track step
- Transpose per track step
- Track end modes with **Stop** and **D.C.** and **D.S. marker** support
- Track clear
- Track reset / jump back to step 1
- Improved Track Mode LCD feedback while editing
- Better handling of current edit position and playback position
- Improved Track Mode workflow
- Better handling of pattern loading during track playback
- More consistent track playback behaviour
- Fixes around track display updates during playback
- Optimizations to keep timing stable within the limits of the original hardware
- Track SysEx send and receive
- Improved receive handling and EEPROM refresh behaviour
## MIDI
- MIDI clock modes: **Slave / Off / Master**
- MIDI channel selection including OMNI
- MIDI Note Out, Thru, transpose handling
- Program Change RX/TX options
- Improved MIDI menu structure
- Improved MIDI clock handling and related stability fixes
## BPM / Sync
- BPM menu refinements
- Internal / external clock handling
- Cleaner display behaviour around BPM and sync state
- Triplet-related display handling improvements where needed
- Timing-related fixes and optimizations
* Pattern SysEx transfer
* Track SysEx transfer
* Settings SysEx transfer
* Safer EEPROM refresh after SysEx receive
* Improved SysEx status and error handling
## SYS / System
* Startup / maintenance handling refinements
* Demo / licensed mode handling
* Manual license workflow
* Many ROM optimizations to make the new features fit into the original firmware limits
* Jitter Mode !!!
- Adjustable timing jitter mode
- Adds subtle timing variation inspired by the behaviour of older hardware sequencers
- Helps reduce the overly rigid feel of perfectly digital timing
- Can make patterns feel more organic and closer to the slightly unstable timing character associated with vintage machines
- Implemented directly inside the tight ML303 firmware timing structure, without turning the sequencer into a loose or inaccurate MIDI player
## Web Utility
* tbd
## How to get a license
- Open the ML303 Update & License Tool.
- Install or update the firmware in Step 1 using the HTML tool in the attached release package (Edge or Chrome browser required for MIDI).
- Go to Step 2: Request License.
- Read your Device ID from the ML303 under SYS → ID.
- Enter the Device ID, your name and your contact email.
- Create the license request.
- Send the request here via PM to me
This is still a hobby project. There is no commercial support infrastructure behind it, and development is done in spare time. If you like the project and want to support further development, there is an optional “buy me a coffee” link in the tool. This is completely voluntary and not required to request or receive a license.
A big thank you goes to everyone who contributed to the ML303 project in the past and helped keep it alive. Special thanks to **Matze, Kaspar and Roland** for their earlier contributions, ideas and work around the 303.
Happy 20th birthday, ML303!
Update V.1.1.5
- improved Jitter Crazy mode (simulates low battery)
- improved UI stability when editing during playback
Update V.1.1.6
- improvved display
- added tap write and metronome
User manual added
Anhänge
Zuletzt bearbeitet: