X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=pico%2F32x%2Fdraw_arm.s;h=ba66fbf1fe30e1ec6f5d20ed361a57d6c1b9b34d;hb=f7e40c9b2e6d5ca446cb8c2edf9e7601dd9c97cd;hp=8ee8e87f6ab345f63bdc6246b15298eb5cfe3d61;hpb=7a961c19baab782879b7428e9a467113603b31c1;p=picodrive.git diff --git a/pico/32x/draw_arm.s b/pico/32x/draw_arm.s index 8ee8e87..ba66fbf 100644 --- a/pico/32x/draw_arm.s +++ b/pico/32x/draw_arm.s @@ -1,4 +1,10 @@ -@ vim:filetype=armasm +@* +@* PicoDrive +@* (C) notaz, 2010 +@* +@* This work is licensed under the terms of MAME license. +@* See COPYING file in the top-level directory. +@* .extern Pico32x .extern PicoDraw2FB @@ -71,6 +77,7 @@ Pico32xNativePal: ldr r9, =HighPal @ palmd and r4, r2, #0xff mov r5, #328 + lsl r3, #26 @ mdbg << 26 mla r11,r4,r5,r11 @ r11 = pmd = PicoDraw2FB + offs*328: md data tst r10,#P32XV_PRI moveq r10,#0 @@ -101,7 +108,7 @@ Pico32xNativePal: subs r6, r6, #1 blt 0b @ loop_outer ldrh r8, [r5], #2 @ 32x pixel - cmp r7, r3 @ MD has bg pixel? + cmp r3, r7, lsl #26 @ MD has bg pixel? beq 3f @ draw32x eor r12,r8, r10 ands r12,r12,#0x8000 @ !((t ^ inv) & 0x8000) @@ -139,6 +146,7 @@ Pico32xNativePal: ldr r9, =HighPal @ palmd and r4, r2, #0xff mov r5, #328 + lsl r3, #26 @ mdbg << 26 mla r11,r4,r5,r11 @ r11 = pmd = PicoDraw2FB + offs*328: md data call_scan_prep \call_scan @@ -185,14 +193,14 @@ Pico32xNativePal: tst r12,#0x20 ldrneb r12,[r11,#-2] @ MD pixel 0 eor lr, r8, #0x20 - cmpne r12,r3 @ MD has bg pixel? + cmpne r3, r12, lsl #26 @ MD has bg pixel? .if \do_md mov r12,r12,lsl #1 ldrneh r7, [r9, r12] @ t = palmd[pmd[0]] tst lr, #0x20 ldrneb lr, [r11,#-1] @ MD pixel 1 strh r7, [r0], #2 - cmpne lr, r3 @ MD has bg pixel? + cmpne r3, lr, lsl #26 @ MD has bg pixel? mov lr, lr, lsl #1 ldrneh r8, [r9, lr] @ t = palmd[pmd[1]] strh r8, [r0], #2 @@ -201,7 +209,7 @@ Pico32xNativePal: tst lr, #0x20 ldrneb lr, [r11,#-1] @ MD pixel 1 add r0, r0, #4 - cmpne lr, r3 @ MD has bg pixel? + cmpne r3, lr, lsl #26 @ MD has bg pixel? streqh r8, [r0, #-2] .endif b 2b @ loop_inner @@ -259,12 +267,12 @@ Pico32xNativePal: 9: @ bg_mode: ldrb r12,[r11],#1 @ MD pixel ldrb lr, [r11],#1 - cmp r12,r3 @ MD has bg pixel? + cmp r3, lr, lsl #26 @ MD has bg pixel? .if \do_md mov r12,r12,lsl #1 ldrneh r12,[r9, r12] @ t = palmd[*pmd] moveq r12,r7 - cmp lr, r3 + cmp r3, lr, lsl #26 mov lr, lr, lsl #1 ldrneh lr, [r9, lr] moveq lr, r7 @@ -272,7 +280,7 @@ Pico32xNativePal: strh lr, [r0], #2 .else streqh r7, [r0] - cmp lr, r3 + cmp r3, lr, lsl #26 streqh r7, [r0, #2] add r0, r0, #4 .endif @@ -296,6 +304,7 @@ Pico32xNativePal: ldr r9, =HighPal @ palmd and r4, r2, #0xff mov r5, #328 + lsl r3, #26 @ mdbg << 26 mla r11,r4,r5,r11 @ r11 = pmd = PicoDraw2FB + offs*328: md data call_scan_prep \call_scan @@ -329,7 +338,7 @@ Pico32xNativePal: ldrb r7, [r11], #1 @ MD pixel subs r6, r6, #1 blt 0b @ loop_outer - cmp r7, r3 @ MD has bg pixel? + cmp r3, r7, lsl #26 @ MD has bg pixel? mov r7, r7, lsl #1 tstne lr, #0x20 .if \do_md @@ -361,3 +370,4 @@ make_do_loop_rl do_loop_rl_md, 0, 1 make_do_loop_rl do_loop_rl_scan, 1, 0 make_do_loop_rl do_loop_rl_scan_md, 1, 1 +@ vim:filetype=armasm