Re: [stella] Weekend update + timing issue

Subject: Re: [stella] Weekend update + timing issue
From: "Andrew Davie" <adavie@xxxxxxxxxxxxx>
Date: Mon, 26 Feb 2001 13:00:57 +1100
A major problem with this code appears to be the use of the stack pointer
inside the DrawScore loop, without saving and restoring this pointer around
the loop.  What this means is that the stack pointer (and hence the return
address from the routine) is in an unknown state when this routine
terminates.  In fact, it depends on the data written to the score digits -
which is probably why you're seeing different effects with the digit

I'd recommend wrapping this code with the following...

    stx savestack

    ... stuff here

    ldx savestack

That's a definite problem.... probably THE problem.

 _  _  _| _ _        _| _    * _                               _  ,
(_|| )(_|( (/_\/\/  (_|(_|\/(_(/_                           ,~' L_|\
                                                         ,-'        \
see my Museum of Soviet Calculators at                  (            \              \    __     /
                                                          L,~'  "\__/
                                                              @--> v

----- Original Message -----
From: "Joe Grand" <jgrand@xxxxxxxxxxxxxx>
To: <stella@xxxxxxxxxxx>
Sent: Sunday, February 25, 2001 7:18 AM
Subject: [stella] Weekend update + timing issue

> Even though the weekend just started, I spent all of Friday night and
> Saturday morning getting things ready for some good coding time. Watching
> QB being developed in front of my eyes is killing me (which is a great
> game, by the way, even though I've only gotten to level 2 :)
> 1) Set up new environment in Textpad (Thanks to Glenn for the syntax
> Very nice - it makes the source very easy to read, and I like the
> configuration allowing multiple files, etc. No more Notepad and DOS Prompt
> for me! I configured a "Tool" called "Compile DASM" so I can hit Ctrl+1
> from the source screen and it will compile (as well as give me the verbose
> output). Just like a real IDE! :)
> 2) For the current lack of a better name (Thanks, Ron :) I will use
> "SCSISIDE" as a working name.. It was short enough to make a decent logo
> for in Photoshop, which I did. Serves as a good placeholder, if nothing
> 3) I've integrated the original 6-digit score display from Robin Harbron
> (not the double-height that Andrew just posted) into my code. So far, so
> good (but see below)
> 4) Drew and added A-F characters into my score table. I figure this is
> fitting for a game that has a computer-theme. I re-did the score display
> routines, since I'm only using 3-bytes to hold the score (e.g., FF FF FF
> a maximum score). This will give a max score of 16,777,215. That should be
> plenty, considering I plan to give 1 point per data block read.
> Here's my problem: When E or F is in the least significant position (e.g.,
> ABCDEE, 12345F, etc.) the screen starts to flicker - I'm assuming it's a
> timing issue, but maybe someone can spot the problem? None of the other
> digit positions have this problem. I've commented out most of the rest of
> my code, since I wanted to make sure I can draw the score properly before
> bringing everything else back in. Source code (zipped) and .BIN attached.
> I'm using StellaX only and haven't tried it on anything else. Also, please
> don't criticize the rest of my code, yet :)
> Hope you're all having a good weekend!
> Joe

Archives (includes files) at
Unsub & more at

Current Thread