mirror of https://github.com/A2osX/A2osX.git
CC:BugFix in while
LIBTUI:Improved TBOX control (wip) GOPHER:....to test hyperlinks in TBOX control (wip)
This commit is contained in:
parent
c4ae3be6be
commit
c4ca3e5907
Binary file not shown.
|
@ -88,8 +88,17 @@ F.Decl jsr SCOPE.New function (
|
|||
*--------------------------------------
|
||||
.7 cmp #'{'
|
||||
bne .9
|
||||
|
||||
jmp F.Body
|
||||
*--------------------------------------
|
||||
F.Def >LDA.G CC.bInitCode
|
||||
F.Def >DEBUG
|
||||
|
||||
|
||||
.9 lda #E.CSYN
|
||||
sec
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
F.Body >LDA.G CC.bInitCode
|
||||
bmi .1
|
||||
|
||||
lda #$60 RTS
|
||||
|
@ -250,11 +259,17 @@ F.CallRetV sec
|
|||
ldx ZPPtr2+1 local : expected Q
|
||||
phx
|
||||
|
||||
>STYA ZPPtr2
|
||||
>STYA ZPPtr2 T/Q
|
||||
|
||||
ror ZPPtr1+1 bRetV
|
||||
bpl .1
|
||||
bpl .1 no Return value expected....
|
||||
|
||||
ldy #SYM.Addr+1
|
||||
lda (ZPLookupSymPtr),y
|
||||
cmp #3+LIBS.MAX
|
||||
bcc .1 SYS/FPU/LIB call, no room on stack required
|
||||
|
||||
>LDYA ZPPtr2
|
||||
jsr EXP.GetYASizeOfInAX
|
||||
|
||||
jsr CODE.AddLocal add room for return value
|
||||
|
|
|
@ -14,7 +14,21 @@ SYM.New >STYA ZPPtr2 T/Q
|
|||
*--------------------------------------
|
||||
SYM.New.Pass1 jsr SYM.BufInitYAXC set buf according C
|
||||
|
||||
>PUSHB.G CC.hSyms
|
||||
jsr SYM.Get
|
||||
bcs .1
|
||||
|
||||
ldy #SYM.Q
|
||||
lda (ZPSymBufPtr),y
|
||||
and #SYM.Q.FUNC
|
||||
beq .90
|
||||
|
||||
ldy #SYM.Addr+1
|
||||
lda (ZPSymBufPtr),y
|
||||
bne .90
|
||||
|
||||
jmp F.Def
|
||||
|
||||
.1 >PUSHB.G CC.hSyms
|
||||
>PUSHW ZPLineBufPtr
|
||||
jsr SCOPE.Push
|
||||
>SYSCALL SListNewKey
|
||||
|
@ -29,30 +43,14 @@ SYM.New.Pass1 jsr SYM.BufInitYAXC set buf according C
|
|||
.FIN
|
||||
|
||||
bra SYM.New.2
|
||||
|
||||
.90 lda #E.REDEF
|
||||
sec
|
||||
|
||||
SYM.New.9 rts
|
||||
*--------------------------------------
|
||||
SYM.New.Pass2 >PUSHB.G CC.hSyms
|
||||
>PUSHW ZPLineBufPtr
|
||||
jsr SCOPE.Push
|
||||
>SYSCALL SListLookup
|
||||
bcs SYM.New.9
|
||||
|
||||
>STYA.G CC.SymID Y,A = KeyID
|
||||
|
||||
jsr CC.SkipX X = KeyLen
|
||||
|
||||
>PUSHB.G CC.hSyms
|
||||
>PUSHW.G CC.SymID
|
||||
>PUSHW ZPSymBufPtr
|
||||
>PUSHWI 65535 all
|
||||
>PUSHWZ From Start
|
||||
>SYSCALL SListGetData
|
||||
SYM.New.Pass2 jsr SYM.Get
|
||||
bcs SYM.New.9
|
||||
|
||||
.DO _DBG_SYM=1
|
||||
jsr SYM.DEBUGG
|
||||
.FIN
|
||||
*--------------------------------------
|
||||
SYM.New.2 jsr CC.GetCharNB
|
||||
bcs .98
|
||||
|
@ -379,6 +377,28 @@ SYM.GetAddr2 ldy #SYM.SC
|
|||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
SYM.Get >PUSHB.G CC.hSyms
|
||||
>PUSHW ZPLineBufPtr
|
||||
jsr SCOPE.Push
|
||||
>SYSCALL SListLookup
|
||||
bcs .9
|
||||
|
||||
>STYA.G CC.SymID Y,A = KeyID
|
||||
|
||||
jsr CC.SkipX X = KeyLen
|
||||
|
||||
>PUSHB.G CC.hSyms
|
||||
>PUSHW.G CC.SymID
|
||||
>PUSHW ZPSymBufPtr
|
||||
>PUSHWI 65535 all
|
||||
>PUSHWZ From Start
|
||||
>SYSCALL SListGetData
|
||||
.DO _DBG_SYM=1
|
||||
bcs .9
|
||||
jsr SYM.DEBUGG
|
||||
.FIN
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
SYM.NewKey >PUSHA
|
||||
>PUSHW ZPLineBufPtr
|
||||
>PUSHWI 0 ScopeID
|
||||
|
|
|
@ -0,0 +1,681 @@
|
|||
NEW
|
||||
AUTO 3,1
|
||||
.LIST OFF
|
||||
.OP 65C02
|
||||
.OR $2000
|
||||
.TF bin/gopher
|
||||
*--------------------------------------
|
||||
* mirrors.apple2.org.za
|
||||
* gopherpedia.com
|
||||
*--------------------------------------
|
||||
.INB inc/macros.i
|
||||
.INB inc/a2osx.i
|
||||
.INB inc/eth.i
|
||||
.INB inc/net.tcpip.i
|
||||
.INB inc/libtcpip.i
|
||||
.INB inc/libtui.i
|
||||
*--------------------------------------
|
||||
TIMEOUT.MAX .EQ 200 20 sec.
|
||||
BUFSIZE .EQ 4096
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR ZPBIN
|
||||
ZS.START
|
||||
ZPIPCfgPtr .BS 2
|
||||
ZPBufPtr .BS 2
|
||||
ZPLinePtr .BS 2
|
||||
ZPFramePtr .BS 2
|
||||
ZPnFrameLen .BS 2
|
||||
|
||||
hBuf .BS 1
|
||||
hLine .BS 1
|
||||
hSocket .BS 1
|
||||
hFrame .BS 1
|
||||
|
||||
TimeOut .BS 1
|
||||
|
||||
bScreen .BS 1
|
||||
hCTX .BS 1
|
||||
hSCR .BS 1
|
||||
hTBOX .BS 1
|
||||
|
||||
TargetHost .BS 2
|
||||
TargetPort .BS 2
|
||||
TargetSelector .BS 2
|
||||
ZS.END .ED
|
||||
*--------------------------------------
|
||||
* File Header (16 Bytes)
|
||||
*--------------------------------------
|
||||
CS.START cld
|
||||
jmp (.1,x)
|
||||
.DA #$61 6502,Level 1 (65c02)
|
||||
.DA #1 BIN Layout Version 1
|
||||
.DA #S.PS.F.EVENT S.PS.F
|
||||
.DA #0
|
||||
.DA CS.END-CS.START Code Size (without Constants)
|
||||
.DA DS.END-DS.START Data Segment Size
|
||||
.DA #64 Stack Size
|
||||
.DA #ZS.END-ZS.START Zero Page Size
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
.1 .DA CS.INIT
|
||||
.DA CS.RUN
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.LIBTCPIP .DA LIBTCPIP
|
||||
L.LIBTUI .DA LIBTUI
|
||||
L.SA.LOCAL .DA SA.LOCAL
|
||||
|
||||
L.MSG.ScrTitle .DA MSG.ScrTitle
|
||||
L.MSG.IPKO .DA MSG.IPKO
|
||||
L.MSG.USAGE .DA MSG.USAGE
|
||||
L.MSG.IOERR .DA MSG.IOERR
|
||||
L.MSG.CRLF .DA MSG.CRLF
|
||||
|
||||
L.MSG.CONNECTING .DA MSG.CONNECTING
|
||||
L.MSG.UNKNOWN .DA MSG.UNKNOWN
|
||||
L.MSG.ERROR .DA MSG.ERROR
|
||||
L.MSG.CONNECTED .DA MSG.CONNECTED
|
||||
|
||||
J.ITEMTYPES .DA CS.Net.File
|
||||
.DA CS.Net.Dir
|
||||
.DA CS.Net.Search
|
||||
.DA CS.Net.Info
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
CS.INIT >LDYA L.LIBTCPIP
|
||||
>SYSCALL LoadLib
|
||||
bcs .9
|
||||
|
||||
sta hLIBTCPIP
|
||||
|
||||
>LDYA L.LIBTUI
|
||||
>SYSCALL LoadLib
|
||||
bcs .9
|
||||
|
||||
sta hLIBTUI
|
||||
|
||||
.9
|
||||
CS.INIT.RTS rts
|
||||
*--------------------------------------
|
||||
CS.RUN jsr CS.Net.Init
|
||||
bcs CS.INIT.RTS
|
||||
|
||||
jsr CS.Scr.Init
|
||||
bcs CS.INIT.RTS
|
||||
|
||||
dec bScreen
|
||||
|
||||
>LDYAI BUFSIZE
|
||||
>SYSCALL GetMem
|
||||
bcs CS.INIT.RTS
|
||||
|
||||
stx hBuf
|
||||
|
||||
>LDYAI 256
|
||||
>SYSCALL GetMem
|
||||
bcs CS.INIT.RTS
|
||||
|
||||
>STYA ZPLinePtr
|
||||
stx hLine
|
||||
|
||||
jsr CS.Net.Connect
|
||||
bcs CS.INIT.RTS
|
||||
|
||||
>LDYA L.MSG.CRLF
|
||||
jsr CS.Net.Get
|
||||
bcs CS.INIT.RTS
|
||||
*--------------------------------------
|
||||
jsr CS.Scr.SetBuf
|
||||
*--------------------------------------
|
||||
CS.RUN.LOOP lda hSCR
|
||||
>LIBCALL hLIBTUI,LIBTUI.Exec
|
||||
bcs .99 Error
|
||||
|
||||
tay
|
||||
beq CS.RUN.LOOP No Event
|
||||
|
||||
cmp #3
|
||||
beq .99
|
||||
|
||||
|
||||
|
||||
|
||||
bra CS.RUN.LOOP
|
||||
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
CS.DOEVENT lda (pEvent)
|
||||
bpl .9 is it a TIMER event?
|
||||
|
||||
lda TimeOut
|
||||
beq .9
|
||||
|
||||
dec TimeOut
|
||||
|
||||
.9 sec do not discard TIMER event
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.QUIT bit bScreen
|
||||
bpl .10
|
||||
|
||||
>LIBCALL hLIBTUI,LIBTUI.Close
|
||||
|
||||
.10 lda hLIBTUI
|
||||
beq .1
|
||||
|
||||
>SYSCALL UnloadLib
|
||||
|
||||
.1 lda hSocket
|
||||
beq .2
|
||||
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Shutdown
|
||||
|
||||
.2 lda hBuf
|
||||
beq .3
|
||||
|
||||
>SYSCALL FreeMem
|
||||
|
||||
.3 lda hLine
|
||||
beq .4
|
||||
|
||||
>SYSCALL FreeMem
|
||||
|
||||
.4 lda hLIBTCPIP
|
||||
beq .8
|
||||
|
||||
>SYSCALL UnloadLib
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.Net.Init >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
|
||||
>STYA ZPIPCfgPtr
|
||||
lda (ZPIPCfgPtr) Configured ?
|
||||
bpl .97
|
||||
|
||||
ldy #S.IPCFG.IP+3
|
||||
ldx #3
|
||||
|
||||
.1 lda (ZPIPCfgPtr),y
|
||||
sta SA.LOCAL+S.SOCKADDR.ADDR,x
|
||||
dey
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
lda #1
|
||||
>SYSCALL ArgV
|
||||
bcs .96
|
||||
|
||||
>STYA TargetHost
|
||||
|
||||
lda #2
|
||||
>SYSCALL ArgV
|
||||
bcs .7
|
||||
|
||||
>SYSCALL AToI
|
||||
bra .8
|
||||
|
||||
.7 >LDYAI 70
|
||||
|
||||
.8 >STYA TargetPort
|
||||
|
||||
lda #AF.INET
|
||||
>STA.G SA.REMOTE+S.SOCKADDR.AF
|
||||
|
||||
clc
|
||||
rts
|
||||
|
||||
.96 >LDYA L.MSG.USAGE
|
||||
bra .98
|
||||
|
||||
.97 >LDYA L.MSG.IPKO
|
||||
|
||||
.98 >SYSCALL PutS
|
||||
lda #E.SYN
|
||||
sec
|
||||
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
CS.Net.Connect >PUSHEA.G SCR.StatusBuf
|
||||
>PUSHW L.MSG.CONNECTING
|
||||
>PUSHW TargetHost
|
||||
>PUSHW TargetPort
|
||||
>PUSHBI 4
|
||||
>SYSCALL SPrintF
|
||||
jsr CS.Scr.SetStatus
|
||||
|
||||
lda #TIMEOUT.MAX
|
||||
sta TimeOut
|
||||
|
||||
.1 >SLEEP
|
||||
|
||||
>PUSHEA.G SA.REMOTE+S.SOCKADDR.ADDR
|
||||
>PUSHW TargetHost
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.HST.GetByName
|
||||
bcc CS.Net.Connect1
|
||||
|
||||
lda TimeOut
|
||||
bne .1
|
||||
|
||||
>PUSHEA.G SCR.StatusBuf
|
||||
>PUSHW L.MSG.UNKNOWN
|
||||
>PUSHW TargetHost
|
||||
>PUSHBI 2
|
||||
>SYSCALL SPrintF
|
||||
jsr CS.Scr.SetStatus
|
||||
|
||||
sec
|
||||
rts
|
||||
|
||||
CS.Net.Connect1 >PUSHBI S.SOCKET.T.SEQPKT
|
||||
>PUSHBI 0
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Socket
|
||||
bcs .9
|
||||
|
||||
sta hSocket
|
||||
|
||||
>PUSHA
|
||||
>PUSHW L.SA.LOCAL
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Bind
|
||||
bcs .9
|
||||
|
||||
>LDYA TargetPort
|
||||
>STYA.G SA.REMOTE+S.SOCKADDR.PORT
|
||||
|
||||
lda #TIMEOUT.MAX
|
||||
sta TimeOut
|
||||
|
||||
.1 >SLEEP
|
||||
|
||||
>PUSHB hSocket
|
||||
>PUSHEA.G SA.REMOTE
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Connect
|
||||
bcc .8
|
||||
|
||||
cmp #ERR.SKT.NOCONN
|
||||
sec
|
||||
bne .9
|
||||
|
||||
lda TimeOut
|
||||
bne .1
|
||||
|
||||
lda #ERR.SKT.NOCONN
|
||||
sec
|
||||
.9 rts
|
||||
|
||||
.8 >PUSHEA.G SCR.StatusBuf
|
||||
>PUSHW L.MSG.CONNECTED
|
||||
|
||||
ldy #SA.REMOTE+S.SOCKADDR.ADDR
|
||||
|
||||
.80 >PUSHB (pData),y
|
||||
iny
|
||||
cpy #SA.REMOTE+S.SOCKADDR.PORT
|
||||
bcc .80
|
||||
|
||||
iny
|
||||
>PUSHB (pData),y
|
||||
dey
|
||||
>PUSHB (pData),y
|
||||
|
||||
>PUSHBI 6
|
||||
>SYSCALL SPrintF
|
||||
jsr CS.Scr.SetStatus
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.Net.Get >STYA TargetSelector
|
||||
|
||||
lda hBuf
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPBufPtr
|
||||
|
||||
lda #0
|
||||
sta (ZPBufPtr)
|
||||
sta (ZPLinePtr)
|
||||
|
||||
>PUSHB hSocket
|
||||
>PUSHW TargetSelector
|
||||
|
||||
ldy #$ff
|
||||
|
||||
.1 iny
|
||||
lda (TargetSelector),y
|
||||
bne .1
|
||||
|
||||
>PUSHYA
|
||||
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Send
|
||||
bcs .9
|
||||
|
||||
.2 >SLEEP
|
||||
|
||||
lda hSocket
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Recv
|
||||
bcc .3
|
||||
|
||||
cmp #E.NODATA
|
||||
beq .2
|
||||
|
||||
|
||||
* lda hSocket
|
||||
* >LIBCALL hLIBTCPIP,LIBTCPIP.Shutdown
|
||||
|
||||
clc
|
||||
rts
|
||||
|
||||
.3 jsr CS.Net.GetFrame
|
||||
|
||||
jsr CS.Net.GetLines
|
||||
|
||||
|
||||
lda hFrame
|
||||
>SYSCALL FreeMem
|
||||
|
||||
bra .2
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.Net.GetFrame sta hFrame
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPFramePtr
|
||||
|
||||
ldy #S.IP.TOTAL.LENGTH+1
|
||||
lda (ZPFramePtr),y
|
||||
sec
|
||||
sbc #S.TCP-S.ETH.EII
|
||||
eor #$ff
|
||||
sta ZPnFrameLen
|
||||
|
||||
dey
|
||||
|
||||
lda (ZPFramePtr),y
|
||||
sbc /S.TCP-S.ETH.EII
|
||||
eor #$ff
|
||||
sta ZPnFrameLen+1
|
||||
|
||||
lda ZPFramePtr
|
||||
clc
|
||||
adc #S.TCP
|
||||
sta ZPFramePtr
|
||||
bcc .8
|
||||
|
||||
inc ZPFramePtr+1
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
CS.Net.GetLines ldy #$ff
|
||||
|
||||
.1 iny
|
||||
lda (ZPLinePtr),y
|
||||
bne .1
|
||||
|
||||
.2 jsr CS.Net.GetChar
|
||||
bcs .8
|
||||
|
||||
cmp #C.LF
|
||||
beq .3
|
||||
|
||||
sta (ZPLinePtr),y
|
||||
iny
|
||||
bra .2
|
||||
|
||||
.3 lda #0
|
||||
sta (ZPLinePtr),y
|
||||
|
||||
jsr CS.Net.Line2Buf
|
||||
|
||||
lda #0
|
||||
sta (ZPLinePtr)
|
||||
tay
|
||||
bra .2
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.Net.Line2Buf lda (ZPLinePtr)
|
||||
|
||||
ldx #ITEMTYPES.L-1
|
||||
|
||||
.1 cmp ITEMTYPES,x
|
||||
beq .2
|
||||
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
bra .6
|
||||
|
||||
.2 txa
|
||||
asl
|
||||
tax
|
||||
jmp (J.ITEMTYPES,x)
|
||||
|
||||
.6 ldy #$ff
|
||||
|
||||
.7 iny
|
||||
lda (ZPLinePtr),y
|
||||
sta (ZPBufPtr),y
|
||||
bne .7
|
||||
|
||||
tya
|
||||
clc
|
||||
adc ZPBufPtr
|
||||
sta ZPBufPtr
|
||||
bcc .8
|
||||
|
||||
inc ZPBufPtr+1
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
* hyperlinks: [[text to show|targetUrl]]
|
||||
*--------------------------------------
|
||||
CS.Net.File
|
||||
CS.Net.Dir
|
||||
CS.Net.Search
|
||||
lda #'['
|
||||
jsr CS.Net.Char2Buf
|
||||
jsr CS.Net.Char2Buf
|
||||
|
||||
ldy #0
|
||||
|
||||
jsr CS.Net.Token2Buf
|
||||
|
||||
lda #'|'
|
||||
jsr CS.Net.Char2Buf
|
||||
|
||||
phy save Selector pos
|
||||
|
||||
jsr CS.Net.SkipToken
|
||||
|
||||
jsr CS.Net.Token2Buf address
|
||||
|
||||
lda #':'
|
||||
jsr CS.Net.Char2Buf
|
||||
|
||||
jsr CS.Net.Token2Buf port
|
||||
|
||||
ply
|
||||
|
||||
jsr CS.Net.Token2Buf selector
|
||||
|
||||
lda #']'
|
||||
jsr CS.Net.Char2Buf
|
||||
jsr CS.Net.Char2Buf
|
||||
|
||||
.8 lda #C.CR
|
||||
jsr CS.Net.Char2Buf
|
||||
|
||||
lda #0
|
||||
sta (ZPBufPtr)
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.Net.Info ldy #0
|
||||
|
||||
jsr CS.Net.Token2Buf
|
||||
|
||||
lda #C.CR
|
||||
jsr CS.Net.Char2Buf
|
||||
|
||||
lda #0
|
||||
sta (ZPBufPtr)
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.Net.Token2Buf
|
||||
iny
|
||||
lda (ZPLinePtr),y
|
||||
cmp #C.TAB
|
||||
beq .8
|
||||
|
||||
cmp #C.CR
|
||||
beq .8
|
||||
|
||||
jsr CS.Net.Char2Buf
|
||||
bra CS.Net.Token2Buf
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
CS.Net.SkipToken
|
||||
iny
|
||||
lda (ZPLinePtr),y
|
||||
cmp #C.TAB
|
||||
beq .8
|
||||
|
||||
cmp #C.CR
|
||||
beq .8
|
||||
|
||||
bra CS.Net.SkipToken
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
CS.Net.Char2Buf sta (ZPBufPtr)
|
||||
|
||||
inc ZPBufPtr
|
||||
bne .8
|
||||
|
||||
inc ZPBufPtr+1
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
CS.Net.GetChar inc ZPnFrameLen
|
||||
bne .1
|
||||
|
||||
inc ZPnFrameLen+1
|
||||
beq .9
|
||||
|
||||
.1 lda (ZPFramePtr)
|
||||
inc ZPFramePtr
|
||||
bne .8
|
||||
|
||||
inc ZPFramePtr+1
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
|
||||
.9 sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.Scr.Init >LIBCALL hLIBTUI,LIBTUI.Init
|
||||
bcs .9
|
||||
|
||||
sta hCTX
|
||||
|
||||
>PUSHA hCTX
|
||||
>PUSHBI S.OBJ.F.bTitle+S.OBJ.F.bStatus
|
||||
>LIBCALL hLIBTUI,LIBTUI.NewScrn
|
||||
bcs .9
|
||||
|
||||
sta hSCR
|
||||
jsr CS.Scr.SetTitle
|
||||
|
||||
jsr CS.Scr.SetStatus
|
||||
|
||||
>PUSHB hSCR
|
||||
>PUSHBI 0 X1
|
||||
>PUSHBI 0 Y1
|
||||
>PUSHBI 80 W
|
||||
>PUSHBI 22 H
|
||||
>PUSHBI S.OBJ.F.bEdit F
|
||||
lda hBuf
|
||||
>SYSCALL GetMemPtr
|
||||
>PUSHYA
|
||||
>PUSHWI BUFSIZE
|
||||
>LIBCALL hLIBTUI,LIBTUI.NewTBox
|
||||
bcs .9
|
||||
|
||||
sta hTBOX
|
||||
|
||||
>LIBCALL hLIBTUI,LIBTUI.Activate
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.Scr.SetTitle >PUSHEA.G SCR.TitleBuf
|
||||
>PUSHW L.MSG.ScrTitle
|
||||
>PUSHW TargetHost
|
||||
>PUSHW TargetPort
|
||||
>PUSHW TargetSelector
|
||||
>PUSHBI 6
|
||||
>SYSCALL SPrintF
|
||||
|
||||
>PUSHB hSCR
|
||||
>PUSHBI S.OBJ.pTITLE
|
||||
>PUSHEA.G SCR.TitleBuf
|
||||
>LIBCALL hLIBTUI,LIBTUI.SetProp
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.Scr.SetBuf >PUSHB hTBOX
|
||||
>PUSHBI S.OBJ.pBuf
|
||||
lda hBuf
|
||||
>SYSCALL GetMemPtr
|
||||
>PUSHYA
|
||||
>LIBCALL hLIBTUI,LIBTUI.SetProp
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.Scr.SetStatus
|
||||
>PUSHB hSCR
|
||||
>PUSHBI S.OBJ.pSTATUS
|
||||
>PUSHEA.G SCR.StatusBuf
|
||||
>LIBCALL hLIBTUI,LIBTUI.SetProp
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
LIBTCPIP .AZ "libtcpip"
|
||||
hLIBTCPIP .BS 1
|
||||
LIBTUI .AZ "libtui"
|
||||
hLIBTUI .BS 1
|
||||
*--------------------------------------
|
||||
MSG.ScrTitle .CZ "A2osX-GOPHER %s:%D/%s <Ctrl-X> : Exit"
|
||||
*--------------------------------------
|
||||
MSG.IPKO .CZ "TCP/IP Not Loaded/Configured.\r\n"
|
||||
MSG.USAGE .CZ "Usage : GOPHER <ip|host> [port]\r\n"
|
||||
MSG.IOERR .CS "I/O Error."
|
||||
MSG.CRLF .CS "\r\n"
|
||||
MSG.NULL .HS 00
|
||||
*--------------------------------------
|
||||
MSG.CONNECTING .CZ "Connecting to %s:%D..."
|
||||
MSG.UNKNOWN .CZ "%s: Unknown host"
|
||||
MSG.ERROR .CZ "Error : $%h"
|
||||
MSG.CONNECTED .CZ "Connected to %d.%d.%d.%d:%D."
|
||||
*--------------------------------------
|
||||
ITEMTYPES .AS "017i"
|
||||
ITEMTYPES.L .EQ *-ITEMTYPES
|
||||
*--------------------------------------
|
||||
SA.LOCAL .DA #AF.INET S.SOCKADDR.AF
|
||||
.BS 1
|
||||
.BS 4 S.SOCKADDR.ADDR
|
||||
.BS 2 S.SOCKADDR.PORT
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
DS.START
|
||||
SA.REMOTE .BS S.SOCKADDR
|
||||
|
||||
SCR.TitleBuf .BS 80
|
||||
SCR.StatusBuf .BS 80
|
||||
DS.END .ED
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/bin/gopher.s
|
||||
ASM
|
|
@ -51,7 +51,7 @@ S.OBJ.F.bHBorder .EQ %00010000
|
|||
S.OBJ.F.bVBorder .EQ %00001000
|
||||
S.OBJ.F.bHScroll .EQ %00000100
|
||||
S.OBJ.F.bVScroll .EQ %00000010
|
||||
S.OBJ.F.bCursor .EQ %00000001
|
||||
S.OBJ.F.bEdit .EQ %00000001
|
||||
S.OBJ.S .EQ 2
|
||||
S.OBJ.S.bActive .EQ %10000000
|
||||
S.OBJ.S.bDisabled .EQ %01000000
|
||||
|
|
|
@ -18,7 +18,7 @@ NEW
|
|||
#define F_bVBorder 8
|
||||
#define F_bHScroll 4
|
||||
#define F_bVScroll 2
|
||||
#define F_bCursor 1
|
||||
#define F_bEdit 1
|
||||
|
||||
#define P_pTitle 16
|
||||
#define P_pMenu 18
|
||||
|
|
|
@ -412,7 +412,7 @@ OBJ.Draw.Top lda (pStack)
|
|||
* clc
|
||||
beq OBJ.Draw.RTS
|
||||
|
||||
jsr LB.Init
|
||||
OBJ.Draw.Top.I jsr LB.Init
|
||||
|
||||
ldy #S.OBJ.X1
|
||||
lda (ZPObjPtr),y
|
||||
|
@ -502,9 +502,7 @@ OBJ.Draw.Top lda (pStack)
|
|||
OBJ.Draw.Body lda (pStack)
|
||||
jsr LIB.GetOBJ
|
||||
|
||||
jsr OBJ.CurOff
|
||||
|
||||
ldy #S.OBJ.InnerY
|
||||
OBJ.Draw.Body.I ldy #S.OBJ.InnerY
|
||||
lda (ZPObjPtr),y
|
||||
>PUSHA Start
|
||||
|
||||
|
@ -514,6 +512,8 @@ OBJ.Draw.Body lda (pStack)
|
|||
|
||||
>PUSHBI 0 Relative Y
|
||||
|
||||
OBJ.Draw.Lines jsr OBJ.CurOff
|
||||
|
||||
.1 jsr LB.Init
|
||||
|
||||
ldy #S.OBJ.X1
|
||||
|
@ -598,6 +598,7 @@ OBJ.Draw.Bottom lda (pStack)
|
|||
* clc
|
||||
beq OBJ.Draw.Body.RTS
|
||||
|
||||
OBJ.Draw.Bottom.I
|
||||
jsr LB.Init
|
||||
|
||||
ldy #S.OBJ.X1
|
||||
|
@ -712,15 +713,30 @@ OBJ.SetProp ldy #3 hObj
|
|||
lda (pStack),y
|
||||
tay prop
|
||||
|
||||
>PULLA
|
||||
>PULLA Value
|
||||
sta (ZPObjPtr),y
|
||||
iny
|
||||
>PULLA
|
||||
sta (ZPObjPtr),y
|
||||
|
||||
inc pStack
|
||||
inc pStack
|
||||
* clc
|
||||
>PULLA prop
|
||||
inc pStack hObj
|
||||
cmp #S.OBJ.pTitle
|
||||
bne .1
|
||||
|
||||
jmp OBJ.Draw.Top.I
|
||||
|
||||
.1 cmp #S.OBJ.pBuf
|
||||
bne .2
|
||||
|
||||
jmp OBJ.Draw.Body.I
|
||||
|
||||
.2 cmp #S.OBJ.pStatus
|
||||
bne .8
|
||||
|
||||
jmp OBJ.Draw.Bottom.I
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
OBJ.Activate >PUSHA hObj
|
||||
|
@ -808,9 +824,40 @@ OBJ.FindActive ldx ZPObjPtr
|
|||
|
||||
rts
|
||||
*--------------------------------------
|
||||
OBJ.CurUpdPos ldy #S.OBJ.F
|
||||
lda (ZPObjPtr),y
|
||||
and #S.OBJ.F.bEdit
|
||||
beq .8
|
||||
|
||||
ldy #S.OBJ.S
|
||||
lda (ZPObjPtr),y S.OBJ.S.bActive
|
||||
bpl .8
|
||||
|
||||
jsr LB.Init
|
||||
|
||||
ldy #S.OBJ.InnerX
|
||||
lda (ZPObjPtr),y
|
||||
clc
|
||||
ldy #S.OBJ.CurX
|
||||
adc (ZPObjPtr),y
|
||||
tax
|
||||
|
||||
ldy #S.OBJ.InnerY
|
||||
lda (ZPObjPtr),y
|
||||
clc
|
||||
ldy #S.OBJ.CurY
|
||||
adc (ZPObjPtr),y
|
||||
tay
|
||||
jsr LB.GotoXY
|
||||
|
||||
jsr LB.Out
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
OBJ.CurOn ldy #S.OBJ.F
|
||||
lda (ZPObjPtr),y
|
||||
and #S.OBJ.F.bCursor
|
||||
and #S.OBJ.F.bEdit
|
||||
beq .8
|
||||
|
||||
ldy #S.OBJ.S
|
||||
|
@ -851,7 +898,7 @@ OBJ.CurOn ldy #S.OBJ.F
|
|||
*--------------------------------------
|
||||
OBJ.CurOff ldy #S.OBJ.F
|
||||
lda (ZPObjPtr),y
|
||||
and #S.OBJ.F.bCursor
|
||||
and #S.OBJ.F.bEdit
|
||||
beq .8
|
||||
|
||||
ldy #S.OBJ.S
|
||||
|
|
|
@ -11,7 +11,6 @@ TBOX.New lda #S.OBJ.T.TBOX
|
|||
jsr OBJ.PullBuf
|
||||
|
||||
>PULLA
|
||||
ora #S.OBJ.F.bCursor
|
||||
ldy #S.OBJ.F
|
||||
sta (ZPObjPtr),y
|
||||
|
||||
|
@ -40,48 +39,48 @@ TBOX.Run ldy #S.OBJ.S
|
|||
lda (pStack) Event
|
||||
|
||||
cmp #C.SPACE
|
||||
bcs .2
|
||||
bcs .1
|
||||
|
||||
asl
|
||||
tax
|
||||
jsr .1
|
||||
|
||||
bcc TBOX.RUN.7
|
||||
|
||||
rts
|
||||
|
||||
.1 jmp (J.TBOX.RUN,x)
|
||||
|
||||
.2 cmp #C.DEL
|
||||
bne TBOX.RUN.CR
|
||||
jmp (J.TBOX.RUN,x)
|
||||
|
||||
.1 cmp #C.DEL
|
||||
beq .3
|
||||
|
||||
jsr TBOX.GetBuf
|
||||
jsr TBOX.ToBuf1
|
||||
bcs .8 Buffer full
|
||||
|
||||
jsr TBOX.RUN.FS1
|
||||
bit bRepaintAll
|
||||
bmi .2
|
||||
|
||||
jsr OBJ.CurUpdPos
|
||||
|
||||
jmp TBOX.DrawCurLine
|
||||
|
||||
.2 jmp TBOX.DrawAllLines
|
||||
|
||||
.3 jsr TBOX.GetBuf
|
||||
jsr TBOX.Delete1
|
||||
bcs .8 Buffer Empty
|
||||
|
||||
bra TBOX.RUN.7
|
||||
bit bRepaintAll
|
||||
bmi .4
|
||||
|
||||
jsr OBJ.CurUpdPos
|
||||
|
||||
jmp TBOX.DrawCurLine
|
||||
|
||||
.4 jmp TBOX.DrawAllLines
|
||||
|
||||
.8
|
||||
*--------------------------------------
|
||||
TBOX.RUN.Ignore lda #0
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
TBOX.RUN.CR jsr TBOX.GetBuf
|
||||
|
||||
jsr TBOX.ToBuf1
|
||||
bcs TBOX.RUN.8 Buffer full
|
||||
|
||||
jsr TBOX.RUN.FS1
|
||||
|
||||
TBOX.RUN.7 ldy #1 hObj
|
||||
lda (pStack),y
|
||||
>PUSHA
|
||||
|
||||
jsr OBJ.Draw.Body
|
||||
inc pStack
|
||||
|
||||
TBOX.RUN.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
TBOX.RUN.SelBegin
|
||||
ldy #S.TBOX.BufPtr
|
||||
lda (ZPObjPtr),y
|
||||
|
@ -146,13 +145,13 @@ TBOX.RUN.BS ldy #S.TBOX.BufPtr+1
|
|||
|
||||
lda (ZPPtr2)
|
||||
cmp #C.CR
|
||||
beq .1
|
||||
beq .2
|
||||
|
||||
ldy #S.TBOX.DocX
|
||||
jsr OBJ.DecWordAtY
|
||||
jmp TBOX.SetViewPort
|
||||
jmp TBOX.CheckViewPort
|
||||
|
||||
.1 ldy #S.TBOX.DocY
|
||||
.2 ldy #S.TBOX.DocY
|
||||
jsr OBJ.DecWordAtY
|
||||
|
||||
jmp TBOX.RUN.EOL
|
||||
|
@ -222,7 +221,7 @@ TBOX.RUN.VT1 jsr TBOX.GetCurlineInAX
|
|||
txa
|
||||
sta (ZPObjPtr),y
|
||||
|
||||
jmp TBOX.SetViewPort
|
||||
jmp TBOX.CheckViewPort
|
||||
|
||||
TBOX.RUN.VT.8 clc
|
||||
rts
|
||||
|
@ -253,7 +252,7 @@ TBOX.RUN.FS1 lda (ZPPtr2)
|
|||
|
||||
.7 jsr OBJ.IncWordAtY
|
||||
|
||||
jsr TBOX.SetViewPort
|
||||
jmp TBOX.CheckViewPort
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
|
@ -274,7 +273,7 @@ TBOX.RUN.SOL lda #0
|
|||
lda TempC+1
|
||||
sta (ZPObjPtr),y
|
||||
|
||||
jmp TBOX.SetViewPort
|
||||
jmp TBOX.CheckViewPort
|
||||
*--------------------------------------
|
||||
TBOX.RUN.EOL jsr TBOX.GetCurlineInAX
|
||||
jsr TBOX.GetLineAX
|
||||
|
@ -299,12 +298,25 @@ TBOX.RUN.EOL jsr TBOX.GetCurlineInAX
|
|||
txa
|
||||
sta (ZPObjPtr),y
|
||||
|
||||
jmp TBOX.SetViewPort
|
||||
jmp TBOX.CheckViewPort
|
||||
*--------------------------------------
|
||||
TBOX.RUN.PGUP clc
|
||||
TBOX.RUN.CR jsr TBOX.GetBuf
|
||||
jsr TBOX.ToBuf1
|
||||
bcs .8 Buffer full
|
||||
|
||||
jmp TBOX.RUN.FS1
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
TBOX.RUN.PGDN clc
|
||||
TBOX.RUN.PGUP
|
||||
*--------------------------------------
|
||||
TBOX.RUN.PGDN lda #0
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
TBOX.RUN.QUIT lda #3 User Interrupt
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
TBOX.RUN.Home ldy #S.TBOX.DocX
|
||||
|
@ -323,7 +335,7 @@ TBOX.RUN.Home ldy #S.TBOX.DocX
|
|||
iny
|
||||
sta (ZPObjPtr),y
|
||||
|
||||
jmp TBOX.SetViewPort
|
||||
jmp TBOX.CheckViewPort
|
||||
*--------------------------------------
|
||||
TBOX.RUN.EraseCL
|
||||
jsr TBOX.GetCurlineInAX
|
||||
|
@ -367,7 +379,36 @@ TBOX.RUN.EOF lda #$ff
|
|||
txa
|
||||
sta (ZPObjPtr),y
|
||||
|
||||
jmp TBOX.SetViewPort
|
||||
jmp TBOX.CheckViewPort
|
||||
*--------------------------------------
|
||||
TBOX.DrawAllLines
|
||||
ldy #1 hObj
|
||||
lda (pStack),y
|
||||
>PUSHA
|
||||
|
||||
jsr OBJ.Draw.Body
|
||||
inc pStack
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
TBOX.DrawCurLine
|
||||
ldy #S.OBJ.InnerY
|
||||
lda (ZPObjPtr),y
|
||||
|
||||
clc
|
||||
|
||||
ldy #S.OBJ.CurY
|
||||
adc (ZPObjPtr),y
|
||||
>PUSHA Start
|
||||
|
||||
lda #1
|
||||
>PUSHA Count
|
||||
|
||||
ldy #S.OBJ.CurY
|
||||
lda (ZPObjPtr),y Relative Y
|
||||
>PUSHA
|
||||
|
||||
jmp OBJ.Draw.Lines
|
||||
*--------------------------------------
|
||||
TBOX.Draw ldy #S.TBOX.VScroll
|
||||
lda (ZPObjPtr),y
|
||||
|
@ -427,7 +468,8 @@ TBOX.Draw ldy #S.TBOX.VScroll
|
|||
dex
|
||||
bne .7
|
||||
|
||||
.8
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
TBOX.Activate
|
||||
*--------------------------------------
|
||||
|
@ -585,7 +627,7 @@ TBOX.ToBuf1 ldy #S.TBOX.BufCnt
|
|||
|
||||
jsr OBJ.IncWordAtY
|
||||
|
||||
.1 jsr TBOX.GetBuf
|
||||
jsr TBOX.GetBuf
|
||||
|
||||
jsr TBOX.Insert1
|
||||
|
||||
|
@ -660,7 +702,18 @@ TBOX.DeleteAXC adc ZPPtr2
|
|||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
TBOX.CheckViewPort
|
||||
jsr TBOX.SetViewPort
|
||||
bit bRepaintAll
|
||||
bpl .8
|
||||
|
||||
jmp TBOX.DrawAllLines
|
||||
|
||||
.8 jmp OBJ.CurUpdPos
|
||||
*--------------------------------------
|
||||
TBOX.SetViewPort
|
||||
stz bRepaintAll
|
||||
|
||||
ldy #S.TBOX.DocX+1
|
||||
lda (ZPObjPtr),y
|
||||
tax
|
||||
|
@ -752,8 +805,7 @@ TBOX.SetViewPort
|
|||
.20 ldy #S.OBJ.CurX
|
||||
sta (ZPObjPtr),y
|
||||
|
||||
sec
|
||||
ror bRepaintAll
|
||||
dec bRepaintAll
|
||||
*--------------------------------------
|
||||
.21 ldy #S.TBOX.DocY+1
|
||||
lda (ZPObjPtr),y
|
||||
|
@ -847,8 +899,8 @@ TBOX.SetViewPort
|
|||
|
||||
.40 ldy #S.OBJ.CurY
|
||||
sta (ZPObjPtr),y
|
||||
sec
|
||||
ror bRepaintAll
|
||||
|
||||
dec bRepaintAll
|
||||
|
||||
.41 clc CLC RTS to jmp to
|
||||
rts
|
||||
|
|
|
@ -11,7 +11,7 @@ TLINE.New lda #S.OBJ.T.TLINE
|
|||
jsr OBJ.PullBuf
|
||||
|
||||
ldy #S.OBJ.F
|
||||
lda #S.OBJ.F.bHScroll+S.OBJ.F.bCursor
|
||||
lda #S.OBJ.F.bHScroll+S.OBJ.F.bEdit
|
||||
sta (ZPObjPtr),y
|
||||
|
||||
>PULLA
|
||||
|
|
|
@ -123,10 +123,10 @@ J.ObjDeactivate .DA SCRN.Deactivate
|
|||
J.TBOX.RUN .DA TBOX.RUN.Ignore
|
||||
.DA TBOX.RUN.Ignore
|
||||
.DA TBOX.RUN.SelBegin Ctrl-B
|
||||
.DA TBOX.RUN.Ignore Ctrl-C
|
||||
.DA TBOX.RUN.Ignore
|
||||
.DA TBOX.RUN.Ignore ** Copy
|
||||
.DA TBOX.RUN.Ignore ** Delete Selection
|
||||
.DA TBOX.RUN.SelEnd Ctrl-E
|
||||
.DA TBOX.RUN.Ignore
|
||||
.DA TBOX.RUN.Ignore ** Find...
|
||||
.DA TBOX.RUN.SOL Ctrl-G
|
||||
.DA TBOX.RUN.BS
|
||||
.DA TBOX.RUN.Ignore TAB
|
||||
|
@ -134,19 +134,19 @@ J.TBOX.RUN .DA TBOX.RUN.Ignore
|
|||
.DA TBOX.RUN.VT
|
||||
.DA TBOX.RUN.EOL Ctrl-L
|
||||
.DA TBOX.RUN.CR
|
||||
.DA TBOX.RUN.Ignore
|
||||
.DA TBOX.RUN.Ignore ** Next...
|
||||
.DA TBOX.RUN.PGUP Ctrl-O
|
||||
.DA TBOX.RUN.PGDN Ctrl-P
|
||||
.DA TBOX.RUN.Ignore
|
||||
.DA TBOX.RUN.Ignore
|
||||
.DA TBOX.RUN.Ignore
|
||||
.DA TBOX.RUN.QUIT Ctrl-Q
|
||||
.DA TBOX.RUN.Ignore ** Replace
|
||||
.DA TBOX.RUN.Ignore ** save
|
||||
.DA TBOX.RUN.Home Ctrl-T
|
||||
.DA TBOX.RUN.FS
|
||||
.DA TBOX.RUN.Ignore
|
||||
.DA TBOX.RUN.Ignore ** Paste
|
||||
.DA TBOX.RUN.EraseCL Ctrl-W
|
||||
.DA TBOX.RUN.Ignore
|
||||
.DA TBOX.RUN.Ignore ** Cut
|
||||
.DA TBOX.RUN.EOF Ctrl-Y
|
||||
.DA TBOX.RUN.Ignore
|
||||
.DA TBOX.RUN.Ignore ** delete under cusror
|
||||
.DA TBOX.RUN.Ignore
|
||||
.DA TBOX.RUN.Ignore
|
||||
.DA TBOX.RUN.Ignore
|
||||
|
|
|
@ -27,14 +27,14 @@ ZS.END .ED
|
|||
*--------------------------------------
|
||||
CS.START cld
|
||||
jmp (.1,x)
|
||||
.DA #$61 6502,Level 1 (65c02)
|
||||
.DA #1 BIN Layout Version 1
|
||||
.DA #0 S.PS.F.EVENT
|
||||
.DA #$61 6502,Level 1 (65c02)
|
||||
.DA #1 BIN Layout Version 1
|
||||
.DA #0 S.PS.F.EVENT
|
||||
.DA #0
|
||||
.DA CS.END-CS.START Code Size (without Constants)
|
||||
.DA DS.END-DS.START Data Segment Size
|
||||
.DA #64 Stack Size
|
||||
.DA #ZS.END-ZS.START Zero Page Size
|
||||
.DA CS.END-CS.START Code Size (without Constants)
|
||||
.DA DS.END-DS.START Data Segment Size
|
||||
.DA #64 Stack Size
|
||||
.DA #ZS.END-ZS.START Zero Page Size
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
.1 .DA CS.INIT
|
||||
|
@ -61,8 +61,11 @@ L.BUT.Cancel .DA BUT.Cancel
|
|||
CS.INIT >LDYA L.LIBTUI
|
||||
>SYSCALL LoadLib
|
||||
bcs CS.INIT.RTS
|
||||
|
||||
sta hLIBTUI
|
||||
|
||||
* clc
|
||||
|
||||
CS.INIT.RTS rts
|
||||
*--------------------------------------
|
||||
CS.RUN >LIBCALL hLIBTUI,LIBTUI.Init
|
||||
|
@ -71,37 +74,51 @@ CS.RUN >LIBCALL hLIBTUI,LIBTUI.Init
|
|||
sta hCTX
|
||||
jsr CS.SCRN.Init
|
||||
bcs CS.RUN.RTS
|
||||
|
||||
jsr CS.TBOX1.Init
|
||||
bcs CS.RUN.RTS
|
||||
|
||||
jsr CS.LBOX1.Init
|
||||
bcs CS.RUN.RTS
|
||||
|
||||
jsr CS.TLINE.Init
|
||||
bcs CS.RUN.RTS
|
||||
|
||||
jsr CS.RADIO.Init
|
||||
bcs CS.RUN.RTS
|
||||
|
||||
jsr CS.CBOX.Init
|
||||
bcs CS.RUN.RTS
|
||||
|
||||
jsr CS.BUT.Init
|
||||
bcs CS.RUN.RTS
|
||||
jsr CS.SCRN.Draw Will Call SCRN.Draw
|
||||
lda hTBOX1
|
||||
|
||||
jsr CS.SCRN.Draw Will Call SCRN.Draw
|
||||
|
||||
lda hTBOX1
|
||||
>LIBCALL hLIBTUI,LIBTUI.Activate
|
||||
*--------------------------------------
|
||||
CS.RUN.LOOP lda hSCRN
|
||||
>LIBCALL hLIBTUI,LIBTUI.Exec
|
||||
bcs .9
|
||||
|
||||
cmp #EV.RESIZE
|
||||
bne .1
|
||||
|
||||
jsr CS.SCRN.Draw
|
||||
bcs .9
|
||||
|
||||
bra CS.RUN.LOOP
|
||||
|
||||
.1 cmp #EV.SAVE
|
||||
bne .2
|
||||
|
||||
jsr CS.RUN.DLGSAVE
|
||||
bcc CS.RUN.LOOP
|
||||
|
||||
.2 cmp #EV.QUIT
|
||||
bne CS.RUN.LOOP
|
||||
|
||||
lda hSCRN
|
||||
>LIBCALL hLIBTUI,LIBTUI.Destroy
|
||||
|
||||
|
@ -110,10 +127,11 @@ CS.RUN.LOOP lda hSCRN
|
|||
.9
|
||||
CS.RUN.RTS rts
|
||||
*--------------------------------------
|
||||
CS.SCRN.Init >PUSHB hCTX hParent
|
||||
CS.SCRN.Init >PUSHB hCTX hParent
|
||||
>PUSHBI S.OBJ.F.bTitle+S.OBJ.F.bStatus
|
||||
>LIBCALL hLIBTUI,LIBTUI.NewScrn
|
||||
bcs .9
|
||||
|
||||
sta hSCRN
|
||||
>PUSHA
|
||||
>PUSHBI S.OBJ.pTITLE
|
||||
|
@ -123,6 +141,7 @@ CS.SCRN.Init >PUSHB hCTX hParent
|
|||
>PUSHBI S.OBJ.pSTATUS
|
||||
>PUSHW L.SCRN.Status
|
||||
>LIBCALL hLIBTUI,LIBTUI.SetProp
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.TBOX1.Init >LDYAI 1024
|
||||
|
@ -138,15 +157,16 @@ CS.TBOX1.Init >LDYAI 1024
|
|||
>PUSHB hSCRN hParent
|
||||
>PUSHBI 1 X1
|
||||
>PUSHBI 1 Y1
|
||||
>PUSHBI 44 W
|
||||
>PUSHBI 46 W
|
||||
>PUSHBI 20 H
|
||||
>PUSHBI S.OBJ.F.bHBorder+S.OBJ.F.bVBorder+S.OBJ.F.bTitle+S.OBJ.F.bStatus
|
||||
>PUSHBI S.OBJ.F.bHBorder+S.OBJ.F.bVBorder+S.OBJ.F.bTitle+S.OBJ.F.bStatus+S.OBJ.F.bEdit
|
||||
>LDA.G TBOX1.hBuf
|
||||
>SYSCALL GetMemPtr
|
||||
>PUSHYA
|
||||
>PUSHWI 1024
|
||||
>LIBCALL hLIBTUI,LIBTUI.NewTBox
|
||||
bcs .9
|
||||
|
||||
sta hTBOX1
|
||||
>PUSHA
|
||||
>PUSHBI S.OBJ.pTITLE
|
||||
|
@ -156,6 +176,7 @@ CS.TBOX1.Init >LDYAI 1024
|
|||
>PUSHBI S.OBJ.pSTATUS
|
||||
>PUSHW L.TBOX1.Status
|
||||
>LIBCALL hLIBTUI,LIBTUI.SetProp
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.LBOX1.Init >PUSHB hSCRN hParent
|
||||
|
@ -214,6 +235,7 @@ CS.BUT.Init >PUSHB hSCRN hParent
|
|||
>PUSHW L.BUTS.Label
|
||||
>LIBCALL hLIBTUI,LIBTUI.NewBut
|
||||
bcs .9
|
||||
|
||||
>PUSHB hSCRN hParent
|
||||
>PUSHBI 65 X1
|
||||
>PUSHBI 20 Y1
|
||||
|
@ -224,32 +246,34 @@ CS.BUT.Init >PUSHB hSCRN hParent
|
|||
.9
|
||||
CS.BUT.Init.RTS rts
|
||||
*--------------------------------------
|
||||
CS.RUN.DLGSAVE >PUSHB hCTX hParent
|
||||
>PUSHBI 70 W
|
||||
>PUSHBI 11 H
|
||||
CS.RUN.DLGSAVE >PUSHB hCTX hParent
|
||||
>PUSHBI 70 W
|
||||
>PUSHBI 11 H
|
||||
>PUSHW L.DLGS.Title
|
||||
>LIBCALL hLIBTUI,LIBTUI.NewDlg
|
||||
bcs CS.BUT.Init.RTS
|
||||
|
||||
sta hDLGS
|
||||
|
||||
>PUSHB hDLGS hParent
|
||||
>PUSHBI 50 X1
|
||||
>PUSHBI 7 Y1
|
||||
>PUSHB hDLGS hParent
|
||||
>PUSHBI 50 X1
|
||||
>PUSHBI 7 Y1
|
||||
>PUSHBI C.CR
|
||||
>PUSHBI EV.OK
|
||||
>PUSHW L.BUT.OK
|
||||
>LIBCALL hLIBTUI,LIBTUI.NewBut
|
||||
bcs .9
|
||||
|
||||
sta ZPPtr1
|
||||
>PUSHB hDLGS hParent
|
||||
>PUSHBI 57 X1
|
||||
>PUSHBI 7 Y1
|
||||
>PUSHBI 3 Ctrl-C
|
||||
>PUSHB hDLGS hParent
|
||||
>PUSHBI 57 X1
|
||||
>PUSHBI 7 Y1
|
||||
>PUSHBI 3 Ctrl-C
|
||||
>PUSHBI EV.CANCEL
|
||||
>PUSHW L.BUT.Cancel
|
||||
>LIBCALL hLIBTUI,LIBTUI.NewBut
|
||||
bcs .9
|
||||
|
||||
lda hDLGS
|
||||
>LIBCALL hLIBTUI,LIBTUI.Draw
|
||||
bcs .9
|
||||
|
@ -270,11 +294,12 @@ CS.RUN.DLGSAVE >PUSHB hCTX hParent
|
|||
plp
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.DOEVENT sec do not discard TIMER event
|
||||
CS.DOEVENT sec do not discard TIMER event
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.QUIT >LDA.G TBOX1.hBuf
|
||||
beq .1
|
||||
|
||||
>SYSCALL FreeMem
|
||||
.1 lda hCTX
|
||||
beq .2
|
||||
|
@ -283,7 +308,9 @@ CS.QUIT >LDA.G TBOX1.hBuf
|
|||
|
||||
.2 lda hLIBTUI
|
||||
beq .8
|
||||
|
||||
>SYSCALL UnloadLib
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
|
|
@ -2,6 +2,8 @@ NEW
|
|||
AUTO 3,1
|
||||
#include <stdio.h>
|
||||
|
||||
int testf4(int, int);
|
||||
|
||||
int testf1() {
|
||||
puts("testf1 called!");
|
||||
int r = 1029;
|
||||
|
@ -19,7 +21,7 @@ int testf2() {
|
|||
void testf3(char *msg)
|
||||
{
|
||||
puts(msg);
|
||||
return;
|
||||
return; //not required just for testing
|
||||
}
|
||||
|
||||
int testf4(int arg1, int arg2) {
|
||||
|
|
Loading…
Reference in New Issue