trash80 / Arduinoboy

Official ArduinoBoy Repository for serial MIDI communication to the Nintendo Gameboy.
GNU General Public License v2.0
317 stars 48 forks source link

Arduinoboy

Official ArduinoBoy Repository for serial MIDI communication to the Nintendo Gameboy.

ScreenShot

About

Arduinoboy is software for the Arduino hardware platform that allows serial communication (MIDI) to the Nintendo Gameboy for music applications such as LittleSoundDJ, Nanoloop., and mGB

Current Features

Modes Details

Mode 1 - LSDJ as MIDI Slave Sync

Slave your Game Boy running LittleSoundDJ to your midi sequencer or Digital audio workstation.

You can send the arduinoboy midi notes to change sync resolution and start/stop the LSDJ sequencer.

LSDJ Slave Mode Midi Note Effects:

Higher note values than these map LSDJ song position row offset on a Song Start.

In LSDJ the sync mode should be set to Slave

Mode 2 LSDJ as MIDI Master Sync.

Send Midi sync with LSDJ as a midi clock master, LSDJ also sends a Midi Note on message that corresponds to the song row number on play.

In LSDJ the sync mode should be set to Master

Mode 3 LSDJ PC Keyboard mode.

This mode emulates the PC Keyboard Mode built into LSDJ, allowing you to control the following aspects of LSDJ:

Features:

PC Keyboard mode midi note map

In LSDJ the sync mode should be set to Keyboard

Mode 4 MIDI to Nanoloop sync

Sync Nanoloop. to external midi clock signals sent to the midi in.

In Nanoloop, the sync mode should be set to slave.

Mode 5 Full MIDI with mGB

mGB is a Gameboy cartridge program (You need a Flash Cart and Transfer hardware) That enables the Gameboy to act as a MIDI supported sound module that allows full control of the Game Boy sound hardware.

It works with the old DMG Gameboy as well as GBC/GBA.

Mode 6 LSDJ MIDIMAP

Lsdj will sync to incoming MIDI sync, and incoming MIDI notes are mapped to LSDJ's song row #. The currently selected row's MIDI note is displayed on the top right of the LSDJ screen, and incoming MIDI notes will also display the relative song row number in the same location.

In LSDJ the sync mode should be set to MI.MAP.

This requires a special version of LSDJ, which can be found in your account on the LSDJ website.

Mode 7 LSDJ MIDIOUT

Each of the 4 gameboy channels send MIDI data on 4 midi channels by the use of effects commands:

By default each channel of LSDJ is mapped to midi channels 1-4. For example note commands from PU1 will be sent to midi channel 1.

In LSDJ the sync mode should be set to Midiout.

This requires a special version of LSDJ, which can be found in your account on the LSDJ website.

Max Editor

Editor gui The Arduinoboy Editor for Max for PC/OSX machines is a gui editor that allows you to edit the various global midi settings of your arduinoboy without editing or flashing code, over midi. It used to required the now deprecated Max Runtime, but you can also run it using a demo of Cycling '74's Max application

Maxpat Settings

Future Features & wishlist

How To build an Arduinoboy

ScreenShot ScreenShot

Video Demos

Thanks To