GB POLY-4M - 4 CHANNEL MIDI SYNTHESIZER FOR THE GAMEBOY - CARTRIDGE (Arduinoboy Compatible)
GB Poly-4. A 4-voice MIDI synthesizer for the Game Boy paired with an Arduinoboy MIDI adapter. Version 3.25.
For big workloads the performance is best on GBC/GBA due to 8.33mhz speed. On DMG it will use standard 4.194mhz.
Flash it to a cart, plug an Arduinoboy into the link port, and your Game Boy answers MIDI from any DAW or hardware sequencer.
Voices
- CH1 Pulse + Sweep, CH2 Pulse, CH3 Wave / FX, CH4 Noise
- Mono and round-robin Poly modes; Lnk Sync mirrors voice settings across pool or linked voices on demand
- Link mode doubles voices in unison for fatter mono leads or stacked basses
- Software ADSR, pitch envelope, detune, octave, duty, portamento, pitch bend (±2 semitones)
- mGB-compatible noise mapping for drum-rack consistency
Tempo-synced LFOs (per voice)
- Vibrato and tremolo locked to musical subdivisions: 1/1 down to 1/32, including dotted and triplet variants — same grid the arp uses
- Mod-wheel default vibrato rate also subdivision-based
- Tremolo wave shape: SIN for smooth pulsing, or SQR for a per-channel gate with adjustable duty (1–127), from sparse stutter to gentle ducking
Wave engine (CH3)
- 26 built-in waveforms: sine, saws, organs, basses, plucks, pads, vowels, metallic, more
- User-editable custom wave with on-screen 32-sample bar editor; saved per preset
- PWM sweep with adjustable rate and depth, classic SID-style pulse-width movement
Per-voice arpeggiator
- 16 musical subdivisions: 1/1 down to 1/32, including dotted and triplet variants
- 6 patterns: up, down, up-down, random, as-played, bass pedal
- BPM-driven or MIDI-clock-locked (24 PPQ)
- Hold a single note for octave arp, hold a chord for note arp
- Optional ping-pong auto-pan per step
FX engine (CH2 or CH3)
- Echo: tempo-synced repeats with feedback and dry/wet mix
- Arp: independent FX-side arpeggiator, runs alongside per-voice arps
- Harmonizer: 16 intervals from minor 2nd to two octaves, plus 5th-down and octave-down
- Chorus: detuned doubling for thickening
- Gate: tempo-synced amplitude chopping with rate, duty, and shape
- Follows arpeggiated source notes for evolving, living lines
Control
- 45+ MIDI CCs cover every parameter; modulation CCs broadcast across pool or linked voices when Lnk Sync is on
- Program Change addresses all 32 preset slots
- Pitch bend and sustain pedal apply across the full Poly pool automatically
- Velocity sensitivity curve, adjustable 1–10
- Robust note handling: Note On/Off priority eviction prevents dropped messages; MIDI Stop and CC 120/123 silence stuck notes immediately
Memory
- 32 named preset slots in battery-backed SRAM
- Stores voice, FX, arp, custom wave, tempo, and routing per slot
- Global settings persist across power cycles independent of presets
Display
- Menus with D-pad navigation; main screen exposes Mode, Link, BPM, and per-voice access at a glance
- Boot screen with version logo
- DMG monochrome fallback
GB Poly-4 MIDI CC Reference
Per-voice CCs respond on the MIDI channel routed to each GB voice (default: CH1=0, CH2=1, CH3=2, CH4=3). In Poly mode, modulation CCs broadcast across the pool when Lnk Sync is on.
VOICE SHAPE
CC 7 Volume
CC 10 Pan (OFF / R / L / LR)
CC 16 Duty (pulse channels only)
CC 14 Detune (center 64)
CC 15 Octave (-2 to +2)
CC 80 Wave Select (CH3, USR + 26 built-ins)
ADSR
CC 18 Attack
CC 19 Decay
CC 20 Sustain
CC 21 Release
TREMOLO (per voice)
CC 22 Trem Rate (subdivision: OFF, 1/1 down to 1/32T)
CC 23 Trem Depth
CC 24 Trem Wave (0 = SIN tremolo, 1–127 = SQR gate, value = duty)
VIBRATO (per voice)
CC 76 Vib Rate (subdivision)
CC 77 Vib Depth
CC 1 Mod Wheel (scales global mod-wheel vibrato depth)
PITCH ENVELOPE (per voice)
CC 25 PEnv Rate
CC 26 PEnv Depth
CC 27 PEnv Direction (<64 down, ≥64 up)
PORTAMENTO
CC 5 Glide Time
CC 65 Glide On/Off (≥64 = on)
PER-VOICE ARPEGGIATOR
CC 83 Ch Arp Speed (subdivision)
CC 84 Ch Arp Range (1–3 octaves)
CC 85 Ch Arp Pattern (up / down / up-down / random / as-played / bass pedal)
CC 86 Ch Arp Pan (auto ping-pong)
FX ENGINE (CH2 or CH3 output)
CC 28 FX Enable
CC 29 FX Type (Echo / Arp / Harmonizer / Chorus / Gate)
CC 30 FX Routing (CH1 / CH2 / ALL)
CC 33 Echo Time
CC 34 Echo Feedback
CC 35 Echo Mix (dry/wet)
CC 37 FX Arp Speed (subdivision)
CC 38 FX Arp Range
CC 40 FX Arp Pattern
CC 53 Harmonizer Chord (16 intervals, m2 to two octaves)
CC 56 Gate Speed (subdivision, 0 = bypass)
CC 57 Gate Duty
CC 59 Gate Shape (reserved)
SYSTEM
CC 64 Sustain Pedal
CC 70 Poly Mode
CC 81 PWM Rate
CC 82 PWM Depth
CC 106 Link Mode
CC 107 Lnk Sync
CC 120 All Sound Off
CC 121 Reset All Controllers
CC 123 All Notes Off
PROGRAM CHANGE: selects preset slot (0–31, all 32 slots).
PITCH BEND: ±2 semitones, applies across the full Poly pool.
128 KB ROM · MBC5 + RAM + battery (required to save settings and presets) · Tested on real hardware.