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 RESP0/RESP1 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? -- KirkIsrael@xxxxxxxxxxxxx http://kisrael.com "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 http://www.biglist.com/lists/stella/archives/ Unsub & more at http://www.biglist.com/lists/stella/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[stella] How to use RESMP0 and RESM, Ruffin Bailey | Thread | Re: [stella] 2600 Radial Pong / Jou, Ruffin Bailey |
Re: [stella] 2600 Radial Pong, Andrew Davie | Date | Re: [stella] 2600 Radial Pong / Jou, Ruffin Bailey |
Month |