Drum & Bass III - A Game Boy MIDI sync drum loop sampler, 127 DnB breaks - Download ROM -V1.4
If you bought the DnB II ROM within the last 6 months, shoot me an email through the contact form with your order # to get a copy of DnB III.
If you bought the DnB II cart you can also have the DnB III ROM for free but you will need to have or obtain your own cart flasher in order to flash it.
HobbyChop carts can be flashed with any common cartridge flasher such as the one from Benn Venn and InsideGadgets.
DRUM & BASS III - Game Boy Sample Player ROM
127 drum & bass breaks. MIDI sync. Set your BPM. Switch loops live.
DRUM & BASS III is a Game Boy ROM packed with 190 DnB drum loops; amen breaks, jungle chops, rolling beats, punchy snares, and atmospheric grooves. Dial in a tempo, sync it to your DAW via Arduinoboy or play standalone as a master clock, and queue up the next break while the current one plays. Built for live performance and studio use.
Built with assembly for cycle exact audio streaming and midi timing precision.
Sounds best on a Gameboy DMG, good on Gameboy Color, and with the higher sample rate it now sounds acceptable on GBA too.
What you get:
- Game Boy ROM file (.gb), works on real hardware (DMG, GBC, GBA).
- 127 selectable drum loops with on-screen browser, every loop is two bars
- Twice the sample rate of DRUM & BASS II: every loop streams at ~24 kHz for a cleaner, brighter top end
- ROM is 4 MiB
- BPM control: set the tempo before you play (61–250), shown on every screen
- Live sample switching: queue the next loop, it takes over at the loop start without dropping the clock
- Live sample list: open the browser mid-performance while the loop keeps running
- Record one pass of your chops and glitches into a pattern (SELECT + A), clear it again with SELECT + B
- Momentary mute and a latched silence for drops
- MIDI clock slave sync (Arduinoboy LSDJ Slave mode)
- Master clock mode (sends MIDI to other gear, evenly spaced 24 PPQN)
- Connect it to LSDJ directly as a slave (LSDJ in LSDJ mode)
- Live glitch controls: envelope stutter, pitch bend, loop freeze
- Game Boy Color enhanced with colorful waveform display and a loop position bar; the waveform reacts to what is in force: it jitters with the stutter, pumps with the envelope, runs backwards on a chop, stretches with CLK.IN pitch and flattens when muted
- DMG backwards compatible
How to use it:
Flash to a cart that takes 4 MiB ROMs (EverDrive, insideGadgets carts, etc.)
Cart requires a battery to save to SRAM, You can write over a HobbyChop cart, they all have batteries.
Connect an Arduinoboy or LSDJ for MIDI sync.
On the selection screen press RIGHT until the SET tab: hold A and press LEFT/RIGHT to set your BPM, DOWN to the CLOCK row for CLK.OUT (the Game Boy sends MIDI clock) or CLK.IN (it follows the clock from an Arduinoboy or LSDJ). Both are remembered. LEFT back to LOOPS, pick a loop, press A.
ALL CONTROLS
Selection Screen
- UP / DOWN; Move the cursor (hold to fast scroll)
- LEFT / RIGHT; Switch tab: LOOPS, PATTERNS, SONGS, SET
- B (hold); Preview the highlighted loop at the set BPM (stops on release)
- A; Play what is highlighted, in the set clock mode (CLK.OUT: at once, sending clock; CLK.IN: when clock arrives). A loop always starts PLAIN: pick a pattern on the PATTERNS tab or record one to put a chop on it.
- START; Play the selected song from the top, in the set clock mode. Works from any tab, so from power-on it is one press.
- START (hold 1 s); Clear the highlighted pattern slot / song / part
- SET tab; BPM and CLOCK rows. Hold A and press LEFT/RIGHT to change the highlighted one (BPM repeats while held).
- BPM 61-250. CLK.OUT = the Game Boy sends MIDI clock; CLK.IN = it follows the clock from an Arduinoboy or LSDJ. Both are remembered on the cart. The clock setting changes on the selection screen only.
Play Mode
- A (hold); Envelope glitch effect. Creates a stuttering volume modulation synced to the sample position. Different timing = different sound each time.
- A + LEFT; While holding A, increase envelope intensity (faster modulation)
- A + RIGHT; While holding A, decrease envelope intensity (slower modulation)
- A (release); Envelope turns off, intensity resets to default for next press
- B (hold); Loop stutter glitch. Restricts the sample pointer range creating short repeating fragments. The shorter the range, the faster the stutter. (CLK.IN: pitch effects instead, B + d-pad for variants)
- B + UP; While holding B, tighten the stutter (shorter loop = faster repeat)
- B + DOWN; While holding B, loosen the stutter (longer loop = slower repeat)
- B (release); Normal full-length loop resumes
- D-Pad; Sample section offset modifier
- SELECT (tap); Open the live menu while the loop keeps playing (while stopped: the selection screen)
- The bar under the waveform fills as the loop plays: two 16th-note steps per block, empty again at every loop start.
- START; Stop playback (silence). START again plays from the top: the loop, or the song from its current part.
- SELECT (tap while stopped); Back to the selection screen
- SELECT Layer (hold SELECT; the d-pad and A/B effects pause and a key legend appears)
- SELECT + UP/DOWN; BPM up/down by 1 (hold to repeat). CLK.OUT only; with CLK.IN the readout shows the incoming tempo.
- SELECT + LEFT/RIGHT; Pick the NEXT sample. Let go of SELECT to queue it; it takes over at the next loop start, PLAIN (a pattern that was on is dropped).
- SELECT + A; Record: WAIT until the loop restarts, then REC for one pass of two bars. Everything you play with the d-pad, A and B is written into the pattern, and plays back on its own from the next pass. Steps you leave alone keep what they had, so you can layer passes. Keep it: SELECT, RIGHT to PATTERNS, A on an empty slot.
- SELECT + B; Clear: the loop goes on PLAIN (a WAIT or REC is dropped too). Save first if you want to keep the pattern.
- SELECT, then START (hold both); Momentary mute. Sound returns when either button is released.
Live Menu (SELECT tap while playing; the loop keeps running)
- The tab bar starts with PLAY: LEFT from LOOPS, B, or another SELECT tap brings you back to the play screen.
- LEFT / RIGHT; Switch tab: PLAY, LOOPS, PATTERNS, SONGS, SET
- UP / DOWN; Browse (hold to fast scroll). * marks what is playing, + what is queued.
- A; Queue the highlighted loop (PLAIN), pattern or song for the next loop start and return to the play screen
- B; Back without changes (in PARTS: back to SONGS)
- SET tab; A + LEFT/RIGHT on the BPM row changes the tempo at once (CLK.OUT).
- B (hold 1 s); Record one pass (the same as SELECT + A on the play screen)
- A + B together; Silence. Back on the play screen the loop keeps running muted, clock and sync intact, and the next press of any button brings it back.
- START; Stop playback (START again on the play screen starts it over)
Patterns
A pattern is a loop plus what you did to it over its two bars: a 32-step chop (which 16th-note slice plays on each step), an automation lane (stutter, envelope glitch, pitch and mute per step) and the tempo. 255 slots, saved to the cart (battery save). Slot 000 is PLAIN: the loop as it is.
PATTERNS tab
- A on an empty slot; Save what is playing into it (auto-named after the loop, e.g. AMEN-003). The header says EMPTY. A SAVES HERE while the cursor is on one.
- A on a saved slot; Load it (selection screen: play it; live menu: it takes over at the next loop start)
- A (hold 1 s); Save over the highlighted slot, used or not
- START (hold 1 s); Clear the highlighted slot
The play screen shows PATTERN 003 AMEN-003; a * instead of the space means it changed since it was loaded.
Songs
A song is a list of patterns (or SILENCE parts) with a repeat count each, played in order and looped. The Game Boy moves to the next entry on its own at the loop start, so entries chain seamlessly with CLK.OUT and CLK.IN. 64 songs of up to 32 parts. Every edit is written to the cart as you make it; there is nothing to save.
SONGS tab
- UP / DOWN; Pick a song. The highlighted song is the selected one. * marks the playing song, + the queued one.
- A; Play it from the top (selection screen: in the set clock mode; live menu: queued at the next loop start)
- A (hold 1 s); Open the song's parts (the header reminds you: HOLD A FOR THE PARTS)
- START; Play the selected song from the top (selection screen; from power-on that is one press: the song and the clock setting are remembered)
- START (hold 1 s); Clear the song
- PARTS (hold A on a song; B goes back to SONGS)
- UP / DOWN; Browse parts. The last row is END and names the song.
- A on END; Add a part (the first saved pattern, x1)
- A on a part; Play the song from this part (selection screen: in the set clock mode; live menu: queued at the next loop start)
- A + LEFT/RIGHT; Change the part's pattern (steps through saved slots; past the last one, or before the first, is SILENCE: a rest of that many loops, clock still running)
- A + UP/DOWN; Repeats, 1 to 16
- START (hold 1 s); Delete the part
- Queueing a loop or a pattern by hand ends the song. The play screen shows S03 02/05 and the part's pattern name.
Requirements:
Game Boy DMG, Game Boy Color or GBA (DMG sounds best)
Flash cart with 8 MiB ROM support (4 MiB carts will not hold this ROM) and battery-backed save RAM for patterns (the ROM declares 32 KiB; without save RAM patterns and songs last until power off)
For DMG CPU Revisions CPU - 04 or later sound best!
Arduinoboy for MIDI sync (optional; works standalone with CLK.OUT)
Tempo range: 61–250 BPM for every loop (same range as BOOM BAP, so the two can be linked)
Known bugs:
No stutter glitch with CLK.IN (PLL conflict) (Using detune instead)
With CLK.IN, set the BPM before pressing A: the clock follower pre-locks to it and lands on the first beat faster
Fast tempo sweeps can push a CLK.IN Game Boy off phase; step the tempo instead, or press START twice on the CLK.OUT unit (stop, start) to restart both together
Two linked Game Boys: start the CLK.IN unit first, then press A on the CLK.OUT unit, so both start on the same bar
Uses royalty free loops from the Musicradar "200 free drum 'n' bass breaks samples".
Developed by HobbyChop 2026
Special thanks to nitro2k01 the developer of Amenizer for the inspiration for this ROM, the glitch controls, and the original sampler idea.