jrok, on Tue Mar 31, 2009 5:56 PM, said:
I remember that demo. That was very nice. I guess I was wondering if an 8-player, 64-pixel display would be possible.
Jarod
Yes, it would [edit: see PS below], but you'd have to manage the storing, updating, and displaying of the score by yourself. That is, bB's builtin score is six digits, and you can use it to display an eight-digit score, but when you say "the score," you're really talking about a topic that involves six interrelated things--
(1) the RAM bytes that are used to store the score;
(2) the program routines that are used to perform mathematical operations on the score (e.g., adding points to it, or subtracting points from it);
(3) the ROM or RAM data tables that are used to define the graphical shapes (i.e., digits, letters, symbols, etc.) that will be displayed in the score;
(4) the program routines that are used to display the score on the screen by carefully positioning the players and then updating the player graphics seven times per scan line (i.e., six times for the six player copies, plus one extra time because VDEL is on);
(5) the RAM bytes that point to the locations of the specific shapes in the shape table that are to be drawn; and
(6) the program routines that are used to set those pointers based on the value of the score.
If you want to do an eight-digit score, you'll need to manage all of that yourself. The trickiest part would be dealing with the fact that you're trying to display eight six-pixel-wide shapes using six eight-pixel-wide sprites, so you'd either need to define ROM tables for all the different combinations of shapes in all the different positions-- which would take up a lot of ROM-- or better yet, copy the shapes into RAM, bit-shift them according to their positions, and use logical operations to merge multiple shapes together. You'd need 48 bytes of RAM for that, and copying the ROM shapes into RAM would take up a good bit of your game's VBLANK time-- although you could program it so that the RAM gets updated only whenever the score changes, rather than being updated during each frame even if the score didn't change. And if you moved the ROM shapes into RAM like that, then you wouldn't need to use pointers, because you'd always be pulling the display data from the same RAM locations.
Michael
[edit: PS-- Sorry, I don't think a 64-pixel score would be possible, at least not using player graphics. But you can do it using the playfield to draw the score, as was done in several games (e.g., Space Invaders).]
Edited by SeaGtGruff, Tue Mar 31, 2009 5:33 PM.