GAYBOY / USER GUIDE

Make a beat.
Shape a sound.
Play it live.

Illustrated first edition · Review draft
18 October 2026

Native instruments · Drums · Sequencing · Mixing
Pattern and song storage · Experimental instruments

01 / Start here

GAYBOY turns a Game Boy into a drum machine, piano-roll sequencer and MIDI synthesizer. Start with the native instruments and samples, make a pattern, balance it in the Mixer, then save it.

  1. Open build/GAYBOY.gb in the project emulator, or run launch-emulator.ps1.
  2. Press Start to leave the intro. The DRUM roll opens.
  3. Hold Select and press A to play. Repeat to stop.
  4. Hold Start, choose a page with Up/Down, then release Start to open it.

The captured build opens with a prepared drum pattern. Your cartridge save can change what is present. This guide uses Game Boy button names throughout.

Game BoyProject desktop SameBoy / PyBoy
D-padArrow keys
A / BX / Z
Start / SelectShift / Space
Restart ROMF5

These keys describe the project launchers. Browser and other emulator mappings can differ; use their displayed controls.

The initial DRUM roll: instruments run down the left; time runs to the right.
The initial DRUM roll: instruments run down the left; time runs to the right.

02 / Find your way around

Hold Start to open the page menu. Keep it held while pressing Up/Down; release it on the page you want. The list scrolls and depends on the current page and Experimental Mode.

Use P1, P2, WAVE1 and NOISE to choose a native instrument. SEQUENCER edits its notes. SEQ SETTINGS changes timing and track defaults. KITS chooses sample drums; DRUMSYNTH shapes synthesized drums. MIXER balances and launches patterns.

For a first session, leave Experimental Mode off. Its additional instruments and effects are introduced at the end of this guide.

The held-Start menu, scrolled to kits and storage actions.
The held-Start menu, scrolled to kits and storage actions.
Select+A starts the transport; the playhead shows the current time position.
Select+A starts the transport; the playhead shows the current time position.

03 / Choose and audition a drum kit

  1. Hold Start and choose KITS.
  2. Use Up/Down to highlight AMEN ORIGINAL, TR-808, TR-909, TR-707, LINNDRUM or OBERHEIM DMX.
  3. Press A to load the highlighted kit. The star moves to the loaded kit.
  4. Use Left/Right to choose a sample slot and B to hear it.
  5. Return to SEQUENCER to hear your pattern with the new kit.

Browsing highlights a kit; A actually loads it. B auditions the loaded kit. Loading a kit keeps the plotted notes.

The machine kits use slots 1–8: kick, snare, closed/open hats, clap, low/high toms and a kit-specific percussion sound. Slots 9–10 are silent in those kits. Amen uses its original ten sample slots.

TR-808 is loaded; the star identifies the active kit.
TR-808 is loaded; the star identifies the active kit.
After Down and A, TR-909 is loaded. B auditions the selected kick slot.
After Down and A, TR-909 is loaded. B auditions the selected kick slot.

04 / Program the DRUM roll

Open DRUM through the sequencer track navigation: hold Select and press Left until DRUM appears. Left visits empty tracks too; Select+Right skips rolls without plotted notes.

  1. Use Left/Right for the time step and Up/Down for the drum row.
  2. Tap B to plot a hit at an empty cell or remove an existing hit.
  3. Hold B with Left/Right to adjust its length; hold B with Up/Down to edit velocity.
  4. Use Select+A to hear the pattern and stop it again.

At 16-step zoom, the bottom sliders show velocities for the selected drum row. Longer dark bars are note gates; sample playback normally continues to the end of the sample. Two PCM samples can play together; a third overlapping sample replaces the oldest voice.

NHH / NSN are synthesized noise hi-hat and snare rows. PK is the Pulsekick row. These do not change when you switch sample kits.

Sample rows above, NHH/NSN/PK below, and the velocity strip at the bottom.
Sample rows above, NHH/NSN/PK below, and the velocity strip at the bottom.

05 / Shape synthesized drums

Choose DRUMSYNTH from the Start menu. Select cycles HiHat, Snare and PULSEKICK. Use Up/Down to select a parameter, Left/Right to edit it, A to restore its factory value, and B to audition. B+Left/Right makes larger edits.

HiHat and Snare offer level, clock shift, divisor, metallic character and fall rate. They share the Game Boy noise channel and take priority over the regular Noise instrument.

PULSEKICK uses Pulse 1. Its pitch, duty, fall rate, sweep and length shape the kick. A kick temporarily takes priority over a P1 note; the underlying P1 patch is preserved.

HiHat / Noise 1 controls.
HiHat / Noise 1 controls.
PULSEKICK / Pulse 1 controls, including sweep direction and length.
PULSEKICK / Pulse 1 controls, including sweep direction and length.

06 / Choose a melodic sound

  1. Hold Start and choose P1. This opens the Pulse 1 Tone screen.
  2. Use Up/Down to select a parameter and Left/Right to change it. Press B to audition; A resets the selected parameter.
  3. From the first parameter, press Up to wrap to LOAD PRESET, then A.
  4. Browse sounds with Up/Down and game banks with Left/Right. A loads; B cancels.
  5. Choose SEQUENCER to draw notes for this instrument.

Pulse instruments provide duty, volume and hardware envelope controls. Wave1 uses a waveform and hardware wave level. Noise uses shift, width and divisor. Available parameters depend on the instrument.

Browsing a preset leaves the current sound alone until you press A.

Native Pulse 1 Tone: the GATE percentage controls how long a sequenced note sounds.
Native Pulse 1 Tone: the GATE percentage controls how long a sequenced note sounds.
The preset picker shows the game bank and sound list.
The preset picker shows the game bank and sound list.

07 / Draw, erase and lengthen notes

In a melodic roll, horizontal position is time and vertical position is pitch. The left keyboard marks octaves. Filled bars are notes; the small outline is the cursor.

  1. Move to an empty cell and tap B to enter a note. Tap B on a note to erase it.
  2. Hold B and press Right/Left to extend/shorten a note. Starting on an empty cell creates a note and adjusts its end.
  3. Hold B and press Up/Down to change velocity.
  4. Hold A on a note and use directions to move it.

The last edited duration becomes the default for new notes. If a new note is unexpectedly long, shorten it with B+Left or change DURATION in SEQ SETTINGS.

Move left from the first visible grid cell onto the piano. Up/Down chooses pitch; hold A to audition. B auditions while stopped and records at the playhead while playing. Right returns to the grid.

Notes entered with B in the Pulse 1 roll.
Notes entered with B in the Pulse 1 roll.
B+Right changes the selected note length; this session inherited a long duration.
B+Right changes the selected note length; this session inherited a long duration.

08 / Zoom, velocity and selection

Select+Up zooms in; Select+Down zooms out. Views show 8, 16, 24 or 32 steps. Scroll across the roll to reach later steps in a longer pattern.

The 16-step view includes the velocity strip. Move below the grid to reach it, use Left/Right to choose a slider, and hold B+Up/Down to edit. Up without B returns to the grid. In the top header, the V switch shows/hides the strip; A or B toggles it.

Hold A on an empty cell and drag a rectangle to select notes. A-drag on a selected note moves the group; B-drag changes its lengths. Tap A on empty space to clear the selection.

With a selection active, tap Select for COPY / CUT / PASTE; Up/Down chooses, A confirms, B cancels. The Start-menu COPY/PASTE actions copy the current track when there is no selection. Pasting a whole track can replace the destination track, so save useful work first.

The captured 24-step view fits more time on screen than the default 16-step view.
The captured 24-step view fits more time on screen than the default 16-step view.

09 / Set timing and track length

Tap Select in the roll to open SEQ SETTINGS, or choose it from the Start menu. Without an active selection, Select returns to the roll.

Directions choose a setting. Hold B with Up/Down for small edits or Left/Right for changes of ten. Alternatively, A toggles edit mode and Up/Down changes the value.

SettingUse
BPMPattern tempo; shares the Mixer tempo when global tempo is enabled.
LENGTHCurrent track loop, 1–256 steps. Tracks can have different lengths.
VELOCITY / DURATIONDefaults for newly entered notes.
MUTESilence this track without removing notes.
BEATS / BEAT UNITTime signature and beat markings.
ZOOM STEPS / SWING %Visible step count and swing timing; 50 is straight.

In the roll header, highlight the far-right length and hold A+Left to halve or A+Right to double it. Shortening a loop preserves notes outside the active length.

Pulse 1 timing and defaults. This capture shows a 64-step track and straight swing.
Pulse 1 timing and defaults. This capture shows a 64-step track and straight swing.

10 / Mix and launch live patterns

Choose MIXER. Use Left/Right to move across channel strips and Up/Down to choose mute (M), solo (S), volume or pan.

Eight numbered pads hold the live patterns for a song. Move onto a pad: A requests it; B opens it for editing. The active pad is inverted. A queued pad flashes until its launch boundary.

PLAY starts/stops. LAUNCH cycles NOW, 1/8, 1/4, 1/2 and 1/1. Use a division to time the next launch.

Move Down from PLAY or LAUNCH to TEMPO. A enables a shared tempo; A+Up/Down changes one BPM and A+Left/Right ten. B switches it off. The range is 30–300 BPM.

Wave instruments and PCM drums share physical wave output. Their simultaneous playback and stereo routing have hardware limits; drums can take priority over wave notes.

Mixer with native channel strips, drum bus, launch mode, global tempo and eight pads.
Mixer with native channel strips, drum bus, launch mode, global tempo and eight pads.

11 / Save a pattern and name it

Live pads, the saved pattern library, and saved songs serve different purposes. Save a pattern when you want to recall that arrangement into a live pad later.

  1. Choose SAVE PATTERN from the Start menu.
  2. Use Up/Down to select an existing entry or NEW PATTERN.
  3. Press A to open the naming keyboard. Move with the D-pad; A types a character. B deletes. SPC inserts a space; CLR clears the name.
  4. Choose SAVE on the keyboard and press A to save, or Select to return to the browser and B to save.

Names allow sixteen characters. Saving to an existing entry replaces it. The FREE footer shows remaining shared cartridge storage; NOT ENOUGH SPACE means the save did not fit.

Pattern saves include notes, durations, velocities, timing, mix settings, drum kit and instrument tone settings in this build. Experimental Mode itself stays global.

The sparse pattern library includes NEW PATTERN and a remaining-space footer.
The sparse pattern library includes NEW PATTERN and a remaining-space footer.
The actual naming keyboard; its SAVE action writes the pattern.
The actual naming keyboard; its SAVE action writes the pattern.

12 / Load patterns; save and load songs

LOAD PATTERN: select a library entry with Up/Down and press A. It loads into the current live pad. Save any edits you want to keep before replacing that pad.

SAVE SONG: saves the eight-pad song. Select a destination with Up/Down, A opens the naming keyboard, and B saves from the browser. The NEED line estimates required bytes.

LOAD SONG: select a saved song and press A to load the whole song. B deletes a song from this page. This differs from the pattern Load page.

The library is shared by songs. Use distinct names and save both reusable patterns and the song when you want both forms of recall. Keep a backup of the emulator cartridge save file before replacing or deleting valuable work.

These screenshots show the current sparse storage build. Older ROM/save formats may display different slot lists or an import message.

Load Pattern recalls the selected entry into the current live pad.
Load Pattern recalls the selected entry into the current live pad.
Load Song recalls the full song; its B action deletes the selected song.
Load Song recalls the full song; its B action deletes the selected song.

13 / Optional experimental instruments

Open GLOBAL SETTINGS and press A to enable Experimental Mode. Changing this setting stops playback. Extra software instruments and effect pages become available; the native workflow remains a good starting point.

MONOSYNTH combines two pulses and a wave oscillator on MIDI channel 5. Hold Select+Left/Right to switch PULSE1, PULSE2, WAVE, MOD and EXP.

Directions select a row and value/depth/phase cell. Hold B+Up/Down to edit by one or B+Left/Right by ten. A toggles one-handed editing. In MOD, choose LFO or ADSR modulation; a nonzero depth on an oscillator parameter applies that modulation.

Start with a small duty or level depth. EXP includes software engine, filtering, detune and delay options; the effects begin bypassed. The software engine shares the wave output and is deliberately low fidelity. Treat heavy combinations as experiments, especially on original hardware.

Experimental Mode explicitly enabled.
Experimental Mode explicitly enabled.
Pulse 1: base value, modulation depth and phase columns.
Pulse 1: base value, modulation depth and phase columns.

14 / Experimental MOD, EXP and MASTURBATE

MOD: the ADSR checkbox chooses envelope modulation when checked, LFO when unchecked. LFO WAVE and LFO RATE choose its motion; depth is set on each oscillator page. ARP RATE cycles two or more held channel-5 notes.

EXP: choose an engine and effects. For note echo, delay, level and repeats all need nonzero values. Software audio delay is a separate effect from native note echo.

MASTURBATE is the experimental noise/drone laboratory. Select+A toggles a drone, Select+B randomizes, and A toggles parameter editing. Its screen provides a separate performance patch.

These pages are an orientation for review, not an exhaustive effects or MIDI reference. Validate a sound at modest volume and save the pattern once it is useful.

Monosynth MOD page with ADSR, LFO and arpeggiator settings.
Monosynth MOD page with ADSR, LFO and arpeggiator settings.
EXP NATIVE begins with engine and wave-envelope controls.
EXP NATIVE begins with engine and wave-envelope controls.
MASTURBATE stopped, showing its drone and parameter controls.
MASTURBATE stopped, showing its drone and parameter controls.

15 / MIDI, troubleshooting and review notes

For external MIDI, connect the Game Boy link port through an Arduinoboy in mGB mode. Default channels 1–4 address Pulse 1, Pulse 2, Wave and Noise. Channel 5 is the mono/poly instrument; Wave2 uses channel 6 when experimental features are available. A desktop emulator needs its own supported MIDI/link bridge; opening the ROM alone does not connect a keyboard.

SymptomCheck
No soundStart transport with Select+A; check track and drum mutes/solos, mixer volume, sample slots and emulator audio.
Right skips a trackSelect+Right visits populated rolls. Use Select+Left or the instrument menu to reach an empty one.
Wrong kit auditionsPress A to load the highlighted kit. The star marks the loaded one.
New notes too longCheck DURATION; the last length edit becomes the new default.
Select opens a popupA note selection is active. Cancel with B or clear it with an empty A tap.
Save will not fitCheck FREE/NEED; back up saves before deleting stored work.

Review draft · 18 October 2026. Screenshots are actual PyBoy DMG framebuffers from the local build, enlarged 4× with nearest-neighbor scaling. Captures used real joypad controls and isolated blank cartridge RAM; existing user saves were untouched.

Playback, kit load/audition, note entry/length, zoom, pattern save/load and song save were exercised. Selection/clipboard, MIDI connections, extensive effects combinations and original-hardware behavior need a further walkthrough. This first edition does not claim complete feature coverage.

ROM SHA-256: 0be14a91ccd4c38f7f327009536ac256e9c63014c3c10e74541104329545cf7d. See capture-manifest.json for capture frames and actions. This guide is published as a review draft; details may change.