GAYBOY / USER GUIDEMake 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.
- Open build/GAYBOY.gb in the project emulator, or run launch-emulator.ps1.
- Press Start to leave the intro. The DRUM roll opens.
- Hold Select and press A to play. Repeat to stop.
- 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 Boy | Project desktop SameBoy / PyBoy |
|---|
| D-pad | Arrow keys |
| A / B | X / Z |
| Start / Select | Shift / Space |
| Restart ROM | F5 |
These keys describe the project launchers. Browser and other emulator mappings can differ; use their displayed controls.
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.
03 / Choose and audition a drum kit
- Hold Start and choose KITS.
- Use Up/Down to highlight AMEN ORIGINAL, TR-808, TR-909, TR-707, LINNDRUM or OBERHEIM DMX.
- Press A to load the highlighted kit. The star moves to the loaded kit.
- Use Left/Right to choose a sample slot and B to hear it.
- 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.
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.
- Use Left/Right for the time step and Up/Down for the drum row.
- Tap B to plot a hit at an empty cell or remove an existing hit.
- Hold B with Left/Right to adjust its length; hold B with Up/Down to edit velocity.
- 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.
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.
06 / Choose a melodic sound
- Hold Start and choose P1. This opens the Pulse 1 Tone screen.
- Use Up/Down to select a parameter and Left/Right to change it. Press B to audition; A resets the selected parameter.
- From the first parameter, press Up to wrap to LOAD PRESET, then A.
- Browse sounds with Up/Down and game banks with Left/Right. A loads; B cancels.
- 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.
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.
- Move to an empty cell and tap B to enter a note. Tap B on a note to erase it.
- Hold B and press Right/Left to extend/shorten a note. Starting on an empty cell creates a note and adjusts its end.
- Hold B and press Up/Down to change velocity.
- 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.
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.
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.
| Setting | Use |
|---|
| BPM | Pattern tempo; shares the Mixer tempo when global tempo is enabled. |
| LENGTH | Current track loop, 1–256 steps. Tracks can have different lengths. |
| VELOCITY / DURATION | Defaults for newly entered notes. |
| MUTE | Silence this track without removing notes. |
| BEATS / BEAT UNIT | Time 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.
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.
- A or B toggles M/S. Multiple solos combine; mute takes priority.
- Hold A or B on volume/pan and use Up/Down for small edits, Left/Right for larger edits.
- Scroll beyond DRM for individual sample/noise/Pulsekick mute and solo switches.
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.
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.
- Choose SAVE PATTERN from the Start menu.
- Use Up/Down to select an existing entry or NEW PATTERN.
- 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.
- 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.
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.
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.
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.
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.
| Symptom | Check |
|---|
| No sound | Start transport with Select+A; check track and drum mutes/solos, mixer volume, sample slots and emulator audio. |
| Right skips a track | Select+Right visits populated rolls. Use Select+Left or the instrument menu to reach an empty one. |
| Wrong kit auditions | Press A to load the highlighted kit. The star marks the loaded one. |
| New notes too long | Check DURATION; the last length edit becomes the new default. |
| Select opens a popup | A note selection is active. Cancel with B or clear it with an empty A tap. |
| Save will not fit | Check 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.