Thursday, October 09, 2008

Sync Options for Game Boy Music

Last updated: 29 October 2008

Thanks heaps to: nitro2k01, Athleos and Low-Gain for pointing out my mistakes and inacurracies.

A question that gets asks from time to time is "How Do I Sync My Game Boy?". The two major Game Boy music programs (Nanoloop and LSDJ) both allow different types of synchronisation.

I thought it might be a good idea to lay out all of the options that are available. Some of the options require various levels of DIY skills - having said that, DIY stuff can be very, very affordable and can bring about a sense of satisfaction (if it works properly, of course).

This is not supposed to be a critique of each sync device (I'm not having a go at anyone!), I'm just trying to make this information available to people.



Quick Overview of the Devices
I have here a prepared table. For more details about each device, please scroll down.



Game Boy Link Cables
Okay, so the first option is an obvious one, but I thought we would start off with something simple. Link cables let you sync up two Game Boys to each other, so that they play in time.

On the positive side...
• They're cheap. Pick some up from Ebay for around AU$5 to AU$8. Quite often, you can pick them up in a package including a Game Boy and some games.

• They're plug'n'play. You don't have to press anything to get them working, you just plug them in, set up your software to a master / slave configuration and there ya go.

On the negative side...
• You can only sync a Game Boy to another Game Boy (unless you have a MIDI sync box such as LSDJMC2, Arduinoboy or syncThing).



Delfy's Six Way Sync Box
This is a custom-made passive sync box that allows the user to synchronise up to six game boys to one another. As far as i know, there is only one in existence, but Delfy might be persuaded into making another if you contact him.

On the positive side...
• It's plug'n'play. You don't have to press anything to get them working, you just plug them in, set up your software to a master / slave configuration and there ya go.

On the negative side...
• You can only sync a Game Boy to another Game Boy (unless you have a MIDI sync box such as LSDJMC2, Arduinoboy or syncThing).
• The availability of this item is unknown, but it should be quite easy to replicate.



Low-gain's 1x3 DMG-07 Mod
This modification takes an original 4 player Game Boy link connector and converts it into a device that takes one master sync signal and outputs three slave signals. Sounds like it would be a hit at parties!

On the positive side...
• They're plug'n'play. You don't have to press anything to get them working, you just plug them in, set up your software to a master / slave configuration and there ya go.
• You can use this to multiply your number of sync outputs from a given MIDI sync device.
• Can be used in an infinite daisy chain.
• Can be used to multiply other sync outputs from MIDI devices.

On the negative side...
• You can only sync a Game Boy to another Game Boy (unless you have a MIDI sync box such as LSDJMC2, Arduinoboy or syncThing).



Gwem's LSDJ Pitch Control
Gwem has made the plans available for his LSDJ Pitch control. This device has been around for a while, but it's a nice design and allows the user to control the tempo of LSDJ using both a 'coarse' and a 'fine' control. It's really made for live use.

On the positive side...
• Great for live use, as you can control the tempo using two pots!
• The electronic components are cheap and easy to find
• A chip (microcontroller) does not need to be programmed in any way

On the negative side...
• It's just made for real-time control - ie. no MIDI. But this is a just question of purpose so I'm just mentioning it here in the negative as a warning.
• Looks slightly - only slightly - more difficult to build than other DIY options
• Premade units are not available.



Gwem's DIY MIDI Interface
Gwem has also made a MIDI clock sync interface. Just like his Pitch Control, this device features only common components that do not require any programs to be uploaded to a chip (and is the only DIY MIDI clock sync device to do so).

On the positive side...
• Made from cheap, simple components that should (hopefully) be sourced locally.
• Syncs LSDJ to a MIDI clock signal
• Does not require the user to upload a program to a chip

On the negative side...
• Syncs only LSDJ
• The interface expects to only receive MIDI clock signals - other MIDI messages may / will interfere with the sync



Oliver Wittchow's Nanoloop Sync Cable
This cable allows one to sync Nanoloop 1.x and 2.x to a MIDI clock signal.

On the positive side...
• Very small and portable - its basically a cable with a small area for the chip in the middle.
• Uses the Game Boy connection for power.
• Easy to use with Nanoloop.
• They were originally made as premade devices (and relatively affordable as such) but will be available as kits soon.

On the negative side...
• Only syncs one Game Boy.
• Only syncs Nanoloop.
• Premade units are no longer available - but a kit is available soon



Official LSDJ Sync
There was an official LSDJ MIDI sync device made a while ago. They are no longer produced.

On the positive side...
• Very small and portable

On the negative side...
They are not produced anymore.




Firestarter's LSDJMC2
Firestarter designed a PIC-based device that allows the synchronisation of LSDJ and Nanoloop to a MIDI beat clock. Low-gain from 8BC is currently producing these devices.

On the positive side...
• It's a premade device, which means its tested.
• Low-gain's and Firestarter's models look very nice and appear to be quite sturdy.
• The device features a number of useful modes / options
• You can even make your own!
• These devices sync up to 2 Game Boys to a MIDI clock

On the negative side...
• The premade devices are quite expensive (with good reason), and as such may not be suitable for everyone.



Trash80's ArduinoBoy
This is an Arduino-based sync device, making it easy to build. It responds to MIDI start, stop and sync commands. It has many features of the LSDJMC2. A new version currently support a custom program that allows for full control over the Game Boy's sound chip (much like PushPin)

On the positive side...
• Very easy to build!
• Sync many Game Boys to MIDI
• Features four different sync modes for Nanoloop and LSDJ
• Stable and accurate

On the negative side...
• Premade units are not available



Gijs' Master Clock Generator
This is an Arduino-based sync device, making it easy to build. It outputs MIDI clock rather than syncing to MIDI clock. It also outputs LSDJ, Nanoloop and Sync24 clock signals. The overall tempo is controlled by a potentiometer.

On the positive side...
• Synchronise 4 x LSDJ, 3 x Nanoloop, 2 x MIDI and 2 x Sync24 devices!
• Control the speed with a pot control - great for live performances and such!

On the negative side...
• Does not accept MIDI clock, it only generates it
• Premade units are quite expensive (but are made by Gijs himself!!)



little-scale's syncThing and syncTank
This is a Freeduino-based sync device, making it easy to build. It synchronises 6 copies of LSDJ as well as 6 copies of Nanoloop to MIDI clock. The syncTank is a related device, being able to sync up to 15 copies of LSDJ to MIDI clock.

On the positive side...
• Sync a large number of Game Boys to MIDI clock (12 for the syncThing, 15 for the syncTank)
• Sync both Nanoloop and LSDJ
• Cheap to build; I can send you flashed Freeduino chips.

On the negative side...
• Premade units are no longer available



little-scale's nanoGroover
This device generates triplets and other weird timings for Nanoloop!

On the positive side...
• Generate weird timings for Nanoloop like 2:4, 3:4, 5:4 and 6:4. Finally, you can do triplets in Nanoloop!
• Very cheap and easy to build. Requires no programming of parts or special ICs.

On the negative side...
• Requires two Game Boys and two copies of Nanoloop.
• Premade units not available.



little-scale's nanoSync24
This device will sync Nanoloop to a Sync24 signal.

On the positive side...
• Sync Nanoloop to Prophet 64, so that the C64 is controlling the speed of Nanoloop.

On the negative side...
• Premade units not available.



LSDJ Keyboard Adaptor

This is not a synchronisation device. But it will allow you to control notes in LSDJ using a standard PS/2 (ie. PC with the mini-DIN connector) computer keyboard.

On the positive side...
• Wow! Play notes on the keyboard and the sounds come out of the Game Boy!
• Very easy and cheap to make; many people have PS/2 keybaords already lying around.

On the negative side...
• Premade units not available.



Vawter and Whitman's Pushpin
This is not a sync device. This setup allows you to have complete control over the Game Boy's sound output. Brilliant!


On the positive side...
• Very cheap and easy to build the hardware part; requires no programming of chips and such
• An amazing level of control!

On the negative side...
• Premade units not available.
• Only works on Game Boy Color



Trash80's Arduinoboy + mGB
This is not a sync device. This setup is an extension to Trash80's awesome Arduinoboy project. It allows you to control the sound output of the Game Boy via MIDI.


On the positive side...
• Arduino based, so you know it's easy to make!
• An amazing level of control!

On the negative side...
• Premade units not available.
• Not completely finsihed yet (?)

7 comments:

Anonymous said...

The background is so...white!

Sebastian Tomczak said...

:)

Anonymous said...

A couple of comments:
*The readability of the chart on the x axis bad. Could you perhaps do some kind of zebra columns?
*Maybe you should change MIDI out: no to thru, where applicable?
*Doesn't the nano MIDI cable actually work with LSDj in MIDI mode?
*Add a PS2 keyboard to the list, even though it's technically not a sync device
*Nano MIDI: DIY, in the future. Is Oliver planning to open up his design?
*And perhaps you should expand the horizons a bit and add Pushpin and trash80's upcoming mGB

That's about it. :)

Sebastian Tomczak said...

Hi Nitro,
Ive made some updates for this.

:)


Seb

Anonymous said...

That's better, but still not perfect ;)
*There's the capital n again...
*Arduinoboy+mGB: The LSDj notes column says yes.
*Nanoloop MIDI cable: Nanoloop sync says no.
*I think you should skip the LSDj notes column all in all and change the LSDj sync column so that it says sync, play or both.

Sebastian Tomczak said...

*There's the capital n again...
>>> yes, i thought i had reminded myself to keep it small, but hey maybe i sort of did some double thinking there unngg.

*Arduinoboy+mGB: The LSDj notes column says yes.
>>> it didn't. trust me.


*Nanoloop MIDI cable: Nanoloop sync says no.
>>> what a bad mistake of mine. i was in a real hurry when i made this. whoops.

*I think you should skip the LSDj notes column all in all and change the LSDj sync column so that it says sync, play or both.
>>>nah, i disagree.

infradead said...

low-gains firestarter box adds two midi thru ports.