Drum & Bass III - A Game Boy MIDI sync drum loop sampler, 190 DnB breaks - Download ROM -V1.0

$10.00

DRUM & BASS III - Game Boy Sample Player ROM

190 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'S NEW SINCE DRUM & BASS II

Sound

Every loop streams at twice the sample rate (~22 kHz instead of ~11 kHz): cleaner, brighter top end.

All 190 loops re-baked with consistent loudness. II peak-normalised each loop, which left the body of most breaks on two or three of the sixteen levels; that quantisation grit is gone.

Anti-alias filtering before downsampling: no more folded-back hi-hat whistles.

Sounds acceptable on GBA now, not just DMG and GBC.

ROM is 8 MiB (II was 4 MiB).

Tempo

Set your BPM before you play, 121–250, and see it on every screen. II had no tempo readout, only a coarse timer nudge while playing.

Preview plays at your BPM instead of the loop's native tempo.

Slave mode pre-locks to your BPM, so it lands on the first beat faster, and the readout shows the incoming tempo.

Master MIDI clock is evenly spaced for every loop.

One tempo range for the whole library. II had separate ranges for AMEN and the rest.

Live switching (all new)

Queue the next loop while the current one plays; it takes over at the loop start with the clock and sync untouched.

Switch immediately on the next section, keeping the beat position.

Open the sample list mid-performance with the audio running; playing and queued loops are marked.

Every loop, AMEN included, is two bars, so two linked Game Boys switch on the same grid.

Mutes (all new)

Momentary mute while SELECT then START are held.

Latched silence from the list (A + B): the loop keeps running muted, and any button brings it back.

Controls and screen

SELECT is a shift layer: the d-pad patterns and A/B effects pause while it is held and a key legend appears. In II, tempo nudging also triggered the d-pad glitch.

Play screen shows NOW and NEXT loops, mode, BPM and mute state.

The menu returns to the loop you were playing.

The button that starts playback or closes the list no longer fires an effect.

Removed: the undocumented START + SELECT master/slave toggle (that gesture is now the mute).

Under the hood

Serial interrupt now saves all registers; II could corrupt the display handler in slave mode.

MIDI Start restarts the current loop instead of jumping to the first bank.

Screen redraws no longer race the interrupt handler.

Cycle-exact engine now streams two-bank loops with 9-bit ROM banking.


What you get:

Game Boy ROM file (.gb), works on real hardware (DMG, GBC, GBA).

190 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 8 MiB

BPM control: set the tempo before you play (121-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

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

DMG backwards compatible

How to use it:

Flash to a cart that takes 8 MiB ROMs (EverDrive, insideGadgets 8 MB carts, etc.)

Connect an Arduinoboy or LSDJ for MIDI sync.

Hold SELECT and tap UP/DOWN on the selection screen to set your BPM, then press A (master) or B (slave).

ALL CONTROLS

Selection Screen

UP; Move cursor up one sample

DOWN; Move cursor down one sample

UP (hold); Fast scroll up (starts after 0.5s, scrolls at 15 items/sec)

DOWN (hold); Fast scroll down

RIGHT (hold); Preview selected sample at the set BPM (plays while held, stops on release)

SELECT + UP/DOWN; Set the BPM, 121–250 (hold to repeat). Preview and playback use this tempo.

A; Enter MASTER mode (plays immediately, sends MIDI clock out via serial port)

B; Enter SLAVE mode (waits for external MIDI clock sync via Arduinoboy)

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. (Slave mode: 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

START; Stop playback (silence)

START (again while stopped); Return to sample 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). Master mode; in slave mode 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.

SELECT + B; Switch to NEXT right now, on the next section, keeping the beat position.

SELECT + A; Open the sample list while the loop keeps playing.

SELECT, then START (hold both); Momentary mute. Sound returns when either button is released.

Live Sample List (opened with SELECT + A)

UP / DOWN; Browse (hold to fast scroll). * marks the playing loop, + marks the queued one.

A; Queue the highlighted loop for the next loop start and return to the play screen

B; Back without changes

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.

SELECT + UP/DOWN; Set BPM (master mode)

START; Stop playback

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)

For DMG CPU Revisions CPU - 04 or later sound best!

Arduinoboy for MIDI sync (optional; works standalone in master mode)

Tempo range: 121–250 BPM for every loop

Known bugs:

No stutter glitch in slave mode (PLL conflict) (Using detune instead)

Tempo floor is 121 BPM; slave mode will not lock below that

Set the BPM before pressing B: the slave pre-locks to it and lands on the first beat faster

Fast tempo sweeps can push a slaved Game Boy off phase; step the tempo instead, or press START, START, A on the master to restart both together

Two linked Game Boys: put the slave in slave mode first, then press A on the master, so both start on the same bar

mGB Arduinoboy mode not recommended due to clock being laggy there (fix for another day)

Waveform at 15fps (intentional tradeoff)


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.