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.

I'm trying out midi control and gameboys. I got an aboy kit from catskull.(Nice. Thanks!) I got mGB and LSDj to do their thing, but I wasn't having any luck triggering  with pushpin.  Catskull pointed me to double check my software version.  I had downloaded the file from github. So I found the pushpin_aboy file blog and flashed it to my ems cart.  I can get it to load on a dmg and I get the garbled graphics and it triggers audio with note on commands. Cool. When I try to load it on a gbc, I get garbled graphics. I push start and the screen goes black. No audio. So what am I doing wrong? When I flashed the cart, I clicked the gbc box like I usually do. I had pro sound, bass boost, and noise reduction mods on the gbc. So I tried it with a stock gbc, same thing.

So, if you don't mind getting your hands dirty and getting deeper in the code, I would recommend looking at https://github.com/AntonioND/gbt-player or go straight to GBDK (http://gbdk.sourceforge.net/). The GBT-Player is built on top of the GBDK code and allows you to load up rudimentary wav files (it wants them in .mod format). You will have to compile some code into a rom to run with the song on it though.

Okay, I just tried pushpin_aboy on a GBA SP (should be the same as a GBC I guess) and I didn't have any problems. I also tried it with a GB Boy Color and it also worked fine. I used my 32k cart with both though, not the EMS.

My only idea is to not check the GBC box when flashing the EMS cart. Since the rom is no longer GBC exclusive. It's been forever since I used the actual EMS software to flash my cart though, so who knows.

The original pushpin was GBC and newer only. I'm guessing this mod is as well?

Last edited by egr (February 12, 2017 1:12 am)

egr wrote:

The original pushpin was GBC and newer only. I'm guessing this mod is as well?

Nah, from the release notes:

It has been modified to be able to run on non-GBC Gameboys, since Pushpin hangs
when it tries to switch to GBC double speed mode. The display is slightly
glitched on monochrome Gameboy but otherwise it should work fine.

http://blog.gg8.se/wordpress/2016/11/14 … loop-midi/

catskull wrote:
egr wrote:

The original pushpin was GBC and newer only. I'm guessing this mod is as well?

Nah, from the release notes:

It has been modified to be able to run on non-GBC Gameboys, since Pushpin hangs
when it tries to switch to GBC double speed mode. The display is slightly
glitched on monochrome Gameboy but otherwise it should work fine.

http://blog.gg8.se/wordpress/2016/11/14 … loop-midi/

Interesting!