Re: [stella] Arrrg, Arrrg, and Double Arrrg!!!

Subject: Re: [stella] Arrrg, Arrrg, and Double Arrrg!!!
From: Chris Cracknell <crackers@xxxxxxxx>
Date: Wed, 15 Apr 1998 17:09:53 -0400 (EDT)
In article <3.0.1.32.19980415151656.0076840c@xxxxxxxxxxxxxxxxxxxxx>, you wrote:

>The same behaviour occurs on my system too and the problem lies here:
>
>>        ldx  #$ab
>>blow    sta  WSYNC
>>        dex
>>        bpl  blow
>>        rts
>
>When X is decreased to $7f the branch isn't taken anymore and
>therefore you are doing a lot less lines than you wanted to.
>Your TV isn't ready to sync again after such a small number
>of lines and just goes on displaying. The black stipes in your
>display is the VBLANK routine.
~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~

How the heckety heck did you figure out that the branch wasn't being
taken after $7F? 

Changing the BPL to BNE fixed the problem, although I don't know why the
problem existed in the first place. I can't see what would make the
BLOW routine stop at $7F with a BPL in there, unless there is something
about the nature of BPL that I just don't understand. Doesn't it just
branch if the result is a positive number? BEQ branches if the result is
zero, BMI branches if the result is a negative number, and BNE branches if
the result is anything other than zero.

~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~
>BTW your VSYNC routine is of the kind, that doesn't work on my 
>Supercharger. Please move the TIM64T stuff out of that routine.
>And two of the three WSYNCs before the VSYNC are not nessessary.
~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~

Yeah, that VSYNC routine was pretty sloppy. I've pushed and pulled it out
of a lot of programs now so I've trimmed it down and changed the location
of the TIM64T.

Although I don't see how code in the VSYNC could affect your Supercharger.
Is it your Supercharger that goes wonky or is it that your TV set won't
sync to it?

The timers set up for the VBLANK and Overscan arn't accurate to the
cycle (or maybe even scanline!) so it might mean I'd need to adjust the
timer value then pad it with a few WSYNCs to get a VBLANK and Overscan
that will work on all TVs.

But I've cleaned up the VSYNC. I've got the program running successfully
on my machine now so I'll send the new BIN up here you can tell me if it'll
work on your machine now.

Maybe PAL TVs are more sensative to these timing issues.

Here's the new VSYNC segment of the vertical blank...

vertb	LDA  #$02           
	STA  VSYNC        
	STA  WSYNC         
	STA  WSYNC        
        STA  WSYNC
	LDA  #$00        
     	STA  VSYNC
	LDA  #$2C
	STA  TIM64T 
	RTS


                                  CRACKERS
                        (Dazed and confused from hell!!!)

-- 

Accordionist - Wethifl Musician - Atari 2600 Collector | /\/\
*NEW CrAB URL* http://www.hwcn.org/~ad329/crab.html ***| \^^/
Bira Bira Devotee - FES Member - Samurai Pizza Cats Fan| =\/=


--
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://www.biglist.com/lists/stella/stella.html
Don't post pirate BINs to Stellalist.  Be a programmer, not a pirate.
Write the best game, win framed autographs of famous Atari alumni!!

Current Thread