mirror of
https://github.com/A2osX/A2osX.git
synced 2024-09-27 11:58:54 +00:00
126 lines
2.6 KiB
Plaintext
126 lines
2.6 KiB
Plaintext
PR#3
|
||
PREFIX /A2OSX.BUILD
|
||
NEW
|
||
INC 1
|
||
AUTO 6
|
||
.LIST OFF
|
||
.OP 65C02
|
||
.OR $2000
|
||
.TF /A2OSX.BUILD/LIB/LIBGUI.O
|
||
*--------------------------------------
|
||
.INB /A2OSX.BUILD/INC/MACROS.I
|
||
.INB /A2OSX.BUILD/INC/A2OSX.I
|
||
.INB /A2OSX.BUILD/INC/LIBGUI.I
|
||
*--------------------------------------
|
||
.MA SWAP16
|
||
lda ]1
|
||
ldx ]2
|
||
stx ]1
|
||
sta ]2
|
||
lda ]1+1
|
||
ldx ]2+1
|
||
stx ]1+1
|
||
sta ]2+1
|
||
.EM
|
||
.MA NOT16
|
||
sec
|
||
lda #0
|
||
sbc ]1
|
||
sta ]1
|
||
lda #0
|
||
sbc ]1+1
|
||
sta ]1+1
|
||
.EM
|
||
.MA SCMPAX
|
||
sec
|
||
sbc ]1
|
||
txa
|
||
sbc ]1+1
|
||
bvc :1
|
||
eor #$80
|
||
:1 .EQ *
|
||
.EM
|
||
*--------------------------------------
|
||
ZPDCPtr .EQ ZPLIB+2
|
||
ZPCmdPtr .EQ ZPLIB+4
|
||
*--------------------------------------
|
||
* File Header (16 Bytes)
|
||
*--------------------------------------
|
||
CS.START cld
|
||
jmp (.1,x)
|
||
.DA #$61 6502,Level 1 (65c02)
|
||
.DA #1 BIN Layout Version 1
|
||
.DA 0
|
||
.DA CS.END-CS.START
|
||
.DA 0
|
||
.DA 0
|
||
.DA 0
|
||
*--------------------------------------
|
||
* Relocation Table
|
||
*--------------------------------------
|
||
.1 .DA LIB.LOAD
|
||
.DA LIB.UNLOAD
|
||
J.Cmds .DA InitGUI.A
|
||
.DA CloseGUI J.Cmds-12 !!!
|
||
.DA Draw
|
||
.DA SetCursor.A
|
||
.DA SetCursorPos
|
||
.DA HideCursor
|
||
.DA ShowCursor
|
||
.DA DrawLine
|
||
L.CB.Cache .DA CB.Cache
|
||
.DA 0
|
||
*--------------------------------------
|
||
LIB.LOAD
|
||
LIB.UNLOAD clc
|
||
rts
|
||
*--------------------------------------
|
||
InitGUI.A sta GC.Screen+S.GC.hDev
|
||
>SYSCALL GetDevByID.A
|
||
>STYA GoDev.Jmp+1
|
||
|
||
clc
|
||
rts
|
||
*--------------------------------------
|
||
CloseGUI
|
||
stz GC.Screen+S.GC.hDev
|
||
sec
|
||
rts
|
||
*--------------------------------------
|
||
GoDev >LDYA L.CB.Cache
|
||
GoDev.YA ldx #DEVMGR.WRITE
|
||
GoDev.Jmp jmp $ffff
|
||
*--------------------------------------
|
||
.INB /A2OSX.SRC/LIB/LIBGUI.S.DRAW
|
||
.INB /A2OSX.SRC/LIB/LIBGUI.S.CLIP
|
||
.INB /A2OSX.SRC/LIB/LIBGUI.S.CUR
|
||
*--------------------------------------
|
||
CS.END
|
||
*--------------------------------------
|
||
DX .BS 2
|
||
DY .BS 2
|
||
IY .BS 1
|
||
IE .BS 2
|
||
D .BS 2
|
||
INE .BS 2
|
||
Counter .BS 2
|
||
ClipLine.P1 .BS 1
|
||
ClipLine.P2 .BS 1
|
||
*--------------------------------------
|
||
CB.CmdLen .DA S.CB.Y1+1 SETPIXEL
|
||
.DA S.CB.Y1+1 GETPIXEL
|
||
.DA S.CB.X2+1 HLINE
|
||
.DA S.CB.Y2+1 VLINE
|
||
.DA S.CB.Y2+1 FILLRECT
|
||
.DA S.CB.DstPtr+1 BITBLT
|
||
.DA S.CB.DstPtr+1 GETRECTBUFSIZE
|
||
.DA S.CB.Y2+1 DRAWLINE
|
||
*--------------------------------------
|
||
GC.Screen .BS S.GC
|
||
GC.Cache .BS S.GC
|
||
CB.Cache .BS S.CB
|
||
*--------------------------------------
|
||
MAN
|
||
SAVE /A2OSX.SRC/LIB/LIBGUI.S
|
||
ASM
|