Using steady DPCM samples as a 'lead'

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

Moderator: Moderators

User avatar
OneCrudeDude
Posts: 276
Joined: Fri Aug 23, 2013 2:14 am

Re: Using steady DPCM samples as a 'lead'

Post by OneCrudeDude »

I don't have an idea for a game, sadly, at least not yet. All I know is that it would be incredibly ambitious, something that would've come out late in the console's life but did not.

As for non-DPCM orchestra hits, this one guy managed to make an "NES cover" of Pokemon Diamond/Pearl/Platinum's champion theme, in which quickly arpeggiating and downpicthing (are those even words?) square waves make a sound similar to an orchestra hit. "NES cover" is in quotes because this was rendered with FL Studio, not Famitracker or otherwise. I assume this sounds close enough.

https://www.youtube.com/watch?v=GWM3nJm6pKY at 1:12
User avatar
mikejmoffitt
Posts: 1353
Joined: Sun May 27, 2012 8:43 pm

Re: Using steady DPCM samples as a 'lead'

Post by mikejmoffitt »

Konami really lost their pants to orchestra hits with the Turtles in Time soundtrack.
User avatar
Memblers
Site Admin
Posts: 4044
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Re: Using steady DPCM samples as a 'lead'

Post by Memblers »

I rarely tried to use DPCM outside of bass+drums because of the terrible tuning. I did a cover of the Metroid intro with a looped version of my usual bass sample. With zero effort to making it loop properly, it still didn't sound too terrible (other than the tuning, and this is played in PAL format as well) - http://youtu.be/kLfAXNYVTqY?t=17m22s

I never thought of tuning the other channels to match, that's a good idea. The Lately Tuned NSF sounds bad-ass.

Also, one game I know of that uses a looped sample, was The Immortal by Rob Hubbard. I like how it sounds too, I guess I just like lower frequencies in general though, heheh.
User avatar
OneCrudeDude
Posts: 276
Joined: Fri Aug 23, 2013 2:14 am

Re: Using steady DPCM samples as a 'lead'

Post by OneCrudeDude »

@mike: Most of their non-NES soundtracks make heavy use of orch hits, be it TMNT 4 or GI Joe or that one game based on that cartoon about Cows turned Cowboys. Orchestra hits were to Konami as to what BAH BAH is to New SMB.

@memblers: I figured that the tuning would've been a big reason why it was avoided, as to have a proper set of instruments would require multiple samples. Though I'm guessing that 'sampled waveforms' might work better ala The Immortal.

That video (actually Chibiteck's cover of Technotris) also reminded me of a related, but eventually off topic quirk I noticed in some NES soundtracks. Why did some NES game soundtracks have a persistent triangle wave that was really low pitched. A game that does this a lot would be Recca; when there's nothing coming from the triangle, this low pitched hum comes out instead. Same could be said for Castle of Dragon, that too fills in triangle 'blanks' with that same sound. Is that a stylistic thing, or a quirk with the sound driver?
User avatar
rainwarrior
Posts: 8732
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Using steady DPCM samples as a 'lead'

Post by rainwarrior »

For some of them, like Recca, it looks like the audio programmer didn't know how to mute the triangle and instead set the triangle to its lowest frequency wherever it was supposed to be silent (sounds as a low A). Through RF output and/or crummy speakers it would be less noticeable, which might explain why it wasn't caught and fixed during production.

Bullet Proof Tetris is an exception though. A lot of tracks play a low C frequently in an odd way, but as far as I can tell it's intentional. The tracks otherwise properly mute the triangle. (Castle Dragon appears to be in the same boat as this.)
User avatar
OneCrudeDude
Posts: 276
Joined: Fri Aug 23, 2013 2:14 am

Re: Using steady DPCM samples as a 'lead'

Post by OneCrudeDude »

That makes sense, I thought it had something to do with DPCM screwing up some programming, similar to the corrupted/sporadic input reads which was allegedly fixed for PAL consoles. I could see Nintendo not noticing there was a problem with inputs, as the first game that used them, Wild Gunman, did not use the controller for anything. Same goes for Nintendo's second DPCM game, Gumshoe, even if the DPCM samples only play for one song, exactly 11 times.
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Using steady DPCM samples as a 'lead'

Post by tepples »

Donkey Kong 3 (arcade) used two NES CPUs (2A03) as audio coprocessors. One played samples; the other played music and PSG sound effects. The 2A03 CPUs ran a "soundboard" ROM that would let the game CPU start music and sound effects by sending signals that the 2A03 CPUs saw as button presses on a controller. It could have been done with one 2A03, except the samples were put on a separate CPU because Nintendo hadn't yet figured out how to work around the double read glitch.

I have another interesting story to tell about "Technotris" in Tetris by BPS. Before edge cases of length counter behavior were figured out, early emulators played a bunch of low C's on the pulse channels as well, which I initially heard as a more complex bass line.
Attachments
technotris bug.ftm
(4.28 KiB) Downloaded 197 times
technotris bug.ogg
Cover of the beginning of "Technotris" from BPS Tetris
0:00 what an NES plays
0:06 what early emulators played
0:13 what I heard it as
0:19 where I thought the composer was trying to go
(302.97 KiB) Downloaded 275 times
User avatar
OneCrudeDude
Posts: 276
Joined: Fri Aug 23, 2013 2:14 am

Re: Using steady DPCM samples as a 'lead'

Post by OneCrudeDude »

That sounds pretty good actually. You should hack that game to play that song instead, and maybe get rid of the ass backwards controls.

And since Nintendo's arcade games used the same processors as the NES did, I wonder if any things generated by those chips would be possible to replicate at all on the NES. Likewise, I really wonder what a "double NES" setup would sound like. On the same note, I wonder if the PlayChoice10 CPU has any advantages or quirks over the NES one.
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Using steady DPCM samples as a 'lead'

Post by tepples »

OneCrudeDude wrote:That sounds pretty good actually. You should hack that game to play that song instead
I'm done hacking Tetris after a court ruling from two years ago.
and maybe get rid of the ass backwards controls.
BPS already did that in Tetris 2 + Bombliss and its Super Famicom Tetris games.
And since Nintendo's arcade games used the same processors as the NES did
The pre-Vs. System arcade games mostly used Z80 for gameplay. Only DK3 and Punch-Out!! use NES CPUs for audio.
I wonder if any things generated by those chips would be possible to replicate at all on the NES.
There's an NSF of arcade Punch-Out!! floating around.
Likewise, I really wonder what a "double NES" setup would sound like.
It'd probably sound a lot like an MMC5. But an NES and a Game Boy together might sound like this.
User avatar
Memblers
Site Admin
Posts: 4044
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Re: Using steady DPCM samples as a 'lead'

Post by Memblers »

Nintendo made a double NES machine, the VS Dualsystem. Actually years ago for fun I messed around with using audio from both sides, emulating it in MAME. The two CPUs can communicate, though only a few games used that feature. Also, the song is really dumb, and it's not exactly NES-accurate, but I had made this XM module: http://nesdev.com/2A03/nes-x2.zip

The Playchoice, at least the one I have, has an RP2A03E. No differences to the G revision are known. The VS system however (and probably Punchout and Donkey Kong 3) have an RP2A03 (no revision letter), and one known difference is that there is no 'looped noise' mode.
User avatar
OneCrudeDude
Posts: 276
Joined: Fri Aug 23, 2013 2:14 am

Re: Using steady DPCM samples as a 'lead'

Post by OneCrudeDude »

The Vs Dualsystem is what I what I actually had in mind when I mentioned the dual NES audio. However, that machine seemed to essentially be two NES hooked up via LAN, with each console displaying something different but playing the same game. Did that only work for simple games (such as Wrecking Crew), or would it be possible to have, say, a version of Contra where each player isn't restricted by the screen? Or would transmitting the information between both CPUs (IE, a bullet that flied past P2's screen being transferred over to P1's screen) be a lot more complex?
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Using steady DPCM samples as a 'lead'

Post by tepples »

There is a block of shared memory at $7000 or thereabouts that only one machine can access at once. The first CPU, as I understand it, controls which machine sees it at any given time. A game could send any sort of state updates through that memory, but I'm not sure to what extent the two machines are synchronized in terms of relative vblank timing.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Using steady DPCM samples as a 'lead'

Post by lidnariq »

tepples wrote:I'm not sure to what extent the two machines are synchronized in terms of relative vblank timing.
Both PPUs and both CPUs are fed off the same master clock, and both PPUs and both CPUs have all their RESET pins tied together. And there's no short fields on the Vs. System PPUs (always exactly 89342 pixels) ... so as far as I can tell, they should stay perfectly synchronized.
User avatar
Memblers
Site Admin
Posts: 4044
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Re: Using steady DPCM samples as a 'lead'

Post by Memblers »

OneCrudeDude wrote:The Vs Dualsystem is what I what I actually had in mind when I mentioned the dual NES audio. However, that machine seemed to essentially be two NES hooked up via LAN, with each console displaying something different but playing the same game. Did that only work for simple games (such as Wrecking Crew), or would it be possible to have, say, a version of Contra where each player isn't restricted by the screen? Or would transmitting the information between both CPUs (IE, a bullet that flied past P2's screen being transferred over to P1's screen) be a lot more complex?
That's certainly possible if the game is designed for it, a game like Contra probably would need non-trivial modifications to allow stuff like the other player to shoot from off-screen, and new enemy spawning situations. Those are potentially gameplay-breaking modifications, but theoretically, if there's not too much data to transfer I'm sure it could handle something like that just fine. It would prevent the annoying deaths on the waterfall level, which would be nice.

BTW, on a somewhat related note (and veering off-topic), it's just a rumor, but supposedly when Codemasters was developing Micro Machines, they had a multiplayer setup with 2 systems liked by the controller port. If true, that would have been pretty cool. I can't remember where I heard that.
User avatar
OneCrudeDude
Posts: 276
Joined: Fri Aug 23, 2013 2:14 am

Re: Using steady DPCM samples as a 'lead'

Post by OneCrudeDude »

This particular thread is off topic to begin with, I feel bad for making it in the first place. But I have some curiosities about the console, so yeah.

I don't know how the controller ports could link two consoles and their information together. Maybe they meant the expansion port? And I wouldn't put it past Codemasters, it seemed like English programmers were insanely intuitive. It also helps that Codemasters' games were among the best unlicensed games, good enough to be classified alongside licensed titles. But being English games, they also suffer from various design errors resulting in odd difficulty.
Post Reply