jbs30000 Posted May 24, 2007 Share Posted May 24, 2007 Just out of curiosity, why do bB games have the score at the bottom, when the majority of 2600 games have the score at the top of the screen? Also, is there a way to move the score to the top? Thank you. P.S. I'm not complaining or anything, I'm just curious. Quote Link to comment Share on other sites More sharing options...
SeaGtGruff Posted May 24, 2007 Share Posted May 24, 2007 (edited) Just out of curiosity, why do bB games have the score at the bottom, when the majority of 2600 games have the score at the top of the screen? Also, is there a way to move the score to the top? Thank you. P.S. I'm not complaining or anything, I'm just curious. You can modify the kernel to display the score at the top of the screen, but that will present two issues that will need to be resolved-- and I think that these two issues must be why batari decided to put the score at the bottom of the screen instead of at the top: (1) batari Basic positions the player0 and player1 sprites during the vertical blank interval. But the score uses player0 and player1. So if you modify the kernel to display the score at the top of the screen, then you'll need to move the player0 and player1 sprite positioning so that it isn't done until *after* the score has been displayed. This would actually be pretty easy to do. (2) batari Basic has a special "scorecolor" variable in zero-page RAM that it uses to store the color you want the score to be, and it changes the colors of player0 and player1 to set them equal to "scorecolor" before the score is displayed. So after the score has been displayed, the original colors of player0 and player1 will be wiped out, which is why you need to set those two colors before every "drawscreen" (otherwise the two players will be drawn in the score color). But you can't read the values of the COLUP0 and COLUP1 registers, and store them in temporary variables for safe keeping, so that means you have no way to restore player0 and player1 back to their original colors after displaying the score at the top of the screen. Consequently, you would need to create two new variables in RAM, such as "player0color" and "player1color," so you can specify, store, and set the two player colors. That would actually be kind of nice, because then you wouldn't need to set COLUP0 and COLUP1 during every frame-- you could just set the two new variables and they'll keep their values until you decide to change them-- but it does mean that you'll have to use up 2 bytes of RAM for the new variables. Michael Edited May 24, 2007 by SeaGtGruff Quote Link to comment Share on other sites More sharing options...
supercat Posted May 25, 2007 Share Posted May 25, 2007 That would actually be kind of nice, because then you wouldn't need to set COLUP0 and COLUP1 during every frame-- you could just set the two new variables and they'll keep their values until you decide to change them-- but it does mean that you'll have to use up 2 bytes of RAM for the new variables. Unless you want to waste a byte of RAM, you'd still want to set the player colors during VBLANK, but you'd set them to the color you want the score to be. Quote Link to comment Share on other sites More sharing options...
jbs30000 Posted May 26, 2007 Author Share Posted May 26, 2007 Two bytes doesn't sound too bad. But anyway, thank you for answering my question. Quote Link to comment Share on other sites More sharing options...
Gorf Posted May 26, 2007 Share Posted May 26, 2007 Two bytes doesn't sound too bad. But anyway, thank you for answering my question. Yeah but in the 2600, that might as well be two megs. 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.