mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-25 20:33:13 +00:00
162 lines
2.6 KiB
Plaintext
162 lines
2.6 KiB
Plaintext
|
NEW
|
|||
|
AUTO 3,1
|
|||
|
*--------------------------------------
|
|||
|
PTR.Update lda PTR.T
|
|||
|
cmp #PTR.T.WAIT
|
|||
|
bcc PTR.Set.RTS
|
|||
|
|
|||
|
inc
|
|||
|
inc
|
|||
|
cmp #PTR.T.WAIT+12
|
|||
|
bne PTR.Set
|
|||
|
|
|||
|
lda #PTR.T.WAIT
|
|||
|
*--------------------------------------
|
|||
|
* Set X2,Y2,SrcPtr
|
|||
|
*--------------------------------------
|
|||
|
PTR.Set sta PTR.T
|
|||
|
|
|||
|
lda PTR.bVisible
|
|||
|
bpl .1
|
|||
|
|
|||
|
jsr PTR.Hide.I
|
|||
|
|
|||
|
.1 ldx PTR.T
|
|||
|
lda L.Cursors,x
|
|||
|
sta CB.PTR+S.CB.SrcPtr
|
|||
|
sta ZPPtr1
|
|||
|
lda L.Cursors+1,x
|
|||
|
sta CB.PTR+S.CB.SrcPtr+1
|
|||
|
sta ZPPtr1+1
|
|||
|
|
|||
|
ldy #S.BM.W
|
|||
|
lda (ZPPtr1),y
|
|||
|
sta CB.PTR+S.CB.SrcW
|
|||
|
|
|||
|
clc
|
|||
|
adc CB.PTR+S.CB.X1
|
|||
|
pha
|
|||
|
|
|||
|
iny
|
|||
|
lda (ZPPtr1),y
|
|||
|
sta CB.PTR+S.CB.SrcW+1
|
|||
|
adc CB.PTR+S.CB.X1+1
|
|||
|
tax
|
|||
|
pla
|
|||
|
bne .2
|
|||
|
|
|||
|
dex
|
|||
|
|
|||
|
.2 dec
|
|||
|
sta CB.PTR+S.CB.X2
|
|||
|
stx CB.PTR+S.CB.X2+1
|
|||
|
|
|||
|
iny S.BM.H
|
|||
|
lda (ZPPtr1),y
|
|||
|
sta CB.PTR+S.CB.SrcH
|
|||
|
|
|||
|
clc
|
|||
|
adc CB.PTR+S.CB.Y1
|
|||
|
pha
|
|||
|
|
|||
|
iny
|
|||
|
lda (ZPPtr1),y
|
|||
|
sta CB.PTR+S.CB.SrcH+1
|
|||
|
adc CB.PTR+S.CB.Y1+1
|
|||
|
tax
|
|||
|
pla
|
|||
|
bne .3
|
|||
|
|
|||
|
dex
|
|||
|
|
|||
|
.3 dec
|
|||
|
sta CB.PTR+S.CB.Y2
|
|||
|
stx CB.PTR+S.CB.Y2+1
|
|||
|
|
|||
|
lda PTR.bVisible
|
|||
|
bmi PTR.Show.I
|
|||
|
|
|||
|
PTR.Set.RTS rts
|
|||
|
*--------------------------------------
|
|||
|
* Set DestX,DestY
|
|||
|
*--------------------------------------
|
|||
|
PTR.SetPos >PULLW ZPPtr1
|
|||
|
lda PTR.bVisible
|
|||
|
bpl .1
|
|||
|
|
|||
|
jsr PTR.Hide.I
|
|||
|
|
|||
|
.1 ldy #S.POINT-1
|
|||
|
|
|||
|
.2 lda (ZPPtr1),y
|
|||
|
sta PTR.Pos,y
|
|||
|
dey
|
|||
|
bpl .2
|
|||
|
|
|||
|
lda PTR.bVisible
|
|||
|
bmi PTR.Show.I
|
|||
|
|
|||
|
clc
|
|||
|
rts
|
|||
|
*--------------------------------------
|
|||
|
PTR.Hide lda PTR.bVisible
|
|||
|
bpl .9
|
|||
|
|
|||
|
jsr PTR.Hide.I
|
|||
|
stz PTR.bVisible
|
|||
|
|
|||
|
.9 clc
|
|||
|
rts
|
|||
|
*--------------------------------------
|
|||
|
PTR.Show lda PTR.bVisible
|
|||
|
bmi .9
|
|||
|
|
|||
|
jsr PTR.Show.I
|
|||
|
dec PTR.bVisible
|
|||
|
|
|||
|
.9 rts
|
|||
|
*--------------------------------------
|
|||
|
PTR.Hide.I lda #S.CB.OP.RESTORE
|
|||
|
bra PTR.Draw.I
|
|||
|
*--------------------------------------
|
|||
|
PTR.Show.I ldx PTR.T
|
|||
|
lda PTR.Pos+S.POINT.X
|
|||
|
sec
|
|||
|
sbc PTR.HotPoints,x
|
|||
|
sta CB.PTR+S.CB.X1
|
|||
|
|
|||
|
lda PTR.Pos+S.POINT.X+1
|
|||
|
sbc #0
|
|||
|
sta CB.PTR+S.CB.X1+1
|
|||
|
|
|||
|
lda PTR.Pos+S.POINT.Y
|
|||
|
sec
|
|||
|
sbc PTR.HotPoints+1,x
|
|||
|
sta CB.PTR+S.CB.Y1
|
|||
|
|
|||
|
lda PTR.Pos+S.POINT.Y+1
|
|||
|
sbc #0
|
|||
|
sta CB.PTR+S.CB.Y1+1
|
|||
|
|
|||
|
lda #S.CB.OP.ORA+S.CB.OP.MASK+S.CB.OP.SAVE
|
|||
|
|
|||
|
PTR.Draw.I sta CB.PTR+S.CB.OP
|
|||
|
|
|||
|
>LDYA L.WND.Screen
|
|||
|
jsr OBJ.GetInCache
|
|||
|
|
|||
|
>LDYA L.CB.PTR
|
|||
|
jsr CLIP.YA
|
|||
|
bcs .8
|
|||
|
|
|||
|
jsr CB.GFXWrite
|
|||
|
|
|||
|
.8 clc
|
|||
|
|
|||
|
rts
|
|||
|
*--------------------------------------
|
|||
|
MAN
|
|||
|
SAVE usr/src/lib/libgui.s.ptr
|
|||
|
LOAD usr/src/lib/libgui.s
|
|||
|
ASM
|