|
Subject: [stella] Math riddle : Loading TIM64T with 43 burns only 36 scanlines (not 37) From: Christian Bogey <khryssun@xxxxxxxx> Date: Mon, 10 May 2004 15:09:52 +0200 (CEST) |
I noticed the latest demos I wrote generated only 261
scanlines instead of 262...the only thing I changed
was the use of TIM64T (instead of looping 37 WSYNC)
for the Vertical Blank, so I made some tests and I
located the source of the problem :
Using the following code burns only 36 scanlines
instead of 37 (?!?) :
LDA #43
STA TIM64T
Wait_VBLANK_End
LDA INTIM
BNE Wait_VBLANK_End
STA WSYNC
But I don't understand why !!! indeed :
- Storing 43 into TIM64T burns 43*64 = 2752 cycles
- so when INTIM reaches 0 : 2752/76 cycles = 36.21
scanlines were burnt.
- so wainting till the end of the current line with
STA WSYNC should give us 37 scanlines burnt.
Right ? Wrong !
It works in theory but doesn't seems to work in
practice.
I've included a demo to this post (with the source)
that just do the Vertical Sync and the Vertical Blank
Period using TIM64T :
The program doesn't display anything. It should be run
with the DOS version of Z26. Launch it then press
alt-9 to display the number of scanlines generated =
39 instead of 40 (!?!)
I don't understand where I'am wrong !
Does anyone see where I'am making a mistake ?
This drives me crazy !
Take care,
Chris
Yahoo! Mail : votre e-mail personnel et gratuit qui vous suit partout !
Créez votre Yahoo! Mail sur http://fr.benefits.yahoo.com/
Dialoguez en direct avec vos amis grâce à Yahoo! Messenger !Téléchargez Yahoo! Messenger sur http://fr.messenger.yahoo.comAttachment:
Bad_VBLANK.asm
Description: Bad_VBLANK.asm
Attachment:
Bad_VBLANK.bin
Description: Bad_VBLANK.bin
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Aw: Re: [stella] OT: I'm Doomed, cybergoth | Thread | Re: [stella] Math riddle : Loading , Chris Wilkson |
| Aw: Re: Aw: Re: Aw: Re: [stella] As, cybergoth | Date | Re: [stella] Math riddle : Loading , Chris Wilkson |
| Month |