Primordial Ooze Posted March 31, 2008 Share Posted March 31, 2008 (edited) I get the following error when i try to compile my code: ---------- Capture Output ----------> "C:\Atari2600\bB\2600bas.bat" C:\Projects\Atari2600\OpenSourcePong\OpenSourcePong.bas (265): Error: Unknown keyword: Compilation failed. > Terminated with exit code 0. Here we go: rem Open Source Pong rem an Open Source Pong Remake rem Updated: March 31, 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 ballxvelocity = a rem set an alias for the ball's y velocity dim ballyvelocity = b rem set an alias for troggling the 2 player mode dim playervsplayer = c 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 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 set a default value for the 2 player troggle playervsplayer = 0 rem if the left switch is set to B, paddle 1 controls the rem computers paddle if !switchleftb then playervsplayer = 1 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 set the ball's initial x velocity ballxvelocity = 1 rem set the ball's initial x velocity ballyvelocity = 1 rem reset player 1's score player0score = $00 rem reset player 1's score player1score = $00 rem finished reseting all the game variables changed during rem the course of the game rem go to the game loop goto gameLoop rem start of the game loop gameLoop 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 read paddle 0, use it to position player 1 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 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 rem draw the game screen rem set player 2's y position to the paddle 2's control's axis rem plus 8 if playervsplayer = 1 then currentpaddle = 1 : drawscreen : player1y = paddle + 8 rem otherwise set player 2's y position to the balls y position if playervsplayer = 0 then player1y = bally 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 + ballxvelocity bally = bally + ballyvelocity rem make sure the ball doesn't go off the top screen if bally < 9 then ballyvelocity = 0 - ballyvelocity rem make sure the ball doesn't go off the bottom screen if bally > 77 then ballyvelocity = 0 - ballyvelocity rem if the ball collides with player 1's paddle rem move the ball a bit so it doesn't stick rem and reverse its x velocity if collision(player0, ball) then ballx = ballx - 3 : ballxvelocity = 0 - ballxvelocity rem if the ball collides with player 2's paddle rem move the ball a bit so it doesn't stick rem and reverse its x velocity if collision(player1, ball) then ballx = ballx + 3 : ballxvelocity = 0 - ballxvelocity rem if the ball goes past player 1's paddle if ballx > 160 then gosub player2scores rem if the ball goes past the computer paddle if ballx < 1 then gosub player1scores rem if player 1 scores 11 points then its game if player0score > $10 then goto gameover rem if player 2 scores 11 points then its game if player1score > $10 then goto gameover goto gameLoop rem end of the game loop code, restart the game loop rem code for handling when the ball goes past player 2's paddle rem and the player 1 scores player1scores rem increase player 1's score by 1 player1score = addbcd(player1score,1) rem have the computer serve the ball ballx = player1x + 3 bally = player1y - 5 rem reverse the balls x velocity ballxvelocity = 0 - ballxvelocity return rem end of player 1 scores rem code for handling when player 1 misses the ball and rem player 2 scores player2scores rem increase player 2's score by 1 player0score = addbcd(player0score,1) rem have the player serve the ball ballx = player0x - 3 bally = player0y - 5 rem reverse the balls x velocity ballxvelocity = 0 - ballxvelocity return rem end of player 2 scores code 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 for player scores multikernel inline playerscores.asm rem inline bcd math helper inline bcd_math.asm The error is refering to these 2 lines: rem inline for player scores multikernel inline playerscores.asm rem inline bcd math helper inline bcd_math.asm Any ideas? Sincerely, Open Source Pong Edited March 31, 2008 by Open Source Pong Quote Link to comment Share on other sites More sharing options...
SeaGtGruff Posted April 1, 2008 Share Posted April 1, 2008 You need to swap those two inline includes around: rem inline bcd math helper inline bcd_math.asm rem inline for player scores multikernel inline playerscores.asm You'll still get a message when it compiles, but it will just be a warning, and everything will still work fine: ---------- Capture Output ---------- > "C:\Atari2600\bB\2600bas.bat" "C:\Atari2600\bB\Projects\open_source_pong_20080331.bas" 2600 Basic compilation complete. DASM V2.20.07, Macro Assembler (C)1988-2003 bytes of ROM space left --> start f1b6 > Terminated with exit code 0. The "start f1b6" message simply means the address of the "start" line label changed from the first pass to the last pass of the assembly, which is kind of a normal thing to have happen. Michael 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.