Subject: Re: [stella] Why Timers refuse to work the way they should? From: Rodrigo Silva <stella@xxxxxxxxxxxxx> Date: Tue, 23 Sep 2003 21:44:24 -0300 |
The comment "has 5 cycles less" is not correct. Immediately before the above code is a sta WSYNC.
The 6502 halts to the start of the next line. Then 5 cycles are used (sta/ldx)
Then we enter the loop, which immediately does a WSYNC The *next* scanline starts with dex/bne (5 cycles, if the branch is taken and NOT over a page boundary)
SO each line in this kernel has a WSYNC followed by 5 cycles (management) followed by 68 cycles available for "stuff" on each line. Looks to me like this is an equal amount for each and every line - nothing particularly special about the first.
Another commenting issue...
;//////////////////////////////////////////////////////////////// ECHO [*-$F000+6]d,"out of 4096 ROM bytes used",[$FFF9-*]d,"bytes left"
I think that should be $FFFA-* If the current org is at $FFF9 you have, in fact, one byte available, not 0.
As to the "missing scanlines" I generally make it so its 'about right' with the timers, then chuck in another few "sta WSYNC" as required to get it to the exact number of scanlines required.
---------------------------------------------------------------------------------------------- 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] Why Timers refuse to w, Andrew Davie | Thread | Re: [stella] Timers "bug" discovere, Rodrigo Silva |
Re: [stella] Bounce: what next?, KirkIsrael | Date | Re: [stella] Bounce: what next?, Zach Matley |
Month |