[stella] RESPx and player positions

Subject: [stella] RESPx and player positions
From: bwmott@xxxxxxxxxxxx
Date: Sun, 19 Apr 1998 09:36:13 -0400 (EDT)
> This works for players.  Not to confuse you further, but the "mystery 5
> pixel delay" is only 4 pixels for missiles and the ball, so you need to
> change the lda horztable,X to lda horztable+1,X .  Just warning you. :)

I've always wondered about these delays anyone have an idea why they're
there?  Also while writing Stella (the emulator) I noticed that Atlantis 
seems to position the left most gun during HBLANK so you would expect it 
to appear at pixel 0, however, they reposition the player ~3 pixels to the 
left.  This seems to imply that it really positions it at pixel 3 and not
pixel 0 like the Stella Programming Guide says.  To see what I mean fire 
Atlantis up under PCAE and notice that the left gun is half-way off the 

Also, I've been playing with fixing the RESPx trick for Stella and trying
to figure out why it working like it does.  The way I understand it is
that if you set the player for 2 or 3 copies and then hit RESPx at
the right times you can get the 2nd and 3rd copies to appear multiple
times.  Now I understand why this works since the counters would trigger
serial output each time they count to the correct values.  What I'm
not so sure about is why the 1st copy is not displayed :-)  

My initial guess was that if you do a STA to RESP0 then the counter is reset 
to 0 at the end of the STA and the counter decode circuit doesn't see this 
as a 0 crossing count.  However, it would seem to me that doing an RESP0
during HBLANK (as trick.a65 does) would end up showing the 1st player 
but it doesn't.

Now both of these are a little strange when you consider that there's also
the 5 pixel delay associated with the players after RESP0.

So it seems that after an RESP0 the player is disabled or maybe it's the
counter decode circuit that's disabled for some number of cycles.  Any 
ideas as to why and how many pixels it's disabled for?

Also Glenn Saunders talks about the 2600 using poly-counter logic in one
of his postings.  I always assumed it used a digital counter.  What are
the differences?  Maybe this could explain some of these effects?

A few more questions on players :-)

  1) Has anyone tried changing the graphics of a player while it's being

  2) Has anyone tried changing the graphics of a quad size player during
     the middle of a quad size pixel while it being scanned?   If so
     is the original pixel scanned or the new one?

  3) Has anyone tried changing the reflection register of a player while
     it's being scanned?


Bradford W. Mott (bwmott@xxxxxxx)          Computer Science Department
http://www4.ncsu.edu/~bwmott/www           North Carolina State University

Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://www.biglist.com/lists/stella/stella.html

Current Thread