Crude Modular 2 LSDJ Syncrhroniser
I made a thingy that syncs a gameboy and a modular - without any arduiners or the sort! As promised - dropping the schematic and some details, also photos of the complete thing and a demo of gameboy synced TO the modular processed THROUGH the modular, along with some additional synthy sounds.
The idea is very simple: 1/16th modular clock in, LSDJ on gameboy picks up the tempo in MIDI sync mode. It can be assembled like this on a veroboard. Powered from the gameboy itself. Mine has its link port broken out to a header at the bottom of the unit because i'm a nutcase, but you can sacrifice an actual link cable.
Here's the schematic. Since LSDJ treats 0x00 to the link port as a clock message and wants 24 of them per 1/4th of a mesaure just like MIDI, so, 6 of them per 1/16th, we just need to send 6 0x00s in a row by tying data in to ground and pulsing the clock 8 times. This advances the song by a sixteenth. This thingy starts the local clock when it receives a signal from the modular, counts up to 48 (6 bytes * 8 zeroes) and then stops localclock until further notice. Loosely inspired by Gwem's take on the matter.
The issue with my design is it will mess up all the table timings LSDJ and especially the P command, because LSDJ expects its 24 clocking messages EVENLY DISTRIBUTED across each quarter, and times itself off of each byte. But we fire them in four bursts of six in a row each for the four sixteenths per quarter. So its finer timing goes haywire.
It's a proof of concept and a valid tool if all you need is to do some simpler bleepbloop noodling. It absolutely demolishes a song i worked 8 hours on cause it has so much complex tables going on, and i'm keen on using P a ton. If you want actual precision, either use actual MIDI or experiment with PLLs to multiply the 1/16th coming from the modular by 6 to get 1/96ths, and then fire a single clock message each 1/96th, which is what LSDJ expects.
Veroboard layout for the valiant ones. Diodes are 1n4148, transistors 2n3904.
P.S. i know some recent LSDJ versions have that modular clock sync option that is supposed to be better? i guess? but i'm running 4.7.3 since eons ago and don't want to roll over. So instead i developed my own hardware