Tempest Posted June 3, 2003 Share Posted June 3, 2003 As I was playing around with Pole Position today I got ot thinking about the arcade game and how it had that really cool voice that said "Prepare to Qualify" at the begining. I was always amazed at how clear it sounded and though it added alot of charm to the game. I was wondering if it would be possible to add the voice to the 5200 version of Pole Poisition in the way voice was added to the 2600 version of Bezerk. I assume that it was left out due to time contraints and not due to memory considerations. Would the screen have to be blanked when the voice was playing (like it is in Berzerk) or could the blimp still move across the screen? Is this at all possible? Tempest Link to comment Share on other sites More sharing options...
oesii Posted June 3, 2003 Share Posted June 3, 2003 Or have a look at the code for 5200 Realsports Baseball which has nice voice effects without any screen blanking Link to comment Share on other sites More sharing options...
Jetboot Jack Posted June 3, 2003 Share Posted June 3, 2003 Berzerk for 5200 has voice without screen blanking, many 800 games do to. It's pretty easy to play samples without screen blanking -- many music trackers and software do it (listen to the Space Harrier audio on Sheddy's game)... I assume it was just lack of ROM space that prevented such features from being added sTeVE Link to comment Share on other sites More sharing options...
Tempest Posted June 3, 2003 Author Share Posted June 3, 2003 Berzerk for 5200 has voice without screen blanking, You're right. I was thinking about the voice between screens, but it does play on screen too. Soooo... Anyone want to hack the voice into Pole Position and make me a very happy person? Tempest Link to comment Share on other sites More sharing options...
Heaven/TQA Posted June 3, 2003 Share Posted June 3, 2003 if somebody can grab the voice out of mame? best would be to ripp it as 4bit sample... i have no clue what would be the best samplingrate.... hve Link to comment Share on other sites More sharing options...
ziggystar Posted June 3, 2003 Share Posted June 3, 2003 Here's a question, How do you make these samples? Can you convert windows samples? Is there a dos recorder that makes these 4 bit samples? I have been toying with the idea of adding voice to my homebrews, I think I might have the playback down but I haven't been able to make my own samples. any ideas? Link to comment Share on other sites More sharing options...
Sheddy Posted June 3, 2003 Share Posted June 3, 2003 Sorry Tempest, no time to do it myself (got to see a man about a dragon...) I had trouble getting the samples into the Atari too. With a bit of trial and error this is what I found on the samples I was looking at: Once you have a .wav file though it's not too bad if you know the original sample size 8-bit/16-bit and rate. There's no compression or anything on .wavs I had to knock up some VB code to convert it to 4-bit, although there may well be some utility to do it already somewhere - my brother's copy of soundforge couldn't do it though! There's about 43 (or 44?) bytes in the .wav header. After this in the 8-bit samples I looked at they were just signed integers (-127 to 128) of the volume level. 0 means quiet, -127 speaker full out one way, 128, full out the other way. I guess the header tells you somewhere whether they're signed or not, but it was easy to tell by the godawfulness of the sound when it was wrong! So simply a matter or some division on each byte to get it to +/-7.5 for the Atari. 4000 4-bit samples/sec sounds sort of OK, 8000 is pretty good. But the sample rate is straightforward to pick - once you know the little secret about sample playing with the screen going.... try something like SAM with a 4k or 8k screen on, and it sounds like he's really drunk - slurring awfully. Why? The DMA fetches for the screen data slow the processor down, and you can't time precisely enough when to do the next sample, without your ears noticing. So you need something external for the 6502 to get its timing from. Maybe you can try Pokey interrupts - but they seem to get affected by the DMA fetch too! (and no emulator does them properly yet either). That only leaves a couple of things that change quickly enough and reliably enough to use to re-synchronize the processor - either WSYNC or VCOUNT - which aren't affected by DMA. These registers get changed at the end of each scanline. VCOUNT changes every other scanline, and goes from a value of 0 to 130 (NTSC TV) in each TV frame. 60 frames in a second. So 60*131=7860 changes per second. Voila - 7860 samples a second is not too shabby a number to choose - or 3930. Well, jeez, I said a bit more there than I intended. Sorry about that everyone else - turned into more of a programming thing there. Link to comment Share on other sites More sharing options...
Heaven/TQA Posted June 4, 2003 Share Posted June 4, 2003 maybe the author of Space Harrier can help? or emkay? hve Link to comment Share on other sites More sharing options...
Sheddy Posted June 4, 2003 Share Posted June 4, 2003 I agree with JetBoot - most likely memory restrictions. Working it in could be very hard without upping the ram requirements or creating a new cart version. Hve - I'm too tired after all that typing in the reply yesterday! EmKay - where are you today?! Link to comment Share on other sites More sharing options...
emkay Posted June 4, 2003 Share Posted June 4, 2003 VCOUNT changes every other scanline, and goes from a value of 0 to 130 (NTSC TV) in each TV frame. 60 frames in a second. So 60*131=7860 changes per second. Voila - 7860 samples a second is not too shabby a number to choose - or 3930. This is maybe the best way for playing samples. 7860 Steps ... that means ~ 3930 Hz for speech to quantize ... It's truely ok. Link to comment Share on other sites More sharing options...
emkay Posted June 4, 2003 Share Posted June 4, 2003 EmKay - where are you today?! I'm still around Link to comment Share on other sites More sharing options...
emkay Posted June 4, 2003 Share Posted June 4, 2003 BTW: The Arcade version of GAUNTLET uses a 6502 and a POKEY to create the Gamespeech. Link to comment Share on other sites More sharing options...
+Cafeman Posted June 4, 2003 Share Posted June 4, 2003 Are you guys saying that to get speech on the 5200, you must read & change the sound register values on every scanline? Link to comment Share on other sites More sharing options...
Sheddy Posted June 4, 2003 Share Posted June 4, 2003 Are you guys saying that to get speech on the 5200, you must read & change the sound register values on every scanline? Well, not quite, but it needs to be about that kind of speed for it to sound OK with 4-bit samples. VCOUNT changes every 2 scanlines. Syncing to vcount gives you just under 8000 samples per second, and like EmKay says the quality is not bad. Every scanline gives you twice that of course. I'm using every other VCOUNT in the Space Harrier demo so I have a bit of time to do some other stuff - and I think it sounds reasonable enough Link to comment Share on other sites More sharing options...
MegaManFan Posted June 4, 2003 Share Posted June 4, 2003 As long as "Get ready!" and "AHHHH!" sound good, that's all I care about. Hearing those words come out of a GBA sp when I bought Sega Arcade Classics gave me a smile from ear to ear. Link to comment Share on other sites More sharing options...
Sheddy Posted June 4, 2003 Share Posted June 4, 2003 As long as "Get ready!" and "AHHHH!" sound good, that's all I care about. Hearing those words come out of a GBA sp when I bought Sega Arcade Classics gave me a smile from ear to ear. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.