mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-12 22:30:57 +00:00
Kernel 0.94
This commit is contained in:
parent
538ef25eb5
commit
e87cb9907b
Binary file not shown.
Binary file not shown.
@ -108,7 +108,7 @@ Color.Masks .DA #%10001111,#%00000000,#%00000000,#%00000000
|
||||
* 4 bytes * 16 Colors
|
||||
*--------------------------------------
|
||||
* c1110000 c3322221 c5444433 c6666555
|
||||
Color.Pixels .DA #%00000000,#%00000000,#%00000000,#%00000000 black (color bit disable)
|
||||
Color.Pixels .DA #%00000000,#%00000000,#%00000000,#%00000000 black (color bit disabled)
|
||||
.DA #%10010001,#%10100010,#%11000100,#%10001000 dark blue
|
||||
.DA #%10100010,#%11000100,#%10001000,#%10010001 dark green
|
||||
.DA #%10110011,#%11100110,#%11001100,#%10011001 medium blue
|
||||
@ -123,7 +123,7 @@ Color.Pixels .DA #%00000000,#%00000000,#%00000000,#%00000000 black (color bit di
|
||||
.DA #%11001100,#%10011001,#%10110011,#%11100110 orange
|
||||
.DA #%11011101,#%10111011,#%11110111,#%11101110 pink
|
||||
.DA #%11101110,#%11011101,#%10111011,#%11110111 yellow
|
||||
.DA #%01111111,#%01111111,#%01111111,#%01111111 white (color bit disable)
|
||||
.DA #%01111111,#%01111111,#%01111111,#%01111111 white (color bit disabled)
|
||||
*--------------------------------------
|
||||
COL.BANK .DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2
|
||||
.DA #SETPAGE2,#CLRPAGE2,#SETPAGE2,#CLRPAGE2
|
||||
|
@ -2,7 +2,7 @@ NEW
|
||||
AUTO 3,1
|
||||
*--------------------------------------
|
||||
IO.D2.SeekTimeR .EQ 160 LIBBLKDEV Recalibration
|
||||
IO.D2.SeekTimeF .EQ 80 LIBBLKDEV Track Formatter
|
||||
IO.D2.SeekTimeF .EQ 85 LIBBLKDEV Track Formatter
|
||||
IO.D2.SeekTimeB .EQ 60 LIBBLKDEV Boot Block
|
||||
IO.D2.SeekTimeP .EQ 40 ProDOS.FX initial
|
||||
IO.D2.SeekTimeI .EQ 20 ProDOS.FX increment -> until > 128
|
||||
|
@ -14,6 +14,21 @@ LIBGUI.WND.SetProp .EQ 22
|
||||
LIBGUI.WND.GetProp .EQ 24
|
||||
LIBGUI.WND.Show .EQ 26
|
||||
*--------------------------------------
|
||||
C16.D.BLUE .EQ 1
|
||||
C16.D.GREEN .EQ 2
|
||||
C16.M.BLUE .EQ 3
|
||||
C16.BROWN .EQ 4
|
||||
C16.GREY2 .EQ 5
|
||||
C16.GREEN .EQ 6
|
||||
C16.AQUA .EQ 7
|
||||
C16.MAGENTA .EQ 8
|
||||
C16.VIOLET .EQ 9
|
||||
C16.GREY1 .EQ 10
|
||||
C16.L.BLUE .EQ 11
|
||||
C16.ORANGE .EQ 12
|
||||
C16.PINK .EQ 13
|
||||
C16.YELLOW .EQ 14
|
||||
*--------------------------------------
|
||||
CUR.T.ARROW .EQ 0
|
||||
CUR.T.RESIZEX .EQ 2
|
||||
CUR.T.RESIZEY .EQ 4
|
||||
@ -81,33 +96,36 @@ S.OBJ .EQ 22
|
||||
S.WND.F.RESIZE .EQ %00000001
|
||||
S.WND.F.MOVE .EQ %00000010
|
||||
S.WND.F.CLOSE .EQ %00000100
|
||||
S.WND.F.MAX .EQ %00001000
|
||||
S.WND.F.MIN .EQ %00010000
|
||||
S.WND.F.MIN .EQ %00001000
|
||||
S.WND.F.MAX .EQ %00010000
|
||||
S.WND.F.BORDER .EQ %00100000
|
||||
S.WND.F.MODAL .EQ %01000000
|
||||
S.WND.F.SYSMODAL .EQ %10000000
|
||||
*
|
||||
S.WND.S.ACTIVE .EQ %00000100
|
||||
S.WND.S.MAXIMIZED .EQ %00001000
|
||||
S.WND.S.MINIMIZED .EQ %00010000
|
||||
S.WND.S.HASTOPBAR .EQ %00000001
|
||||
S.WND.S.MAXIMIZED .EQ %00000010
|
||||
S.WND.S.MINIMIZED .EQ %00000100
|
||||
S.WND.S.ACTIVE .EQ %01000000
|
||||
*
|
||||
S.WND.MinW .EQ S.OBJ
|
||||
S.WND.MinH .EQ S.OBJ+2
|
||||
S.WND.TITLE .EQ S.OBJ+4
|
||||
S.WND.MBAR .EQ S.OBJ+6
|
||||
S.WND.BGCOLOR .EQ S.OBJ+8
|
||||
S.WND.BGBM .EQ S.OBJ+10
|
||||
S.WND.hCUR .EQ S.OBJ+12
|
||||
S.WND.STATUS .EQ S.OBJ+14
|
||||
S.WND.ICON .EQ S.OBJ+16
|
||||
S.WND.InnerW .EQ S.OBJ+18
|
||||
S.WND.InnerH .EQ S.OBJ+20
|
||||
S.WND.DocW .EQ S.OBJ+22
|
||||
S.WND.DocH .EQ S.OBJ+24
|
||||
S.WND.DocX .EQ S.OBJ+26
|
||||
S.WND.DocY .EQ S.OBJ+28
|
||||
S.WND.STATUS .EQ S.OBJ+8
|
||||
S.WND.ICON .EQ S.OBJ+10
|
||||
S.WND.BGCOLOR .EQ S.OBJ+12
|
||||
S.WND.BGBM .EQ S.OBJ+14
|
||||
S.WND.hCUR .EQ S.OBJ+16
|
||||
S.WND.TitleX1 .EQ S.OBJ+18
|
||||
S.WND.TitleX2 .EQ S.OBJ+20
|
||||
S.WND.InnerW .EQ S.OBJ+22
|
||||
S.WND.InnerH .EQ S.OBJ+24
|
||||
S.WND.DocW .EQ S.OBJ+26
|
||||
S.WND.DocH .EQ S.OBJ+28
|
||||
S.WND.DocX .EQ S.OBJ+30
|
||||
S.WND.DocY .EQ S.OBJ+32
|
||||
*
|
||||
S.WND .EQ S.OBJ+30
|
||||
S.WND .EQ S.OBJ+34
|
||||
*--------------------------------------
|
||||
S.MBAR.MENULIST .EQ S.OBJ
|
||||
* ... S.MENUs...
|
||||
|
@ -72,12 +72,8 @@ D2MoveHead >PULLB MoveTo
|
||||
cmp MoveTo
|
||||
beq .7
|
||||
|
||||
bit IO.D2.Ph0Off,x
|
||||
nop
|
||||
nop
|
||||
ldx IO.D2.Ph0Off,y
|
||||
nop
|
||||
nop
|
||||
jsr .8
|
||||
|
||||
bcs .2
|
||||
|
||||
* Current < Target, must move in
|
||||
@ -114,30 +110,36 @@ D2MoveHead >PULLB MoveTo
|
||||
|
||||
and #6
|
||||
ora Slotn0
|
||||
tax
|
||||
bcs .4
|
||||
|
||||
* move out : invert 2 phases
|
||||
|
||||
phy
|
||||
tay
|
||||
pla
|
||||
|
||||
.4 tax
|
||||
|
||||
lda IO.D2.Ph0On,y
|
||||
nop
|
||||
nop
|
||||
lda IO.D2.Ph0On,x
|
||||
nop
|
||||
nop
|
||||
lda IO.D2.Ph0On,y
|
||||
nop
|
||||
nop
|
||||
lda #IO.D2.SeekTimeF
|
||||
jsr D2.Wait100usecA
|
||||
bra .1
|
||||
|
||||
.7 jsr D2.Wait25600usec
|
||||
|
||||
lda IO.D2.Ph0Off,x
|
||||
nop
|
||||
nop
|
||||
lda IO.D2.Ph0Off,y
|
||||
nop
|
||||
nop
|
||||
|
||||
jsr D2.Wait25600usec
|
||||
|
||||
clc
|
||||
|
||||
.8 bit IO.D2.Ph0Off,x
|
||||
nop
|
||||
nop
|
||||
ldx IO.D2.Ph0Off,y
|
||||
nop
|
||||
nop
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
|
@ -5,14 +5,60 @@ BM.Apple .DA #S.BM.F.BBP4
|
||||
.DA #2 RowBytes
|
||||
.DA 16 W
|
||||
.DA 7 H
|
||||
.DA 0 no MASK.OFS
|
||||
.HS FFF6 green (8)
|
||||
.HS 6FF6 green (8)
|
||||
.DA BM.Apple.AND-BM.Apple
|
||||
.HS 0006 green (8)
|
||||
.HS 6006 green (8)
|
||||
.HS EEEE yellow (15)
|
||||
.HS CCFC orange (14)
|
||||
.HS 88F8 magenta (10)
|
||||
.HS CC0C orange (14)
|
||||
.HS 8808 magenta (10)
|
||||
.HS 9999 violet (11)
|
||||
.HS 1FF1 Dark blue (4)
|
||||
.HS 1001 Dark blue (4)
|
||||
BM.Apple.AND .HS FFF0
|
||||
.HS 0FF0
|
||||
.HS 0000
|
||||
.HS 00F0
|
||||
.HS 00F0
|
||||
.HS 0000
|
||||
.HS 0FF0
|
||||
*--------------------------------------
|
||||
BM.Close .DA #S.BM.F.BBP1
|
||||
.DA #1 RowBytes
|
||||
.DA 7 W
|
||||
.DA 7 Y
|
||||
.DA 0 no MASK.OFS
|
||||
.DA #%01000000
|
||||
.DA #%01000000
|
||||
.DA #%01010100
|
||||
.DA #%01001000
|
||||
.DA #%01010100
|
||||
.DA #%01000000
|
||||
.DA #%01000000
|
||||
*--------------------------------------
|
||||
BM.Max .DA #S.BM.F.BBP1
|
||||
.DA #1 RowBytes
|
||||
.DA 7 W
|
||||
.DA 7 Y
|
||||
.DA 0 no MASK.OFS
|
||||
.DA #%01000000
|
||||
.DA #%01011110
|
||||
.DA #%01011110
|
||||
.DA #%01010010
|
||||
.DA #%01010010
|
||||
.DA #%01011110
|
||||
.DA #%01000000
|
||||
*--------------------------------------
|
||||
BM.Min .DA #S.BM.F.BBP1
|
||||
.DA #1 RowBytes
|
||||
.DA 7 W
|
||||
.DA 7 Y
|
||||
.DA 0 no MASK.OFS
|
||||
.DA #%01000000
|
||||
.DA #%01000000
|
||||
.DA #%01000000
|
||||
.DA #%01000000
|
||||
.DA #%01000000
|
||||
.DA #%01011110
|
||||
.DA #%01000000
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/lib/libgui.g.bm
|
||||
|
@ -23,7 +23,7 @@ CUR.CB .DA #S.CB.CMD.BITBLT
|
||||
.BS 1
|
||||
.DA #S.CB.M.MONO
|
||||
.DA #0
|
||||
.BS S.CB-4
|
||||
.BS S.CB-2
|
||||
*--------------------------------------
|
||||
CUR.SaveBuf .BS 64 16*4
|
||||
*--------------------------------------
|
||||
|
@ -4,6 +4,7 @@ NEW
|
||||
hSYSFON .BS 1
|
||||
hSYSFONB .BS 1
|
||||
SYSFON.H .BS 1
|
||||
SYSFON.H2 .BS 1
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/lib/libgui.g.fon
|
||||
|
@ -17,6 +17,9 @@ FON.Init >LDYA L.SYSX7
|
||||
* >SYSCALL2 GetStkObjProp
|
||||
lda #7
|
||||
sta SYSFON.H
|
||||
inc
|
||||
inc
|
||||
sta SYSFON.H2
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
|
@ -12,7 +12,7 @@ WND.Init >PUSHBI 0
|
||||
>STYA IOCTL+S.IOCTL.BUFPTR
|
||||
lda #S.IOCTL.STATCODE.GETDCB
|
||||
sta IOCTL+S.IOCTL.STATCODE
|
||||
|
||||
|
||||
>PUSHB WND.Screen+S.OBJ.hPARENT
|
||||
>PUSHBI IOCTL.STATUS
|
||||
>PUSHW L.IOCTL
|
||||
@ -57,9 +57,9 @@ WND.Setup >LDYA DCB.GFX+S.DCB.GFX.W
|
||||
lda #CUR.T.ARROW
|
||||
sta WND.Desktop+S.WND.hCUR
|
||||
sta WND.SysBar+S.WND.hCUR
|
||||
|
||||
|
||||
stz WND.Stack.Top
|
||||
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
WND.Quit lda WND.Screen+S.OBJ.hPARENT
|
||||
@ -95,21 +95,21 @@ WND.Create ldy WND.Stack.Top
|
||||
.1 sta (ZPPtr1),y
|
||||
dey
|
||||
bne .1
|
||||
|
||||
|
||||
>PULLA
|
||||
ldy #S.OBJ.H
|
||||
sta (ZPPtr1),y
|
||||
>PULLA
|
||||
iny
|
||||
sta (ZPPtr1),y
|
||||
|
||||
|
||||
>PULLA
|
||||
ldy #S.OBJ.W
|
||||
sta (ZPPtr1),y
|
||||
>PULLA
|
||||
iny
|
||||
sta (ZPPtr1),y
|
||||
|
||||
|
||||
>PULLA
|
||||
ldy #S.OBJ.Y1
|
||||
sta (ZPPtr1),y
|
||||
@ -123,7 +123,7 @@ WND.Create ldy WND.Stack.Top
|
||||
>PULLA
|
||||
iny
|
||||
sta (ZPPtr1),y
|
||||
|
||||
|
||||
>PULLA
|
||||
ldy #S.OBJ.F
|
||||
sta (ZPPtr1),y
|
||||
@ -133,12 +133,12 @@ WND.Create ldy WND.Stack.Top
|
||||
|
||||
ldy #S.OBJ.hOWNER
|
||||
sta (ZPPtr1),y
|
||||
|
||||
|
||||
txa ID
|
||||
ldy WND.Stack.Top
|
||||
sta WND.Stack
|
||||
inc WND.Stack.Top
|
||||
|
||||
|
||||
* clc
|
||||
rts
|
||||
|
||||
@ -153,12 +153,12 @@ WND.SetProp ldy #3
|
||||
|
||||
>SYSCALL2 GetMemPtr
|
||||
>STYA ZPPtr1
|
||||
|
||||
|
||||
ldy #2
|
||||
lda (pStack),y
|
||||
|
||||
|
||||
tay
|
||||
|
||||
|
||||
>PULLA
|
||||
sta (ZPPtr1),y
|
||||
|
||||
@ -172,67 +172,75 @@ WND.SetProp ldy #3
|
||||
*--------------------------------------
|
||||
WND.GetProp >PULLA
|
||||
pha
|
||||
|
||||
|
||||
>PULLA
|
||||
>SYSCALL2 GetMemPtr
|
||||
>STYA ZPPtr1
|
||||
|
||||
|
||||
ply
|
||||
|
||||
|
||||
lda (ZPPtr1),y
|
||||
pha
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
ply
|
||||
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
* A = hWND
|
||||
*--------------------------------------
|
||||
WND.Show >SYSCALL2 GetMemPtr
|
||||
>STYA ZPPtr1
|
||||
|
||||
|
||||
jsr OBJ.SetX2Y2
|
||||
|
||||
|
||||
jsr GetCBBuf
|
||||
bcs .9
|
||||
|
||||
|
||||
stz Counter X
|
||||
stz Counter+1 Y
|
||||
|
||||
|
||||
ldy #S.OBJ.F
|
||||
lda (ZPPtr1),y
|
||||
and #S.WND.F.RESIZE+S.WND.F.BORDER
|
||||
beq .1
|
||||
|
||||
|
||||
inc Counter 1 pixel L
|
||||
inc Counter 1 pixel R
|
||||
inc Counter+1 1 top
|
||||
inc Counter+1 1 bottom
|
||||
|
||||
|
||||
jsr WND.PaintBorders
|
||||
|
||||
|
||||
.1 ldy #S.WND.TITLE+1
|
||||
lda (ZPPtr1),y
|
||||
beq .77
|
||||
bne .2
|
||||
|
||||
lda Counter+1
|
||||
ldy #S.OBJ.S
|
||||
lda (ZPPtr1),y
|
||||
and #S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MIN+S.WND.F.MAX
|
||||
beq .3
|
||||
|
||||
.2 lda Counter+1
|
||||
clc
|
||||
adc SYSFON.H
|
||||
inc
|
||||
inc
|
||||
adc SYSFON.H2
|
||||
sta Counter+1
|
||||
|
||||
jsr WND.PaintTitle
|
||||
lda #S.WND.S.HASTOPBAR
|
||||
jsr WND.SetStatus
|
||||
|
||||
jsr WND.PaintTopBar
|
||||
bcs .9
|
||||
|
||||
.3
|
||||
|
||||
.77 lda #0
|
||||
|
||||
lda #0
|
||||
jsr PutCBBuf
|
||||
|
||||
|
||||
>LDYA L.WND.Screen
|
||||
jsr DrawToYA
|
||||
|
||||
|
||||
lda hCBBuf
|
||||
>SYSCALL FreeMem
|
||||
|
||||
@ -250,9 +258,9 @@ WND.Paint >STYA ZPPtr1
|
||||
WND.PaintBorders
|
||||
lda #S.CB.CMD.HLINE TOP
|
||||
jsr WND.PaintBorders.H
|
||||
|
||||
|
||||
ldy #S.OBJ.X1
|
||||
|
||||
|
||||
.1 lda (ZPPtr1),y
|
||||
jsr PutCBBuf
|
||||
iny
|
||||
@ -261,9 +269,9 @@ WND.PaintBorders
|
||||
|
||||
lda #S.CB.CMD.VLINE LEFT
|
||||
jsr WND.PaintBorders.H
|
||||
|
||||
|
||||
ldy #S.OBJ.X1
|
||||
|
||||
|
||||
.2 lda (ZPPtr1),y
|
||||
jsr PutCBBuf
|
||||
iny
|
||||
@ -275,28 +283,28 @@ WND.PaintBorders
|
||||
|
||||
ldy #S.OBJ.X2
|
||||
jsr WND.PaintPushWY
|
||||
|
||||
|
||||
ldy #S.OBJ.Y1
|
||||
jsr WND.PaintPushWY
|
||||
|
||||
|
||||
ldy #S.OBJ.X2
|
||||
jsr WND.PaintPushWY
|
||||
|
||||
|
||||
ldy #S.OBJ.Y2
|
||||
jsr WND.PaintPushWY
|
||||
|
||||
|
||||
lda #S.CB.CMD.HLINE BOTTOM
|
||||
jsr WND.PaintBorders.H
|
||||
|
||||
ldy #S.OBJ.X1
|
||||
jsr WND.PaintPushWY
|
||||
|
||||
|
||||
ldy #S.OBJ.Y2
|
||||
jsr WND.PaintPushWY
|
||||
|
||||
|
||||
ldy #S.OBJ.X2
|
||||
jsr WND.PaintPushWY
|
||||
|
||||
|
||||
ldy #S.OBJ.Y2
|
||||
jsr WND.PaintPushWY
|
||||
|
||||
@ -318,44 +326,168 @@ WND.PaintPushWY lda (ZPPtr1),y
|
||||
jsr PutCBBuf
|
||||
rts
|
||||
*--------------------------------------
|
||||
WND.PaintTitle ldx #S.CB-1
|
||||
|
||||
.1 stz CB.Cache,x
|
||||
WND.PaintTopBar lda #S.CB.CMD.FILLRECT
|
||||
jsr PutCBBuf
|
||||
lda #S.CB.OP.SET
|
||||
jsr PutCBBuf
|
||||
lda #S.CB.M.C16
|
||||
jsr PutCBBuf
|
||||
lda PREFS.TOBARCOLOR
|
||||
jsr PutCBBuf
|
||||
|
||||
ldy #S.WND.ICON+1
|
||||
lda (ZPPtr1),y
|
||||
tax
|
||||
dey
|
||||
ora (ZPPtr1),y
|
||||
bne .1
|
||||
|
||||
lda L.BM.Apple
|
||||
ldx L.BM.Apple+1
|
||||
bra .2
|
||||
|
||||
.1 lda (ZPPtr1),y
|
||||
|
||||
.2 sta ZPObjPtr
|
||||
stx ZPObjPtr+1
|
||||
|
||||
lda #1
|
||||
ldx #0
|
||||
|
||||
jsr WND.PaintTopBarBMAtAX
|
||||
|
||||
jsr WND.PaintTopBarTitle
|
||||
bcs .9
|
||||
|
||||
|
||||
clc
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
WND.PaintTopBarBMAtAX
|
||||
clc
|
||||
ldy #S.OBJ.X1
|
||||
adc (ZPPtr1),y
|
||||
pha
|
||||
|
||||
iny
|
||||
|
||||
txa
|
||||
adc (ZPPtr1),y
|
||||
|
||||
tax
|
||||
|
||||
lda #S.CB.CMD.BITBLT
|
||||
jsr PutCBBuf
|
||||
lda #S.CB.OP.MASK+S.CB.OP.ORA+S.CB.OP.COLOR
|
||||
jsr PutCBBuf
|
||||
lda #S.CB.M.C16
|
||||
jsr PutCBBuf
|
||||
|
||||
lda #0
|
||||
jsr PutCBBuf
|
||||
|
||||
pla X1
|
||||
jsr PutCBBufAX
|
||||
|
||||
ldy #S.OBJ.Y1
|
||||
lda (ZPPtr1),y
|
||||
clc
|
||||
adc #1
|
||||
jsr PutCBBuf
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
adc #0
|
||||
jsr PutCBBuf
|
||||
|
||||
lda #0 S.CB.X2
|
||||
jsr PutCBBuf
|
||||
jsr PutCBBuf
|
||||
|
||||
jsr PutCBBuf S.CB.Y2
|
||||
jsr PutCBBuf
|
||||
|
||||
jsr PutCBBuf S.CB.SrcX
|
||||
jsr PutCBBuf
|
||||
|
||||
jsr PutCBBuf S.CB.SrcY
|
||||
jsr PutCBBuf
|
||||
|
||||
ldx #4
|
||||
|
||||
ldy #S.BM.W
|
||||
|
||||
.1 lda (ZPObjPtr),y
|
||||
jsr PutCBBuf
|
||||
iny
|
||||
dex
|
||||
bpl .1
|
||||
bne .1
|
||||
|
||||
lda ZPObjPtr S.CB.SrcPtr
|
||||
jsr PutCBBuf
|
||||
|
||||
lda ZPObjPtr+1
|
||||
jsr PutCBBuf
|
||||
|
||||
lda #0 S.CB.DstPtr
|
||||
jsr PutCBBuf
|
||||
>DEBUG
|
||||
jsr PutCBBuf
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
WND.PaintTopBarTitle
|
||||
ldy #S.OBJ.X1
|
||||
lda (ZPPtr1),y
|
||||
clc
|
||||
adc #1
|
||||
jsr PutCBBuf
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
adc #0
|
||||
jsr PutCBBuf
|
||||
|
||||
iny ldy #S.OBJ.Y1
|
||||
lda (ZPPtr1),y
|
||||
clc
|
||||
adc #1
|
||||
jsr PutCBBuf
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
adc #0
|
||||
jsr PutCBBuf
|
||||
|
||||
iny ldy #S.OBJ.X2
|
||||
lda (ZPPtr1),y
|
||||
sec
|
||||
sbc #1
|
||||
jsr PutCBBuf
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
sbc #0
|
||||
jsr PutCBBuf
|
||||
|
||||
ldy #S.OBJ.Y1
|
||||
lda (ZPPtr1),y
|
||||
clc
|
||||
adc SYSFON.H2
|
||||
jsr PutCBBuf
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
adc #0
|
||||
jsr PutCBBuf
|
||||
|
||||
jsr CB.Clear
|
||||
|
||||
lda #S.CB.CMD.DRAWTEXT+S.CB.CMD.OSD
|
||||
sta CB.Cache+S.CB.CMD
|
||||
lda #S.CB.OP.SET +S.CB.OP.INVERSE
|
||||
lda #S.CB.OP.SET+S.CB.OP.INVERSE
|
||||
sta CB.Cache+S.CB.OP
|
||||
lda #S.CB.M.MONO
|
||||
sta CB.Cache+S.CB.M
|
||||
lda hSYSFONB
|
||||
sta CB.Cache+S.CB.hFont
|
||||
|
||||
ldy #S.OBJ.X1
|
||||
lda (ZPPtr1),y
|
||||
clc
|
||||
adc #1
|
||||
sta CB.Cache+S.CB.X1
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
adc #0
|
||||
sta CB.Cache+S.CB.X1+1
|
||||
|
||||
iny #S.OBJ.Y1
|
||||
|
||||
lda (ZPPtr1),y
|
||||
clc
|
||||
adc #1
|
||||
sta CB.Cache+S.CB.Y1
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
adc #0
|
||||
sta CB.Cache+S.CB.Y1+1
|
||||
|
||||
|
||||
|
||||
|
||||
ldy #S.WND.TITLE
|
||||
lda (ZPPtr1),y
|
||||
sta CB.Cache+S.CB.TxtPtr
|
||||
@ -365,7 +497,28 @@ WND.PaintTitle ldx #S.CB-1
|
||||
|
||||
jsr GFXWrite.CB
|
||||
bcs .9
|
||||
|
||||
|
||||
ldy #S.OBJ.X1
|
||||
lda (ZPPtr1),y
|
||||
clc
|
||||
adc #17
|
||||
sta CB.Cache+S.CB.X1
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
adc #0
|
||||
sta CB.Cache+S.CB.X1+1
|
||||
|
||||
ldy #S.OBJ.Y1
|
||||
|
||||
lda (ZPPtr1),y
|
||||
clc
|
||||
adc #2
|
||||
sta CB.Cache+S.CB.Y1
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
adc #0
|
||||
sta CB.Cache+S.CB.Y1+1
|
||||
|
||||
ldx #0
|
||||
|
||||
.8 lda CB.Cache,x
|
||||
@ -373,10 +526,21 @@ WND.PaintTitle ldx #S.CB-1
|
||||
inx
|
||||
cpx #S.CB.DstPtr+2
|
||||
bne .8
|
||||
|
||||
|
||||
clc
|
||||
|
||||
.9 rts
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
WND.ClrStatus ldy #S.OBJ.S
|
||||
eor #$ff
|
||||
and (ZPPtr1),y
|
||||
sta (ZPPtr1),y
|
||||
rts
|
||||
*--------------------------------------
|
||||
WND.SetStatus ldy #S.OBJ.S
|
||||
ora (ZPPtr1),y
|
||||
sta (ZPPtr1),y
|
||||
rts
|
||||
*--------------------------------------
|
||||
WND.Close clc
|
||||
rts
|
||||
|
@ -171,6 +171,9 @@ L.WND.Desktop .DA WND.Desktop
|
||||
L.WND.SysBar .DA WND.SysBar
|
||||
*--------------------------------------
|
||||
L.BM.Apple .DA BM.Apple
|
||||
.DA BM.Close
|
||||
.DA BM.Max
|
||||
.DA BM.Min
|
||||
*--------------------------------------
|
||||
L.CUR.CB .DA CUR.CB
|
||||
L.CUR.SaveBuf .DA CUR.SaveBuf
|
||||
@ -294,6 +297,14 @@ OBJ.SetX2Y2 >STYA ZPObjPtr
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
CB.Clear ldx #S.CB-1
|
||||
|
||||
.1 stz CB.Cache,x
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
CB.Get >STYA .1+1
|
||||
|
||||
ldx #S.CB-1
|
||||
@ -314,6 +325,10 @@ GetCBBuf >LDYAI 256
|
||||
>STYA ZPCBBufPtr
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
PutCBBufAX jsr PutCBBuf
|
||||
|
||||
txa
|
||||
|
||||
PutCBBuf sta (ZPCBBufPtr)
|
||||
inc ZPCBBufPtr
|
||||
bne .8
|
||||
@ -424,6 +439,7 @@ MENU.Sys .DA #2 ID
|
||||
.DA #0
|
||||
*--------------------------------------
|
||||
PREFS.BORDERCOLOR .DA #0 BLACK
|
||||
PREFS.TOBARCOLOR .DA #C16.D.BLUE
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/lib/libgui.s
|
||||
|
@ -782,12 +782,7 @@ XRW.Seek ldx XRW.UnitIndex
|
||||
cmp XRW.TargetQTrack
|
||||
beq .7
|
||||
|
||||
bit IO.D2.Ph0Off,x
|
||||
nop
|
||||
nop
|
||||
ldx IO.D2.Ph0Off,y
|
||||
nop
|
||||
nop
|
||||
jsr .8
|
||||
|
||||
bcs .2
|
||||
|
||||
@ -825,24 +820,33 @@ XRW.Seek ldx XRW.UnitIndex
|
||||
|
||||
and #6
|
||||
ora A2L
|
||||
tax
|
||||
|
||||
bcs .4
|
||||
|
||||
* move out : invert 2 phases
|
||||
|
||||
phy
|
||||
tay
|
||||
pla
|
||||
|
||||
.4 tax
|
||||
|
||||
lda IO.D2.Ph0On,y
|
||||
nop
|
||||
nop
|
||||
lda IO.D2.Ph0On,x
|
||||
nop
|
||||
nop
|
||||
lda IO.D2.Ph0On,y
|
||||
nop
|
||||
nop
|
||||
|
||||
jsr XRW.WaitSeekTime
|
||||
bra .1
|
||||
|
||||
.7 jsr XRW.Wait25600usec
|
||||
|
||||
lda IO.D2.Ph0Off,x
|
||||
.8 bit IO.D2.Ph0Off,x
|
||||
nop
|
||||
nop
|
||||
lda IO.D2.Ph0Off,y
|
||||
ldx IO.D2.Ph0Off,y
|
||||
nop
|
||||
nop
|
||||
|
||||
|
@ -43,8 +43,9 @@ CS.START cld
|
||||
.DA CS.QUIT
|
||||
L.LIBGUI .DA LIBGUI
|
||||
L.MouseData .DA MouseData
|
||||
L.WND.Title .DA WND.Title
|
||||
L.WND.Menu .DA WND.Menu
|
||||
L.WND.TITLE .DA WND.TITLE
|
||||
L.WND.MBAR .DA WND.MBAR
|
||||
L.WND.STATUS .DA WND.STATUS
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
CS.INIT >LDYA L.LIBGUI
|
||||
@ -108,27 +109,34 @@ CS.DOEVENT lda (pEvent)
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.QUIT clc
|
||||
rts
|
||||
CS.QUIT.RTS rts
|
||||
*--------------------------------------
|
||||
WND.Test >PUSHBI S.WND.F.RESIZE+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MAX+S.WND.F.MIN
|
||||
|
||||
>PUSHW MouseData+S.MOUSE.X1
|
||||
>PUSHW MouseData+S.MOUSE.Y1
|
||||
>PUSHWI 200
|
||||
>PUSHWI 100
|
||||
>PUSHWI 240
|
||||
>PUSHWI 90
|
||||
>LIBCALL hLIBGUI,LIBGUI.WND.Create
|
||||
bcs .9
|
||||
bcs CS.QUIT.RTS
|
||||
sta hWND
|
||||
|
||||
>PUSHA
|
||||
>PUSHBI S.WND.TITLE
|
||||
>PUSHW L.WND.Title
|
||||
>PUSHW L.WND.TITLE
|
||||
>LIBCALL hLIBGUI,LIBGUI.WND.SetProp
|
||||
|
||||
* >PUSHA
|
||||
* >PUSHBI S.WND.TITLE
|
||||
* >PUSHW L.WND.Title
|
||||
* >LIBCALL hLIBGUI,LIBGUI.WND.SetProp
|
||||
lda hWND
|
||||
>PUSHA
|
||||
>PUSHBI S.WND.MBAR
|
||||
>PUSHW L.WND.MBAR
|
||||
>LIBCALL hLIBGUI,LIBGUI.WND.SetProp
|
||||
|
||||
lda hWND
|
||||
>PUSHA
|
||||
>PUSHBI S.WND.STATUS
|
||||
>PUSHW L.WND.STATUS
|
||||
>LIBCALL hLIBGUI,LIBGUI.WND.SetProp
|
||||
|
||||
>LIBCALL hLIBGUI,LIBGUI.HideCursor
|
||||
lda hWND
|
||||
@ -145,9 +153,9 @@ hLIBGUI .BS 1
|
||||
MouseData .BS S.MOUSE
|
||||
*--------------------------------------
|
||||
hWND .BS 1
|
||||
WND.Title .AZ "Window Title"
|
||||
WND.TITLE .AZ "Window Title"
|
||||
*--------------------------------------
|
||||
WND.Menu .AZ "File"
|
||||
WND.MBAR .AZ "File"
|
||||
.DA #02 ID
|
||||
.DA #S.MITEM.KEYMOD.CTRL
|
||||
.DA #'N'
|
||||
@ -189,7 +197,15 @@ WND.Menu .AZ "File"
|
||||
.DA #0
|
||||
.AZ "Check Me"
|
||||
.DA #0
|
||||
.AZ "?"
|
||||
.DA #20 ID
|
||||
.DA #0
|
||||
.DA #0
|
||||
.AZ "About..."
|
||||
.DA #0
|
||||
.DA #0
|
||||
*--------------------------------------
|
||||
WND.STATUS .AZ "Window status bar message"
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
|
Loading…
x
Reference in New Issue
Block a user