-.dsfc_loop:\r
- ldr r9, [r10], #4 @ read code\r
- bic r6, r6, #7 @ using pipeline\r
- tst r9, r9\r
- ldmeqfd sp!, {r4-r11,pc}\r
+DrawSpriteSHi:\r
+ @ draw next sprite\r
+ ldrb r0, [r10,#-1]!\r
+ ldr r1, =HighPreSpr\r
+@ ldr r8, [sp, #-4]\r
+ cmp r0, #0xff\r
+ ldmeqfd sp!, {r4-r11,pc} @ end of list\r
+ and r0, r0, #0x7f\r
+ add r0, r1, r0, lsl #3\r
+\r
+ ldr r9, [r0, #4] @ sprite[1]\r
+ mov r2, r9, asr #16 @ r2=sx\r
+\r
+ mov r9, r9, lsl #16\r
+ mov r3, r9, lsr #31 @ priority\r
+ mov r9, r9, lsr #16\r
+@ orr r9, r9, r8, lsl #31 @ r9=code|sh[31] @@ sh is always on here now\r
+ and r4, r9, #0x6000\r
+ orr r9, r9, r4, lsl #16\r
+ orr r9, r9, #0x90000000 @ r9=scc1 ???? ... <code> (s=shadow/hilight, cc=pal)\r
+ cmp r12,r9, lsr #28 @ sh/hi with pal3?\r
+ cmpne r3, #1 @ if not, is ir hi prio?\r
+ bne DrawSpriteSHi @ non-operator low sprite, already drawn\r