mirror of
https://frontier.innolan.net/github/amigaos-cross-toolchain6.git
synced 2024-10-19 10:29:55 +00:00
60 lines
904 B
ArmAsm
60 lines
904 B
ArmAsm
#NO_APP
|
|
.text
|
|
.align 2
|
|
.globl _gfx_screenWidthBitBlitNoMask
|
|
_gfx_screenWidthBitBlitNoMask:
|
|
movem.l #16176,-(sp)
|
|
move.l 36(sp),d5
|
|
move.l 44(sp),d2
|
|
move.l 48(sp),d4
|
|
move.w d5,d3
|
|
and.w #15,d3
|
|
move.w 42(sp),d6
|
|
muls.w #200,d6
|
|
asr.w #3,d5
|
|
move.w d5,d7
|
|
ext.l d7
|
|
move.l d6,a3
|
|
lea (a3,d7.l),a2
|
|
lea (a0,a2.l),a2
|
|
muls.w #200,d1
|
|
asr.w #3,d0
|
|
move.w d0,d5
|
|
ext.l d5
|
|
move.l d1,a3
|
|
lea (a3,d5.l),a0
|
|
move.l a1,d5
|
|
add.l a0,d5
|
|
jsr _hw_waitBlitter
|
|
move.w d3,d0
|
|
moveq #12,d1
|
|
lsl.w d1,d0
|
|
or.w #2544,d0
|
|
move.l #14676032,a1
|
|
move.w d0,(a1)+
|
|
lsl.w d1,d3
|
|
move.w d3,(a1)
|
|
clr.w 4(a1)
|
|
move.w d2,a0
|
|
moveq #15,d0
|
|
add.l a0,d0
|
|
asr.l #4,d0
|
|
addq.l #1,d0
|
|
move.w d0,d1
|
|
add.w d0,d1
|
|
moveq #40,d2
|
|
sub.w d1,d2
|
|
move.w d2,34(a1)
|
|
move.w d2,36(a1)
|
|
move.l d5,14(a1)
|
|
move.l a2,18(a1)
|
|
move.w d4,d1
|
|
add.w d4,d1
|
|
add.w d1,d1
|
|
add.w d4,d1
|
|
lsl.w #6,d1
|
|
or.w d1,d0
|
|
move.w d0,22(a1)
|
|
movem.l (sp)+,#3324
|
|
rts
|