X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=render8%20orr.S;fp=render8%20orr.S;h=e58c068d494fce980d70cbb97fb730a2af746489;hb=3ddd6d5ea2811b783bf349c8947cf1bbaaf3c8b9;hp=0000000000000000000000000000000000000000;hpb=216db9a70039a71abbbe9303d4560a9a93e639a5;p=drnoksnes diff --git a/render8 orr.S b/render8 orr.S new file mode 100644 index 0000000..e58c068 --- /dev/null +++ b/render8 orr.S @@ -0,0 +1,218 @@ + .global asmDrawTile8_noflip + .global asmDrawTile8_hflip + .global asmDrawTile8_hvflip + .global asmDrawTile8_vflip + .global asmDrawTile8T_noflip + .global asmDrawTile8T_hflip + .global asmDrawTile8T_hvflip + .global asmDrawTile8T_vflip + + ;@ ############################### + .macro DRAWTILE_NOFLIP + ;@ ############################### + ldr r3,[r0],#4 + + ands r12,r3,#0x0000000F + orrne r12,r1,r12 + strneb r12,[r2,#0] + + ands r12,r3,#0x000000F0 + orrne r12,r1,r12,lsr#4 + strneb r12,[r2,#1] + + ands r12,r3,#0x00000F00 + orrne r12,r1,r12,lsr#8 + strneb r12,[r2,#2] + + ands r12,r3,#0x0000F000 + orrne r12,r1,r12,lsr#12 + strneb r12,[r2,#3] + + ands r12,r3,#0x000F0000 + orrne r12,r1,r12,lsr#16 + strneb r12,[r2,#4] + + ands r12,r3,#0x00F00000 + orrne r12,r1,r12,lsr#20 + strneb r12,[r2,#5] + + ands r12,r3,#0x0F000000 + orrne r12,r1,r12,lsr#24 + strneb r12,[r2,#6] + + ands r12,r3,#0xF0000000 + orrne r12,r1,r12,lsr#28 + strneb r12,[r2,#7] + + add r2,r2,#320 + .endm + + ;@ ############################### + .macro DRAWTILE_HFLIP + ;@ ############################### + ldr r3,[r0],#4 + + ands r12,r3,#0x0000000F + orrne r12,r1,r12 + strneb r12,[r2,#7] + + ands r12,r3,#0x000000F0 + orrne r12,r1,r12,lsr#4 + strneb r12,[r2,#6] + + ands r12,r3,#0x00000F00 + orrne r12,r1,r12,lsr#8 + strneb r12,[r2,#5] + + ands r12,r3,#0x0000F000 + orrne r12,r1,r12,lsr#12 + strneb r12,[r2,#4] + + ands r12,r3,#0x000F0000 + orrne r12,r1,r12,lsr#16 + strneb r12,[r2,#3] + + ands r12,r3,#0x00F00000 + orrne r12,r1,r12,lsr#20 + strneb r12,[r2,#2] + + ands r12,r3,#0x0F000000 + orrne r12,r1,r12,lsr#24 + strneb r12,[r2,#1] + + ands r12,r3,#0xF0000000 + orrne r12,r1,r12,lsr#28 + strneb r12,[r2,#0] + + add r2,r2,#320 + .endm + + ;@ ############################### + .macro DRAWTILE_HVFLIP + ;@ ############################### + ldr r3,[r0],#4 + + ands r12,r3,#0x0000000F + orrne r12,r1,r12 + strneb r12,[r2,#7] + + ands r12,r3,#0x000000F0 + orrne r12,r1,r12,lsr#4 + strneb r12,[r2,#6] + + ands r12,r3,#0x00000F00 + orrne r12,r1,r12,lsr#8 + strneb r12,[r2,#5] + + ands r12,r3,#0x0000F000 + orrne r12,r1,r12,lsr#12 + strneb r12,[r2,#4] + + ands r12,r3,#0x000F0000 + orrne r12,r1,r12,lsr#16 + strneb r12,[r2,#3] + + ands r12,r3,#0x00F00000 + orrne r12,r1,r12,lsr#20 + strneb r12,[r2,#2] + + ands r12,r3,#0x0F000000 + orrne r12,r1,r12,lsr#24 + strneb r12,[r2,#1] + + ands r12,r3,#0xF0000000 + orrne r12,r1,r12,lsr#28 + strneb r12,[r2,#0] + + sub r2,r2,#320 + .endm + + ;@ ############################### + .macro DRAWTILE_VFLIP + ;@ ############################### + ldr r3,[r0],#4 + + ands r12,r3,#0x0000000F + orrne r12,r1,r12 + strneb r12,[r2,#0] + + ands r12,r3,#0x000000F0 + orrne r12,r1,r12,lsr#4 + strneb r12,[r2,#1] + + ands r12,r3,#0x00000F00 + orrne r12,r1,r12,lsr#8 + strneb r12,[r2,#2] + + ands r12,r3,#0x0000F000 + orrne r12,r1,r12,lsr#12 + strneb r12,[r2,#3] + + ands r12,r3,#0x000F0000 + orrne r12,r1,r12,lsr#16 + strneb r12,[r2,#4] + + ands r12,r3,#0x00F00000 + orrne r12,r1,r12,lsr#20 + strneb r12,[r2,#5] + + ands r12,r3,#0x0F000000 + orrne r12,r1,r12,lsr#24 + strneb r12,[r2,#6] + + ands r12,r3,#0xF0000000 + orrne r12,r1,r12,lsr#28 + strneb r12,[r2,#7] + + sub r2,r2,#320 + .endm + + +asmDrawTile8_noflip: + DRAWTILE_NOFLIP + DRAWTILE_NOFLIP + DRAWTILE_NOFLIP + DRAWTILE_NOFLIP + DRAWTILE_NOFLIP + DRAWTILE_NOFLIP + DRAWTILE_NOFLIP + DRAWTILE_NOFLIP + mov pc,lr + +asmDrawTile8_hflip: + DRAWTILE_HFLIP + DRAWTILE_HFLIP + DRAWTILE_HFLIP + DRAWTILE_HFLIP + DRAWTILE_HFLIP + DRAWTILE_HFLIP + DRAWTILE_HFLIP + DRAWTILE_HFLIP + mov pc,lr + +asmDrawTile8_hvflip: + DRAWTILE_HVFLIP + DRAWTILE_HVFLIP + DRAWTILE_HVFLIP + DRAWTILE_HVFLIP + DRAWTILE_HVFLIP + DRAWTILE_HVFLIP + DRAWTILE_HVFLIP + DRAWTILE_HVFLIP + mov pc,lr + +asmDrawTile8_vflip: + DRAWTILE_VFLIP + DRAWTILE_VFLIP + DRAWTILE_VFLIP + DRAWTILE_VFLIP + DRAWTILE_VFLIP + DRAWTILE_VFLIP + DRAWTILE_VFLIP + DRAWTILE_VFLIP + mov pc,lr + + + + +