mirror of
https://github.com/A2osX/A2osX.git
synced 2025-04-01 14:29:40 +00:00
Kernel 0.94
This commit is contained in:
parent
3a3d82f7e6
commit
2fc1034a9d
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,16 +1,15 @@
|
||||
NEW
|
||||
PREFIX
|
||||
AUTO 4,1
|
||||
AUTO 3,1
|
||||
.LIST OFF
|
||||
.OP 65C02
|
||||
.OR $2000
|
||||
.TF ROOT/FNT2FON
|
||||
.TF bin/fnt2fon
|
||||
*--------------------------------------
|
||||
.INB INC/MACROS.I
|
||||
.INB INC/A2OSX.I
|
||||
.INB INC/GUI.I
|
||||
.INB INC/LIBGUI.I
|
||||
.INB ROOT/X.FNT.I
|
||||
.INB inc/macros.i
|
||||
.INB inc/a2osx.i
|
||||
.INB inc/gfx.i
|
||||
.INB inc/libgui.i
|
||||
.INB inc/fnt.i
|
||||
*--------------------------------------
|
||||
ZPPTR1 .EQ ZPBIN
|
||||
ZPInputBufPtr .EQ ZPBIN+2
|
||||
@ -684,7 +683,7 @@ CS.QUIT >LDA.G hOutPutBuf
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
*--------------------------------------
|
||||
.INB ROOT/X.TWIST.G
|
||||
.INB usr/src/shared/x.twist.g
|
||||
*--------------------------------------
|
||||
OptionList >PSTR "NnVv"
|
||||
OptionVars .DA #bNoShrink,#bNoShrink,#bVerbose,#bVerbose
|
||||
@ -718,10 +717,8 @@ CharOutByteW .BS 1
|
||||
hOutPutBuf .BS 1
|
||||
OutPutPtr .BS 1
|
||||
FileOffset .BS 4
|
||||
|
||||
DS.END
|
||||
.ED
|
||||
DS.END .ED
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE /A2OSX.BUILD/ROOT/FNT2FON.S
|
||||
SAVE usr/src/bin/fnt2fon.s
|
||||
ASM
|
||||
|
@ -2,7 +2,7 @@ NEW
|
||||
AUTO 3,1
|
||||
*--------------------------------------
|
||||
* BitBlt
|
||||
* S.CB.X1 : Destination X (screen)
|
||||
* S.CB.X1 : Destination X (screen)
|
||||
* S.CB.Y1 : Destination Y (screen)
|
||||
* S.CB.DstX : X1 in bitmap/mask
|
||||
* S.CB.DstY : Y1 in bitmap/mask
|
||||
|
@ -164,8 +164,8 @@ OSD.DRAWTEXT sec
|
||||
* S.CB.S.CB.FONT : hFont
|
||||
* S.CB.SrcPtr : Ptr to Text
|
||||
* Out:
|
||||
* A,X = Width
|
||||
* Y = Height
|
||||
* S.CB.SrcW = Width
|
||||
* S.CB.SrcH = Height
|
||||
*--------------------------------------
|
||||
OSD.GETTEXTSIZE clc
|
||||
php
|
||||
|
@ -4,7 +4,7 @@ NEW
|
||||
IO.D2.SeekTimeR .EQ 160 LIBBLKDEV Recalibration
|
||||
IO.D2.SeekTimeF .EQ 140 LIBBLKDEV Track Formatter
|
||||
IO.D2.SeekTimeB .EQ 140 LIBBLKDEV Boot Block
|
||||
IO.D2.SeekTimeP .EQ 70 ProDOS.FX initial
|
||||
IO.D2.SeekTimeP .EQ 75 ProDOS.FX initial
|
||||
IO.D2.SeekTimeI .EQ 20 ProDOS.FX increment -> until > 128
|
||||
*--------------------------------------
|
||||
IO.D2.Ph0Off .EQ $C080
|
||||
|
@ -92,9 +92,8 @@ S.OBJ.X2 .EQ 12
|
||||
S.OBJ.Y2 .EQ 14
|
||||
S.OBJ.W .EQ 16
|
||||
S.OBJ.H .EQ 18
|
||||
S.OBJ.Childs .EQ 20
|
||||
*
|
||||
S.OBJ .EQ 22
|
||||
S.OBJ .EQ 20
|
||||
*--------------------------------------
|
||||
S.WND.F.RESIZE .EQ %00000001
|
||||
S.WND.F.MOVE .EQ %00000010
|
||||
|
@ -428,6 +428,9 @@ rdhead sec anticipate error.
|
||||
bmi BB.Trk2Qtrk.RTS branch if can't fine/read sector.
|
||||
|
||||
clc indicate reading header.
|
||||
|
||||
ldy #0 Retry cnt waiting D5
|
||||
|
||||
rddata php carry set if reading sector.
|
||||
|
||||
rd0 dey every time y=0 decrement find count.
|
||||
|
@ -19,12 +19,6 @@ CUR.HotPoints .DA #0,#0 CUR.T.ARROW
|
||||
.DA #8,#7 CUR.Wait5
|
||||
.DA #8,#7 CUR.Wait6
|
||||
*--------------------------------------
|
||||
CUR.CB .DA #S.CB.CMD.BITBLT
|
||||
.BS 1
|
||||
.DA #S.CB.M.MONO
|
||||
.DA #0
|
||||
.BS S.CB-2
|
||||
*--------------------------------------
|
||||
CUR.SaveBuf .BS 64 16*4
|
||||
*--------------------------------------
|
||||
CUR.Arrow .DA #S.BM.F.BBP1
|
||||
|
@ -1,10 +0,0 @@
|
||||
NEW
|
||||
AUTO 3,1
|
||||
*--------------------------------------
|
||||
WND.Stack.Top .BS 1
|
||||
WND.Stack .BS WND.MAX
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/lib/libgui.g.wnd
|
||||
LOAD usr/src/lib/libgui.s
|
||||
asm
|
@ -227,58 +227,84 @@ CLIP.Line.RIGHT .EQ 2
|
||||
CLIP.Line.BOTTOM .EQ 4
|
||||
CLIP.Line.TOP .EQ 8
|
||||
*--------------------------------------
|
||||
CLIP.Line jsr CLIP.Line.EncodeP1
|
||||
CLIP.Line
|
||||
* >DEBUG
|
||||
jsr CLIP.Line.EncodeP1
|
||||
jsr CLIP.Line.EncodeP2
|
||||
|
||||
.1 lda CLIP.Line.P1
|
||||
ora CLIP.Line.P2
|
||||
beq .88
|
||||
|
||||
lda CLIP.Line.P1
|
||||
and CLIP.Line.P2
|
||||
bne .99
|
||||
|
||||
lda CLIP.Line.P1
|
||||
beq .5
|
||||
|
||||
bit #CLIP.Line.TOP
|
||||
beq .2
|
||||
|
||||
* Y1 is above S.CB.Y1....
|
||||
* DY=Y2-Y1;
|
||||
jsr CLIP.Line.EncodeP1
|
||||
bra .1
|
||||
|
||||
.2 bit #CLIP.Line.BOTTOM
|
||||
beq .3
|
||||
|
||||
* Y1 is below S.CB.Y2....
|
||||
|
||||
jsr CLIP.Line.EncodeP1
|
||||
bra .1
|
||||
|
||||
.3 bit #CLIP.Line.RIGHT
|
||||
beq .4
|
||||
|
||||
* X1 is after S.CB.X2....
|
||||
|
||||
jsr CLIP.Line.EncodeP1
|
||||
bra .1
|
||||
|
||||
* X1 is before S.CB.X1....
|
||||
.4
|
||||
jsr CLIP.Line.EncodeP1
|
||||
|
||||
.4 jsr CLIP.Line.EncodeP1
|
||||
bra .1
|
||||
|
||||
* P2
|
||||
|
||||
.5 lda CLIP.Line.P2
|
||||
|
||||
bit #CLIP.Line.TOP
|
||||
beq .6
|
||||
|
||||
* Y2 is above S.CB.Y1....
|
||||
|
||||
jsr CLIP.Line.EncodeP2
|
||||
bra .1
|
||||
|
||||
.6 bit #CLIP.Line.BOTTOM
|
||||
beq .7
|
||||
|
||||
* Y2 is below S.CB.Y2....
|
||||
|
||||
jsr CLIP.Line.EncodeP2
|
||||
bra .1
|
||||
|
||||
.7 bit #CLIP.Line.RIGHT
|
||||
beq .8
|
||||
|
||||
* X2 is after S.CB.X2....
|
||||
|
||||
jsr CLIP.Line.EncodeP2
|
||||
bra .1
|
||||
|
||||
* X2 is before S.CB.X1....
|
||||
.8
|
||||
jsr CLIP.Line.EncodeP2
|
||||
|
||||
.8 jsr CLIP.Line.EncodeP2
|
||||
bra .1
|
||||
|
||||
.88 clc
|
||||
rts
|
||||
|
||||
@ -315,30 +341,38 @@ CLIP.Line.EncodeX.AX
|
||||
pha
|
||||
>SCMPAX OBJ.Cache+S.OBJ.X1
|
||||
bmi .1
|
||||
|
||||
tya
|
||||
ora #CLIP.Line.LEFT
|
||||
plx
|
||||
rts
|
||||
|
||||
.1 pla
|
||||
>SCMPAX OBJ.Cache+S.OBJ.X1
|
||||
>SCMPAX OBJ.Cache+S.OBJ.X2
|
||||
bpl .8
|
||||
|
||||
tya
|
||||
ora #CLIP.Line.RIGHT
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
CLIP.Line.EncodeY.AX
|
||||
pha
|
||||
>SCMPAX OBJ.Cache+S.OBJ.Y1
|
||||
bmi .1
|
||||
|
||||
tya
|
||||
ora #CLIP.Line.TOP
|
||||
plx
|
||||
rts
|
||||
|
||||
.1 pla
|
||||
>SCMPAX OBJ.Cache+S.OBJ.Y1
|
||||
>SCMPAX OBJ.Cache+S.OBJ.Y2
|
||||
bpl .8
|
||||
|
||||
tya
|
||||
ora #CLIP.Line.BOTTOM
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
CB.Cache.SetX2Y2
|
||||
|
@ -21,24 +21,24 @@ SetCursor sta CUR.T
|
||||
|
||||
.1 ldx CUR.T
|
||||
lda L.Cursors,x
|
||||
sta CUR.CB+S.CB.SrcPtr
|
||||
sta CB.PTR+S.CB.SrcPtr
|
||||
sta ZPPtr1
|
||||
lda L.Cursors+1,x
|
||||
sta CUR.CB+S.CB.SrcPtr+1
|
||||
sta CB.PTR+S.CB.SrcPtr+1
|
||||
sta ZPPtr1+1
|
||||
|
||||
ldy #S.BM.W
|
||||
lda (ZPPtr1),y
|
||||
sta CUR.CB+S.CB.SrcW
|
||||
sta CB.PTR+S.CB.SrcW
|
||||
|
||||
clc
|
||||
adc CUR.CB+S.CB.X1
|
||||
adc CB.PTR+S.CB.X1
|
||||
pha
|
||||
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
sta CUR.CB+S.CB.SrcW+1
|
||||
adc CUR.CB+S.CB.X1+1
|
||||
sta CB.PTR+S.CB.SrcW+1
|
||||
adc CB.PTR+S.CB.X1+1
|
||||
tax
|
||||
pla
|
||||
bne .2
|
||||
@ -46,21 +46,21 @@ SetCursor sta CUR.T
|
||||
dex
|
||||
|
||||
.2 dec
|
||||
sta CUR.CB+S.CB.X2
|
||||
stx CUR.CB+S.CB.X2+1
|
||||
sta CB.PTR+S.CB.X2
|
||||
stx CB.PTR+S.CB.X2+1
|
||||
|
||||
iny S.BM.H
|
||||
lda (ZPPtr1),y
|
||||
sta CUR.CB+S.CB.SrcH
|
||||
sta CB.PTR+S.CB.SrcH
|
||||
|
||||
clc
|
||||
adc CUR.CB+S.CB.Y1
|
||||
adc CB.PTR+S.CB.Y1
|
||||
pha
|
||||
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
sta CUR.CB+S.CB.SrcH+1
|
||||
adc CUR.CB+S.CB.Y1+1
|
||||
sta CB.PTR+S.CB.SrcH+1
|
||||
adc CB.PTR+S.CB.Y1+1
|
||||
tax
|
||||
pla
|
||||
bne .3
|
||||
@ -68,8 +68,8 @@ SetCursor sta CUR.T
|
||||
dex
|
||||
|
||||
.3 dec
|
||||
sta CUR.CB+S.CB.Y2
|
||||
stx CUR.CB+S.CB.Y2+1
|
||||
sta CB.PTR+S.CB.Y2
|
||||
stx CB.PTR+S.CB.Y2+1
|
||||
|
||||
lda CUR.bVisible
|
||||
bmi ShowCursor.I
|
||||
@ -116,33 +116,34 @@ ShowCursor.I ldx CUR.T
|
||||
lda CUR.Pos+S.POINT.X
|
||||
sec
|
||||
sbc CUR.HotPoints,x
|
||||
sta CUR.CB+S.CB.X1
|
||||
sta CB.PTR+S.CB.X1
|
||||
|
||||
lda CUR.Pos+S.POINT.X+1
|
||||
sbc #0
|
||||
sta CUR.CB+S.CB.X1+1
|
||||
sta CB.PTR+S.CB.X1+1
|
||||
|
||||
lda CUR.Pos+S.POINT.Y
|
||||
sec
|
||||
sbc CUR.HotPoints+1,x
|
||||
sta CUR.CB+S.CB.Y1
|
||||
sta CB.PTR+S.CB.Y1
|
||||
|
||||
lda CUR.Pos+S.POINT.Y+1
|
||||
sbc #0
|
||||
sta CUR.CB+S.CB.Y1+1
|
||||
sta CB.PTR+S.CB.Y1+1
|
||||
|
||||
lda #S.CB.OP.ORA+S.CB.OP.MASK+S.CB.OP.SAVE
|
||||
|
||||
DrawCursor.I sta CUR.CB+S.CB.OP
|
||||
DrawCursor.I sta CB.PTR+S.CB.OP
|
||||
|
||||
>LDYA L.WND.Screen
|
||||
jsr OBJ.GetInCache
|
||||
|
||||
>LDYA L.CUR.CB
|
||||
>LDYA L.CB.PTR
|
||||
jsr CLIP.YA
|
||||
bcs .9
|
||||
|
||||
jmp GFXWrite.CB
|
||||
>LDYA L.CB.PTR
|
||||
jmp GFXWrite.YA
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
|
@ -1,79 +1,7 @@
|
||||
NEW
|
||||
AUTO 3,1
|
||||
*--------------------------------------
|
||||
DrawCBBufToYA ldx L.CB.Buf
|
||||
stx ZPCBPtr
|
||||
ldx L.CB.Buf+1
|
||||
stx ZPCBPtr+1
|
||||
|
||||
DrawCBPtrToYA jsr OBJ.GetInCache
|
||||
|
||||
bit CUR.bVisible
|
||||
bpl .1
|
||||
|
||||
jsr HideCursor.I
|
||||
|
||||
.1 lda (ZPCBPtr)
|
||||
beq .8
|
||||
|
||||
>LDYA ZPCBPtr
|
||||
jsr CB.GetInCache A = CB.CMD
|
||||
|
||||
cmp #S.CB.CMD.DRAWTEXT2
|
||||
bne .6
|
||||
|
||||
lda #S.CB.CMD.DRAWTEXT+S.CB.CMD.OSD
|
||||
sta CB.Cache+S.CB.CMD
|
||||
jsr GFXWrite.CB
|
||||
bcs .9
|
||||
|
||||
jsr CLIP.CB.Cache
|
||||
bcs .2
|
||||
|
||||
jsr GFXWrite.CB
|
||||
|
||||
.2 lda CB.Cache+S.CB.SrcPtr
|
||||
>SYSCALL2 FreeStkObj
|
||||
bra .7
|
||||
|
||||
.6 jsr CLIP.CB.Cache
|
||||
bcs .7
|
||||
|
||||
jsr GFXWrite.CB
|
||||
|
||||
.7 lda (ZPCBPtr) Get Cmd
|
||||
lsr
|
||||
tax
|
||||
lda CB.CmdLen-1,x
|
||||
sec +1
|
||||
adc ZPCBPtr
|
||||
sta ZPCBPtr
|
||||
bcc .1
|
||||
|
||||
inc ZPCBPtr+1
|
||||
bra .1
|
||||
|
||||
.8 clc
|
||||
.9 bit CUR.bVisible
|
||||
bpl .99
|
||||
|
||||
php
|
||||
pha
|
||||
jsr ShowCursor.I
|
||||
pla
|
||||
plp
|
||||
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
* In: Control Block in CB.Cache
|
||||
* CMD
|
||||
* OP
|
||||
* MODE
|
||||
* COLOR
|
||||
* X1
|
||||
* Y1
|
||||
* X2
|
||||
* Y2
|
||||
* drawline(short int hWND, short int OP, short int COLOR, int X1, int Y1, int X2, int X2)
|
||||
*--------------------------------------
|
||||
DrawLine >PULLW CB.Cache+S.CB.Y2
|
||||
>PULLW CB.Cache+S.CB.X2
|
||||
@ -85,6 +13,9 @@ DrawLine >PULLW CB.Cache+S.CB.Y2
|
||||
>PULLA hWND
|
||||
>SYSCALL2 GetMemPtr
|
||||
>STYA ZPWNDPtr
|
||||
|
||||
jsr DRAW.ToGlobal
|
||||
jsr DRAW.GetInnerW
|
||||
|
||||
lda CB.Cache+S.CB.X2
|
||||
sec
|
||||
@ -98,15 +29,11 @@ DrawLine >PULLW CB.Cache+S.CB.Y2
|
||||
ora DX
|
||||
bne .2 DX > 0...
|
||||
|
||||
lda #S.CB.CMD.VLINE
|
||||
sta CB.Cache+S.CB.CMD
|
||||
jmp GFXWrite.CB DX=0 : VLIN Y1,Y2 At X1
|
||||
lda #S.CB.CMD.VLINE DX=0 : VLINE Y1,Y2 At X1
|
||||
bra .20
|
||||
*--------------------------------------
|
||||
.1 >SWAP16 CB.Cache+S.CB.X1,CB.Cache+S.CB.X2
|
||||
* >SWAP16 CB.Cache+S.CB.Y1,CB.Cache+S.CB.Y2
|
||||
lda CB.Cache+S.CB.Y1
|
||||
ldx CB.Cache+S.CB.Y2
|
||||
stx CB.Cache+S.CB.Y1
|
||||
sta CB.Cache+S.CB.Y2
|
||||
>SWAP16 CB.Cache+S.CB.Y1,CB.Cache+S.CB.Y2
|
||||
|
||||
>NOT16 DX swap X1/X2, Y1/Y2, set DX=-DX (DX positive)
|
||||
|
||||
@ -117,22 +44,33 @@ DrawLine >PULLW CB.Cache+S.CB.Y2
|
||||
sec
|
||||
sbc CB.Cache+S.CB.Y1
|
||||
sta DY
|
||||
* lda CB.Cache+S.CB.Y2+1
|
||||
lda #0
|
||||
* sbc CB.Cache+S.CB.Y1+1
|
||||
sbc #0
|
||||
lda CB.Cache+S.CB.Y2+1
|
||||
sbc CB.Cache+S.CB.Y1+1
|
||||
sta DY+1 DY = Y2 - Y1
|
||||
|
||||
bmi .3 DY < 0 ...
|
||||
|
||||
ora DY
|
||||
bne .4
|
||||
lda #S.CB.CMD.HLINE
|
||||
sta CB.Cache+S.CB.CMD
|
||||
jmp GFXWrite.CB DY=0 : HLIN X1,X2 At Y1
|
||||
|
||||
lda #S.CB.CMD.HLINE DY=0 : HLINE X1,X2 At Y1
|
||||
|
||||
.20 sta CB.Cache+S.CB.CMD
|
||||
|
||||
jsr CLIP.CB.Cache
|
||||
bcs .8
|
||||
|
||||
jmp GFXWrite.CB
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
.3 >NOT16 DY set DY=-DY
|
||||
lda #$ff
|
||||
sta IY set IY=-1
|
||||
|
||||
.4 lda #S.CB.CMD.SETPIXEL
|
||||
.4 jsr CLIP.Line
|
||||
bcs .8
|
||||
|
||||
lda #S.CB.CMD.SETPIXEL
|
||||
sta CB.Cache+S.CB.CMD
|
||||
jsr GFXWrite.CB
|
||||
lda DX
|
||||
@ -140,13 +78,14 @@ DrawLine >PULLW CB.Cache+S.CB.Y2
|
||||
sbc DY
|
||||
tax
|
||||
lda DX+1
|
||||
* sbc DY+1
|
||||
sbc #0
|
||||
sbc DY+1
|
||||
bmi DrawLine.IncY DY is greater than DX, we will increase on Y axis
|
||||
|
||||
txa
|
||||
beq DrawLine.IncXY DX=DY, go inc X & Y
|
||||
jmp DrawLine.IncX DY is lower than DX, we will increase on X axis
|
||||
|
||||
jmp DrawLine.IncX DY is lower than DX, we will increase on X axis
|
||||
*--------------------------------------
|
||||
DrawLine.IncXY lda DX DX=DY
|
||||
eor #$ff
|
||||
sta Counter
|
||||
@ -156,10 +95,13 @@ DrawLine.IncXY lda DX DX=DY
|
||||
|
||||
.1 inc Counter
|
||||
bne .2
|
||||
|
||||
inc Counter+1
|
||||
beq .8
|
||||
|
||||
.2 inc CB.Cache+S.CB.X1
|
||||
bne .3
|
||||
|
||||
inc CB.Cache+S.CB.X1+1
|
||||
.3 lda CB.Cache+S.CB.Y1 Y1=Y1+IY
|
||||
clc
|
||||
@ -167,8 +109,9 @@ DrawLine.IncXY lda DX DX=DY
|
||||
sta CB.Cache+S.CB.Y1
|
||||
jsr GFXWrite.CB
|
||||
bra .1
|
||||
.8 rts
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
DrawLine.IncY lda DY
|
||||
eor #$ff
|
||||
sta Counter
|
||||
@ -205,6 +148,7 @@ DrawLine.IncY lda DY
|
||||
txa
|
||||
rol
|
||||
sta INE+1
|
||||
|
||||
.1 inc Counter
|
||||
bne .2
|
||||
|
||||
@ -243,7 +187,7 @@ DrawLine.IncY lda DY
|
||||
bra .1
|
||||
|
||||
.8 rts
|
||||
|
||||
*--------------------------------------
|
||||
DrawLine.IncX lda DX
|
||||
eor #$ff
|
||||
sta Counter
|
||||
@ -280,6 +224,7 @@ DrawLine.IncX lda DX
|
||||
txa
|
||||
rol
|
||||
sta INE+1
|
||||
|
||||
.1 inc Counter
|
||||
bne .2
|
||||
|
||||
@ -309,6 +254,7 @@ DrawLine.IncX lda DX
|
||||
lda D+1
|
||||
adc IE+1
|
||||
sta D+1
|
||||
|
||||
.5 inc CB.Cache+S.CB.X1 X1=X1+1
|
||||
bne .6
|
||||
|
||||
@ -319,6 +265,159 @@ DrawLine.IncX lda DX
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
* drawtext (short int OP, short int hFONT, int X1, int Y1)
|
||||
*--------------------------------------
|
||||
DrawText clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
*
|
||||
*--------------------------------------
|
||||
DRAW.ToGlobal >LDYA ZPWNDPtr
|
||||
>STYA ZPPtr1
|
||||
|
||||
.1 ldy #S.OBJ.X1
|
||||
ldx #S.CB.X1
|
||||
jsr DRAW.AddP1YtoCBX
|
||||
|
||||
ldy #S.WND.InnerY1
|
||||
ldx #S.CB.Y1
|
||||
jsr DRAW.AddP1YtoCBX
|
||||
|
||||
ldy #S.OBJ.X1
|
||||
ldx #S.CB.X2
|
||||
jsr DRAW.AddP1YtoCBX
|
||||
|
||||
ldy #S.WND.InnerY1
|
||||
ldx #S.CB.Y2
|
||||
jsr DRAW.AddP1YtoCBX
|
||||
|
||||
ldy #S.OBJ.hPARENT+1
|
||||
lda (ZPPtr1),y
|
||||
beq .8 00xx = hDev
|
||||
|
||||
tax
|
||||
dey
|
||||
lda (ZPPtr1),y
|
||||
|
||||
sta ZPPtr1
|
||||
stx ZPPtr1+1
|
||||
bra .1
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRAW.AddP1YtoCBX
|
||||
lda (ZPPtr1),y
|
||||
clc
|
||||
adc CB.Cache,x
|
||||
sta CB.Cache,x
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
adc CB.Cache+1,x
|
||||
sta CB.Cache+1,x
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRAW.GetInnerW ldy #S.OBJ.X1
|
||||
lda (ZPWNDPtr),y
|
||||
sta OBJ.Cache+S.OBJ.X1
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
sta OBJ.Cache+S.OBJ.X1+1
|
||||
|
||||
ldy #S.WND.InnerY1
|
||||
lda (ZPWNDPtr),y
|
||||
sta OBJ.Cache+S.OBJ.Y1
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
sta OBJ.Cache+S.OBJ.Y1+1
|
||||
|
||||
ldy #S.WND.InnerW
|
||||
lda (ZPWNDPtr),y
|
||||
sta OBJ.Cache+S.OBJ.W
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
sta OBJ.Cache+S.OBJ.W+1
|
||||
|
||||
iny #S.WND.InnerH
|
||||
lda (ZPWNDPtr),y
|
||||
sta OBJ.Cache+S.OBJ.H
|
||||
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
sta OBJ.Cache+S.OBJ.H+1
|
||||
|
||||
>LDYA L.OBJ.Cache
|
||||
jmp OBJ.SetX2Y2
|
||||
*--------------------------------------
|
||||
DrawCBBufToYA ldx L.CB.Buf
|
||||
stx ZPCBPtr
|
||||
ldx L.CB.Buf+1
|
||||
stx ZPCBPtr+1
|
||||
|
||||
DrawCBPtrToYA bit CUR.bVisible
|
||||
bpl .10
|
||||
|
||||
pha
|
||||
phy
|
||||
jsr HideCursor.I
|
||||
ply
|
||||
pla
|
||||
|
||||
.10 jsr OBJ.GetInCache
|
||||
|
||||
.1 lda (ZPCBPtr)
|
||||
beq .8
|
||||
|
||||
>LDYA ZPCBPtr
|
||||
jsr CB.GetInCache A = CB.CMD
|
||||
|
||||
cmp #S.CB.CMD.DRAWTEXT2
|
||||
bne .6
|
||||
|
||||
lda #S.CB.CMD.DRAWTEXT+S.CB.CMD.OSD
|
||||
sta CB.Cache+S.CB.CMD
|
||||
jsr GFXWrite.CB
|
||||
bcs .9
|
||||
|
||||
jsr CLIP.CB.Cache
|
||||
bcs .2
|
||||
|
||||
jsr GFXWrite.CB
|
||||
|
||||
.2 lda CB.Cache+S.CB.SrcPtr
|
||||
>SYSCALL2 FreeStkObj
|
||||
bra .7
|
||||
|
||||
.6 jsr CLIP.CB.Cache
|
||||
bcs .7
|
||||
|
||||
jsr GFXWrite.CB
|
||||
|
||||
.7 lda (ZPCBPtr) Get Cmd
|
||||
lsr
|
||||
tax
|
||||
lda CB.CmdLen-1,x
|
||||
sec +1
|
||||
adc ZPCBPtr
|
||||
sta ZPCBPtr
|
||||
bcc .1
|
||||
|
||||
inc ZPCBPtr+1
|
||||
bra .1
|
||||
|
||||
.8 clc
|
||||
|
||||
.9 bit CUR.bVisible
|
||||
bpl .99
|
||||
|
||||
php
|
||||
pha
|
||||
jsr ShowCursor.I
|
||||
pla
|
||||
plp
|
||||
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/lib/libgui.s.draw
|
||||
LOAD usr/src/lib/libgui.s
|
||||
|
@ -43,7 +43,7 @@ MOU.Setup lda DCB.GFX+S.DCB.GFX.W+1
|
||||
bcs .9
|
||||
|
||||
>LDYA L.CUR.SaveBuf
|
||||
>STYA CUR.CB+S.CB.DstPtr
|
||||
>STYA CB.PTR+S.CB.DstPtr
|
||||
|
||||
* clc
|
||||
.9 rts
|
||||
@ -59,26 +59,91 @@ MOU.Quit lda hDevMouse
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
MOU.ReadMouse >PULLYA
|
||||
MOU.ReadMouse >PULLW ZPPtr1
|
||||
|
||||
ldx A2osX.ASCREEN GUI screen active ?
|
||||
cpx DCB.GFX+S.DCB.GFX.DEVID
|
||||
lda A2osX.ASCREEN GUI screen active ?
|
||||
cmp DCB.GFX+S.DCB.GFX.DEVID
|
||||
bne .9 no, exit....
|
||||
|
||||
ldx hDevMouse
|
||||
lda hDevMouse
|
||||
beq .9
|
||||
pha
|
||||
|
||||
txa
|
||||
|
||||
>PUSHA
|
||||
>PUSHBI IOCTL.READ
|
||||
pla
|
||||
>PUSHYA
|
||||
>PUSHW ZPPtr1
|
||||
>SYSCALL2 IOCTL
|
||||
bcs .99
|
||||
|
||||
ldy #S.MOUSE.S
|
||||
lda (ZPPtr1),y
|
||||
bit #S.MOUSE.S.MOVE
|
||||
beq .8
|
||||
|
||||
lda WND.SysBar+S.OBJ.Y1
|
||||
|
||||
ldy #S.MOUSE.Y1
|
||||
cmp (ZPPtr1),y
|
||||
lda WND.SysBar+S.OBJ.Y1+1
|
||||
iny
|
||||
sbc (ZPPtr1),y
|
||||
bcc .8
|
||||
|
||||
jmp SYSBAR.Enter
|
||||
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
|
||||
.9 sec
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
SYSBAR.Show jsr GetCBBuf
|
||||
bcs .9
|
||||
|
||||
lda #S.CB.CMD.FILLRECT
|
||||
jsr PutA2CBBuf
|
||||
|
||||
lda #S.CB.OP.SET
|
||||
jsr PutA2CBBuf
|
||||
|
||||
lda #S.CB.M.MONO
|
||||
jsr PutA2CBBuf
|
||||
|
||||
lda PREFS.SYSBARCOLOR
|
||||
jsr PutA2CBBuf
|
||||
|
||||
lda #0 S.OBJ.X1
|
||||
jsr PutA2CBBuf
|
||||
jsr PutA2CBBuf
|
||||
|
||||
lda WND.SysBar+S.OBJ.Y1
|
||||
jsr PutA2CBBuf
|
||||
lda WND.SysBar+S.OBJ.Y1+1
|
||||
jsr PutA2CBBuf
|
||||
|
||||
lda WND.SysBar.A2osX.X2
|
||||
jsr PutA2CBBuf
|
||||
lda WND.SysBar.A2osX.X2+1
|
||||
jsr PutA2CBBuf
|
||||
|
||||
lda WND.SysBar+S.OBJ.Y2
|
||||
jsr PutA2CBBuf
|
||||
lda WND.SysBar+S.OBJ.Y2+1
|
||||
jsr PutA2CBBuf
|
||||
|
||||
lda #0
|
||||
jsr PutA2CBBuf
|
||||
|
||||
>LDYA L.WND.SysBar
|
||||
jsr DrawCBPtrToYA
|
||||
|
||||
lda hCBBuf
|
||||
>SYSCALL FreeMem
|
||||
|
||||
* clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
SYSBAR.Enter clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
|
@ -25,34 +25,30 @@ WND.Setup >LDYA DCB.GFX+S.DCB.GFX.W
|
||||
>STYA WND.Desktop+S.OBJ.W
|
||||
>STYA WND.SysBar+S.OBJ.W
|
||||
|
||||
lda SYSFON.H
|
||||
clc
|
||||
adc #6
|
||||
lda SYSFON.Hp2
|
||||
sta WND.SysBar+S.OBJ.H
|
||||
|
||||
lda DCB.GFX+S.DCB.GFX.H
|
||||
sta WND.Screen+S.OBJ.H
|
||||
|
||||
sec
|
||||
sbc WND.SysBar+S.OBJ.H
|
||||
sta WND.Desktop+S.OBJ.H
|
||||
sta WND.SysBar+S.OBJ.X1
|
||||
|
||||
lda DCB.GFX+S.DCB.GFX.H+1
|
||||
sta WND.SysBar+S.OBJ.H+1
|
||||
sbc #0
|
||||
sta WND.Desktop+S.OBJ.H+1
|
||||
sta WND.SysBar+S.OBJ.X1+1
|
||||
sta WND.SysBar+S.OBJ.Y1
|
||||
|
||||
>LDYA L.WND.Screen
|
||||
>STYA WND.Desktop+S.OBJ.hPARENT
|
||||
>STYA WND.SysBar+S.OBJ.hPARENT
|
||||
jsr OBJ.SetX2Y2
|
||||
|
||||
|
||||
>LDYA L.WND.Desktop
|
||||
>STYA WND.Screen.Childs
|
||||
jsr OBJ.SetX2Y2
|
||||
|
||||
>LDYA L.WND.SysBar
|
||||
>STYA WND.Screen.Childs+2
|
||||
jsr OBJ.SetX2Y2
|
||||
|
||||
lda #24
|
||||
sta WND.SysBar.A2osX.X2
|
||||
|
||||
lda #CUR.T.ARROW
|
||||
sta WND.Desktop+S.WND.hCUR
|
||||
@ -60,6 +56,8 @@ WND.Setup >LDYA DCB.GFX+S.DCB.GFX.W
|
||||
|
||||
stz WND.Stack.Top
|
||||
|
||||
jsr SYSBAR.Show
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
WND.Quit lda WND.Screen+S.OBJ.hPARENT
|
||||
@ -84,9 +82,12 @@ WND.New >LDYAI S.WND
|
||||
|
||||
ldy WND.Stack.Top
|
||||
cpy #WND.MAX
|
||||
bcs .90
|
||||
bcc .10
|
||||
|
||||
lda #E.OOH
|
||||
>RET 9
|
||||
|
||||
lda #S.OBJ.T.WND
|
||||
.10 lda #S.OBJ.T.WND
|
||||
sta (ZPWNDPtr) S.OBJ.T
|
||||
|
||||
ldy #S.WND-1
|
||||
@ -141,6 +142,13 @@ WND.New >LDYAI S.WND
|
||||
|
||||
ldy #S.OBJ.hOWNER
|
||||
sta (ZPWNDPtr),y
|
||||
|
||||
lda L.WND.Desktop
|
||||
ldy #S.OBJ.hPARENT
|
||||
sta (ZPWNDPtr),y
|
||||
iny
|
||||
lda L.WND.Desktop+1
|
||||
sta (ZPWNDPtr),y
|
||||
|
||||
txa ID
|
||||
ldy WND.Stack.Top
|
||||
@ -149,9 +157,6 @@ WND.New >LDYAI S.WND
|
||||
|
||||
* clc
|
||||
rts
|
||||
|
||||
.90 lda #E.OOH
|
||||
.9 >RET 9
|
||||
*--------------------------------------
|
||||
WND.Destroy clc
|
||||
rts
|
||||
@ -261,7 +266,7 @@ WND.Show >SYSCALL2 GetMemPtr
|
||||
jsr WND.SetStatus
|
||||
|
||||
jsr WND.PaintTopBar
|
||||
bcs .9
|
||||
bcs WND.GetProp.RTS
|
||||
*--------------------------------------
|
||||
.3 ldy #S.WND.MBAR+1
|
||||
lda (ZPWNDPtr),y
|
||||
@ -321,10 +326,22 @@ WND.Show >SYSCALL2 GetMemPtr
|
||||
|
||||
jsr WND.PaintSBar
|
||||
*--------------------------------------
|
||||
.8 lda #0
|
||||
.8 ldy #S.WND.InnerH
|
||||
lda (ZPWNDPtr),y
|
||||
sec
|
||||
sbc Counter+1
|
||||
sta (ZPWNDPtr),y
|
||||
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
sbc #0
|
||||
sta (ZPWNDPtr),y
|
||||
|
||||
lda #0
|
||||
jsr PutA2CBBuf
|
||||
|
||||
>LDYA L.WND.Screen
|
||||
>LDYA L.WND.Desktop
|
||||
|
||||
jsr DrawCBPtrToYA
|
||||
|
||||
lda hCBBuf
|
||||
@ -407,7 +424,7 @@ WND.fPaint
|
||||
|
||||
stz CB.Buf+S.CB.Y2+2 Ending 0
|
||||
|
||||
>LDYA L.WND.Screen
|
||||
>LDYA L.WND.Desktop
|
||||
jmp DrawCBBufToYA
|
||||
|
||||
.1 clc
|
||||
|
171
LIB/LIBGUI.S.txt
171
LIB/LIBGUI.S.txt
@ -128,26 +128,6 @@ CS.START cld
|
||||
.DA WND.Paint
|
||||
L.WND.fPaint .DA WND.fPaint
|
||||
*--------------------------------------
|
||||
J.MBAR .DA MBAR.New
|
||||
.DA MBAR.Paint
|
||||
.DA MBAR.Close
|
||||
*--------------------------------------
|
||||
J.MENU .DA MENU.New
|
||||
.DA MENU.Paint
|
||||
.DA MENU.Close
|
||||
*--------------------------------------
|
||||
J.MENUITEM .DA MITEM.New
|
||||
.DA MITEM.Paint
|
||||
.DA MITEM.Close
|
||||
*--------------------------------------
|
||||
J.BUT .DA BUT.New
|
||||
.DA BUT.Paint
|
||||
.DA BUT.Close
|
||||
*--------------------------------------
|
||||
J.TEXT .DA TEXT.New
|
||||
.DA TEXT.Paint
|
||||
.DA TEXT.Close
|
||||
*--------------------------------------
|
||||
L.DEVNAME.GFX .DA DEVNAME.GFX
|
||||
L.DEVNAME.MOUSE .DA DEVNAME.MOUSE
|
||||
L.SYSX7 .DA SYSX7
|
||||
@ -155,8 +135,10 @@ L.SYSX7B .DA SYSX7B
|
||||
L.IOCTL .DA IOCTL
|
||||
L.DCB.GFX .DA DCB.GFX
|
||||
L.MouseClamp .DA MouseClamp
|
||||
L.CB.PTR .DA CB.PTR
|
||||
L.CB.Buf .DA CB.Buf
|
||||
L.CB.Cache .DA CB.Cache
|
||||
L.OBJ.Cache .DA OBJ.Cache
|
||||
L.WND.Screen .DA WND.Screen
|
||||
L.WND.Desktop .DA WND.Desktop
|
||||
L.WND.SysBar .DA WND.SysBar
|
||||
@ -166,7 +148,6 @@ L.BM.Close .DA BM.Close
|
||||
L.BM.Max .DA BM.Max
|
||||
L.BM.Min .DA BM.Min
|
||||
*--------------------------------------
|
||||
L.CUR.CB .DA CUR.CB
|
||||
L.CUR.SaveBuf .DA CUR.SaveBuf
|
||||
L.Cursors .DA CUR.Arrow
|
||||
.DA CUR.ResizeX
|
||||
@ -230,66 +211,6 @@ LIB.UNLOAD dec LibCount
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
OBJ.GetInCache >STYA .1+1
|
||||
|
||||
ldx #S.OBJ-1
|
||||
|
||||
.1 lda $ffff,x SELF MODIFIED
|
||||
sta OBJ.Cache,x
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
OBJ.SetX2Y2 >STYA ZPObjPtr
|
||||
|
||||
ldy #S.OBJ.W
|
||||
lda (ZPObjPtr),y
|
||||
clc
|
||||
sbc #0
|
||||
pha
|
||||
iny
|
||||
lda (ZPObjPtr),y
|
||||
sbc #0
|
||||
tax
|
||||
pla
|
||||
clc
|
||||
ldy #S.OBJ.X1
|
||||
adc (ZPObjPtr),y
|
||||
pha
|
||||
txa
|
||||
iny
|
||||
adc (ZPObjPtr),y
|
||||
ldy #S.OBJ.X2+1
|
||||
sta (ZPObjPtr),y
|
||||
dey
|
||||
pla
|
||||
sta (ZPObjPtr),y
|
||||
ldy #S.OBJ.H
|
||||
lda (ZPObjPtr),y
|
||||
clc
|
||||
sbc #0
|
||||
pha
|
||||
iny
|
||||
lda (ZPObjPtr),y
|
||||
sbc #0
|
||||
tax
|
||||
pla
|
||||
clc
|
||||
ldy #S.OBJ.Y1
|
||||
adc (ZPObjPtr),y
|
||||
pha
|
||||
txa
|
||||
iny
|
||||
adc (ZPObjPtr),y
|
||||
ldy #S.OBJ.Y2+1
|
||||
sta (ZPObjPtr),y
|
||||
dey
|
||||
pla
|
||||
sta (ZPObjPtr),y
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
CB.ClearCache ldx #S.CB-1
|
||||
|
||||
.1 stz CB.Cache,x
|
||||
@ -355,6 +276,69 @@ GFXWrite.YA pha
|
||||
>SYSCALL2 IOCTL
|
||||
rts
|
||||
*--------------------------------------
|
||||
OBJ.GetInCache >STYA .1+1
|
||||
|
||||
ldx #S.OBJ-1
|
||||
|
||||
.1 lda $ffff,x SELF MODIFIED
|
||||
sta OBJ.Cache,x
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
OBJ.SetX2Y2 >STYA ZPPtr1
|
||||
|
||||
ldy #S.OBJ.W
|
||||
lda (ZPPtr1),y
|
||||
clc
|
||||
sbc #0
|
||||
pha
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
sbc #0
|
||||
tax
|
||||
|
||||
pla
|
||||
clc
|
||||
ldy #S.OBJ.X1
|
||||
adc (ZPPtr1),y
|
||||
pha
|
||||
txa
|
||||
iny
|
||||
adc (ZPPtr1),y
|
||||
ldy #S.OBJ.X2+1
|
||||
sta (ZPPtr1),y
|
||||
dey
|
||||
pla
|
||||
sta (ZPPtr1),y
|
||||
|
||||
ldy #S.OBJ.H
|
||||
lda (ZPPtr1),y
|
||||
clc
|
||||
sbc #0
|
||||
pha
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
sbc #0
|
||||
tax
|
||||
|
||||
pla
|
||||
clc
|
||||
ldy #S.OBJ.Y1
|
||||
adc (ZPPtr1),y
|
||||
pha
|
||||
txa
|
||||
iny
|
||||
adc (ZPPtr1),y
|
||||
ldy #S.OBJ.Y2+1
|
||||
sta (ZPPtr1),y
|
||||
dey
|
||||
pla
|
||||
sta (ZPPtr1),y
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
.INB usr/src/lib/libgui.s.bm
|
||||
.INB usr/src/lib/libgui.s.but
|
||||
.INB usr/src/lib/libgui.s.clip
|
||||
@ -372,7 +356,6 @@ CS.END
|
||||
.INB usr/src/lib/libgui.g.bm
|
||||
.INB usr/src/lib/libgui.g.cur
|
||||
.INB usr/src/lib/libgui.g.fon
|
||||
.INB usr/src/lib/libgui.g.wnd
|
||||
*--------------------------------------
|
||||
DEVNAME.GFX .AZ "/dev/gfx"
|
||||
DEVNAME.MOUSE .AZ "/dev/mou1"
|
||||
@ -408,26 +391,31 @@ MOUSEDATA .BS S.MOUSE
|
||||
*--------------------------------------
|
||||
MouseClamp .BS 8
|
||||
*--------------------------------------
|
||||
CB.Buf .BS S.CB
|
||||
CB.PTR .DA #S.CB.CMD.BITBLT
|
||||
.BS 1 S.CB.OP
|
||||
.DA #S.CB.M.MONO
|
||||
.DA #0
|
||||
.BS S.CB-4
|
||||
*--------------------------------------
|
||||
CB.Buf .BS S.CB+1 +Ending 0
|
||||
CB.Cache .BS S.CB
|
||||
OBJ.Cache .BS S.OBJ
|
||||
*--------------------------------------
|
||||
WND.Stack.Top .BS 1
|
||||
WND.Stack .BS WND.MAX
|
||||
*--------------------------------------
|
||||
WND.Screen .DA #S.OBJ.T.WND
|
||||
.BS S.WND-1
|
||||
*--------------------------------------
|
||||
WND.Screen.Childs
|
||||
.BS 2 WND.Desktop
|
||||
.BS 2 WND.SysBar
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
WND.Desktop .DA #S.OBJ.T.WND
|
||||
.BS S.WND-1
|
||||
*--------------------------------------
|
||||
WND.SysBar .DA #S.OBJ.T.WND
|
||||
.BS S.WND-1
|
||||
WND.SysBar.Childs
|
||||
.BS 2 BUT.Sys
|
||||
.DA 0
|
||||
WND.SysBar.A2osX.X2
|
||||
.BS 2
|
||||
WND.SysBar.Time.X1
|
||||
.BS 2
|
||||
*--------------------------------------
|
||||
BUT.Sys .DA #S.OBJ.T.BUT
|
||||
.DA #0 F
|
||||
@ -447,6 +435,7 @@ MENU.Sys .DA #2 ID
|
||||
.DA #0
|
||||
*--------------------------------------
|
||||
PREFS.BESTVIEWEDX .DA #$FC
|
||||
PREFS.SYSBARCOLOR .DA #C.WHITE
|
||||
PREFS.MBARXMARGIN .DA #5
|
||||
PREFS.BORDERCOLOR .DA #C.BLACK
|
||||
PREFS.TBARCOLORA .DA #C16.D.BLUE
|
||||
|
@ -60,10 +60,6 @@ CS.RUN >LIBCALL hLIBGUI,LIBGUI.ShowCursor
|
||||
|
||||
CS.RUN.LOOP >SLEEP
|
||||
|
||||
* lda A2osX.ASCREEN
|
||||
* cmp #8
|
||||
* bne CS.RUN.LOOP
|
||||
|
||||
>PUSHW L.MouseData
|
||||
>LIBCALL hLIBGUI,LIBGUI.ReadMouse
|
||||
bcs .8
|
||||
@ -78,22 +74,24 @@ CS.RUN.LOOP >SLEEP
|
||||
lda MouseData+S.MOUSE.S
|
||||
|
||||
.1 bit #S.MOUSE.S.CLK
|
||||
beq .4
|
||||
beq .2
|
||||
|
||||
>LDA.G CUR.T
|
||||
inc
|
||||
inc
|
||||
cmp #CUR.T.WAIT+2
|
||||
bne .2
|
||||
bne .11
|
||||
|
||||
lda #CUR.T.ARROW
|
||||
|
||||
.2 >STA.G CUR.T
|
||||
.11 >STA.G CUR.T
|
||||
>LIBCALL hLIBGUI,LIBGUI.SetCursor
|
||||
jmp CS.RUN.LOOP
|
||||
|
||||
jsr WND.Test
|
||||
.2 bit #S.MOUSE.S.DCLK
|
||||
beq .8
|
||||
|
||||
.4
|
||||
jsr WND.Test
|
||||
|
||||
.8 jmp CS.RUN.LOOP
|
||||
|
||||
@ -146,9 +144,18 @@ WND.Test >PUSHBI S.WND.F.RESIZE+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MAX+S.WND.F.
|
||||
|
||||
lda hWND
|
||||
>LIBCALL hLIBGUI,LIBGUI.WND.Paint
|
||||
rts
|
||||
|
||||
clc
|
||||
.9 rts
|
||||
>PUSHB hWND
|
||||
>PUSHBI S.CB.OP.SET
|
||||
>PUSHBI C.BLACK
|
||||
>PUSHWI 0
|
||||
>PUSHWI 0
|
||||
>PUSHWI 300
|
||||
>PUSHWI 80
|
||||
>LIBCALL hLIBGUI,LIBGUI.DrawLine
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
LIBGUI .AZ "libgui"
|
||||
|
@ -25,4 +25,4 @@ hToDelete .BS 1
|
||||
.FIN
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/bin/x.cpmvrm.g
|
||||
SAVE usr/src/shared/x.cpmvrm.g
|
@ -705,6 +705,6 @@ CS.QUIT jsr LeaveSubDir
|
||||
rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/bin/x.cpmvrm.s
|
||||
SAVE usr/src/shared/x.cpmvrm.s
|
||||
LOAD usr/src/bin/cp.s
|
||||
ASM
|
@ -570,6 +570,6 @@ DCB .DA #S.DCB.T.COM
|
||||
*--------------------------------------
|
||||
DRV.END
|
||||
MAN
|
||||
SAVE usr/src/drv/x.ssc.drv.s
|
||||
SAVE usr/src/shared/x.ssc.drv.s
|
||||
LOAD usr/src/drv/ssc.i.drv.s
|
||||
ASM
|
@ -36,4 +36,4 @@ TWIST .DA #%00000000,#%10000000,#%01000000,#%11000000,#%00100000,#%10100000,#%
|
||||
.DA #%00011111,#%10011111,#%01011111,#%11011111,#%00111111,#%10111111,#%01111111,#%11111111
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE USR/SRC/SHARED/X.TWIST.G
|
||||
SAVE usr/src/shared/x.twist.g
|
||||
|
Loading…
x
Reference in New Issue
Block a user