2
0
mirror of https://frontier.innolan.net/github/amigaos-cross-toolchain6.git synced 2024-10-19 10:29:55 +00:00
Files
2017-09-05 20:29:17 +01:00

311 lines
4.3 KiB
ArmAsm

#NO_APP
.text
.align 2
.globl _gfx_fillRectSmallScreen
_gfx_fillRectSmallScreen:
movem.l #16190,-(sp)
move.l 48(sp),d4
move.l 52(sp),d3
moveq #15,d5
and.l d0,d5
move.l d5,d2
add.l d5,d2
lea _startBitPatterns.1038,a2
move.w (a2,d2.l),d7
move.w a1,d2
add.w d0,d2
moveq #15,d6
and.l d6,d2
add.l d2,d2
lea _endBitPatterns.1039,a2
move.w (a2,d2.l),a4
moveq #0,d2
move.w a1,d2
move.l d5,a1
lea 15(a1,d2.l),a1
move.l a1,d5
asr.l #4,d5
moveq #1,d2
cmp.l d5,d2
jeq .L19
mulu.w #200,d1
lsr.w #3,d0
and.l #65535,d0
add.l d1,d0
lea (a0,d0.l),a5
and.l #65535,d3
move.w d4,d2
lsl.w #6,d2
or.w #1,d2
move.l d5,d6
subq.l #1,d6
add.l d6,d6
move.w d5,d0
subq.w #2,d0
move.w d0,a0
add.w d0,a0
move.w #200,a1
sub.w a0,a1
move.w a1,a3
lsl.w #6,d4
or.w d0,d4
move.w d4,a6
moveq #1,d0
cmp.l d5,d0
jge .L20
.L3:
subq.l #2,d5
jeq .L21
moveq #0,d4
lea _hw_waitBlitter,a2
.L9:
moveq #1,d5
lsl.l d4,d5
and.l d3,d5
jsr (a2)
move.l #14676032,a0
move.w #970,(a0)+
clr.w (a0)+
move.w #-1,(a0)+
move.w #-1,(a0)+
move.w #198,30(a0)
move.w #198,24(a0)
clr.w 26(a0)
clr.w 28(a0)
move.w d7,44(a0)
tst.l d5
sne d0
ext.w d0
move.w d0,42(a0)
move.l a5,(a0)
move.l a5,12(a0)
move.w d2,16(a0)
jsr (a2)
move.l #14676032,a0
move.w #970,(a0)
move.w a4,52(a0)
move.l a5,d0
add.l d6,d0
move.l d0,8(a0)
move.l d0,20(a0)
move.w d2,24(a0)
jsr (a2)
move.w #256,d0
tst.l d5
jeq .L8
move.w #511,d0
.L8:
move.l #14676032,a0
move.w d0,(a0)
move.w a3,38(a0)
move.l a5,d0
addq.l #2,d0
move.l d0,20(a0)
move.w a6,24(a0)
lea (40,a5),a5
addq.l #1,d4
moveq #5,d0
cmp.l d4,d0
jne .L9
.L1:
movem.l (sp)+,#31996
rts
.L19:
move.w a4,d2
and.w d2,d7
mulu.w #200,d1
lsr.w #3,d0
and.l #65535,d0
add.l d1,d0
lea (a0,d0.l),a5
and.l #65535,d3
move.w d4,d2
lsl.w #6,d2
or.w #1,d2
move.l d5,d6
subq.l #1,d6
add.l d6,d6
move.w d5,d0
subq.w #2,d0
move.w d0,a0
add.w d0,a0
move.w #200,a1
sub.w a0,a1
move.w a1,a3
lsl.w #6,d4
or.w d0,d4
move.w d4,a6
moveq #1,d0
cmp.l d5,d0
jlt .L3
.L20:
moveq #0,d4
lea _hw_waitBlitter,a2
moveq #1,d6
.L4:
move.l d6,d5
lsl.l d4,d5
and.l d3,d5
jsr (a2)
move.l #14676032,a3
move.w #970,(a3)
clr.w 2(a3)
move.w #-1,4(a3)
move.w #-1,6(a3)
move.w #198,38(a3)
move.w #198,32(a3)
clr.w 34(a3)
clr.w 36(a3)
move.w d7,52(a3)
tst.l d5
sne d0
ext.w d0
move.w d0,50(a3)
move.l a5,8(a3)
move.l a5,20(a3)
move.w d2,24(a3)
lea (40,a5),a5
addq.l #1,d4
moveq #5,d1
cmp.l d4,d1
jeq .L1
move.l d6,d5
lsl.l d4,d5
and.l d3,d5
jsr (a2)
move.w #970,(a3)+
clr.w (a3)+
move.w #-1,(a3)+
move.w #-1,(a3)+
move.w #198,30(a3)
move.w #198,24(a3)
clr.w 26(a3)
clr.w 28(a3)
move.w d7,44(a3)
tst.l d5
sne d0
ext.w d0
move.w d0,42(a3)
move.l a5,(a3)
move.l a5,12(a3)
move.w d2,16(a3)
lea (40,a5),a5
addq.l #1,d4
moveq #5,d1
cmp.l d4,d1
jne .L4
jra .L1
.L21:
moveq #0,d5
lea _hw_waitBlitter,a2
moveq #1,d4
.L7:
move.l d4,d0
lsl.l d5,d0
and.l d3,d0
move.l d0,a3
jsr (a2)
move.l #14676032,a6
move.w #970,(a6)
clr.w 2(a6)
move.w #-1,4(a6)
move.w #-1,6(a6)
move.w #198,38(a6)
move.w #198,32(a6)
clr.w 34(a6)
clr.w 36(a6)
move.w d7,52(a6)
cmp.w #0,a3
sne d0
ext.w d0
move.w d0,50(a6)
move.l a5,8(a6)
move.l a5,20(a6)
move.w d2,24(a6)
jsr (a2)
move.w #970,(a6)
move.w a4,52(a6)
move.l a5,d0
add.l d6,d0
move.l d0,8(a6)
move.l d0,20(a6)
move.w d2,24(a6)
lea (40,a5),a5
addq.l #1,d5
moveq #5,d1
cmp.l d5,d1
jeq .L1
move.l d4,d0
lsl.l d5,d0
and.l d3,d0
move.l d0,a3
jsr (a2)
move.w #970,(a6)
clr.w 2(a6)
move.w #-1,4(a6)
move.w #-1,6(a6)
move.w #198,38(a6)
move.w #198,32(a6)
clr.w 34(a6)
clr.w 36(a6)
move.w d7,52(a6)
cmp.w #0,a3
sne d0
ext.w d0
move.w d0,50(a6)
move.l a5,8(a6)
move.l a5,20(a6)
move.w d2,24(a6)
jsr (a2)
move.w #970,(a6)
move.w a4,52(a6)
move.l a5,d0
add.l d6,d0
move.l d0,8(a6)
move.l d0,20(a6)
move.w d2,24(a6)
lea (40,a5),a5
addq.l #1,d5
moveq #5,d1
cmp.l d5,d1
jne .L7
jra .L1
.align 2
_endBitPatterns.1039:
.word -1
.word -32768
.word -16384
.word -8192
.word -4096
.word -2048
.word -1024
.word -512
.word -256
.word -128
.word -64
.word -32
.word -16
.word -8
.word -4
.word -2
.word -1
.align 2
_startBitPatterns.1038:
.word -1
.word 32767
.word 16383
.word 8191
.word 4095
.word 2047
.word 1023
.word 511
.word 255
.word 127
.word 63
.word 31
.word 15
.word 7
.word 3
.word 1
.word 0