Subject: Re: [stella] zero-read From: "Eckhard Stolberg" <Eckhard_Stolberg@xxxxxx> Date: Sun, 11 Feb 2001 16:05:09 +0100 |
> If you can do a CXCLR (clear all collision collision latches) closely > before this routine so that you can ensure that no collisions of any one > particular type will occur between the CXCLR and this routine, you can use > that collision register. (example: $x4 contains the collision latches for > missile 0 - playfield and missile 0 - ball. You can use $x4 to always > return 0 upon read, if you can ensure that such a collision will not > happen between a STA CXCLR instruction and this routine, which will be > true if either you're not using missile 0, you're not using PF or ball, or > you're in vblank.) Unfortunately that's only a possible zero not a guaranteed one. The lower bits in the collision registers are undefined. I _think_ that in most cases the VCS only drives the two collision bits and leaves the other six data bits to whatevers was on the bus. So if you would read from $x4, you would get a value of $x4 with the two highest bits set according to the collision latches. Video Pinball and the CompuMate both rely on this behaviour, which is why it took so long to emulate them correctly. But there also _might_ be some timing issues here, that _might_ affect the lower bits depending on how you read the register or something like that. For example Video Pinball plays fine on the 7800, while the CompuMate doesn't, because it returns a different value for the collision register in question than the 2600 would. So the only register that _might_ return zero most of the time would be $00, when none of it's collisions have been detected. But that's not a guarantee either. Ciao, Eckhard Stolberg - 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 -> |
---|---|---|
Re: [stella] illegal 6502, wizard | Thread | Re: [stella] QB, getting there..., Eckhard Stolberg |
[stella] Qb: Horizontal Positioning, Andrew Davie | Date | Re: [stella] QB, getting there..., Eckhard Stolberg |
Month |