Hey guys Pain Perdu here looking for cool new exciting ways to spice up our live set.

I was very interested in solutions like Trash80's mGB, and i'm likely to fiddle with an LSDJ keyboard in the near future but Jamatar brought something completely new to my attention, I had never heard of it before.

@Nitro2k01 has made a gbc rom called Pushpin which, according to the doc on his Github, allows to control every possible sound parameter of the GB soundchip via midi.

https://github.com/bwhitman/pushpin

I come from a very table-heavy, fast-tick LSDJ background when it comes to sound design and while I really admire how optimized mGB is for live use, I was still looking for deeper control options, which I think Pushpin can provide.

According to the documentation, you can even control WAV channel wave patterns, and cycle through 16x16 shapes thanks to midi, which could be extremely powerful.

However, I don't know if I've misread something in the doc but there is no mention on how to specify what the waves will actually be.
Is there, for example a way to import waveforms, or better still, a sequence of 16 waveforms into SRAM so that pushpin can read them?

Thanks in advance to anyone who may have info on this.
As soon as my Teensyboy arrives i'll get cracking and test the sh!t out of this little rom.

Wow this looks very powerful indeed! Didn't know about it either... so I'm interested as well. You'll have to DIY your own cable though, this is the only major downside I can see so far.

rumpel actually no! big_smile
Nitro being the beast that he is, modded the rom (straight in assembly from the rom in bgb because why the hell not) to work with arduinoboy and/or the nanoloop midi usb adapter! So I'll wager my Teensyboy should do the trick as well smile

I'm so eager to try this out.
Just imagine a live setup with a keyboard and modwheel assigned to shift through wave patterns *_* endless possibilities!

Last edited by PainPerdu (December 30, 2016 12:22 pm)

Just to clarify, I didn't make Pushpin I just modded it.

Pain Perdu wrote:

However, I don't know if I've misread something in the doc but there is no mention on how to specify what the waves will actually be.

big_smile actually there is mention! you have 32 MIDI controls, 1 for each sample in the waveform:

doc wrote:

As well, you can change the Wave Pattern RAM while it plays. With enough controller tweaking, you can create a sound that morphs between, say, triangle and sine. To change the Wave Pattern RAM during play, use MIDI controller numbers 54 through 85. Each controller scales to a sample in the pattern.

So you'd send controller data on those CC numbers to change each sample. With a DAW it should be fairly straightforward to set up a few presets and/or automation to get good sounds. (Samples on the other hand are a different story and sound like kind of a nightmare to deal with in this situation!)

edit: looks like the range of values is 0-15 per the spec

Wave Pattern RAM:
54  Sample #0. Range 0-15, a 4-bit sample.
55  Sample #1. Range 0-15, a 4-bit sample.
56  Sample #2. Range 0-15, a 4-bit sample.
..
85  Sample #31. Range 0-15, a 4-bit sample.

Last edited by urbster1 (December 30, 2016 7:39 pm)

Whaaaa? I didn't know this had been done!

@PainPerdu: really glad to be proven wrong! smile
will try this out asap!

Shameless plug: I can totally put nitro2k01's version of pushpin on the cart that comes with my arduinoboy quickstart bundle: http://catskull.net/shop/arduinoboyquickstart

I could also whip up a nice cable for GBC use if there's interest.

Last edited by catskull (December 30, 2016 10:06 pm)

urbster1 wrote:

So you'd send controller data on those CC numbers to change each sample.

Has anyone else tried this with this port? I'm using the nanoloop USB adapter and it's receiving note data just fine, but sending values on those CCs doesn't change the WAV sound. I'll give it a shot with the arduinoboy next.