Re: [stella] 2600 Radial Pong / Joust Pong Update

Subject: Re: [stella] 2600 Radial Pong / Joust Pong Update
From: KirkIsrael@xxxxxxxxxxxxx
Date: 5 Jul 2002 12:52:37 -0000
> I am planning on using the joysticks, and when the button is pressed it
> will speed up the player.  Maybe I could also use the paddles in a
> different way where instead of the position being set directly by the
> paddle it would instead use the "centered" point of the paddle as no
> motion and then when moved off center that would be acceleration in a
> certain direction.  I want to avoid having an "edge" though.. this is a
> circular game :)

Yeah, I think "Gyruss" is the canonical 2600 example 
for the control scheme you might be thinking of.

WRT to horizontal sprite placement...I've been putting off 
thinking about this, but this is I think the relevant 
paragraph from the stella guide:

All position counters can be reset to zero count by the microprocessor at any time, by a write instruction to the reset addresses (RESBL, RESM0, RESMl, RESP0, RESPl). If reset occurs during horizontal blank, the object will appear at the left side of the television screen. Properly timed resets may position an object at any horizontal location consistent with the microprocessor cycle time. 

the easiest thing might be to "throw away" a scanline, trial
and error using NOPs 'til you're in the right place and then use 

Is that the kind of thing you were looking for? Hope I didn't 
misunderstand the question.

I wish my pong variant (has a java proof-of-concept as well) was going
as smoothly...actually it's not too too bad...
relatively low vertical resolution + enormously fast frame rate
makes for some surprising challenges, I implemented my usual trick
of adding vertical speed to vertical position every frame, and 
then adding to the vertical speed each frame to simulate gravity
(which, actually, is correct from a physics point of view) but very
quickly the thing started moving way too fast...adding 1 to speed
on account of gravity every N frames gave a much more pleasing result
than using right shifts to "divide" the current speed.

Currently my biggest issue is bounds checking.  I've been trying to 
keep it mathematical, i.e. comparing the vertical position to certain
constants for the floor and the ceiling, but I keep getting some odd
behaviorial results...I may be getting subtle errors by not really 
yet understanding carry bits and all that, in terms of subtraction.
(the only way I know to implement a "less than" style comparison
is to do a subtraction of the values and see if the result is negative)
I'll hack and it some more and only bring the code here if I can't 
figure it out on my own...

are there any other debuggers for the 2600, other than PCAE?

"May the wind always be at your back 
    but not coming out of you yourself personally"
          --Prairie Home Commonplace Book "Irish Envy"

Archives (includes files) at
Unsub & more at

Current Thread