Primordial Ooze Posted April 17, 2008 Share Posted April 17, 2008 Does anyone know what frequency, tone and volume i would use to get "authentic" versons of the two boink and buzzing sound effects? Sincerely, Open Source Pong Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted April 17, 2008 Share Posted April 17, 2008 Does anyone know what frequency, tone and volume i would use to get "authentic" versions of the two boink and buzzing sound effects? Does it seem like the following video has the authentic sounds: http://www.youtube.com/watch?v=LPkUvfL8T1I Somebody might already know the volume, tone, and frequency, but until they see your post and if that video has the correct sounds, it wouldn't hurt to hunt for similar sounds using Tone Toy 2008: http://www.atariage.com/forums/index.php?showtopic=123441 You might find the sounds on your own before somebody gets a chance to post the answer. Quote Link to comment Share on other sites More sharing options...
Primordial Ooze Posted April 17, 2008 Author Share Posted April 17, 2008 I tried it already and thats how i got the sounds i'm using now. Unfortenatly i wasn't able to reproduce the "authentic" sounds that way. I'm hoping someone who knows will read this and post it. Sincerely, Open Source Pong Quote Link to comment Share on other sites More sharing options...
supercat Posted April 17, 2008 Share Posted April 17, 2008 Does anyone know what frequency, tone and volume i would use to get "authentic" versons of the two boink and buzzing sound effects? Not sure about duration, but for the "hit" sound you should set AUDC0 and AUDF0 to zero for the first six lines of each frame, and set AUDC0 to 4 and AUDF0 to 31 for the remainder. I don't think the 2600 can do a perfect job with the "score" sound, but you should probably come pretty close if you use AUDC0 and AUDF0 both equal zero for six lines, and AUDC0=12/AUDF0=10 for the remainder. Quote Link to comment Share on other sites More sharing options...
Primordial Ooze Posted April 17, 2008 Author Share Posted April 17, 2008 (edited) I just finished adding the "authentic" sound effects and wanted to share the source with the community. The only problem i'm having is a warning is being issued on lines 249, 251 considering the lines being too long. So far this hasn't been a problem, but i want to know if there is some way to split the line up into 2 pieces with the second piece being the buzzer sound. Well theres the source in its entire glory: rem Open Source Pong rem an Open Source Pong Remake rem Updated: April 11, 2008 rem Website: http://opensourcepong.freepgs.com rem setup all the game variables rem set the rom size set romsize 2k rem turn on smartbranching set smartbranching on rem define the number of player scores const playerscores = 2 rem define noscores constant const noscore = 1 rem set kernel options rem readpaddle - set it so the paddle controlers are read set kernel_options no_blank_lines readpaddle rem set an alias for the ball's x velocity dim ballvx = a rem set an alias for the ball's y velocity dim ballvy = b rem set an alias for troggling the 2 player mode dim vsplayer = c rem set an alias to determine if sound effects rem should be playing dim sfxplaying = d rem set an alias to keep track of how many frames the rem sound effects have played dim sfxtimer = e rem color the background green COLUBK = 198 rem set the color of the playfield to white COLUPF = 14 rem set player 2's score color to his sprite color player0scorecolor = $1C rem set player 1's score color to his sprite color player1scorecolor = $8C rem clear the playfield pfclear rem draw the top border of the playfield pfhline 0 0 31 on rem draw the bottom border of the playfield pfhline 0 10 31 on rem bla rem define player 1's sprite player0: %00011000 %00011000 %00011000 %00011000 %00011000 %00011000 %00011000 %00011000 end rem define player 2's sprite player1: %00011000 %00011000 %00011000 %00011000 %00011000 %00011000 %00011000 %00011000 end rem finished seting up the game variables rem start a new game and reset everything that was changed during rem the course of the game startNewGame rem set player 1's inital x positon player0x = 140 rem set player 1's inital y positon player0y = 45 rem if the left switch is set to B, paddle 1 controls the rem computers paddle, otherwise paddle controller 2 controlls rem it if !switchleftb then vsplayer = 1 else vsplayer = 0 rem set player2's inital x positon player1x = 15 rem set player2's inital y positon player1y = 45 rem set ball's inital x positon ballx = 80 rem set ball's inital y positon bally = 45 rem randomly choose the balls x velocity temp1 = rand rem if the number is less then 128 then the balls x velocity is 1 rem otherwise the balls x velocity is -1(or -1) if temp1 < 128 then ballvx = 1 else ballvx = 255 rem randomly choose the balls y velocity temp2 = rand rem if the number is less then 128 then the balls y velocity is 1 rem otherwise the balls y velocity is 255(or -1) if temp2 < 128 then ballvy = 1 else ballvy = 255 rem reset player 1's score player0score = $00 rem reset player 1's score player1score = $00 rem reset the sound playing boolean to 0 sfxplaying = 0 rem reset the sound effects timer sfxtimer = 0 rem turn off all sound effects from the previous game AUDV0 = 0 rem finished reseting all the game variables changed during rem the course of the game rem start of the game loop gameLoop rem if the user presses the reset switch, start a new game if switchreset then startNewGame pauseloop rem color player 1's paddle COLUP0 = 140 rem color player 2's paddle COLUP1 = 28 rem if the colorswitch is in the black/white position pause rem the game and stop any sound effects already playing if switchbw then drawscreen : AUDV0 = 0: goto pauseloop rem read paddle 0, use it to position player 1 across the screen if vsplayer <> 1 then firstpaddle rem this alternates paddles per frame currentpaddle=currentpaddle ^ 1 rem if currentpaddle equals 2 then position the second paddle if currentpaddle = 1 then secondpaddle firstpaddle rem read paddle 0, use it to position player 1's paddle across the screen currentpaddle=0 rem draw the game screen drawscreen rem set player1's y position to the paddle control's axis rem plus 8 player0y = paddle + 8 rem make sure player 1 doesn't go off the top screen if player0y < 16 then player0y = 16 rem make sure player 1 doesn't go off the bottom screen if player0y > 79 then player0y = 79 goto computerai secondpaddle rem if the 2 player mode is activated then paddle 1 controls the rem second paddle rem read paddle 1, use it to position player 2's paddle across the screen currentpaddle = 1 rem draw the game screen drawscreen rem set player 2's y position to the paddle 2's control's axis rem plus 8 player1y = paddle + 8 computerai rem one player game, player 2's y position to the balls y position if vsplayer <> 1 then player1y = bally + 1 rem make sure player 2 doesn't go off the top screen if player1y < 16 then player1y = 16 rem make sure player 2 doesn't go off the bottom screen if player1y > 79 then player1y = 79 rem move the ball ballx = ballx + ballvx bally = bally + ballvy rem make sure the ball doesn't go off the top screen if bally < 9 then ballvy = -ballvy rem make sure the ball doesn't go off the bottom screen if bally > 77 then ballvy = -ballvy rem if the ball collides with player 1's paddle rem play the pure tone with a frequency of 4 and volume of 10 rem move the ball a bit so it doesn't stick rem and reverse its x velocity if collision(player0, ball) then sfxplaying = 1 : AUDC0 = 4 : AUDF0 = 31 : AUDV0 = 10 : ballx = ballx - 3 : ballvx = 0 - ballvx rem if the ball collides with player 2's paddle rem play the pure tone with a frequency of 5 and volume of 10 rem move the ball a bit so it doesn't stick rem and reverse its x velocity if collision(player1, ball) then sfxplaying = 1 : AUDC0 = 4 : AUDF0 = 31 : AUDV0 = 10 : ballx = ballx + 3 : ballvx = 0 - ballvx rem if the ball goes past player 1's paddle rem increase player 2's score by 1 rem play the score sound rem have the player serve the ball rem reverse the balls x velocity if ballx > 160 then player0score = addbcd(player0score,1) : sfxplaying = 1 : AUDC0 = 10 : AUDF0 = 9 : AUDV0 = 10 : ballx = player0x - 3 : bally = player0y - 3 : ballvx = 0 - ballvx rem if the ball goes past the computer paddle rem increase player 1's score by 1 rem play the score sound rem have the computer serve the ball rem reverse the balls x velocity if ballx < 1 then player1score = addbcd(player1score,1) : sfxplaying = 1 : AUDC0 = 10 : AUDF0 = 9 : AUDV0 = 10 : ballx = player1x + 6 : bally = player1y - 3 : ballvx = 0 - ballvx rem if the a effect is playing update the sound timer if sfxplaying = 1 then sfxtimer = sfxtimer + 1 rem if the sound effect timer is 60 frames, stop the sound effect if sfxtimer = 30 then sfxplaying = 0 : sfxtimer = 0 : AUDV0 = 0 rem if player 1 or player 2 scores 11 points then its game if player0score > $10 || player1score > $10 then goto gameover goto gameLoop rem end of the game loop code, restart the game loop rem code for handling when either players score reaches 11 rem and its gameover gameover rem if the user presses the reset switch, start a new game if switchreset then startNewGame rem color player 1's paddle COLUP0 = 140 rem color player 2's paddle COLUP1 = 28 rem draw the screen drawscreen rem if the user presses the fire button, start a new game if joy0left then startNewGame rem otherwise just keep looping goto gameover rem inline bcd math helper inline bcd_math.asm rem inline for player scores multikernel inline playerscores.asm Sincerely, Open Source Pong Edited April 17, 2008 by Open Source Pong Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.