mirror of
https://git.planet-casio.com/Lephenixnoir/gint.git
synced 2025-01-01 06:23:35 +01:00
topti: fix C_LIGHTEN and C_DARKEN
Light and dark were erroneously swapped in my documentation's formulae, but not in the way operands were cancelled when x=0, leading to strange results.
This commit is contained in:
parent
144ff90e37
commit
1906329552
1 changed files with 27 additions and 20 deletions
|
@ -24,7 +24,7 @@
|
||||||
.align 4
|
.align 4
|
||||||
_topti_asm_white:
|
_topti_asm_white:
|
||||||
add #-16, r4
|
add #-16, r4
|
||||||
add #-16, r5
|
nop
|
||||||
|
|
||||||
1: mov.l @r6+, r0
|
1: mov.l @r6+, r0
|
||||||
add #16, r4
|
add #16, r4
|
||||||
|
@ -35,9 +35,9 @@ _topti_asm_white:
|
||||||
and r0, r1
|
and r0, r1
|
||||||
and r0, r2
|
and r0, r2
|
||||||
mov.l r1, @r4
|
mov.l r1, @r4
|
||||||
add #16, r5
|
|
||||||
bf.s 1b
|
|
||||||
mov.l r2, @r5
|
mov.l r2, @r5
|
||||||
|
bf.s 1b
|
||||||
|
add #16, r5
|
||||||
|
|
||||||
rts
|
rts
|
||||||
nop
|
nop
|
||||||
|
@ -74,11 +74,14 @@ _topti_asm_dark:
|
||||||
mov.l r2, @r5
|
mov.l r2, @r5
|
||||||
and r0, r1
|
and r0, r1
|
||||||
/* (bubble) */
|
/* (bubble) */
|
||||||
mov.l r1, @r5
|
mov.l r1, @r4
|
||||||
add #16, r4
|
add #16, r4
|
||||||
bf.s 1b
|
bf.s 1b
|
||||||
add #16, r5
|
add #16, r5
|
||||||
|
|
||||||
|
rts
|
||||||
|
nop
|
||||||
|
|
||||||
.align 4
|
.align 4
|
||||||
_topti_asm_black:
|
_topti_asm_black:
|
||||||
1: mov.l @r6+, r0
|
1: mov.l @r6+, r0
|
||||||
|
@ -107,10 +110,14 @@ _topti_asm_invert:
|
||||||
1: mov.l @r6+, r0
|
1: mov.l @r6+, r0
|
||||||
dt r7
|
dt r7
|
||||||
mov.l @r4, r1
|
mov.l @r4, r1
|
||||||
xor r1, r0
|
xor r0, r1
|
||||||
mov.l r0, @r4
|
mov.l @r5, r2
|
||||||
bf.s 1b
|
xor r0, r2
|
||||||
|
mov.l r1, @r4
|
||||||
add #16, r4
|
add #16, r4
|
||||||
|
mov.l r2, @r5
|
||||||
|
bf.s 1b
|
||||||
|
add #16, r5
|
||||||
|
|
||||||
rts
|
rts
|
||||||
nop
|
nop
|
||||||
|
@ -125,17 +132,17 @@ _topti_asm_lighten:
|
||||||
mov.l @r5, r2
|
mov.l @r5, r2
|
||||||
add #16, r4
|
add #16, r4
|
||||||
mov.l @r4, r1
|
mov.l @r4, r1
|
||||||
mov r2, r3
|
mov r1, r3
|
||||||
xor r0, r3
|
xor r0, r3
|
||||||
not r0, r0
|
not r0, r0
|
||||||
or r0, r2
|
|
||||||
and r1, r2
|
|
||||||
mov.l r2, @r1
|
|
||||||
dt r7
|
|
||||||
or r0, r1
|
or r0, r1
|
||||||
and r3, r1
|
and r2, r1
|
||||||
mov.l r1, @r5
|
mov.l r1, @r5
|
||||||
|
dt r7
|
||||||
|
or r0, r2
|
||||||
|
and r3, r2
|
||||||
bf.s 1b
|
bf.s 1b
|
||||||
|
mov.l r2, @r4
|
||||||
|
|
||||||
rts
|
rts
|
||||||
nop
|
nop
|
||||||
|
@ -150,17 +157,17 @@ _topti_asm_darken:
|
||||||
mov.l @r5, r2
|
mov.l @r5, r2
|
||||||
add #16, r4
|
add #16, r4
|
||||||
mov.l @r4, r1
|
mov.l @r4, r1
|
||||||
mov r2, r3
|
mov r1, r3
|
||||||
xor r0, r3
|
xor r0, r3
|
||||||
and r0, r2
|
|
||||||
or r1, r2
|
|
||||||
dt r7
|
|
||||||
mov.l r2, @r4
|
|
||||||
and r0, r1
|
and r0, r1
|
||||||
or r3, r1
|
or r2, r1
|
||||||
/* (bubble) */
|
dt r7
|
||||||
mov.l r1, @r5
|
mov.l r1, @r5
|
||||||
|
and r0, r2
|
||||||
|
or r3, r2
|
||||||
|
/* (bubble) */
|
||||||
bf.s 1b
|
bf.s 1b
|
||||||
|
mov.l r2, @r4
|
||||||
|
|
||||||
rts
|
rts
|
||||||
nop
|
nop
|
||||||
|
|
Loading…
Reference in a new issue