Kernel 0.92

This commit is contained in:
Rémy GIBERT 2019-01-10 16:26:58 +00:00
parent cdbc85120d
commit 0b1112e5a2
14 changed files with 431 additions and 339 deletions

Binary file not shown.

View File

@ -13,9 +13,10 @@ AUTO 4,1
.INB INC/IO.I .INB INC/IO.I
.INB INC/GFX.I .INB INC/GFX.I
.INB INC/GFX.EVE.I .INB INC/GFX.EVE.I
.INB INC/GUI.I
.INB INC/LIBGUI.I .INB INC/LIBGUI.I
*-------------------------------------- *--------------------------------------
ZPPtr .EQ ZPDRV
*--------------------------------------
* File Header (16 Bytes) * File Header (16 Bytes)
*-------------------------------------- *--------------------------------------
CS.START cld CS.START cld
@ -56,7 +57,7 @@ Dev.Detect >LDYA L.MSG.DETECT
.1 php .1 php
sei sei
sta SET80STORE
sta SETPAGE2 sta SETPAGE2
ldx $400 Save Aux $400 ldx $400 Save Aux $400
@ -85,7 +86,6 @@ Dev.Detect >LDYA L.MSG.DETECT
plp plp
>LDYA L.MSG.DETECT.EVE >LDYA L.MSG.DETECT.EVE
bit DCB+S.DCB.GFX.S bit DCB+S.DCB.GFX.S
@ -106,6 +106,45 @@ Dev.Detect >LDYA L.MSG.DETECT
>PUSHW L.FD.DEV.NAME >PUSHW L.FD.DEV.NAME
>LDYA L.FD.DEV >LDYA L.FD.DEV
>SYSCALL MKDEV >SYSCALL MKDEV
bcs .9
php
sei
>LDYAI $4000
>STYA $800
sta SETWRITEAUX
>STYA $800
sta CLRWRITEAUX
sta SET80STORE
ldx #191
lda #0
.4 ldy BASEL,x
sty ZPPtr
ldy BASEH,x
sty ZPPtr+1
sta SETPAGE2
ldy #39
.5 sta (ZPPtr),y
dey
bpl .5
sta CLRPAGE2
ldy #39
.6 sta (ZPPtr),y
dey
bpl .6
dex
bpl .4
plp
.9 rts .9 rts
*-------------------------------------- *--------------------------------------

View File

@ -8,9 +8,9 @@ AUTO 4,1
*-------------------------------------- *--------------------------------------
.INB INC/MACROS.I .INB INC/MACROS.I
.INB INC/A2OSX.I .INB INC/A2OSX.I
.INB INC/IO.I
.INB INC/MLI.E.I .INB INC/MLI.E.I
.INB INC/XY.MOUSE.I .INB INC/XY.MOUSE.I
.INB INC/GUI.I
.INB INC/LIBGUI.I .INB INC/LIBGUI.I
*-------------------------------------- *--------------------------------------
ZPSlotPtr .EQ ZPDRV ZPSlotPtr .EQ ZPDRV
@ -234,6 +234,9 @@ READ >STYA ZPBufPtr NON STANDARD
php php
sei sei
sta SET80STORE
sta CLRPAGE2
* ldy #READMOUSE DONE BY IRQ MANAGER * ldy #READMOUSE DONE BY IRQ MANAGER
* jsr GOMOUSE * jsr GOMOUSE

View File

@ -1,231 +0,0 @@
NEW
PREFIX
AUTO 4,1
.LIST OFF
*--------------------------------------
* GC : Graphic Context
*--------------------------------------
S.GC.hParentGC .EQ 0
S.GC.hDev .EQ 1
S.GC.hMem .EQ 2
*
S.GC.X1 .EQ 4
S.GC.Y1 .EQ 6
S.GC.X2 .EQ 8
S.GC.Y2 .EQ 10
S.GC.W .EQ 12
S.GC.H .EQ 14
S.GC.Cursor .EQ 15
S.GC.Color .EQ 16
S.GC.hFont .EQ 17
S.GC.hBrush .EQ 18
*
S.GC .EQ 20
*--------------------------------------
S.CB.CMD .EQ 0
S.CB.CMD.SETPIXEL .EQ 0
S.CB.CMD.GETPIXEL .EQ 2
S.CB.CMD.HLINE .EQ 4
S.CB.CMD.VLINE .EQ 6
S.CB.CMD.FILLRECT .EQ 8
S.CB.CMD.BITBLT .EQ 10
S.CB.CMD.GETRECTBUFSIZE .EQ 12
S.CB.CMD.DRAWLINE .EQ 14
S.CB.CMD.DRAWTEXT .EQ 16
S.CB.CMD.GETTEXTSIZE .EQ 18
S.CB.OP .EQ 1
S.CB.OP.XOR .EQ 0 screen EOR bitmap -> Screen
S.CB.OP.SET .EQ 2 replace screen with bitmap
S.CB.OP.ORA .EQ 4 combine screen & bitmap -> Screen
S.CB.OP.MASK .EQ %00001000 Apply BitMap mask before painting
S.CB.OP.SAVE .EQ %00010000 Save Screen to DstPtr before painting
S.CB.OP.RESTORE .EQ %00100000 Restore Screen From DstPtr
S.CB.OP.COLOR .EQ %01000000 Assume BitMap is COLOR
S.CB.OP.F.B .EQ %00010000
S.CB.OP.F.I .EQ %00100000
S.CB.OP.F.U .EQ %01000000
S.CB.OP.F.G .EQ %10000000
S.CB.M .EQ 2
S.CB.M.MONO .EQ %00000001 b/w (1 bit/pixel)
*S.CB.M.C4 .EQ %00000010
*S.CB.M.C8 .EQ %00000100
S.CB.M.C16 .EQ %00001000 16 colors (4 bits/pixel)
*S.CB.M.C256 .EQ %00010000 256 colors (8 bits/pixel)
S.CB.COLOR .EQ 3 xPIXEL,xLINE,FILLRECT
S.CB.hFont .EQ 3 DRAWTEXT
S.CB.X1 .EQ 4 xPIXEL,xLINE,FILLRECT,BITBLT,GETRECTBUFSIZE,DRAWLINE
S.CB.Y1 .EQ 6 xPIXEL,xLINE,FILLRECT,BITBLT,GETRECTBUFSIZE,DRAWLINE
S.CB.X2 .EQ 8 VLINE,FILLRECT,DRAWLINE
S.CB.Y2 .EQ 10 HLINE,FILLRECT,DRAWLINE
S.CB.SrcW .EQ 8 BITBLT,GETRECTBUFSIZE
S.CB.SrcH .EQ 10 BITBLT,GETRECTBUFSIZE
S.CB.DstX .EQ 12 BITBLT,DRAWTEXT
S.CB.DstY .EQ 14 BITBLT,DRAWTEXT
S.CB.SrcPtr .EQ 16 BITBLT
S.CB.TxtPtr .EQ 16 DRAWTEXT
S.CB.DstPtr .EQ 18 BITBLT
*
S.CB .EQ 20
*--------------------------------------
CUR.T.ARROW .EQ 0
CUR.T.RESIZEX .EQ 2
CUR.T.RESIZEY .EQ 4
CUR.T.RESIZEXY1 .EQ 6
CUR.T.RESIZEXY2 .EQ 8
CUR.T.CROSS .EQ 10
CUR.T.TEXT .EQ 12
CUR.T.WAIT .EQ 14
*--------------------------------------
S.MOUSE.X1 .EQ 0
S.MOUSE.Y1 .EQ 2
S.MOUSE.X2 .EQ 4
S.MOUSE.Y2 .EQ 6
S.MOUSE.S .EQ 8
S.MOUSE.S.UP .EQ %00000001
S.MOUSE.S.DOWN .EQ %00000010
S.MOUSE.S.MOVE .EQ %00000100
S.MOUSE.S.DRAGSTART .EQ %00001000
S.MOUSE.S.DRAGEND .EQ %00010000
S.MOUSE.S.CLK .EQ %00100000
S.MOUSE.S.DCLK .EQ %01000000
S.MOUSE.KEYMOD .EQ 9
S.MOUSE.KEYMOD.OA .EQ %00000001
S.MOUSE.KEYMOD.CA .EQ %00000010
*
S.MOUSE .EQ 10
*--------------------------------------
S.POINT.X .EQ 0
S.POINT.Y .EQ 2
*
S.POINT .EQ 4
*--------------------------------------
S.RECT.X1 .EQ 0
S.RECT.Y1 .EQ 2
S.RECT.X2 .EQ 4
S.RECT.Y2 .EQ 6
*
S.RECT .EQ 8
*--------------------------------------
S.OBJ.T .EQ 0
S.OBJ.T.SCREEN .EQ 0
S.OBJ.T.WND .EQ 2
S.OBJ.T.MENUBAR .EQ 4
S.OBJ.T.MENU .EQ 6
S.OBJ.T.MITEM .EQ 8
S.OBJ.T.BUT .EQ 10
S.OBJ.T.TEXT .EQ 12
S.OBJ.F .EQ 1
S.OBJ.S .EQ 2
S.OBJ.ID .EQ 3
S.OBJ.hOWNER .EQ 4
S.OBJ.hPARENT .EQ 6
S.OBJ.X .EQ 8
S.OBJ.Y .EQ 10
S.OBJ.W .EQ 12
S.OBJ.H .EQ 14
*--------------------------------------
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.NOBORDER .EQ %00100000
S.WND.F.MODAL .EQ %01000000
S.WND.F.SYSMODAL .EQ %10000000
*
S.WND.S.MAX .EQ %00001000
S.WND.S.MIN .EQ %00010000
*
S.WND.MinW .EQ 16
S.WND.MinH .EQ 18
S.WND.hTITLE .EQ 20
S.WND.hMENUBAR .EQ 22
S.WND.hBKCOLOR .EQ 24
S.WND.hBKBM .EQ 26
S.WND.hCUR .EQ 28
S.WND.hSTATUS .EQ 30
S.WND.hICON .EQ 32
*
S.WND .EQ 34
*--------------------------------------
S.MENUBAR
*--------------------------------------
S.MENU.hSAVEBUF .EQ 2
* ... S.MITEMs...
*--------------------------------------
*S.MITEM.F. .EQ %00000001
*S.MITEM.F. .EQ %00000010
*S.MITEM.F. .EQ %00000100
*S.MITEM.F. .EQ %00001000
*S.MITEM.F. .EQ %00010000
S.MITEM.F.SEP .EQ %00100000
S.MITEM.F.CHECKED .EQ %01000000
S.MITEM.F.DISABLED .EQ %10000000
S.MITEM.ID .EQ 1
S.MITEM.hSUBM .EQ 2
S.MITEM.hBM .EQ 3
S.MITEM.HOTKEY .EQ 4
S.MITEM.HOTKEY.CTRL .EQ %10000000
S.MITEM.HOTKEY.OA .EQ %01000000
S.MITEM.HOTKEY.CA .EQ %00100000
S.MITEM.TEXTLEN .EQ 5
S.MITEM.TEXT .EQ 6 CSTR
* ...
*--------------------------------------
S.BUT.T .EQ 0
S.BUT.F .EQ 1
S.BUT.F.DISABLED .EQ %10000000
S.BUT.S .EQ 2
S.BUT.S.PUSHED .EQ %10000000
S.BUT.ID .EQ 3
S.BUT.hOWNER .EQ 4
S.BUT.hPARENT .EQ 6
S.BUT.X .EQ 8
S.BUT.Y .EQ 10
S.BUT.W .EQ 12
S.BUT.H .EQ 14
S.BUT.hBM .EQ 16
S.BUT.TEXTX .EQ 18
S.BUT.TEXTY .EQ 20
S.BUT.TEXTLEN .EQ 22
S.BUT.TEXT .EQ 23
* ...
*--------------------------------------
S.TEXT.T .EQ 0
S.TEXT.F .EQ 1
S.TEXT.F.DISABLED .EQ %10000000
S.TEXT.ID .EQ 2
S.TEXT.hBM .EQ 3
S.TEXT.TEXTLEN .EQ 5
S.TEXT.TEXT .EQ 6
*--------------------------------------
S.BM.F .EQ 0
S.BM.F.BBP1 .EQ %00000001
S.BM.F.BBP2 .EQ %00000010
S.BM.F.BBP4 .EQ %00000100
S.BM.F.BBP8 .EQ %00001000
S.BM.RowBytes .EQ 1
S.BM.W .EQ 2
S.BM.H .EQ 4
S.BM.MASK.OFS .EQ 6
*
S.BM .EQ 8
*--------------------------------------
S.FON.F .EQ 0
S.FON.Ascent .EQ 1
S.FON.PixW .EQ 2 if 0, variable W
S.FON.PixH .EQ 3
S.FON.First .EQ 4
S.FON.Last .EQ 5
S.FON.Default .EQ 6
S.FON.Break .EQ 7
*
S.FON .EQ 8
*--------------------------------------
MAN
SAVE INC/GUI.I

View File

@ -11,7 +11,222 @@ LIBGUI.HideCursor .EQ 10
LIBGUI.ShowCursor .EQ 12 LIBGUI.ShowCursor .EQ 12
LIBGUI.UpdateCursor .EQ 14 LIBGUI.UpdateCursor .EQ 14
LIBGUI.ReadMouse .EQ 16 LIBGUI.ReadMouse .EQ 16
LIBGUI.GetScreenGC .EQ 18 *--------------------------------------
* Resource Headers
*--------------------------------------
S.BM.F .EQ 0
S.BM.F.BBP1 .EQ %00000001
S.BM.F.BBP2 .EQ %00000010
S.BM.F.BBP4 .EQ %00000100
S.BM.F.BBP8 .EQ %00001000
S.BM.RowBytes .EQ 1
S.BM.W .EQ 2
S.BM.H .EQ 4
S.BM.MASK.OFS .EQ 6
*
S.BM .EQ 8
*--------------------------------------
S.FON.F .EQ 0
S.FON.Ascent .EQ 1
S.FON.PixW .EQ 2 if 0, variable W
S.FON.PixH .EQ 3
S.FON.First .EQ 4
S.FON.Last .EQ 5
S.FON.Default .EQ 6
S.FON.Break .EQ 7
*
S.FON .EQ 8
*--------------------------------------
* Command Block
*--------------------------------------
S.CB.CMD .EQ 0
S.CB.CMD.SETPIXEL .EQ 0
S.CB.CMD.GETPIXEL .EQ 2
S.CB.CMD.HLINE .EQ 4
S.CB.CMD.VLINE .EQ 6
S.CB.CMD.FILLRECT .EQ 8
S.CB.CMD.BITBLT .EQ 10
S.CB.CMD.GETRECTBUFSIZE .EQ 12
S.CB.CMD.DRAWLINE .EQ 14
S.CB.CMD.DRAWTEXT .EQ 16
S.CB.CMD.GETTEXTSIZE .EQ 18
S.CB.OP .EQ 1
S.CB.OP.XOR .EQ 0 screen EOR bitmap -> Screen
S.CB.OP.SET .EQ 2 replace screen with bitmap
S.CB.OP.ORA .EQ 4 combine screen & bitmap -> Screen
S.CB.OP.MASK .EQ %00001000 Apply BitMap mask before painting
S.CB.OP.SAVE .EQ %00010000 Save Screen to DstPtr before painting
S.CB.OP.RESTORE .EQ %00100000 Restore Screen From DstPtr
S.CB.OP.COLOR .EQ %01000000 Assume BitMap is COLOR
S.CB.OP.F.B .EQ %00010000
S.CB.OP.F.I .EQ %00100000
S.CB.OP.F.U .EQ %01000000
S.CB.OP.F.G .EQ %10000000
S.CB.M .EQ 2
S.CB.M.MONO .EQ %00000001 b/w (1 bit/pixel)
*S.CB.M.C4 .EQ %00000010
*S.CB.M.C8 .EQ %00000100
S.CB.M.C16 .EQ %00001000 16 colors (4 bits/pixel)
*S.CB.M.C256 .EQ %00010000 256 colors (8 bits/pixel)
S.CB.COLOR .EQ 3 xPIXEL,xLINE,FILLRECT
S.CB.hFont .EQ 3 DRAWTEXT
S.CB.X1 .EQ 4 xPIXEL,xLINE,FILLRECT,BITBLT,GETRECTBUFSIZE,DRAWLINE
S.CB.Y1 .EQ 6 xPIXEL,xLINE,FILLRECT,BITBLT,GETRECTBUFSIZE,DRAWLINE
S.CB.X2 .EQ 8 VLINE,FILLRECT,DRAWLINE
S.CB.Y2 .EQ 10 HLINE,FILLRECT,DRAWLINE
S.CB.SrcW .EQ 8 BITBLT,GETRECTBUFSIZE
S.CB.SrcH .EQ 10 BITBLT,GETRECTBUFSIZE
S.CB.DstX .EQ 12 BITBLT,DRAWTEXT
S.CB.DstY .EQ 14 BITBLT,DRAWTEXT
S.CB.SrcPtr .EQ 16 BITBLT
S.CB.TxtPtr .EQ 16 DRAWTEXT
S.CB.DstPtr .EQ 18 BITBLT
*
S.CB .EQ 20
*--------------------------------------
CUR.T.ARROW .EQ 0
CUR.T.RESIZEX .EQ 2
CUR.T.RESIZEY .EQ 4
CUR.T.RESIZEXY1 .EQ 6
CUR.T.RESIZEXY2 .EQ 8
CUR.T.CROSS .EQ 10
CUR.T.TEXT .EQ 12
CUR.T.WAIT .EQ 14
*--------------------------------------
S.MOUSE.X1 .EQ 0
S.MOUSE.Y1 .EQ 2
S.MOUSE.X2 .EQ 4
S.MOUSE.Y2 .EQ 6
S.MOUSE.S .EQ 8
S.MOUSE.S.UP .EQ %00000001
S.MOUSE.S.DOWN .EQ %00000010
S.MOUSE.S.MOVE .EQ %00000100
S.MOUSE.S.DRAGSTART .EQ %00001000
S.MOUSE.S.DRAGEND .EQ %00010000
S.MOUSE.S.CLK .EQ %00100000
S.MOUSE.S.DCLK .EQ %01000000
S.MOUSE.KEYMOD .EQ 9
S.MOUSE.KEYMOD.OA .EQ %00000001
S.MOUSE.KEYMOD.CA .EQ %00000010
*
S.MOUSE .EQ 10
*--------------------------------------
S.POINT.X .EQ 0
S.POINT.Y .EQ 2
*
S.POINT .EQ 4
*--------------------------------------
S.RECT.X1 .EQ 0
S.RECT.Y1 .EQ 2
S.RECT.X2 .EQ 4
S.RECT.Y2 .EQ 6
*
S.RECT .EQ 8
*--------------------------------------
S.OBJ.T .EQ 0
S.OBJ.T.SCREEN .EQ 0
S.OBJ.T.WND .EQ 2
S.OBJ.T.MENUBAR .EQ 4
S.OBJ.T.MENU .EQ 6
S.OBJ.T.MITEM .EQ 8
S.OBJ.T.BUT .EQ 10
S.OBJ.T.TEXT .EQ 12
S.OBJ.F .EQ 1
S.OBJ.S .EQ 2
S.OBJ.ID .EQ 3
S.OBJ.hOWNER .EQ 4
S.OBJ.hPARENT .EQ 6
S.OBJ.X1 .EQ 8
S.OBJ.Y1 .EQ 10
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.SCREEN.hDEV .EQ S.OBJ
*
S.SCREEN .EQ S.OBJ+1
*--------------------------------------
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.BORDER .EQ %00100000
S.WND.F.MODAL .EQ %01000000
S.WND.F.SYSMODAL .EQ %10000000
*
S.WND.S.MAX .EQ %00001000
S.WND.S.MIN .EQ %00010000
*
S.WND.MinW .EQ S.OBJ
S.WND.MinH .EQ S.OBJ+2
S.WND.hTITLE .EQ S.OBJ+4
S.WND.hMENUBAR .EQ S.OBJ+6
S.WND.hBKCOLOR .EQ S.OBJ+8
S.WND.hBKBM .EQ S.OBJ+10
S.WND.hCUR .EQ S.OBJ+12
S.WND.hSTATUS .EQ S.OBJ+14
S.WND.hICON .EQ S.OBJ+16
S.WND.InnerW .EQ S.OBJ+18
S.WND.InnerH .EQ S.OBJ+20
*
S.WND .EQ S.OBJ+22
*--------------------------------------
S.MBAR.MENULIST .EQ S.OBJ
* ... S.MENUs...
*--------------------------------------
S.MENU.hSAVEBUF .EQ S.OBJ
S.MENU.ITEMLIST .EQ S.OBJ+2
* ... S.MITEMs...
*--------------------------------------
*S.MITEM.F. .EQ %00000001
*S.MITEM.F. .EQ %00000010
*S.MITEM.F. .EQ %00000100
*S.MITEM.F. .EQ %00001000
*S.MITEM.F. .EQ %00010000
S.MITEM.F.SEP .EQ %00100000
*
S.MITEM.S
S.MITEM.S.CHECKED .EQ %01000000
S.MITEM.S.DISABLED .EQ %10000000
*
S.MITEM.hSUBM .EQ S.OBJ
S.MITEM.hBM .EQ S.OBJ+2
S.MITEM.HOTKEY .EQ S.OBJ+4
S.MITEM.KEYMOD .EQ S.OBJ+5
S.MITEM.KEYMOD.CTRL .EQ %10000000
S.MITEM.KEYMOD.OA .EQ %01000000
S.MITEM.KEYMOD.CA .EQ %00100000
S.MITEM.TEXTLEN .EQ S.OBJ+6
S.MITEM.TEXT .EQ S.OBJ+8 CSTR
* ...
*--------------------------------------
S.BUT.F.DISABLED .EQ %10000000
*
S.BUT.S.PUSHED .EQ %10000000
*
S.BUT.hBM .EQ S.OBJ
S.BUT.TEXTX .EQ S.OBJ+2
S.BUT.TEXTY .EQ S.OBJ+4
S.BUT.TEXTLEN .EQ S.OBJ+6
S.BUT.TEXT .EQ S.OBJ+8
* ...
*--------------------------------------
S.TEXT.F.DISABLED .EQ %10000000
*
S.TEXT.hBM .EQ S.OBJ
S.TEXT.TEXTX .EQ S.OBJ+2
S.TEXT.TEXTY .EQ S.OBJ+4
S.TEXT.TEXTLEN .EQ S.OBJ+6
S.TEXT.TEXT .EQ S.OBJ+8
* ...
*-------------------------------------- *--------------------------------------
MAN MAN
SAVE /A2OSX.BUILD/INC/LIBGUI.I SAVE /A2OSX.BUILD/INC/LIBGUI.I

View File

@ -5,7 +5,6 @@ AUTO 4,1
WND.TB.H .BS 1 WND.TB.H .BS 1
WND.Stack.Top .BS 1 WND.Stack.Top .BS 1
WND.Stack .BS WND.MAX WND.Stack .BS WND.MAX
WND.Cache .BS S.WND
*-------------------------------------- *--------------------------------------
MAN MAN
SAVE USR/SRC/LIB/LIBGUI.G.WND SAVE USR/SRC/LIB/LIBGUI.G.WND

View File

@ -4,7 +4,7 @@ AUTO 4,1
*-------------------------------------- *--------------------------------------
BUT.New >STYA ZPPtr1 BUT.New >STYA ZPPtr1
ldy #S.BUT.W ldy #S.OBJ.W
lda (ZPPtr1),y lda (ZPPtr1),y
iny iny
ora (ZPPtr1),y ora (ZPPtr1),y
@ -18,7 +18,7 @@ BUT.New >STYA ZPPtr1
>SYSCALL GetStkObjProp >SYSCALL GetStkObjProp
phy phy
ldy #S.BUT.W+1 ldy #S.OBJ.W+1
sta (ZPPtr1),y sta (ZPPtr1),y
dey dey
pla pla

View File

@ -4,7 +4,7 @@ AUTO 4,1
*-------------------------------------- *--------------------------------------
* CLIPPING Functions: * CLIPPING Functions:
* In: * In:
* Graphic Context in GC.Cache * Graphic Context in OBJ.Cache
* YA = Control Block * YA = Control Block
* Out: * Out:
* CC : CB.Cache clipped & visible * CC : CB.Cache clipped & visible
@ -31,20 +31,20 @@ CLIP.BitBlt lda CB.Cache+S.CB.DstX
ldx CB.Cache+S.CB.DstX+1 ldx CB.Cache+S.CB.DstX+1
pha pha
>SCMPAX GC.Cache+S.GC.X2 >SCMPAX OBJ.Cache+S.OBJ.X2
bpl CLIP.BitBlt.9 DestX after X2....exit bpl CLIP.BitBlt.9 DestX after X2....exit
pla pla
>SCMPAX GC.Cache+S.GC.X1 >SCMPAX OBJ.Cache+S.OBJ.X1
bpl .1 DestX Inside X1-X2, go check if X1+W fit in bpl .1 DestX Inside X1-X2, go check if X1+W fit in
* S.CB.DstX before S.GC.X1: D=S.GC.X1-S.CB.DstX, S.CB.SrcW-=D, S.CB.DstX=+=D, S.CB.X1+=D * S.CB.DstX before S.OBJ.X1: D=S.OBJ.X1-S.CB.DstX, S.CB.SrcW-=D, S.CB.DstX=+=D, S.CB.X1+=D
lda GC.Cache+S.GC.X1 Compute D.... lda OBJ.Cache+S.OBJ.X1 Compute D....
sec sec
sbc CB.Cache+S.CB.DstX sbc CB.Cache+S.CB.DstX
sta D sta D
lda GC.Cache+S.GC.X1+1 lda OBJ.Cache+S.OBJ.X1+1
sbc CB.Cache+S.CB.DstX+1 sbc CB.Cache+S.CB.DstX+1
sta D+1 ....always positive sta D+1 ....always positive
@ -71,15 +71,15 @@ CLIP.BitBlt lda CB.Cache+S.CB.DstX
sta CB.Cache+S.CB.X1 sta CB.Cache+S.CB.X1
lda CB.Cache+S.CB.X1+1 lda CB.Cache+S.CB.X1+1
adc D+1 adc D+1
sta CB.Cache+S.CB.X1+1 S.CB.DstX=0, new between S.GC.X1 & S.GC.X2.... sta CB.Cache+S.CB.X1+1 S.CB.DstX=0, new between S.OBJ.X1 & S.OBJ.X2....
* S.CB.DstX between S.GC.X1 & S.GC.X2: D=(S.GC.X2+1)-S.CB.DstX * S.CB.DstX between S.OBJ.X1 & S.OBJ.X2: D=(S.OBJ.X2+1)-S.CB.DstX
.1 lda GC.Cache+S.GC.X2 Compute D in X,Y .1 lda OBJ.Cache+S.OBJ.X2 Compute D in X,Y
sec sec
sbc CB.Cache+S.CB.DstX sbc CB.Cache+S.CB.DstX
tax tax
lda GC.Cache+S.GC.X2+1 lda OBJ.Cache+S.OBJ.X2+1
sbc CB.Cache+S.CB.DstX+1 sbc CB.Cache+S.CB.DstX+1
inx inx
@ -98,23 +98,23 @@ CLIP.BitBlt lda CB.Cache+S.CB.DstX
CLIP.BitBlt.Y lda CB.Cache+S.CB.DstY CLIP.BitBlt.Y lda CB.Cache+S.CB.DstY
ldx CB.Cache+S.CB.DstY+1 ldx CB.Cache+S.CB.DstY+1
pha pha
>SCMPAX GC.Cache+S.GC.Y2 DestY after Y2....exit >SCMPAX OBJ.Cache+S.OBJ.Y2 DestY after Y2....exit
bmi .10 bmi .10
pla pla
sec sec
rts rts
.10 pla .10 pla
>SCMPAX GC.Cache+S.GC.Y1 >SCMPAX OBJ.Cache+S.OBJ.Y1
bpl .1 DestY Inside Y1-Y2, go check if Y1+H fit in bpl .1 DestY Inside Y1-Y2, go check if Y1+H fit in
* S.CB.DstY above S.GC.Y1: D=S.GC.Y1-S.CB.DstY, S.CB.SrcH-=D, S.CB.DstY=0, S.CB.Y1+=D * S.CB.DstY above S.OBJ.Y1: D=S.OBJ.Y1-S.CB.DstY, S.CB.SrcH-=D, S.CB.DstY=0, S.CB.Y1+=D
lda GC.Cache+S.GC.Y1 Compute D.... lda OBJ.Cache+S.OBJ.Y1 Compute D....
sec sec
sbc CB.Cache+S.CB.DstY sbc CB.Cache+S.CB.DstY
sta D sta D
lda GC.Cache+S.GC.Y1+1 lda OBJ.Cache+S.OBJ.Y1+1
sbc CB.Cache+S.CB.DstY+1 sbc CB.Cache+S.CB.DstY+1
sta D+1 ....always positive sta D+1 ....always positive
@ -141,15 +141,15 @@ CLIP.BitBlt.Y lda CB.Cache+S.CB.DstY
sta CB.Cache+S.CB.Y1 sta CB.Cache+S.CB.Y1
lda CB.Cache+S.CB.Y1+1 lda CB.Cache+S.CB.Y1+1
adc D+1 adc D+1
sta CB.Cache+S.CB.Y1+1 S.CB.DstY=0, new between S.GC.Y1 & S.GC.Y2.... sta CB.Cache+S.CB.Y1+1 S.CB.DstY=0, new between S.OBJ.Y1 & S.OBJ.Y2....
* S.CB.DstY between S.GC.Y1 & S.GC.Y2: D=(S.GC.Y2+1)-S.CB.DstY * S.CB.DstY between S.OBJ.Y1 & S.OBJ.Y2: D=(S.OBJ.Y2+1)-S.CB.DstY
.1 lda GC.Cache+S.GC.Y2 Compute D in X,Y .1 lda OBJ.Cache+S.OBJ.Y2 Compute D in X,Y
sec sec
sbc CB.Cache+S.CB.DstY sbc CB.Cache+S.CB.DstY
tax tax
lda GC.Cache+S.GC.Y2+1 lda OBJ.Cache+S.OBJ.Y2+1
sbc CB.Cache+S.CB.DstY+1 sbc CB.Cache+S.CB.DstY+1
inx inx
@ -280,7 +280,7 @@ CLIP.Line.EncodeP2
*-------------------------------------- *--------------------------------------
CLIP.Line.EncodeX.AX CLIP.Line.EncodeX.AX
pha pha
>SCMPAX GC.Cache+S.GC.X1 >SCMPAX OBJ.Cache+S.OBJ.X1
bmi .1 bmi .1
tya tya
ora #CLIP.Line.LEFT ora #CLIP.Line.LEFT
@ -288,7 +288,7 @@ CLIP.Line.EncodeX.AX
rts rts
.1 pla .1 pla
>SCMPAX GC.Cache+S.GC.X1 >SCMPAX OBJ.Cache+S.OBJ.X1
bpl .8 bpl .8
tya tya
ora #CLIP.Line.RIGHT ora #CLIP.Line.RIGHT
@ -296,7 +296,7 @@ CLIP.Line.EncodeX.AX
*-------------------------------------- *--------------------------------------
CLIP.Line.EncodeY.AX CLIP.Line.EncodeY.AX
pha pha
>SCMPAX GC.Cache+S.GC.Y1 >SCMPAX OBJ.Cache+S.OBJ.Y1
bmi .1 bmi .1
tya tya
ora #CLIP.Line.TOP ora #CLIP.Line.TOP
@ -304,7 +304,7 @@ CLIP.Line.EncodeY.AX
rts rts
.1 pla .1 pla
>SCMPAX GC.Cache+S.GC.Y1 >SCMPAX OBJ.Cache+S.OBJ.Y1
bpl .8 bpl .8
tya tya
ora #CLIP.Line.BOTTOM ora #CLIP.Line.BOTTOM

View File

@ -120,14 +120,12 @@ ShowCursor.I lda #S.CB.OP.ORA+S.CB.OP.MASK+S.CB.OP.SAVE
sbc #0 sbc #0
sta CUR.CB+S.CB.DstY+1 sta CUR.CB+S.CB.DstY+1
DrawCursor.I DrawCursor.I >LDYA L.SCR
jsr OBJ.Get
* >LDYA L.GC.Screen
* jsr GC.Get
* >LDYA L.CUR.CB >LDYA L.CUR.CB
* jsr CLIP.YA jsr CLIP.YA
* bcs .9 bcs .9
>LDYA L.CUR.CB >LDYA L.CUR.CB
jmp GFXWrite.YA jmp GFXWrite.YA

View File

@ -5,7 +5,7 @@ AUTO 4,1
Draw >PULLW ZPCBPtr Get CB Draw >PULLW ZPCBPtr Get CB
>PULLYA Get GC >PULLYA Get GC
jsr GC.Get jsr OBJ.Get
.1 >LDYA ZPCBPtr .1 >LDYA ZPCBPtr
jsr CB.Get jsr CB.Get
@ -23,7 +23,7 @@ Draw >PULLW ZPCBPtr Get CB
jsr Draw.Jmp jsr Draw.Jmp
bra .7 bra .7
.2 jsr GoDevGfx .2 jsr GFXWrite.CB
.7 lda (ZPCBPtr) Get Cmd .7 lda (ZPCBPtr) Get Cmd
tax tax
@ -66,7 +66,7 @@ DrawLine lda CB.Cache+S.CB.X2
lda #S.CB.CMD.VLINE lda #S.CB.CMD.VLINE
sta CB.Cache+S.CB.CMD sta CB.Cache+S.CB.CMD
jmp GoDevGfx DX=0 : VLIN Y1,Y2 At X1 jmp GFXWrite.CB DX=0 : VLIN Y1,Y2 At X1
.1 >SWAP16 CB.Cache+S.CB.X1,CB.Cache+S.CB.X2 .1 >SWAP16 CB.Cache+S.CB.X1,CB.Cache+S.CB.X2
* >SWAP16 CB.Cache+S.CB.Y1,CB.Cache+S.CB.Y2 * >SWAP16 CB.Cache+S.CB.Y1,CB.Cache+S.CB.Y2
@ -98,7 +98,7 @@ DrawLine lda CB.Cache+S.CB.X2
lda #S.CB.CMD.HLINE lda #S.CB.CMD.HLINE
sta CB.Cache+S.CB.CMD sta CB.Cache+S.CB.CMD
jmp GoDevGfx DY=0 : HLIN X1,X2 At Y1 jmp GFXWrite.CB DY=0 : HLIN X1,X2 At Y1
.3 >NOT16 DY set DY=-DY .3 >NOT16 DY set DY=-DY
lda #$ff lda #$ff
@ -106,7 +106,7 @@ DrawLine lda CB.Cache+S.CB.X2
.4 lda #S.CB.CMD.SETPIXEL .4 lda #S.CB.CMD.SETPIXEL
sta CB.Cache+S.CB.CMD sta CB.Cache+S.CB.CMD
jsr GoDevGfx jsr GFXWrite.CB
lda DX lda DX
sec sec
@ -144,7 +144,7 @@ DrawLine.IncXY lda DX DX=DY
adc IY adc IY
sta CB.Cache+S.CB.Y1 sta CB.Cache+S.CB.Y1
jsr GoDevGfx jsr GFXWrite.CB
bra .1 bra .1
.8 rts .8 rts
@ -227,7 +227,7 @@ DrawLine.IncY lda DY
adc IY adc IY
sta CB.Cache+S.CB.Y1 sta CB.Cache+S.CB.Y1
jsr GoDevGfx jsr GFXWrite.CB
bra .1 bra .1
.8 rts .8 rts
@ -311,7 +311,7 @@ DrawLine.IncX lda DX
bne .6 bne .6
inc CB.Cache+S.CB.X1+1 inc CB.Cache+S.CB.X1+1
.6 jsr GoDevGfx .6 jsr GFXWrite.CB
bra .1 bra .1
.8 rts .8 rts
@ -322,7 +322,7 @@ DrawText >LDYA L.CB.Cache
jsr SYS.GuiOSD.JMP jsr SYS.GuiOSD.JMP
bcs .9 bcs .9
jsr GoDevGfx jsr GFXWrite.CB
lda CB.Cache+S.CB.SrcPtr lda CB.Cache+S.CB.SrcPtr
>SYSCALL FreeStkObj >SYSCALL FreeStkObj

View File

@ -20,37 +20,37 @@ MENU.SysMenu
*-------------------------------------- *--------------------------------------
MENU.MenuEditor .AZ "File" MENU.MenuEditor .AZ "File"
.DA #02 ID .DA #02 ID
.DA #S.MITEM.HOTKEY.CTRL .DA #S.MITEM.KEYMOD.CTRL
.DA #'N' .DA #'N'
.AZ "New" .AZ "New"
.DA #04 ID .DA #04 ID
.DA #S.MITEM.HOTKEY.CTRL .DA #S.MITEM.KEYMOD.CTRL
.DA #'O' .DA #'O'
.AZ "Open..." .AZ "Open..."
.DA #06 ID .DA #06 ID
.DA #S.MITEM.HOTKEY.CTRL .DA #S.MITEM.KEYMOD.CTRL
.DA #'S' .DA #'S'
.AZ "Save" .AZ "Save"
.DA #08 ID .DA #08 ID
.DA #S.MITEM.HOTKEY.OA+S.MITEM.HOTKEY.CTRL .DA #S.MITEM.KEYMOD.OA+S.MITEM.KEYMOD.CTRL
.DA #'S' .DA #'S'
.AZ "Save As..." .AZ "Save As..."
.DA #10 ID .DA #10 ID
.DA #S.MITEM.HOTKEY.CTRL .DA #S.MITEM.KEYMOD.CTRL
.DA #'Q' .DA #'Q'
.AZ "Quit" .AZ "Quit"
.DA #0 .DA #0
.AZ "Edit" .AZ "Edit"
.DA #12 ID .DA #12 ID
.DA #S.MITEM.HOTKEY.OA .DA #S.MITEM.KEYMOD.OA
.DA #'X' .DA #'X'
.AZ "Cut" .AZ "Cut"
.DA #14 ID .DA #14 ID
.DA #S.MITEM.HOTKEY.OA .DA #S.MITEM.KEYMOD.OA
.DA #'C' .DA #'C'
.AZ "Copy" .AZ "Copy"
.DA #16 ID .DA #16 ID
.DA #S.MITEM.HOTKEY.OA .DA #S.MITEM.KEYMOD.OA
.DA #'V' .DA #'V'
.AZ "Paste" .AZ "Paste"
.DA #0 .DA #0

View File

@ -7,7 +7,7 @@ WND.Init >PUSHBI 0
>SYSCALL open >SYSCALL open
bcs .9 bcs .9
sta hDevGFX sta SCR+S.SCREEN.hDEV
>LDYA L.DCB.GFX >LDYA L.DCB.GFX
>STYA IOCTL+S.IOCTL.BUFPTR >STYA IOCTL+S.IOCTL.BUFPTR
@ -16,44 +16,53 @@ WND.Init >PUSHBI 0
>PUSHW L.IOCTL >PUSHW L.IOCTL
>PUSHBI IOCTL.STATUS >PUSHBI IOCTL.STATUS
lda hDevGFX lda SCR+S.SCREEN.hDEV
>SYSCALL IOCTL >SYSCALL IOCTL
bcs .9 .9 rts
*--------------------------------------
lda DCB.GFX+S.DCB.GFX.W WND.Setup >LDYA DCB.GFX+S.DCB.GFX.W
sta WND.Cache+S.OBJ.W >STYA SCR+S.OBJ.W
lda DCB.GFX+S.DCB.GFX.W+1 >STYA WND.Desktop+S.OBJ.W
sta WND.Cache+S.OBJ.W+1 >STYA WND.SysBar+S.OBJ.W
lda SYSFON.H lda SYSFON.H
clc clc
adc #6 adc #6
sta WND.TB.H sta WND.SysBar+S.OBJ.H
lda DCB.GFX+S.DCB.GFX.H lda DCB.GFX+S.DCB.GFX.H
sta SCR+S.OBJ.H
sec sec
sbc SYSFON.H sbc WND.SysBar+S.OBJ.H
sta WND.Cache+S.OBJ.H sta WND.Desktop+S.OBJ.H
sta WND.SysBar+S.OBJ.X1
lda DCB.GFX+S.DCB.GFX.H+1 lda DCB.GFX+S.DCB.GFX.H+1
sta WND.SysBar+S.OBJ.H+1
sbc #0 sbc #0
sta WND.Cache+S.OBJ.H+1 sta WND.Desktop+S.OBJ.H+1
sta WND.SysBar+S.OBJ.X1+1
>LDYA L.SCR
jsr OBJ.SetX2Y2
lda #S.WND.F.NOBORDER >LDYA L.WND.Desktop
sta WND.Cache+S.OBJ.F >STYA SCR.Childs
jsr OBJ.SetX2Y2
>LDYA L.WND.SysBar
jsr OBJ.SetX2Y2
>STYA SCR.Childs+2
>LDYA L.WND.Desktop
lda #CUR.T.ARROW lda #CUR.T.ARROW
sta WND.Cache+S.WND.hCUR sta WND.Desktop+S.WND.hCUR
>LDYA L.WND.CACHE sta WND.SysBar+S.WND.hCUR
jsr WND.New rts
bcs .9
stx WND.Stack
.9 rts
*-------------------------------------- *--------------------------------------
WND.Quit lda hDevGFX WND.Quit lda SCR+S.SCREEN.hDEV
beq .8 beq .8
pha pha
@ -88,7 +97,8 @@ WND.Paint >STYA ZPPtr1
clc clc
rts rts
*-------------------------------------- *--------------------------------------
WND.Close WND.Close clc
rts
*-------------------------------------- *--------------------------------------
MAN MAN
SAVE USR/SRC/LIB/LIBGUI.S.WND SAVE USR/SRC/LIB/LIBGUI.S.WND

View File

@ -10,7 +10,6 @@ AUTO 4,1
.INB INC/A2OSX.I .INB INC/A2OSX.I
.INB INC/KERNEL.I .INB INC/KERNEL.I
.INB INC/GFX.I .INB INC/GFX.I
.INB INC/GUI.I
.INB INC/LIBGUI.I .INB INC/LIBGUI.I
*-------------------------------------- *--------------------------------------
WND.MAX .EQ 64 WND.MAX .EQ 64
@ -45,8 +44,8 @@ WND.MAX .EQ 64
.EM .EM
*-------------------------------------- *--------------------------------------
ZPPtr1 .EQ ZPLIB ZPPtr1 .EQ ZPLIB
ZPPtr2 .EQ ZPLIB+2
ZPGCPtr .EQ ZPLIB+4 ZPObjPtr .EQ ZPLIB+4
ZPCBPtr .EQ ZPLIB+6 ZPCBPtr .EQ ZPLIB+6
ZPWNDPtr .EQ ZPLIB+8 ZPWNDPtr .EQ ZPLIB+8
@ -74,7 +73,6 @@ CS.START cld
.DA ShowCursor .DA ShowCursor
.DA UpdateCursor .DA UpdateCursor
.DA MOU.ReadMouse .DA MOU.ReadMouse
.DA GetScreenGC
*-------------------------------------- *--------------------------------------
J.Cmds .DA DrawLine J.Cmds .DA DrawLine
.DA DrawText .DA DrawText
@ -86,10 +84,12 @@ L.SYSX7B .DA SYSX7B
L.IOCTL .DA IOCTL L.IOCTL .DA IOCTL
L.DCB.GFX .DA DCB.GFX L.DCB.GFX .DA DCB.GFX
L.MouseClamp .DA MouseClamp L.MouseClamp .DA MouseClamp
L.GC.Screen .DA GC.Screen
L.GC.Desktop .DA GC.Desktop
L.GC.SysBar .DA GC.SysBar
L.CB.Cache .DA CB.Cache L.CB.Cache .DA CB.Cache
L.SCR .DA SCR
L.WND.Desktop .DA WND.Desktop
L.WND.SysBar .DA WND.SysBar
*--------------------------------------
L.BM.Apple .DA BM.Apple
*-------------------------------------- *--------------------------------------
L.CUR.CB .DA CUR.CB L.CUR.CB .DA CUR.CB
L.CUR.SaveBuf .DA CUR.SaveBuf L.CUR.SaveBuf .DA CUR.SaveBuf
@ -114,8 +114,7 @@ J.Clip .DA CLIP.Point SETPIXEL
.DA CLIP.BitBlt .DA CLIP.BitBlt
.DA CLIP.Rect GETRECTBUFSIZE .DA CLIP.Rect GETRECTBUFSIZE
.DA CLIP.Line .DA CLIP.Line
.DA CLIP.Text .DA CLIP.Text
L.WND.CACHE .DA WND.CACHE
.DA 0 .DA 0
*-------------------------------------- *--------------------------------------
LIB.LOAD lda LibCount LIB.LOAD lda LibCount
@ -130,6 +129,8 @@ LIB.LOAD lda LibCount
jsr WND.Init jsr WND.Init
bcs .9 bcs .9
jsr WND.Setup
lda hDevMouse lda hDevMouse
beq .8 beq .8
@ -150,17 +151,71 @@ LIB.UNLOAD dec LibCount
.8 clc .8 clc
rts rts
*-------------------------------------- *--------------------------------------
GC.Get >STYA .1+1 OBJ.Get >STYA .1+1
ldx #S.GC-1 ldx #S.OBJ-1
.1 lda $ffff,x SELF MODIFIED .1 lda $ffff,x SELF MODIFIED
sta GC.Cache,x sta OBJ.Cache,x
dex dex
bpl .1 bpl .1
rts 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.Get >STYA .1+1 CB.Get >STYA .1+1
ldx #S.CB-1 ldx #S.CB-1
@ -172,14 +227,11 @@ CB.Get >STYA .1+1
rts rts
*-------------------------------------- *--------------------------------------
GetScreenGC >LDYA L.GC.Screen GFXWrite.CB >LDYA L.CB.Cache
rts
*--------------------------------------
GoDevGfx >LDYA L.CB.Cache
GFXWrite.YA >PUSHYA GFXWrite.YA >PUSHYA
>PUSHBI IOCTL.WRITE >PUSHBI IOCTL.WRITE
lda hDevGFX lda SCR+S.SCREEN.hDEV
>SYSCALL IOCTL >SYSCALL IOCTL
rts rts
*-------------------------------------- *--------------------------------------
@ -208,7 +260,6 @@ SYSX7 .AZ "/A2OSX.BUILD/SBIN/GUI/SYSX7"
SYSX7B .AZ "/A2OSX.BUILD/SBIN/GUI/SYSX7B" SYSX7B .AZ "/A2OSX.BUILD/SBIN/GUI/SYSX7B"
*-------------------------------------- *--------------------------------------
LibCount .BS 1 LibCount .BS 1
hDevGFX .BS 1
hDevMouse .BS 1 hDevMouse .BS 1
*-------------------------------------- *--------------------------------------
DX .BS 2 DX .BS 2
@ -231,8 +282,6 @@ CB.CmdLen .DA S.CB.Y1+1 SETPIXEL
.DA S.CB.Y2+1 DRAWLINE .DA S.CB.Y2+1 DRAWLINE
.DA S.CB.TxtPtr+1 DRAWTEXT .DA S.CB.TxtPtr+1 DRAWTEXT
*-------------------------------------- *--------------------------------------
MouseClamp .BS 8
*--------------------------------------
PAT.Buf .BS 1 S.BM.F PAT.Buf .BS 1 S.BM.F
.DA #1 S.BM.RowBytes .DA #1 S.BM.RowBytes
.DA 8 S.BM.W .DA 8 S.BM.W
@ -243,13 +292,24 @@ PAT.Buf .BS 1 S.BM.F
IOCTL .BS S.IOCTL IOCTL .BS S.IOCTL
DCB.GFX .BS S.DCB.GFX DCB.GFX .BS S.DCB.GFX
*-------------------------------------- *--------------------------------------
GC.Cache .BS S.GC MouseClamp .BS 8
CB.Cache .BS S.CB
BM.Cache .BS S.BM
*-------------------------------------- *--------------------------------------
GC.Screen .BS S.GC CB.Cache .BS S.CB
GC.Desktop .BS S.GC OBJ.Cache .BS S.OBJ
GC.SysBar .BS S.GC *--------------------------------------
SCR .BS S.SCREEN S.OBJ.T.SCREEN
SCR.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
*-------------------------------------- *--------------------------------------
BUT.Sys .DA #S.OBJ.T.BUT BUT.Sys .DA #S.OBJ.T.BUT
.DA #0 F .DA #0 F

View File

@ -9,7 +9,6 @@ AUTO 4,1
.INB INC/IO.I .INB INC/IO.I
.INB INC/MACROS.I .INB INC/MACROS.I
.INB INC/A2OSX.I .INB INC/A2OSX.I
.INB INC/GUI.I
.INB INC/LIBGUI.I .INB INC/LIBGUI.I
*-------------------------------------- *--------------------------------------
* Zero Page Segment, up to 32 bytes * Zero Page Segment, up to 32 bytes