Continuing on our previous article we will look at some more advanced tricks you can use to get the most out of the little 4-channel noise maker known as the DMG chip. As before, it is recommended you look at the previous articles which act as a foundation for concepts discussed here.
In-Between Tempos
Since hUGEdriver’s tempo values are not super granular, you might find that you want a song speed that sits somewhere between two Fxx values. Similar to the swing groove in the previous article, you can alternate between two close Fxx values every single tick in order to have a steady tempo between two regular Fxx values as shown below. Copy and paste is your friend here.
NOTE: This does not work in RGBDS .asm exports of the song. RGBDS will slowly drift off tempo. It works fine with GBDK .c and GB Studio .uge though.
Tuning Portamentos
If you start messing with 1xx and 2xx portamento commands, you’ll quickly find a common issue; it is hard to land on a note fully in-tune. It also becomes hard to trust your own ears as to what is in tune if you play around with this for too long. You can use a trick used to tune a guitar using a second string to resolve this. This trick is shown in the video below:
It is explained more fully in the Theremin tutorial article, but basically, use a second channel to construct a non-portemento version of the melody, then adjust the 2xx and 1xx commands until each bent note lands where it should.
Detuned Phase Notes
You might have noticed when using the tuning trick that failing to tune it fully results in some weird flangey, liquidy sounding notes playing. Although this trick will cost you 2 channels, you can play the same thing on 2 channels (any combo of duty channels or wave), and add a 201 at the firing of each note to create a slightly out-of-tune swirl. Change the 2xx value for even wilder sounds. And you’re really in for a treat using low octave 25% duty + detuned 75% duty playing the same thing!
Sneaking In A Kick Drum
This is a common trick used on the NES. It isn’t as punchy and seamless on Game Boy but it does work. If you do it fast enough, a channel can play a quick bass kick drum sound (which is basically just a note sliding down really fast) and then a low bass note so quickly it sounds as if the kick and the base note played together. It can take some punchiness out of your kick, but considering it’s like getting a free channel for bass drums, it’s totally worth it. Start with a mid-range, not overly spiky wave note and bend it fast with 2AA or so, then use the tuning portamento trick to make sure the note that plays after is bent into a proper key for the song.
Be sure you’ve locked in your tempo before doing this. Changing tempo will throw off your tuning. I don’t recommend the triangle on the Game Boy for this because at low octaves it is very quiet. You’ll get a smooth kick sound, but have very quiet bass on actual hardware. Add some spikes to the triangle or sine and go from there.
Using Stereo to Cut Notes
For dance music, you can do what’s called a riser, which is a note that swells up to a big crescendo. A fun and common thing you hear in this kind of music is for the riser to get sort of chopped up with side-chaining as it rises. You can use the stereo 8xx effect to chop up notes – muting them – without stopping them from playing. This rough example shows one way of doing this.
This also demonstrates the fact that you can put a global effect like 8xx on any track even if it has nothing to do with that track. In this example, all the 8xx commands are on the noise track but they leave the noise track alone. The duty channels don’t have any place for the 8xx commands to go since all the 1xx and 2xx are taking up their effect slot. This shows some of the power of the global commands like stereo. You can basically put 2 effects on a single channel.
We hope you’ve found these tricks useful. Next we’re going to look at common mistakes that can cause issues with your songs.
Beatscribe has composed and produced soundtracks for games on Nintendo DS, Nintendo Switch, PS4, Xbox1, Sega Genesis and numerous iOs and Android games for over a decade, but his true passion is creating epic moods on ancient hardware like the Game Boy and NES.