Rob Hubbard (NES Driver)
Rob Hubbard | ||||||||
|
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.
Contents
Release History
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.
Output
Rob Hubbard's NES sound driver outputs to the RP2A03, all channels, including the DPCM channel as a bass are used, similar to Sunsoft.
Games
Released | Title | Sample |
---|---|---|
1990-09-?? | Skate or Die 2: The Search for Double Trouble (NES) | |
1990-11-?? | The Immortal (NES) | |
Unreleased | Chuck Yeager's Air Combat (NES) |
Technical
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.
Frequency Registers
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
Addresses
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
Immortal: $09DA-$0A69
Skate or Die 2: $014817-$0148A6