[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