notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
overdraw eliminated in AS mode
[picodrive.git]
/
Pico
/
Draw.s
diff --git
a/Pico/Draw.s
b/Pico/Draw.s
index
dca251d
..
c620c74
100644
(file)
--- a/
Pico/Draw.s
+++ b/
Pico/Draw.s
@@
-1163,17
+1163,12
@@
das_no_prep:
\r
@ time to do some real work
\r
stmfd sp!, {r4-r11,lr}
\r
\r
@ time to do some real work
\r
stmfd sp!, {r4-r11,lr}
\r
- ldr r4, =rendstatus
\r
mov r12,#0xff
\r
mov r12,#0xff
\r
- ldr r4, [r4]
\r
strb r12,[r2,#1] @ set end marker
\r
add r10,r2, #2
\r
add r10,r10,r3 @ r10=HighLnSpr end
\r
\r
strb r12,[r2,#1] @ set end marker
\r
add r10,r2, #2
\r
add r10,r10,r3 @ r10=HighLnSpr end
\r
\r
- mov r8, r1, lsl #4
\r
- tst r4, #PDRAW_ACC_SPRITES
\r
- orrne r8, r8, #1
\r
- str r8, [sp, #-4] @ no calls after this point
\r
+ str r1, [sp, #-4] @ no calls after this point
\r
\r
.if OVERRIDE_HIGHCOL
\r
ldr r11,=HighCol
\r
\r
.if OVERRIDE_HIGHCOL
\r
ldr r11,=HighCol
\r
@@
-1196,7
+1191,7
@@
DrawSprite: @ was: unsigned int *sprite, int sh, int acc_sprites
mov r2, r0, lsr #7
\r
cmp r0, #0xff
\r
ldmeqfd sp!, {r4-r11,pc} @ end of list
\r
mov r2, r0, lsr #7
\r
cmp r0, #0xff
\r
ldmeqfd sp!, {r4-r11,pc} @ end of list
\r
- cmp r2, r8, lsr #
5
\r
+ cmp r2, r8, lsr #
1
\r
bne DrawSprite @ wrong priority
\r
and r0, r0, #0x7f
\r
add r0, r1, r0, lsl #3
\r
bne DrawSprite @ wrong priority
\r
and r0, r0, #0x7f
\r
add r0, r1, r0, lsl #3
\r
@@
-1220,7
+1215,7
@@
DrawSprite: @ was: unsigned int *sprite, int sh, int acc_sprites
mov r2, r9, asr #16 @ r2=sx
\r
mov r9, r9, lsl #16
\r
mov r9, r9, lsr #16
\r
mov r2, r9, asr #16 @ r2=sx
\r
mov r9, r9, lsl #16
\r
mov r9, r9, lsr #16
\r
- orr r9, r9, r8, lsl #
27 @ r9=code|sh[31]|as[27
]
\r
+ orr r9, r9, r8, lsl #
31 @ r9=code|sh[31
]
\r
\r
tst r9, #0x1000
\r
movne r4, r5, lsl #3
\r
\r
tst r9, #0x1000
\r
movne r4, r5, lsl #3
\r
@@
-1242,11
+1237,10
@@
DrawSprite: @ was: unsigned int *sprite, int sh, int acc_sprites
mov r5, r5, lsl #4 @ delta<<=4; // Delta of address
\r
and r4, r9, #0x6000
\r
orr r9, r9, r4, lsl #16
\r
mov r5, r5, lsl #4 @ delta<<=4; // Delta of address
\r
and r4, r9, #0x6000
\r
orr r9, r9, r4, lsl #16
\r
- orr
r9, r9, #0x10000000 @ r9=scc1 a??? ... <code> (s=shadow/hilight, cc=pal, a=acc_spr
)
\r
+ orr
s r9, r9, #0x10000000 @ r9=scc1 ???? ... <code> (s=shadow/hilight, cc=pal
)
\r
\r
\r
- orrs r3, r9, r9, lsl #4
\r
mov r3, r4, lsr #9 @ r3=pal=((code>>9)&0x30);
\r
mov r3, r4, lsr #9 @ r3=pal=((code>>9)&0x30);
\r
- orrmi r3, r3, #0x40 @ for sh
adow|as
\r
+ orrmi r3, r3, #0x40 @ for sh
/hi
\r
\r
add r6, r6, #1 @ inc now
\r
adds r0, r2, #0 @ mov sx to r0 and set ZV flags
\r
\r
add r6, r6, #1 @ inc now
\r
adds r0, r2, #0 @ mov sx to r0 and set ZV flags
\r