2017-07-05 14:45:19 +00:00
|
|
|
|
PR#3
|
|
|
|
|
PREFIX /A2OSX.BUILD
|
|
|
|
|
LOMEM $A00
|
|
|
|
|
INC 1
|
|
|
|
|
AUTO 6
|
|
|
|
|
.LIST OFF
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
* BitBlt
|
2017-11-16 16:46:18 +00:00
|
|
|
|
* S.CB.X1 : SrcX1 in bitmap/mask
|
|
|
|
|
* S.CB.Y1 : SrcY1
|
|
|
|
|
* S.CB.X2 : SrcX2
|
|
|
|
|
* S.CB.Y2 : SrcY2
|
|
|
|
|
|
|
|
|
|
* S.CB.DestX : Destination X (screen)
|
|
|
|
|
* S.CB.DestY : Destination Y (screen)
|
|
|
|
|
|
|
|
|
|
* S.CB.SrcPtr : pointer to S.BM
|
|
|
|
|
* S.CB.DstPtr : pointer to Save Buffer
|
2017-07-05 14:45:19 +00:00
|
|
|
|
*--------------------------------------
|
2017-11-16 16:46:18 +00:00
|
|
|
|
BITBLT >LDYA CB.CACHE+S.CB.SrcPtr
|
|
|
|
|
>STYA ZPBMDataPtr
|
|
|
|
|
|
|
|
|
|
ldy #S.BM-1
|
|
|
|
|
|
|
|
|
|
.1 lda (ZPBMDataPtr),y
|
|
|
|
|
sta BM.Cache,y
|
|
|
|
|
dey
|
|
|
|
|
bpl .1
|
|
|
|
|
|
|
|
|
|
lda ZPBMDataPtr
|
|
|
|
|
clc
|
|
|
|
|
adc #S.BM
|
|
|
|
|
sta ZPBMDataPtr
|
|
|
|
|
bcc .2
|
|
|
|
|
|
|
|
|
|
inc ZPBMDataPtr+1
|
|
|
|
|
|
|
|
|
|
.2 >LDYA CB.Cache+S.CB.Y1
|
|
|
|
|
ldx BM.Cache+S.BM.RowBytes
|
|
|
|
|
|
|
|
|
|
jsr YAMultX
|
|
|
|
|
|
|
|
|
|
pha
|
|
|
|
|
tya
|
|
|
|
|
clc
|
|
|
|
|
adc ZPBMDataPtr
|
|
|
|
|
sta ZPBMDataPtr
|
|
|
|
|
pla
|
|
|
|
|
pha
|
|
|
|
|
adc ZPBMDataPtr+1
|
|
|
|
|
sta ZPBMDataPtr+1
|
|
|
|
|
|
|
|
|
|
tya
|
|
|
|
|
adc BM.Cache+S.BM.MASK.OFS
|
|
|
|
|
sta ZPBMMaskPtr
|
|
|
|
|
pla
|
|
|
|
|
adc BM.Cache+S.BM.MASK.OFS+1
|
|
|
|
|
sta ZPBMMaskPtr+1
|
|
|
|
|
|
|
|
|
|
lda CB.Cache+S.CB.X1
|
2017-11-17 07:09:39 +00:00
|
|
|
|
pha
|
2017-11-16 16:46:18 +00:00
|
|
|
|
and #7 we have to shift right!!!
|
|
|
|
|
tax
|
2017-11-17 07:09:39 +00:00
|
|
|
|
pla
|
|
|
|
|
|
|
|
|
|
lsr CB.Cache+S.CB.X1+1
|
|
|
|
|
ror
|
|
|
|
|
lsr CB.Cache+S.CB.X1+1
|
|
|
|
|
ror
|
|
|
|
|
lsr CB.Cache+S.CB.X1+1
|
|
|
|
|
ror
|
2017-11-16 16:46:18 +00:00
|
|
|
|
|
|
|
|
|
pha
|
|
|
|
|
clc
|
|
|
|
|
adc ZPBMDataPtr
|
|
|
|
|
sta ZPBMDataPtr
|
|
|
|
|
bcc .3
|
|
|
|
|
|
|
|
|
|
inc ZPBMDataPtr+1
|
|
|
|
|
|
|
|
|
|
.3 pla
|
|
|
|
|
adc ZPBMMaskPtr
|
|
|
|
|
sta ZPBMMaskPtr
|
|
|
|
|
bcc .4
|
|
|
|
|
|
|
|
|
|
inc ZPBMMaskPtr+1
|
|
|
|
|
|
|
|
|
|
.4
|
|
|
|
|
|
2017-07-05 14:45:19 +00:00
|
|
|
|
clc
|
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
MAN
|
2017-11-14 16:57:34 +00:00
|
|
|
|
SAVE /A2OSX.SRC/DRV/DHGR.DRV.S.RECT
|
2017-07-05 14:45:19 +00:00
|
|
|
|
LOAD /A2OSX.SRC/DRV/DHGR.DRV.S
|
|
|
|
|
ASM
|