Jump to content
IGNORED

Score location question


jbs30000

Recommended Posts

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.

Link to comment
Share on other sites

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 by SeaGtGruff
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...