chord 1.0.6
+ Updating timer code to work around bug in openFPGA.
+ Adding extra checks to preset data, to avoid loading garbage.
chord 1.0.5
+ Adding 3 channel polyphonic mode.
chord 1.0.4
+ Back to normal.
chord 1.0.4 movember
+ Adding midi sync capability. Please find instructions and software below.
chord 1.0.3 movember
+ Adding moustache logo.
chord 1.0.3
+ Tweaking buttons in edit mode. Use D-pad for navigating, a and b for setting control values.
+ Adding edit mode exit button combination (select and d-pad left).
chord 1.0.2
+ Improving noise levels for cartridges.
chord 1.0.1
+ patching rom header for emulator save.
+ loading save slot 0 on startup.
chord 1.0
+ original release.
If you enjoy the application please consider supporting me by either buying any of my other apps for iOS or make a small donation below. I sell my iOS apps for $1.99 and $0.99, if that helps.
You name the price!
iOS applications
humble bundle
Guide
Play mode
#tip: D-pad is sticky, meaning that if the right button is pressed it will only be released once all d-pad buttons are released.
Editing
1. Channel mode:
+ Monophonic or 3 channel polyphonic.
2. Left button mode:
+ Shift octave up 1 / move current chord back to start
3. Save/load:
+ 8 slots avalable for saving (press A to save/load)
4. Arpeggio:
+ External clock sync.
+ Timer: An overflow timer incremented at 4096 Hz.
+ Arpeggio mode: none, random, up and down.
+ Number of octaves.
5. Pitch sweep:
+ Sweep Time.
+ Frequency increase/decrease.
+ Nr of sweeps.
6. Sound:
+ Wave duty: (12.5%, 25%, 50% or 75%)
+ Sound length.
7. Envelope:
+ Initial envelope value.
+ Evelope direction (up,down).
+ Number of envelope sweeps.
8. Selected control:
+ Navigate with d-pad. Change values with a and b.
#tip 1: Some conrols allow notes to be played with a, b, start and select. For example to test arpeggios.
#tip 2: When editing notes d-pad up and down can still be used to shift the current chord up and down.
Polyphonic Mode
Polyphonic mode works slighlty different to monophonic mode. All notes are sustained during button presses and less settings are available, in order to match the sound across all three channels. The channels available are divided into groups to prevent root notes of a chord being discarded, by new key presses.
MIDI Clock Sync
Gameboys are ok at keeping time but sometimes you just need that perfect timing. Below are instructions on how to sync chord with an external midi clock. Also, it has been comfirmed by users that chord syncs with arudino boy set to lsdj slave mode.
Hardware
The circuit proposed for syncing chord with a midi clock is very simple, all you need is a teensy 2.0, a gameboy link cable and a mini usb cable.
Link:
Teensy 2.0
Software
Chord Midi Sync is a little program that runs on teensy interpreting the incoming midi signals and talks to the gameboy. Teensy is programmed with teensy loader.
Links:
Chord Midi Sync 1.0
Teensy Loader
Assembling the Components
This is the part where you need to cut your gameboy cable in half and expose the cables inside. You only need 3 of them for midi clock sync, the actual clock cable, 5V and ground.
You might want to find a nice box and solder the parts together for a robust product, I simply assembled mine on a breadboard. The diagram below shows what goes where.
#tip 1: The midi clock sends 24 ticks every beat. This is much less than the internal gameboy clock. The arpeggio overflow buffer therefore should also be much smaller.