It is currently Thu Oct 19, 2017 7:44 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 49 posts ]  Go to page 1, 2, 3, 4  Next
Author Message
PostPosted: Mon Jun 19, 2017 5:15 pm 
Offline

Joined: Fri Sep 22, 2006 9:52 am
Posts: 160
Location: philly
I'm trying to compile a list of games that use PCM samples (non-DPCM). Let me know if you can think of more examples, I've almost certainly missed a ton of famicom games.

The earliest game on this list is currently Tag Team Pro Wrestling (April 1986), so if you can find anything earlier that would be great to know. Also, I've only come up with five examples of it being used in/for music: Action 52, Battletoads, Battletoads & Double Dragon, Great Waldo Search, and Skate or Die 2. Are those the only ones?

Note: Not all samples in the following games are guaranteed to be PCM, as some games use a combination of PCM and DPCM. This is simply a list of games that contain at least 1 PCM sample in them.

Action 52
Action 53 (specific examples mentioned in comments below)
Adventures of Bayou Billy, The
Adventures of Rad Gravity, The
Airball
Aussie Rules Footy
Bad Dudes
Battletoads
Battletoads & Double Dragon
Bible Buffet
Blades of Steel
Bo Jackson Baseball
Chuck Yeager's Fighter Combat
Daiku no Gen-san / Hammerin' Harry
Daiku no Gen-san 2
Day Dreamin' Davey
Dead Zone
Dirty Harry
Dizzy the Adventurer
Emoyan no 10-bai Pro Yakyuu
F-15 Strike Eagle
Final Mission (S.C.A.T. / Action in New York)
Gauntlet II
Ghostbusters
Great Waldo Search, The
Heavy Barrel
High Speed
Ikari Warriors 2
Immortal, The
International Cricket
Joshua
Jurassic Park
Karate Champ
Krusty's Fun House
M.U.L.E.
Mahjong Club - Nagatacho Sousaisen
Mickey's Adventure in Numberland
Mickey's Safari in Letterland
Mito Koumon (full title - Tenka no Goikenban - Mito Koumon)
Mito Koumon II: Sekai Manyuu Ki
Monopoly
Pinbot
Power Punch 2
Punch Out!! (and Mike Tyson's Punch Out)
Robodemons
Roger Clemins' MVP Baseball
Sesame Street: Big Bird's Hide and Speak
Sesame Street: Countdown
The Simpsons: Bart vs. the Space Mutants
Skate or Die 2
Smash T.V.
Star Wars: The Empire Strikes Back
Super Jeopardy
Tag Team Pro Wrestling
Three Stooges, The
Ultimate Stuntman, The
Wheel of Fortune
Wheel of Fortune: Junior Edition
Wheel of Fortune: Family Edition
Wheel of Fortune: Featuring Vanna White
World Champ / Great Boxing: Rush Up
WWF Wrestlemania: Steel Cage Challenge


Last edited by bucky o'hare on Sat Aug 05, 2017 9:35 pm, edited 29 times in total.

Top
 Profile  
 
PostPosted: Mon Jun 19, 2017 6:17 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19100
Location: NE Indiana, USA (NTSC)
Action 53 vol. 1-3 (speech)
Action 53 vol. 1 (TapeDump)
Action 53 vol. 3 ("Crowd" music in 240p Test Suite)

I think a few games used it as a crude kick drum.

Is this for a massive PocketNES feature request?


Top
 Profile  
 
PostPosted: Mon Jun 19, 2017 6:20 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5718
Location: Canada
Shin 4 Nin Uchi Mahjong uses PCM, but over the MMC5's extra PCM output so most emulators don't make the sound.


Top
 Profile  
 
PostPosted: Mon Jun 19, 2017 7:43 pm 
Offline
Site Admin
User avatar

Joined: Mon Sep 20, 2004 6:04 am
Posts: 3470
Location: Indianapolis
Is there an easy way to tell? I tried FCEUX and Nestopia, and they both mute raw PCM when you mute DPCM. I seem to recall that the bell sound in Tecmo World Wrestling, and the crowd sound in Punch Out were raw PCM. But I could be remembering wrong. It could have been NESticle where I observed those.


Top
 Profile  
 
PostPosted: Mon Jun 19, 2017 7:48 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19100
Location: NE Indiana, USA (NTSC)
More than 10 changes to $4011 in a frame is almost certain to tell.


Top
 Profile  
 
PostPosted: Mon Jun 19, 2017 7:53 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5718
Location: Canada
Memblers wrote:
Is there an easy way to tell? I tried FCEUX and Nestopia, and they both mute raw PCM when you mute DPCM. I seem to recall that the bell sound in Tecmo World Wrestling, and the crowd sound in Punch Out were raw PCM. But I could be remembering wrong. It could have been NESticle where I observed those.

The DPCM has a very characteristic quality/sound to it, and ringing at its specific frequencies (if you have absolute pitch you might be able to tell which one). PCM sound usually has a pretty distinct quality advantage that will sound "unusual" compared to DPCM if you're looking for it.

The other giveaway is that the screen will usually pause for the duration of the sound. If there's significant animation going on, it's probably not PCM... though there are counterexamples to this (e.g. Battletoads' intro) and IRQs also get around it somewhat (e.g. Ultimate Stuntman). A static screen can be a pretty good hint though, in most cases.

Finally you can verify by putting breakpoints on $4011. If you get more than one in a frame, you're probably getting PCM. You could certainly rig up a lua script or otherwise hack an emulator to listen for that and give you a display to let you know. (I think the new "overclock" mode for FCEUX does this to automatically detect PCM and disable the overclock, actually?)


Top
 Profile  
 
PostPosted: Mon Jun 19, 2017 7:56 pm 
Offline
Site Admin
User avatar

Joined: Mon Sep 20, 2004 6:04 am
Posts: 3470
Location: Indianapolis
Yeah I just tried the breakpoints, looks like I was wrong on Tecmo World Wrestling, but I was right about Punch Out.

I kind of think the "I'm bad!" sample from Bad Dudes might be raw PCM, I'm not wanting to play through a level at the moment to find out though.


Top
 Profile  
 
PostPosted: Mon Jun 19, 2017 8:02 pm 
Offline
User avatar

Joined: Fri Feb 27, 2009 2:35 pm
Posts: 211
Location: Fort Wayne, Indiana
Smash TV seems to use it for the "Let's go!" and the sound on the title screen.


Top
 Profile  
 
PostPosted: Mon Jun 19, 2017 8:25 pm 
Offline

Joined: Fri Sep 22, 2006 9:52 am
Posts: 160
Location: philly
tepples wrote:
Action 53 vol. 1-3 (speech)
Action 53 vol. 1 (TapeDump)
Action 53 vol. 3 ("Crowd" music in 240p Test Suite)

Is this for a massive PocketNES feature request?

Ooh, thanks! This is more just research I'm doing for an upcoming podcast episode about high quality sample playback on the NES. I have a spreadsheet I'm putting together, but also thought it would be good to have a forum post that's google-able, incase anyone else wants to look this up. It's always nice having lists of this kind of stuff. :)

Memblers wrote:
Is there an easy way to tell? I tried FCEUX and Nestopia, and they both mute raw PCM when you mute DPCM. I seem to recall that the bell sound in Tecmo World Wrestling, and the crowd sound in Punch Out were raw PCM. But I could be remembering wrong. It could have been NESticle where I observed those.

za909 showed me a method where you can search for 4011 writes using the debugger in FCEUX. The emulator will pause whenever something comes up. There are a few false-positives to look out for, like DPCM samples that have that "pop" on them will trigger your breakpoint. But you can tell if it's regular DPCM vs raw PCM... if the rest of the sample audibly plays after hitting the "run" button again, then it's just DPCM. If it constantly pauses every time you hit "run", then it should be a full fledged raw PCM sample trying to play.

I'll double check the examples posted here and report back!


Top
 Profile  
 
PostPosted: Mon Jun 19, 2017 8:44 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5718
Location: Canada
Here's a very simple FCEUX lua script to detect it for you. Says either "NO PCM" or "PCM" in the corner depending on whether PCM is currently playing.

  • File > Lua > New Lua Script Window
  • Browse... (open this file)
  • Run

There's a little 1 second timeout on the "PCM" detect so it's easier not to miss, but you the timer value is at the top of the file, easy to edit if you want a more precise display.


Attachments:
pcm_detect.lua [751 Bytes]
Downloaded 25 times
Top
 Profile  
 
PostPosted: Mon Jun 19, 2017 8:48 pm 
Offline
Site Admin
User avatar

Joined: Mon Sep 20, 2004 6:04 am
Posts: 3470
Location: Indianapolis
What's the name of the podcast?

I suspect that Rad Racer 2 is using $4011 alone for it's drum sounds.

If you want to see something unusual, look at Star Tropics 2. It uses $4011 as a volume control for the triangle channel.

edit:
rainwarrior: neat, thanks


Top
 Profile  
 
PostPosted: Mon Jun 19, 2017 9:00 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5718
Location: Canada
Memblers wrote:
If you want to see something unusual, look at Star Tropics 2. It uses $4011 as a volume control for the triangle channel.

So did Startropics. It's part of its "fade out" routine for the music.

Super Mario Bros. also does it to lower the triangle volume for some music tracks. (It has a gradual slide, +/-1 per frame, which actually produces an audible buzz during the transition-- the NSF kind of sucks for this because it always starts at 0, so a lot of tracks start with that buzz.)

These won't trigger the PCM detector here, though, since they're once-per-frame writes.


In the luaScripts folder there's a SoundDisplay.lua script you can run to just watch the various sound channels if you want an easy visual way to inspect these things.


Top
 Profile  
 
PostPosted: Mon Jun 19, 2017 9:05 pm 
Offline
Site Admin
User avatar

Joined: Mon Sep 20, 2004 6:04 am
Posts: 3470
Location: Indianapolis
Ghostbusters
Tenka no Goikenban - Mito Koumon (just load the ROM and wait a few seconds, pretty neat encoded speech)


Top
 Profile  
 
PostPosted: Mon Jun 19, 2017 9:22 pm 
Offline

Joined: Fri Sep 22, 2006 9:52 am
Posts: 160
Location: philly
Memblers wrote:
What's the name of the podcast?

Ah the podcast is Retro Game Audio. All episodes can be streamed or downloaded from our soundcloud. We have 20 episodes so far, this'll be our 21st. :)
https://soundcloud.com/retrogameaudio

NovaSquirrel wrote:
Smash TV seems to use it for the "Let's go!" and the sound on the title screen.

Yes! I forgot to put that in the list, but I did double check all the vocal samples and those are all PCM.

Memblers wrote:
I kind of think the "I'm bad!" sample from Bad Dudes might be raw PCM, I'm not wanting to play through a level at the moment to find out though.

It is! Which is funny because it's so bad sounding anyways.

Something I didn't mention in the OP was bit-rate, since it's a little over my head, but something that's kind of neat is that some samples have a lower bit rate. Before researching this I assumed everything was either 1-bit DPCM or 7-bit PCM. But Gauntlet 2, MULE, and Skate or Die 2 should all be using 4-bit samples.

To the best of my understanding, it's because they limited themselves to using a "smaller space" (less values) than 7-bits, but would've otherwise been 7-bit had they not gone out of their way to do that. I think of 7-bit as like the default bit depth for the NES' raw PCM, but it could be limited to anything smaller.

za909 helped me identify what's apparently 1-bit PCM, from World Champ. Which seems really strange to me!


Top
 Profile  
 
PostPosted: Mon Jun 19, 2017 9:27 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5718
Location: Canada
bucky o'hare wrote:
za909 helped me identify what's apparently 1-bit PCM, from World Champ. Which seems really strange to me!

The PC speaker could naturally do 1-bit PCM, for instance, and so could a few other systems (ZX, etc.). Did it originally appear on another platform?

If you can get your samplerate high enough to be above the audible threshold, 1-bit PCM can effectively become equivalent to more bits (i.e. PWM). Eg. 160 kHz 1-bit output could sound like 40 kHz 2-bit.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 49 posts ]  Go to page 1, 2, 3, 4  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: Bing [Bot] and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group