Re: [stella] asymmetrical playfields

Subject: Re: [stella] asymmetrical playfields
From: Erik Mooney <erik@xxxxxxxxxx>
Date: Thu, 20 Sep 2001 19:01:19 -0400
>I took the most recent code example and tried to make it work with a 
>mirrored playfield instead of a repeated playfield.  After inserting the 
>proper number of NOPs I got it to overwrite PF2 at the right cycle, but as 
>I added the rest of the load/stores it bugged out the screen.
>I think the problem is that that the extra logic is at the tail end of the 
>scanline, the incrementing of the various counters, and that is going over 
>76 scanlines (well, 74 if you count the WSYNC).
>But the cycle count according to my calculations should be low enough to 
>not go over the maximum.

Well, post the code.  Offhand, I'd guess you've an error in cycle counting
somewhere.  In particular, indexing or running across page boundaries is a
gremlin that likes to mess with your timing.

Easy way to tell if you've got the counting correct is to insert NOPs and
other dummy instructions until you have exactly 76 cycles on a scanline
_without_ WSYNC.  Then if your screen gradually gets more corrupt going
down, you definitely have your count wrong.  If not, then it's correct and
there's another problem.

>By doing PF0PF1PF2 PF0PF1PF2, both the 2nd PF0 and PF2 would need to be 
>4-bits wide and I'd have to do bitmasking operations on them.  Messy.  

You'd do that offscreen.  You can just do normal load/store operations
during the kernel, though it'd take a bit more RAM.  My INV is PF 012012
and uses lots of RAM for the playfield.

Archives (includes files) at
Unsub & more at

Current Thread