A2osX/SBIN/GUI.S.txt

281 lines
5.8 KiB
Plaintext
Raw Normal View History

NEW
2017-12-22 21:24:30 +00:00
PREFIX /A2OSX.BUILD
AUTO 4,1
.LIST OFF
.OP 65C02
.OR $2000
2017-12-14 16:25:03 +00:00
.TF /A2OSX.BUILD/SBIN/GUI/GUI
*--------------------------------------
.INB /A2OSX.BUILD/INC/IO.I
.INB /A2OSX.BUILD/INC/MACROS.I
.INB /A2OSX.BUILD/INC/A2OSX.I
2017-12-22 21:24:30 +00:00
.INB /A2OSX.BUILD/INC/GUI.I
2017-11-14 16:57:34 +00:00
.INB /A2OSX.BUILD/INC/LIBGUI.I
*--------------------------------------
ZPPtr1 .EQ ZPBIN
*--------------------------------------
2015-06-03 18:30:57 +00:00
* File Header (16 Bytes)
*--------------------------------------
CS.START cld
jmp (.1,x)
2015-06-03 18:30:57 +00:00
.DA #$61 6502,Level 1 (65c02)
.DA #1 BIN Layout Version 1
.DA 0
2017-11-15 16:29:23 +00:00
.DA CS.END-CS.START CS
.DA DS.END-DS.START DS
.DA #16 SS
.DA #2 ZP
2015-06-03 18:30:57 +00:00
.DA 0
*--------------------------------------
* Relocation Table
*--------------------------------------
.1 .DA CS.INIT
.DA CS.RUN
.DA CS.DOEVENT
.DA CS.QUIT
2016-06-07 06:10:18 +00:00
L.MSG.INIT .DA MSG.INIT
L.LIBGUI .DA LIBGUI
2017-12-14 16:25:03 +00:00
L.SYSFONT .DA SYSFONT
L.Filename .DA Filename
L.MouseData .DA MouseData
L.CB.Rect .DA CB.Rect
2017-12-18 07:17:58 +00:00
L.BM.Apple .DA BM.Apple
2017-12-22 21:24:30 +00:00
L.CB.Marylin .DA CB.Marylin
L.CB.DrawLine .DA CB.DrawLine
L.GC.Clip .DA GC.Clip
.DA 0
*--------------------------------------
2016-06-07 06:10:18 +00:00
CS.INIT >LDYA L.MSG.INIT
>SYSCALL PrintF.YA
2017-11-15 16:29:23 +00:00
>LDYA L.LIBGUI
>SYSCALL LoadLib.YA
2017-12-14 16:25:03 +00:00
bcs .99
2017-11-15 16:29:23 +00:00
sta hLIBGUI
2016-06-15 06:21:42 +00:00
>LIBCALL hLIBGUI,LIBGUI.InitGUI
2017-12-14 16:25:03 +00:00
bcs .99
2017-12-14 16:25:03 +00:00
>PUSHWI 0 Aux type
>PUSHBI $CC Type
>PUSHBI SYS.FOpen.R
>PUSHW L.SYSFONT
>SYSCALL LoadStkObj
bcs .99
sta hSYSFONT
>PUSHWI 0 Aux type
>PUSHBI $CB Type
>PUSHBI SYS.FOpen.R
>PUSHW L.FILENAME
>SYSCALL LoadStkObj
2017-12-14 16:25:03 +00:00
.99 bcs .9
2017-12-22 21:24:30 +00:00
sta CB.Marylin+S.CB.SrcPtr
2017-12-05 07:09:16 +00:00
jsr Destop.Paint
2017-12-05 07:09:16 +00:00
lda #CUR.T.ARROW
>STA.G CUR.T
2017-12-04 07:18:24 +00:00
>LIBCALL hLIBGUI,LIBGUI.SetCursor.A
>LIBCALL hLIBGUI,LIBGUI.ShowCursor
lda (pPs)
ora #S.PS.F.EVENT Now accept events
sta (pPs)
clc
.9 rts
*--------------------------------------
CS.RUN lda A2osX.ASCREEN GUI screen active ?
2016-07-22 14:11:13 +00:00
cmp #3
bne .8 no, exit....
2016-07-22 14:11:13 +00:00
>PUSHW L.MouseData
>LIBCALL hLIBGUI,LIBGUI.ReadMouse
bcs .4
2015-06-03 18:30:57 +00:00
lda MouseData+S.MOUSE.S
bit #S.MOUSE.S.MOVE
beq .1
>PUSHW L.MouseData
>LIBCALL hLIBGUI,LIBGUI.SetCursorPos
2015-06-03 18:30:57 +00:00
lda MouseData+S.MOUSE.S
2017-12-04 16:42:08 +00:00
.1 bit #S.MOUSE.S.CLK
beq .4
2017-12-06 07:28:30 +00:00
>LDA.G CUR.T
inc
inc
cmp #CUR.T.WAIT+2
bne .2
2017-12-06 07:28:30 +00:00
lda #CUR.T.ARROW
.2 >STA.G CUR.T
>LIBCALL hLIBGUI,LIBGUI.SetCursor.A
2017-12-05 07:09:16 +00:00
2017-12-04 16:42:08 +00:00
lda MouseData+S.MOUSE.X1
2017-12-22 21:24:30 +00:00
sta CB.Marylin+S.CB.DstX
2017-12-04 16:42:08 +00:00
lda MouseData+S.MOUSE.X1+1
2017-12-22 21:24:30 +00:00
sta CB.Marylin+S.CB.DstX+1
2017-12-04 16:42:08 +00:00
lda MouseData+S.MOUSE.Y1
2017-12-22 21:24:30 +00:00
sta CB.Marylin+S.CB.DstY
2017-12-04 16:42:08 +00:00
lda MouseData+S.MOUSE.Y1+1
2017-12-22 21:24:30 +00:00
sta CB.Marylin+S.CB.DstY+1
2017-12-04 16:42:08 +00:00
jsr Destop.Paint
.4
.8 clc
2015-06-03 18:30:57 +00:00
rts
*--------------------------------------
2017-12-04 07:18:24 +00:00
CS.DOEVENT lda (pEvent)
bpl .9
2017-12-04 16:42:08 +00:00
asl
bpl .9
2017-12-04 07:18:24 +00:00
>LIBCALL hLIBGUI,LIBGUI.UpdateCursor
.9 sec
rts
*--------------------------------------
CS.QUIT clc
rts
*--------------------------------------
2017-12-04 16:42:08 +00:00
Destop.Paint >LIBCALL hLIBGUI,LIBGUI.HideCursor
>LIBCALL hLIBGUI,LIBGUI.GetScreenGC
>PUSHYA
2017-12-18 07:17:58 +00:00
>LDYA L.BM.Apple
>STYA CB.Apple+S.CB.SrcPtr
2017-12-04 16:42:08 +00:00
>PUSHW L.CB.Rect
2017-11-15 16:29:23 +00:00
>LIBCALL hLIBGUI,LIBGUI.Draw
* >LIBCALL hLIBGUI,LIBGUI.GetScreenGC
* >PUSHYA
>PUSHW L.GC.Clip
2017-12-22 21:24:30 +00:00
>PUSHW L.CB.Marylin
>LIBCALL hLIBGUI,LIBGUI.Draw
2017-12-04 16:42:08 +00:00
>LIBCALL hLIBGUI,LIBGUI.ShowCursor
2017-11-20 06:59:59 +00:00
rts
2016-07-22 14:11:13 +00:00
*--------------------------------------
CS.END
2017-11-15 16:29:23 +00:00
LIBGUI >CSTR "libgui.o"
2017-11-16 07:12:03 +00:00
MSG.INIT >CSTR "GUI:Init...\r\n"
2017-11-15 16:29:23 +00:00
hLIBGUI .BS 1
2017-12-14 16:25:03 +00:00
hSYSFONT .BS 1
*--------------------------------------
2017-12-22 21:24:30 +00:00
Filename >CSTR "/A2OSX.BUILD/ROOT/MARILYN"
*--------------------------------------
2017-12-14 16:25:03 +00:00
SYSFONT >CSTR "/A2OSX.BUILD/SBIN/GUI/SYSTEM"
*--------------------------------------
2017-12-04 16:42:08 +00:00
MouseData .BS S.MOUSE
*--------------------------------------
CB.Rect .DA #S.CB.CMD.FILLRECT
2017-11-20 06:59:59 +00:00
.DA #S.CB.OP.SET
2017-12-22 21:24:30 +00:00
.DA #S.CB.M.MONO
2017-12-06 07:28:30 +00:00
.DA #1
.DA 0 X1
.DA 0 Y1
.DA 559 X2
.DA 191 Y2
2017-12-06 07:28:30 +00:00
.DA #S.CB.CMD.FILLRECT
.DA #S.CB.OP.SET
2017-12-22 21:24:30 +00:00
.DA #S.CB.M.C16
.DA #4
.DA 40 X1
2017-12-22 21:24:30 +00:00
.DA 20 Y1
.DA 519 X2
2017-12-22 21:24:30 +00:00
.DA 171 Y2
2017-12-06 07:28:30 +00:00
2017-12-18 07:17:58 +00:00
*--------------------------------------
CB.Apple .DA #S.CB.CMD.BITBLT
.DA #S.CB.OP.SET
2017-12-22 21:24:30 +00:00
.DA #S.CB.M.C16
2017-12-18 07:17:58 +00:00
.DA #0
.DA 0 X1
.DA 0 Y1
.DA 16 W
.DA 9 H
.DA 28 DestX
2017-12-22 21:24:30 +00:00
.DA 180 DestY
2017-12-18 07:17:58 +00:00
.BS 2 SrcPtr
.DA 0
.DA #0
*--------------------------------------
2017-12-18 07:17:58 +00:00
BM.Apple .DA #S.BM.F.BBP4
.DA #2 RowBytes
.DA 16 W
.DA 9 H
.DA 0
.HS FFF6 green (8)
.HS 6FF6 green (8)
.HS 6666 green (8)
.HS EEEE yellow (15)
.HS CCFC orange (14)
.HS 88F8 magenta (10)
.HS 9999 violet (11)
.HS 1111 Dark blue (4)
.HS 1FF1 Dark blue (4)
*--------------------------------------
2017-12-22 21:24:30 +00:00
CB.Marylin .DA #S.CB.CMD.BITBLT
.DA #S.CB.OP.SET
2017-12-22 21:24:30 +00:00
.DA #S.CB.M.MONO
.DA #0
.DA 0 X1
.DA 0 Y1
.DA 141 W
.DA 150 H
.DA 200 DestX
2017-12-22 21:24:30 +00:00
.DA 35 DestY
.BS 2 SrcPtr
.DA 0
2017-11-15 16:29:23 +00:00
.DA #0
*--------------------------------------
CB.DrawLine .DA #0
.DA #S.CB.CMD.DRAWLINE
.DA #S.CB.OP.XOR
2017-12-22 21:24:30 +00:00
.DA #S.CB.M.MONO
.DA #1
.BS 2 X1
.BS 2 Y1
.BS 2 X2
.BS 2 Y2
2017-11-15 16:29:23 +00:00
.DA #0
*--------------------------------------
GC.Clip .DA #0
.DA #0
.DA #0
.DA #0
.DA 40 X1
2017-12-22 21:24:30 +00:00
.DA 20 Y1
.DA 519 X2
2017-12-22 21:24:30 +00:00
.DA 171 Y2
2017-11-15 16:29:23 +00:00
*--------------------------------------
.DUMMY
.OR 0
DS.START
2017-12-05 07:09:16 +00:00
CUR.T .BS 1
2017-11-15 16:29:23 +00:00
DS.END
.ED
MAN
2017-11-14 16:57:34 +00:00
SAVE /A2OSX.SRC/SBIN/GUI.S
ASM