Rob Hubbard (NES Driver)
Rob Hubbard NES is the unofficial name of the NES sound driver that Rob Hubbard created for the Nintendo Entertainment System. His sound driver was used in three games; The Immortal, Skate or Die 2: The Search for Double Trouble, and Chuck Yeager's Air Combat, which was not released. Rob Hubbard's driver utilized the RP2A03. In a similar fashion to Sunsoft, Rob's driver utilized a bass in the NES' DPCM channel via a sawtooth wave. It is unknown where the sawtooth wave originated from, or if Rob created it completely by himself.
According to Hubbard, he had to code his sound driver in 6502 assembly, and wrote the music and sound effects in assembly, in a similar fashion to the Commodore and Atari computers he worked on.
The game was first released in the game Skate or Die 2: The Search for Double Trouble, which was released on September of 1990. Then The Immortal, which was released two months later used his driver. Then years later, an unreleased game surfaced called Chuck Yeager's Air Combat, an NES port of the popular DOS game (also composed by Hubbard), which used his driver. His driver was only used in North American exclusive games.
Rob Hubbard's NES sound driver outputs to the RP2A03, all channels, including the DPCM channel as a bass are used, similar to Sunsoft.
|1990-09-??||Skate or Die 2: The Search for Double Trouble (NES)|
|1990-11-??||The Immortal (NES)|
|Unreleased||Chuck Yeager's Air Combat (NES)|
It is unknown what native formats Rob Hubbard used for his music, but, like all NES games, the machine code can be logged to NSF.
B-6 = 1C A#6 = 1D A-6 = 1F G#6 = 21 G-6 = 23 F#6 = 25 F-6 = 27 E-6 = 2A D#6 = 2C D-6 = 2F C#6 = 32 C-6 = 35 B-5 = 38 A#5 = 3B A-5 = 3F G#5 = 43 G-5 = 47 F#5 = 4B F-5 = 4F E-5 = 54 D#5 = 59 D-5 = 5F C#5 = 64 C-5 = 6A B-4 = 71 A#4 = 77 A-4 = 7E G#4 = 86 G-4 = 8E F#4 = 97 F-4 = 9F E-4 = A9 D#4 = B3 D-4 = BE C#4 = C9 C-4 = D5 B-3 = E2 A#3 = EF A-3 = FD G#3 = 10D G-3 = 11D F#3 = 12E F-3 = 13F E-3 = 152 D#3 = 167 D-3 = 17C C#3 = 193 C-3 = 1AB B-2 = 1C4 A#2 = 1DF A-2 = 2FB G#2 = 21A G-2 = 23A F#2 = 25C F-2 = 27F E-2 = 2A5 D#2 = 2CE D-2 = 3F8 C#2 = 326 C-2 = 356 B-1 = 389 A#1 = 3BE A-1 = 4F7 G#1 = 434 G-1 = 474 F#1 = 4B8 F-1 = 4FF E-1 = 54B D#1 = 59C D-1 = 5F1 C#1 = 64C C-1 = 6AC
The frequency registers can be found in the ROMs at these addresses. Modifying these will change the pitch of the note.
Chuck Yeager's Air Combat: $03B4BB-$03B5BA
Skate or Die 2: $014817-$0148A6