Re: [stella] Displaying Scores

Subject: Re: [stella] Displaying Scores
From: Bill Heineman <burger@xxxxxxxxxxxxxxxxx>
Date: Wed, 06 Aug 2003 09:51:01 -0700
on 8/5/03 9:28 PM, Brian Crawford at nastybuttr@xxxxxxxxxxx wrote:

> Hi, I'm not big on programming the VCS, but I do program in other assembly
> languages. I am working on a game right now, and I am interested in how 2600
> programmers display the player's score. If someone coud give me a small
> routine or something like that, it would be greatly appreciated. Thanks.

The basic concept on the 2600 for scores is this. Using the BCD mode on the
6507, you store your score in a "hex" mode and use the upper 4 bits as the
first digit and the lower 4 bits as the second digit. Makes converting from
hex to decimal a matter of 4 LSR instrutions or an AND #$0F.

Here is some code.

Score DB 1   ;Current score

 SED         ;Use BCD math
 LDA Score
 ADC #$10    ;Add 10 points
 ADC #$22    ;Add 22 points
 ADC #$01    ;Add 1 point
 STA Score
 CLD         ;Use binary math from now on

To draw...

 LDA Score
 ; At this point A = 0 through 9 to display the score digit for the leftmost

 LDA Score
 AND #$0F
 ;Now you have 0 through 9 for the rightmost digit.

How you display the digit? That's another topic.


Archives (includes files) at
Unsub & more at

Current Thread