[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [MiNT] Supexec taking one VBL?
the code just sets a temp to -1 or 0. I don't think that would change
the background screen color.
  
Oh yeah, I attached old version, shame on me. I attached correct one 
now, where you can see that effect -- under TOS, screen borders (ignore 
the area in the middle) are black all the time. Under FreeMiNT, in the 
first moment it looks right but after 2-3 seconds you'll notice white 
flashes here and there -- the effect of random signalization of 
Supexec(); when you try to move mouse or type something on keyboard, 
it's get even worser.
I don't see how it makes it a lot harder. What if you simply moved the
Vsync to the mark_super subroutine? Wouldn't that fix the issue?
  
On the contrary, the opposite thing will happen -- we have some tight 
60fps effect... we call our supexec'ed code... this calling takes some 
time... then we're going to wait for VBL... the result is when we miss 
that VBL (Supexec() wasn't fast enough) we're going wait until NEXT VBL 
is going to occur. Try to move Vsync() into mark_super and you'll see. 
Even under TOS it is disaster (nearly every VBL missed).
--
MiKRO / Mystic Bytes
http://mikro.atari.org
		COMMENT	HEAD=%111
		
		pea	set_res
		move.w	#$26,-(sp)
		trap	#14
		addq.l	#6,sp
loop:		move.w	#$25,-(sp)
		trap	#14
		addq.l	#2,sp
		
		move.l	#-1,temp
		bsr	mark
		bsr	xxx
		move.l	#0,temp
		bsr	mark
		
		bra	loop
mark:		pea	mark_super
		move.w	#$26,-(sp)
		trap	#14
		addq.l	#6,sp
		rts
	
mark_super:	move.l	temp,$ffff9800.w
		rts
		
xxx:		move.w	#5000-1,d7
.loop:		;nop
		;nop
		;nop
		;nop
		;nop
		;nop
		;nop
		;nop
		nop
		dbra	d7,.loop
		rts
		
temp:		ds.l	1
* Monitor: VGA
* 160*240, 16 Farben, 60.0 Hz, 31470 Hz
set_res:
	MOVE.L   #$C6008D,$FFFF8282.W
        MOVE.L   #$150012,$FFFF8286.W
        MOVE.L   #$1B0097,$FFFF828A.W
        MOVE.L   #$41903FF,$FFFF82A2.W
        MOVE.L   #$3F003D,$FFFF82A6.W
        MOVE.L   #$3FD0415,$FFFF82AA.W
        MOVE.W   #$200,$FFFF820A.W
        MOVE.W   #$186,$FFFF82C0.W
        CLR.W    $FFFF8266.W
        MOVE.W   #$0,$FFFF8266.W
        MOVE.W   #$5,$FFFF82C2.W
        MOVE.W   #$28,$FFFF8210.W
	rts