2A03 Hacking

Discuss NSF files, FamiTracker, MML tools, or anything else related to NES music.

Moderator: Moderators

Post Reply
goto80
Posts: 5
Joined: Mon Aug 24, 2009 7:52 am

2A03 Hacking

Post by goto80 » Mon Nov 02, 2009 12:09 pm

I am not well oriented in NES-music, and I was wondering if there are any lists of "2A03-hacking" over the years? Soundchip hacking is of course a relative term, but I have a generous approach: both CPU-intensive and hardware oriented, delicate or apparent, new or old.

At the moment I am especially interested in older examples, since I am writing a text (actually, a master thesis on chipmusic) where I want to give examples of 'transgressive' uses of soundchips also in the 1980s. There is more than the croak in Fester's Quest, right? :) It seems like many NES-composers in the 80s were pretty much following the the 'proposed' uses of lead/backing/bass/perc/ussion of the 5 channels. I hope I am wrong!

Would be very grateful for any suggestions.

User avatar
Bregalad
Posts: 7793
Joined: Fri Nov 12, 2004 2:49 pm
Location: Chexbres, VD, Switzerland

Post by Bregalad » Mon Nov 02, 2009 12:20 pm

What do you call a transgressive use of soundchip ?
Life is complex: it has both real and imaginary components.

tepples
Posts: 21839
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples » Mon Nov 02, 2009 12:48 pm

I'd guess anything that uses the NES's built-in sound channels for things other than what the Super Mario Bros. series most often used them for.

Triangle channel used as something other than bass: Pipe Dream (used as lead in all background music selections), Super Mario Bros. 3 (used as lead in Boom Boom's theme), Kirby's Adventure (used as backing throughout)

Triangle channel used for most sound effects: Crystal Mines and Exodus by Color Dreams, probably because they hadn't figured out "interrupting"

Really crazy stuff done with low notes on square channels: Klax by Tengen, trying to do thrash metal. It uses hardware sweep to detune the first and second square waves relative to each other, and it uses the looped hardware envelopes for what appear to be rapid strumming and rapid hi-hat hits.

Bass on sample channel: Numerous later Sunsoft games

Sample playback clocked by scanline IRQ: Gauntlet II

Attempt at animating part of the screen while playing uncompressed samples through timed writes to DAC: Title screen of Skate or Die 2

goto80
Posts: 5
Joined: Mon Aug 24, 2009 7:52 am

Post by goto80 » Mon Nov 02, 2009 1:55 pm

@bregalad: transgressive uses of soundchips is for example finding/inventing (depends on your philosophical bias hehe) new waveforms, such as soundemon's noise-trick on the SID, saw tooth or 2-tone filter on the Pokey, little-scale's TIA-stuff. or new tunings for a soundchip, like tlr's vic20-stuff or little-scale's TIA-stuff again. using sampled sounds in new ways, such as soundemon/thcm's C64-stuff, geir tjelta's delay/reverb effect. doing PWM where it's not supposed to be made (tlr on the vic20, someone on the Pokey, someone on the gameboy). or maybe just introducing "soft synthesis" stuff such as very fast envelopes in LSDj. things like that...

@tepples: ...but this is very interesting too! i like the sound of klax a lot. the hi hat sounds make me think of the gameboy. does the NES have the same freaky noise channel as the gameboy?

User avatar
Bregalad
Posts: 7793
Joined: Fri Nov 12, 2004 2:49 pm
Location: Chexbres, VD, Switzerland

Post by Bregalad » Mon Nov 02, 2009 2:07 pm

Well the only "trick" on the NES that comes to mind is the Saw Wave Blargg made out of the DMC channel (and he was able to make a triangle wave exactly like the triangle channel too if I remember well).
Another trick was to use the sweeps for doing vibrato without ticks in the sounds.

Well in short, ask Blargg.

PS : Fester's Quest / Blaster Master 's frog sound isn't a undoccumented trick, it just uses really short timed triangle notes at 60Hz.
Life is complex: it has both real and imaginary components.

User avatar
Memblers
Site Admin
Posts: 3786
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Post by Memblers » Mon Nov 02, 2009 9:54 pm

I guess there's not of an example of this other than on the cart, but on Garage Cart when turned on immediately does a strange beep through the DAC, using the address pattern generated by CHR-RAM clearing.

I wrote a phoneme-based speech synthesizer that uses the DPCM channel. There's no trick to that, the chip has an option to trigger an IRQ when a sample ends. So it can even run in the background (the NSF version has to poll $4015 though, as NSFs don't include IRQ).

The trick blargg did with the DPCM saw wave is awesome, I'm surprised no-one has used it.

There's also my Squeedo synth. It uses the DAC of the NES for it's controls and sound output, but it's a separate chip running a soft synth. Not really released though in a way to show it off.

bucky o'hare
Posts: 160
Joined: Fri Sep 22, 2006 9:52 am
Location: philly

Post by bucky o'hare » Tue Nov 03, 2009 1:35 am

Howdy goto80! :)

In addition to the great suggestions from tepple's list, you may be interested in The Immortal by Rob Hubbard. It's the only classic NES soundtrack I know of that uses a tiny looped sample to create a sustaining melodic pitch. It creates a deep saw or pulse-like sounding bass line.

Melodic DPCM lines were pretty rare. Not sure if they'd qualify for you as transgressive, but out-of-the-norm they were. There are the later Sunsoft titles which (imho) did it best, with titles like Journey to Silius, Batman Return of the Joker, Gremlins 2, Gimmick!, and some others. A couple non-sunsoft examples would be Fire 'n Ice (didn't repitch the samples at all, every different note is a different sample!) and Zombie Nation.

mic_
Posts: 920
Joined: Thu Oct 05, 2006 6:29 am

Post by mic_ » Tue Nov 03, 2009 8:53 am

I really liked "Normydian Star" (original entry 31) from Famicompo mini vol. 4. Nothing groundbreaking maybe, but it produces lots of cool waveforms.

goto80
Posts: 5
Joined: Mon Aug 24, 2009 7:52 am

Post by goto80 » Tue Nov 03, 2009 10:35 am

thanx for all the tips everybody! good stuff. nyrmodian star sounds really great, it really has a modern feel to it with the cutup-style, 'time-stretching', and what not. does anyone know which tracker he used?

@bucky: hello! :) which subtune is it that you mean in the immortal? it plays a melody with a tiny sample, like on the amiga...?

@bregalad: i think tricks based on documented features is also interesting. it's difficult to draw a line between intended/unintended uses, so i am also interested in the things that 'just' sound new aswell, like nyrmodian star. and NES-frogs! :)

bucky o'hare
Posts: 160
Joined: Fri Sep 22, 2006 9:52 am
Location: philly

Post by bucky o'hare » Tue Nov 03, 2009 11:23 am

Ah, let me take a look-

nsf tracks 2, 8, 17, 18, 20 & 25 all have those long bass notes. like some amiga music, it's a very short sample that creates that sound.

User avatar
RushJet1
Posts: 154
Joined: Wed Nov 10, 2004 10:17 pm
Contact:

Post by RushJet1 » Thu Nov 12, 2009 1:14 am

Some ideas from stuff I've done:

When I was starting on SMS music, I got frustrated with how it only has 50% squares, so I tried playing them at octaves at varying volumes, and bam, new approximation of a different waveform.

The part near the end of this song is kind of like a NES version of this technique (past 2:30). Never actually did a lot more than that.

http://nsf.4x86.com/nsfs/The_Battle_Continues.nsf

Also, using DPCM to make triangle "echo"

http://4x86.com/reef.nsf

and triangle "echo" without using DPCM for it (past 0:40):

http://nsf.4x86.com/nsfs/Aerial_Assault.nsf

and last but not least, a happy accident song, where the premise was cooked up almost entirely with a MML glitch (the "chords" are .. um, vibrato)

http://nsf.4x86.com/nsfs/1-X-0.nsf

goto80
Posts: 5
Joined: Mon Aug 24, 2009 7:52 am

Post by goto80 » Tue Dec 08, 2009 4:02 pm

for those who care, i've started a wiki about 'soundchip hacking' and it would be great if any of you wanted to join in! http://8bitcollective.com/wiki/index.ph ... ip_Hacking

@rushjet1: that's some very nice stuff! i like how you use that new waveform for like 10 seconds and then just stop :) also, if you feel like adding some info at that wiki, that would be great!

User avatar
dXtr
Posts: 375
Joined: Tue Sep 21, 2004 12:11 am
Location: Karlshamn (Sweden)

Post by dXtr » Wed Dec 09, 2009 12:37 pm

goto80 wrote:for those who care, i've started a wiki about 'soundchip hacking' and it would be great if any of you wanted to join in! http://8bitcollective.com/wiki/index.ph ... ip_Hacking
cool will be an interesting read

OT: btw. your godzilla performance in malmö was excellent :D

Post Reply