mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-25 20:33:13 +00:00
911 lines
20 KiB
Plaintext
911 lines
20 KiB
Plaintext
|
NEW
|
|||
|
AUTO 3,1
|
|||
|
.LIST OFF
|
|||
|
.OP 65C02
|
|||
|
.OR $2000
|
|||
|
.TF bin/netconfig
|
|||
|
*--------------------------------------
|
|||
|
.INB inc/macros.i
|
|||
|
.INB inc/a2osx.i
|
|||
|
.INB inc/mli.i
|
|||
|
.INB inc/mli.e.i
|
|||
|
.INB inc/libtui.i
|
|||
|
*--------------------------------------
|
|||
|
* Constants
|
|||
|
*--------------------------------------
|
|||
|
EV.SAVE .EQ $C0
|
|||
|
EV.OK .EQ $CE
|
|||
|
EV.CANCEL .EQ $CF
|
|||
|
SCR.X1 .EQ 3
|
|||
|
SCR.X2 .EQ 27
|
|||
|
SCR.X3 .EQ 51
|
|||
|
*--------------------------------------
|
|||
|
* Zero Page Segment, up to 32 bytes
|
|||
|
*--------------------------------------
|
|||
|
.DUMMY
|
|||
|
.OR ZPBIN
|
|||
|
ZS.START
|
|||
|
hFile .BS 1
|
|||
|
hBuf1 .BS 1
|
|||
|
hCTX .BS 1
|
|||
|
hSCRN .BS 1
|
|||
|
hItem1 .BS 1
|
|||
|
hDLGS .BS 1
|
|||
|
hDLGitem .BS 1
|
|||
|
ZPPtr1 .BS 2
|
|||
|
ZPTmpPtr1 .BS 2
|
|||
|
ZPTmpPtr2 .BS 2
|
|||
|
ZPTmpPtr3 .BS 2
|
|||
|
ZPTmpPtr4 .BS 2
|
|||
|
ZPBufPtr .BS 1
|
|||
|
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 #0 S.PS.F
|
|||
|
.DA #0
|
|||
|
.DA CS.END-CS.START Code Length To Relocate
|
|||
|
.DA DS.END-DS.START Data Segment to Allocate
|
|||
|
.DA #16 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.LIBTUI .DA LIBTUI
|
|||
|
*--------------------------------------
|
|||
|
L.NETSTART .DA NETSTART
|
|||
|
L.HOSTNAME .DA HOSTNAME
|
|||
|
L.TCPIP.CONF .DA TCPIP.CONF
|
|||
|
L.SCRN.Title .DA SCRN.Title
|
|||
|
L.SCRN.Status .DA SCRN.Status
|
|||
|
L.SCRN.StatusSv .DA SCRN.StatusSv
|
|||
|
L.HOST.Label .DA HOST.Label
|
|||
|
L.HOST.Text .DA HOST.Text
|
|||
|
L.IFACE.Label .DA IFACE.Label
|
|||
|
L.IFACE.List .DA IFACE.List
|
|||
|
L.AUTOIP.Label .DA AUTOIP.Label
|
|||
|
L.AUTOIP.List .DA AUTOIP.List
|
|||
|
L.SERV.Label .DA SERV.Label
|
|||
|
L.TELNET.Label .DA TELNET.Label
|
|||
|
L.HTTPD.Label .DA HTTPD.Label
|
|||
|
L.BBSD.Label .DA BBSD.Label
|
|||
|
L.MANUAL.Label .DA MANUAL.Label
|
|||
|
L.IPADDR.Label .DA IPADDR.Label
|
|||
|
L.IPADDR.Text .DA IPADDR.Text
|
|||
|
L.MASK.Label .DA MASK.Label
|
|||
|
L.MASK.Text .DA MASK.Text
|
|||
|
L.GATEWAY.Label .DA GATEWAY.Label
|
|||
|
L.GATEWAY.Text .DA GATEWAY.Text
|
|||
|
L.NS1.Label .DA NS1.Label
|
|||
|
L.NS1.Text .DA NS1.Text
|
|||
|
L.NS2.Label .DA NS2.Label
|
|||
|
L.NS2.Text .DA NS2.Text
|
|||
|
L.DOM.Label .DA DOM.Label
|
|||
|
L.DOM.Text .DA DOM.Text
|
|||
|
L.BUTQ.Label .DA BUTQ.Label
|
|||
|
L.BUTS.Label .DA BUTS.Label
|
|||
|
L.DLGS.Title .DA DLGS.Title
|
|||
|
L.DLGS.Text .DA DLGS.Text
|
|||
|
L.DLGS.Label .DA DLGS.Label
|
|||
|
L.BUT.OK .DA BUT.OK
|
|||
|
L.BUT.Cancel .DA BUT.Cancel
|
|||
|
L.NS.Hdr .DA NS.Hdr
|
|||
|
L.NS.Uth .DA NS.Uth
|
|||
|
L.NS.Lanc .DA NS.Lanc
|
|||
|
L.NS.U2 .DA NS.U2
|
|||
|
L.NS.U2ai .DA NS.U2ai
|
|||
|
L.NS.networkd .DA NS.networkd
|
|||
|
L.NS.telnetd .DA NS.telnetd
|
|||
|
L.NS.httpd .DA NS.httpd
|
|||
|
L.NS.bbsd .DA NS.bbsd
|
|||
|
L.IP.Hash .DA IP.Hash
|
|||
|
L.Host.Hdr .DA Host.Hdr
|
|||
|
L.CRLF .DA CRLF
|
|||
|
L.IP.Keywords .DA IP.Keywords
|
|||
|
J.IP.Keywords .DA CS.IPR.addr
|
|||
|
.DA CS.IPR.mask
|
|||
|
.DA CS.IPR.gway
|
|||
|
.DA CS.IPR.ns1
|
|||
|
.DA CS.IPR.dom
|
|||
|
.DA 0
|
|||
|
*--------------------------------------
|
|||
|
CS.INIT >LDYA L.LIBTUI
|
|||
|
>SYSCALL LoadLib
|
|||
|
bcs CS.INIT.RTS
|
|||
|
|
|||
|
sta hLIBTUI
|
|||
|
* clc
|
|||
|
CS.INIT.RTS rts
|
|||
|
*--------------------------------------
|
|||
|
CS.RUN >LDYA 80
|
|||
|
>SYSCALL GetMem
|
|||
|
* bcs CS.RUN.RTS
|
|||
|
>STYA ZPTmpPtr1
|
|||
|
stx hBuf1
|
|||
|
|
|||
|
jsr CS.HOSTR
|
|||
|
jsr CS.IPR
|
|||
|
jsr CS.File.Close CS.IPR doesn't close the file
|
|||
|
* rts debug; stop before displaying TUI
|
|||
|
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.Init
|
|||
|
bcs CS.RUN.RTS
|
|||
|
sta hCTX
|
|||
|
jsr CS.SCRN.Init
|
|||
|
bcs CS.RUN.RTS
|
|||
|
jsr CS.HOSTR.Init
|
|||
|
bcs CS.RUN.RTS
|
|||
|
jsr CS.IFACE.Init
|
|||
|
bcs CS.RUN.RTS
|
|||
|
jsr CS.AUTOIP.Init
|
|||
|
bcs CS.RUN.RTS
|
|||
|
jsr CS.SERV.Init
|
|||
|
bcs CS.RUN.RTS
|
|||
|
jsr CS.IP.Init
|
|||
|
bcs CS.RUN.RTS
|
|||
|
jsr CS.BUT.Init
|
|||
|
bcs CS.RUN.RTS
|
|||
|
jsr CS.SCRN.Draw Will Call SCRN.Draw
|
|||
|
lda hItem1
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.Activate
|
|||
|
|
|||
|
*--------------------------------------
|
|||
|
CS.RUN.LOOP2 lda hSCRN
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.Exec
|
|||
|
bcs CS.RUN.RTS
|
|||
|
cmp #EV.RESIZE
|
|||
|
bne .1
|
|||
|
jsr CS.SCRN.Draw
|
|||
|
bcs CS.RUN.RTS
|
|||
|
bra CS.RUN.LOOP2
|
|||
|
.1 cmp #EV.SAVE
|
|||
|
bne .2
|
|||
|
jsr CS.DLG.SAVE
|
|||
|
bcc CS.RUN.LOOP2
|
|||
|
.2 cmp #EV.QUIT
|
|||
|
bne CS.RUN.LOOP2
|
|||
|
CS.RUN.QUIT lda hSCRN
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.Destroy
|
|||
|
lda hBuf1
|
|||
|
>SYSCALL FreeMem
|
|||
|
lda hLIBTUI
|
|||
|
>SYSCALL UnloadLib
|
|||
|
lda #0
|
|||
|
sec
|
|||
|
CS.RUN.RTS rts
|
|||
|
*--------------------------------------
|
|||
|
CS.HOSTR >LDYA L.HOSTNAME etc/hostname
|
|||
|
JSR CS.File.OpenRD
|
|||
|
bcc CS.HOSTR.Loop
|
|||
|
rts
|
|||
|
CS.HOSTR.Loop jsr CS.File.Read
|
|||
|
bcs .1
|
|||
|
lda (ZPTmpPtr1)
|
|||
|
cmp #'#'
|
|||
|
beq CS.HOSTR.Loop
|
|||
|
.1 >LDYA L.HOST.Text
|
|||
|
>STYA ZPTmpPtr4
|
|||
|
ldy #0 Copy setting to var string
|
|||
|
CS.HOSTR.Loop2 lda (ZPTmpPtr1),y
|
|||
|
beq .2
|
|||
|
sta (ZPTmpPtr4),y
|
|||
|
iny
|
|||
|
cpy #$10
|
|||
|
bcc CS.HOSTR.Loop2
|
|||
|
.2 lda #0
|
|||
|
sta (ZPTmpPtr4),y
|
|||
|
clc
|
|||
|
jmp CS.File.Close
|
|||
|
*--------------------------------------
|
|||
|
CS.IPR >LDYA L.TCPIP.CONF etc/tcpip.conf
|
|||
|
JSR CS.File.OpenRD
|
|||
|
bcc CS.IPR.Loop
|
|||
|
rts
|
|||
|
CS.IPR.Loop jsr CS.File.Read *was READIP
|
|||
|
bcs .8
|
|||
|
.1 ldy #$ff
|
|||
|
.2 iny
|
|||
|
.21 lda (ZPTmpPtr1),y
|
|||
|
cmp #C.SPACE
|
|||
|
beq .3
|
|||
|
cmp #'#'
|
|||
|
bne .2
|
|||
|
lda #1
|
|||
|
>STA.G AUTOIP.Var Preselect Manual IP radio
|
|||
|
|
|||
|
inc ZPTmpPtr1
|
|||
|
bcc .21
|
|||
|
inc ZPTmpPtr2+1
|
|||
|
bra .21
|
|||
|
.3 lda L.IP.Keywords Whole word, check
|
|||
|
sta ZPTmpPtr2
|
|||
|
lda L.IP.Keywords+1
|
|||
|
sta ZPTmpPtr2+1
|
|||
|
ldx #0
|
|||
|
.4 phy save keyword len
|
|||
|
tya
|
|||
|
cmp (ZPTmpPtr2)
|
|||
|
bne .6 empty
|
|||
|
.5 lda (ZPTmpPtr2),y check next char
|
|||
|
dey
|
|||
|
cmp (ZPTmpPtr1),y
|
|||
|
bne .6 no match
|
|||
|
tya
|
|||
|
bne .5
|
|||
|
ply discard keyword len
|
|||
|
jsr CS.IPR.Keyword keyword matched - action it
|
|||
|
bcc CS.IPR.Loop
|
|||
|
rts
|
|||
|
.6 lda (ZPTmpPtr2)
|
|||
|
sec
|
|||
|
adc ZPTmpPtr2
|
|||
|
sta ZPTmpPtr2
|
|||
|
bcc .7
|
|||
|
inc ZPTmpPtr2+1
|
|||
|
.7 inx
|
|||
|
inx
|
|||
|
ply reset keyword len
|
|||
|
lda (ZPTmpPtr2)
|
|||
|
bne .4
|
|||
|
bra CS.IPR.Loop
|
|||
|
.8 clc
|
|||
|
jmp CS.File.Close
|
|||
|
|
|||
|
CS.IPR.Keyword lda ZPTmpPtr1+1 Move ptr to after keyword+space
|
|||
|
sta ZPTmpPtr3+1
|
|||
|
iny
|
|||
|
clc
|
|||
|
tya
|
|||
|
adc ZPTmpPtr1
|
|||
|
sta ZPTmpPtr3
|
|||
|
bcc .81
|
|||
|
inc ZPTmpPtr3+1
|
|||
|
.81 jmp (J.IP.Keywords,x)
|
|||
|
|
|||
|
CS.IPR.addr >LDYA L.IPADDR.Text
|
|||
|
>STYA ZPTmpPtr4
|
|||
|
CS.IPR.Copy ldy #0 Copy setting to correct var
|
|||
|
CS.IPR.Copy.L lda (ZPTmpPtr3),y
|
|||
|
beq .9
|
|||
|
sta (ZPTmpPtr4),y
|
|||
|
iny
|
|||
|
cpy #$10
|
|||
|
bcc CS.IPR.Copy.L
|
|||
|
.9 lda #0
|
|||
|
sta (ZPTmpPtr4),y
|
|||
|
clc
|
|||
|
rts
|
|||
|
CS.IPR.mask >LDYA L.MASK.Text
|
|||
|
>STYA ZPTmpPtr4
|
|||
|
jmp CS.IPR.Copy
|
|||
|
CS.IPR.gway >LDYA L.GATEWAY.Text
|
|||
|
>STYA ZPTmpPtr4
|
|||
|
jmp CS.IPR.Copy
|
|||
|
CS.IPR.ns1 >LDYA L.NS1.Text
|
|||
|
>STYA ZPTmpPtr4
|
|||
|
lda (ZPTmpPtr4)
|
|||
|
bne CS.IPR.ns2 NS1 already populated
|
|||
|
jmp CS.IPR.Copy
|
|||
|
CS.IPR.ns2 >LDYA L.NS2.Text
|
|||
|
>STYA ZPTmpPtr4
|
|||
|
jmp CS.IPR.Copy
|
|||
|
CS.IPR.dom >LDYA L.DOM.Text
|
|||
|
>STYA ZPTmpPtr4
|
|||
|
jsr CS.IPR.Copy
|
|||
|
sec last one so sec
|
|||
|
rts
|
|||
|
*--------------------------------------
|
|||
|
CS.File.OpenRD stz hFile
|
|||
|
>PUSHYA
|
|||
|
>PUSHBI O.RDONLY
|
|||
|
>PUSHBI 0 Type
|
|||
|
>PUSHWZ Aux type
|
|||
|
>SYSCALL FOpen
|
|||
|
bcs .9
|
|||
|
sta hFile
|
|||
|
.9 rts
|
|||
|
*--------------------------------------
|
|||
|
CS.File.Read >PUSHB hFile
|
|||
|
>PUSHW ZPTmpPtr1
|
|||
|
>PUSHWI 80
|
|||
|
>SYSCALL FGetS
|
|||
|
bcs .9
|
|||
|
lda (ZPTmpPtr1)
|
|||
|
beq CS.File.Read
|
|||
|
clc
|
|||
|
.9 rts
|
|||
|
*--------------------------------------
|
|||
|
CS.File.OpenWR >PUSHYA
|
|||
|
>PUSHBI O.CREATE+O.WRONLY+O.TRUNC
|
|||
|
>PUSHBI $04 Type Text
|
|||
|
>PUSHWZ Aux type
|
|||
|
>SYSCALL FOpen
|
|||
|
bcs .9
|
|||
|
sta hFile
|
|||
|
.9 rts
|
|||
|
*--------------------------------------
|
|||
|
CS.File.Write >PUSHB hFile
|
|||
|
>PUSHW ZPTmpPtr1
|
|||
|
>SYSCALL FPutS
|
|||
|
rts
|
|||
|
*--------------------------------------
|
|||
|
CS.File.Close php
|
|||
|
pha
|
|||
|
lda hFile
|
|||
|
beq .8
|
|||
|
>SYSCALL FClose
|
|||
|
.8 pla
|
|||
|
plp
|
|||
|
rts
|
|||
|
*--------------------------------------
|
|||
|
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
|
|||
|
>PUSHEA.G SCRN.TitleBuf
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.SetProp
|
|||
|
>PUSHB hSCRN
|
|||
|
>PUSHBI S.OBJ.pSTATUS
|
|||
|
>PUSHW L.SCRN.Status
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.SetProp
|
|||
|
.9 rts
|
|||
|
*--------------------------------------
|
|||
|
CS.HOSTR.Init >PUSHB hSCRN hParent
|
|||
|
>PUSHBI SCR.X1
|
|||
|
>PUSHBI 2 Y1
|
|||
|
>PUSHW L.HOST.Label
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewLabel
|
|||
|
bcs .9
|
|||
|
>PUSHB hSCRN hParent
|
|||
|
>PUSHBI SCR.X1+9 X1
|
|||
|
>PUSHBI 2 Y1
|
|||
|
>PUSHBI 18 W
|
|||
|
>PUSHW L.HOST.Text
|
|||
|
>PUSHWI 15 Len
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewTLine
|
|||
|
sta hItem1
|
|||
|
.9 rts
|
|||
|
*--------------------------------------
|
|||
|
CS.IFACE.Init >PUSHB hSCRN hParent
|
|||
|
>PUSHBI SCR.X1
|
|||
|
>PUSHBI 4 Y1
|
|||
|
>PUSHW L.IFACE.Label
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewLabel
|
|||
|
bcs .9
|
|||
|
* lda #2
|
|||
|
* >STA.G IFACE.Var
|
|||
|
>PUSHB hSCRN hParent
|
|||
|
>PUSHBI SCR.X1
|
|||
|
>PUSHBI 5 Y1
|
|||
|
>PUSHBI 0 HK
|
|||
|
>PUSHBI 0 EV
|
|||
|
>PUSHW L.IFACE.List
|
|||
|
>PUSHEA.G IFACE.Var
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewRadio
|
|||
|
.9 rts
|
|||
|
*--------------------------------------
|
|||
|
CS.AUTOIP.Init >PUSHB hSCRN hParent
|
|||
|
>PUSHBI SCR.X2
|
|||
|
>PUSHBI 4 Y1
|
|||
|
>PUSHW L.AUTOIP.Label
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewLabel
|
|||
|
bcs .9
|
|||
|
>PUSHB hSCRN hParent
|
|||
|
>PUSHBI SCR.X2
|
|||
|
>PUSHBI 5 Y1
|
|||
|
>PUSHBI 0 HK
|
|||
|
>PUSHBI 0 EV
|
|||
|
>PUSHW L.AUTOIP.List
|
|||
|
>PUSHEA.G AUTOIP.Var
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewRadio
|
|||
|
.9 rts
|
|||
|
|
|||
|
CS.SERV.Init >PUSHB hSCRN hParent
|
|||
|
>PUSHBI SCR.X3
|
|||
|
>PUSHBI 4 Y1
|
|||
|
>PUSHW L.SERV.Label
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewLabel
|
|||
|
bcc .1
|
|||
|
rts
|
|||
|
.1 >PUSHB hSCRN hParent
|
|||
|
>PUSHBI SCR.X3
|
|||
|
>PUSHBI 5 Y1
|
|||
|
>PUSHBI 0
|
|||
|
>PUSHBI 0
|
|||
|
>PUSHW L.TELNET.Label
|
|||
|
>PUSHEA.G TELNET.Var
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewCBox
|
|||
|
bcc .2
|
|||
|
rts
|
|||
|
.2 >PUSHB hSCRN hParent
|
|||
|
>PUSHBI SCR.X3
|
|||
|
>PUSHBI 6 Y1
|
|||
|
>PUSHBI 0
|
|||
|
>PUSHBI 0
|
|||
|
>PUSHW L.HTTPD.Label
|
|||
|
>PUSHEA.G HTTPD.Var
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewCBox
|
|||
|
bcc .3
|
|||
|
rts
|
|||
|
.3 >PUSHB hSCRN hParent
|
|||
|
>PUSHBI SCR.X3
|
|||
|
>PUSHBI 7 Y1
|
|||
|
>PUSHBI 0
|
|||
|
>PUSHBI 0
|
|||
|
>PUSHW L.BBSD.Label
|
|||
|
>PUSHEA.G BBSD.Var
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewCBox
|
|||
|
rts
|
|||
|
|
|||
|
CS.IP.Init >PUSHB hSCRN hParent
|
|||
|
>PUSHBI SCR.X1
|
|||
|
>PUSHBI 11 Y1
|
|||
|
>PUSHW L.MANUAL.Label
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewLabel
|
|||
|
|
|||
|
>PUSHB hSCRN hParent
|
|||
|
>PUSHBI SCR.X1
|
|||
|
>PUSHBI 13 Y1
|
|||
|
>PUSHW L.IPADDR.Label
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewLabel
|
|||
|
>PUSHB hSCRN hParent
|
|||
|
>PUSHBI SCR.X1
|
|||
|
>PUSHBI 14 Y1
|
|||
|
>PUSHBI 18 W
|
|||
|
>PUSHW L.IPADDR.Text
|
|||
|
>PUSHWI 15 Len
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewTLine
|
|||
|
|
|||
|
>PUSHB hSCRN hParent
|
|||
|
>PUSHBI SCR.X2
|
|||
|
>PUSHBI 13 Y1
|
|||
|
>PUSHW L.MASK.Label
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewLabel
|
|||
|
>PUSHB hSCRN hParent
|
|||
|
>PUSHBI SCR.X2
|
|||
|
>PUSHBI 14 Y1
|
|||
|
>PUSHBI 18 W
|
|||
|
>PUSHW L.MASK.Text
|
|||
|
>PUSHWI 15 Len
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewTLine
|
|||
|
|
|||
|
>PUSHB hSCRN hParent
|
|||
|
>PUSHBI SCR.X3
|
|||
|
>PUSHBI 13 Y1
|
|||
|
>PUSHW L.GATEWAY.Label
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewLabel
|
|||
|
>PUSHB hSCRN hParent
|
|||
|
>PUSHBI SCR.X3
|
|||
|
>PUSHBI 14 Y1
|
|||
|
>PUSHBI 18 W
|
|||
|
>PUSHW L.GATEWAY.Text
|
|||
|
>PUSHWI 15 Len
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewTLine
|
|||
|
|
|||
|
>PUSHB hSCRN hParent
|
|||
|
>PUSHBI SCR.X1
|
|||
|
>PUSHBI 16 Y1
|
|||
|
>PUSHW L.NS1.Label
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewLabel
|
|||
|
>PUSHB hSCRN hParent
|
|||
|
>PUSHBI SCR.X1
|
|||
|
>PUSHBI 17 Y1
|
|||
|
>PUSHBI 18 W
|
|||
|
>PUSHW L.NS1.Text
|
|||
|
>PUSHWI 15 Len
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewTLine
|
|||
|
|
|||
|
>PUSHB hSCRN hParent
|
|||
|
>PUSHBI SCR.X2
|
|||
|
>PUSHBI 16 Y1
|
|||
|
>PUSHW L.NS2.Label
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewLabel
|
|||
|
>PUSHB hSCRN hParent
|
|||
|
>PUSHBI SCR.X2
|
|||
|
>PUSHBI 17 Y1
|
|||
|
>PUSHBI 18 W
|
|||
|
>PUSHW L.NS2.Text
|
|||
|
>PUSHWI 15 Len
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewTLine
|
|||
|
|
|||
|
>PUSHB hSCRN hParent
|
|||
|
>PUSHBI SCR.X3
|
|||
|
>PUSHBI 16 Y1
|
|||
|
>PUSHW L.DOM.Label
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewLabel
|
|||
|
>PUSHB hSCRN hParent
|
|||
|
>PUSHBI SCR.X3
|
|||
|
>PUSHBI 17 Y1
|
|||
|
>PUSHBI 25 W
|
|||
|
>PUSHW L.DOM.Text
|
|||
|
>PUSHWI 65 Len
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewTLine
|
|||
|
rts
|
|||
|
*--------------------------------------
|
|||
|
CS.BUT.Init >PUSHB hSCRN hParent
|
|||
|
>PUSHBI 50 X1
|
|||
|
>PUSHBI 20 Y1
|
|||
|
>PUSHBI 19 Ctrl-S
|
|||
|
>PUSHBI EV.SAVE
|
|||
|
>PUSHW L.BUTS.Label
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewBut
|
|||
|
bcs .9
|
|||
|
|
|||
|
>PUSHB hSCRN hParent
|
|||
|
>PUSHBI 65 X1
|
|||
|
>PUSHBI 20 Y1
|
|||
|
>PUSHBI 17 Ctrl-Q
|
|||
|
>PUSHBI EV.QUIT
|
|||
|
>PUSHW L.BUTQ.Label
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewBut
|
|||
|
.9 rts
|
|||
|
*--------------------------------------
|
|||
|
CS.DLG.SAVE >PUSHB hCTX hParent
|
|||
|
>PUSHBI 70 W
|
|||
|
>PUSHBI 11 H
|
|||
|
>PUSHW L.DLGS.Title
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewDlg
|
|||
|
bcs .9
|
|||
|
sta hDLGS
|
|||
|
>PUSHB hDLGS hParent
|
|||
|
>PUSHBI 2 X1
|
|||
|
>PUSHBI 2 Y1
|
|||
|
>PUSHW L.DLGS.Text
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewLabel
|
|||
|
bcs .9
|
|||
|
>PUSHB hDLGS hParent
|
|||
|
>PUSHBI 2
|
|||
|
>PUSHBI 4 Y1
|
|||
|
>PUSHBI 0
|
|||
|
>PUSHBI 0
|
|||
|
>PUSHW L.DLGS.Label
|
|||
|
>PUSHEA.G DLGS.Var
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewCBox
|
|||
|
bcc CS.DLG.SAVE2
|
|||
|
.9 rts
|
|||
|
CS.DLG.SAVE2 sta hDLGitem
|
|||
|
>PUSHB hDLGS hParent
|
|||
|
>PUSHBI 48 X1
|
|||
|
>PUSHBI 7 Y1
|
|||
|
>PUSHBI C.CR Hotkey ENTER
|
|||
|
>PUSHBI EV.OK
|
|||
|
>PUSHW L.BUT.OK
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewBut
|
|||
|
bcs .8
|
|||
|
>PUSHB hDLGS hParent
|
|||
|
>PUSHBI 57 X1
|
|||
|
>PUSHBI 7 Y1
|
|||
|
>PUSHBI 3 Hotkey Ctrl-C
|
|||
|
>PUSHBI EV.CANCEL
|
|||
|
>PUSHW L.BUT.Cancel
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.NewBut
|
|||
|
bcs .8
|
|||
|
lda hDLGS
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.Draw
|
|||
|
bcc .9
|
|||
|
.8 rts
|
|||
|
.9 lda hDLGitem
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.Activate
|
|||
|
CS.DLG.Loop lda hDLGS
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.Exec
|
|||
|
cmp #EV.OK
|
|||
|
bne .1
|
|||
|
>PUSHB hSCRN
|
|||
|
>PUSHBI S.OBJ.pSTATUS
|
|||
|
>PUSHW L.SCRN.StatusSv
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.SetProp
|
|||
|
jsr CS.IPW
|
|||
|
jsr CS.HOSTW
|
|||
|
>LDA.G DLGS.Var
|
|||
|
* cmp #0
|
|||
|
beq .1
|
|||
|
jsr CS.SHW
|
|||
|
bra .2
|
|||
|
.1 cmp #EV.CANCEL
|
|||
|
bne CS.DLG.Loop
|
|||
|
|
|||
|
.2 php
|
|||
|
pha
|
|||
|
lda hDLGS
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.Destroy
|
|||
|
lda hSCRN
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.Draw
|
|||
|
pla
|
|||
|
plp
|
|||
|
.9 rts
|
|||
|
*--------------------------------------
|
|||
|
CS.HOSTW >LDYA L.HOSTNAME
|
|||
|
jsr CS.File.OpenWR
|
|||
|
bcc .1
|
|||
|
rts
|
|||
|
.1 >PUSHB hFile
|
|||
|
>PUSHW L.HOST.Hdr
|
|||
|
>SYSCALL FPutS
|
|||
|
>PUSHB hFile
|
|||
|
>PUSHW L.HOST.Text
|
|||
|
>SYSCALL FPutS
|
|||
|
>PUSHB hFile
|
|||
|
>PUSHW L.CRLF
|
|||
|
>SYSCALL FPutS
|
|||
|
jmp CS.File.Close
|
|||
|
*--------------------------------------
|
|||
|
CS.IPW >LDYA L.TCPIP.CONF
|
|||
|
jsr CS.File.OpenWR
|
|||
|
bcc .1
|
|||
|
rts
|
|||
|
.1 >LDA.G AUTOIP.Var
|
|||
|
bne CS.IPW.addr
|
|||
|
>PUSHB hFile
|
|||
|
>PUSHW L.IP.Hash
|
|||
|
>SYSCALL FPutS
|
|||
|
CS.IPW.addr >PUSHB hFile
|
|||
|
>PUSHW L.IPADDR.Label
|
|||
|
>SYSCALL FPutS
|
|||
|
>PUSHB hFile
|
|||
|
>PUSHW L.IPADDR.Text
|
|||
|
>SYSCALL FPutS
|
|||
|
>PUSHB hFile
|
|||
|
>PUSHW L.CRLF
|
|||
|
>SYSCALL FPutS
|
|||
|
>LDA.G AUTOIP.Var
|
|||
|
bne CS.IPW.mask
|
|||
|
>PUSHB hFile
|
|||
|
>PUSHW L.IP.Hash
|
|||
|
>SYSCALL FPutS
|
|||
|
CS.IPW.mask >PUSHB hFile
|
|||
|
>PUSHW L.MASK.Label
|
|||
|
>SYSCALL FPutS
|
|||
|
>PUSHB hFile
|
|||
|
>PUSHW L.MASK.Text
|
|||
|
>SYSCALL FPutS
|
|||
|
>PUSHB hFile
|
|||
|
>PUSHW L.CRLF
|
|||
|
>SYSCALL FPutS
|
|||
|
>LDA.G AUTOIP.Var
|
|||
|
bne CS.IPW.gway
|
|||
|
>PUSHB hFile
|
|||
|
>PUSHW L.IP.Hash
|
|||
|
>SYSCALL FPutS
|
|||
|
CS.IPW.gway >PUSHB hFile
|
|||
|
>PUSHW L.GATEWAY.Label
|
|||
|
>SYSCALL FPutS
|
|||
|
>PUSHB hFile
|
|||
|
>PUSHW L.GATEWAY.Text
|
|||
|
>SYSCALL FPutS
|
|||
|
>PUSHB hFile
|
|||
|
>PUSHW L.CRLF
|
|||
|
>SYSCALL FPutS
|
|||
|
>LDA.G AUTOIP.Var
|
|||
|
bne CS.IPW.ns1
|
|||
|
>PUSHB hFile
|
|||
|
>PUSHW L.IP.Hash
|
|||
|
>SYSCALL FPutS
|
|||
|
CS.IPW.ns1 >PUSHB hFile
|
|||
|
>PUSHW L.NS1.Label
|
|||
|
>SYSCALL FPutS
|
|||
|
>PUSHB hFile
|
|||
|
>PUSHW L.NS1.Text
|
|||
|
>SYSCALL FPutS
|
|||
|
>PUSHB hFile
|
|||
|
>PUSHW L.CRLF
|
|||
|
>SYSCALL FPutS
|
|||
|
>LDA.G AUTOIP.Var
|
|||
|
bne CS.IPW.ns2
|
|||
|
>PUSHB hFile
|
|||
|
>PUSHW L.IP.Hash
|
|||
|
>SYSCALL FPutS
|
|||
|
CS.IPW.ns2 >PUSHB hFile
|
|||
|
>PUSHW L.NS1.Label Must use NS1 label again
|
|||
|
>SYSCALL FPutS
|
|||
|
>PUSHB hFile
|
|||
|
>PUSHW L.NS2.Text
|
|||
|
>SYSCALL FPutS
|
|||
|
>PUSHB hFile
|
|||
|
>PUSHW L.CRLF
|
|||
|
>SYSCALL FPutS
|
|||
|
>LDA.G AUTOIP.Var
|
|||
|
bne CS.IPW.dom
|
|||
|
>PUSHB hFile
|
|||
|
>PUSHW L.IP.Hash
|
|||
|
>SYSCALL FPutS
|
|||
|
CS.IPW.dom >PUSHB hFile
|
|||
|
>PUSHW L.DOM.Label
|
|||
|
>SYSCALL FPutS
|
|||
|
>PUSHB hFile
|
|||
|
>PUSHW L.DOM.Text
|
|||
|
>SYSCALL FPutS
|
|||
|
>PUSHB hFile
|
|||
|
>PUSHW L.CRLF
|
|||
|
>SYSCALL FPutS
|
|||
|
jmp CS.File.Close
|
|||
|
*--------------------------------------
|
|||
|
CS.SHW >LDYA L.Netstart Write network startup shell script
|
|||
|
jsr CS.File.OpenWR
|
|||
|
bcc .0
|
|||
|
rts
|
|||
|
.0 >PUSHB hFile
|
|||
|
>PUSHW L.NS.Hdr
|
|||
|
>SYSCALL FPutS
|
|||
|
>LDA.G IFACE.var
|
|||
|
cmp #0
|
|||
|
bne .1
|
|||
|
>PUSHB hFile
|
|||
|
>PUSHW L.NS.Uth
|
|||
|
>SYSCALL FPutS
|
|||
|
bra .2
|
|||
|
.1 cmp #1
|
|||
|
bne .3
|
|||
|
>PUSHB hFile
|
|||
|
>PUSHW L.NS.Lanc
|
|||
|
>SYSCALL FPutS
|
|||
|
.2 bra CS.SHW.netd
|
|||
|
.3 cmp #2
|
|||
|
bne .4
|
|||
|
>PUSHB hFile
|
|||
|
>PUSHW L.NS.U2
|
|||
|
>SYSCALL FPutS
|
|||
|
bra CS.SHW.netd
|
|||
|
.4 cmp #3
|
|||
|
bne CS.SHW.netd
|
|||
|
>PUSHB hFile
|
|||
|
>PUSHW L.NS.U2ai
|
|||
|
>SYSCALL FPutS
|
|||
|
CS.SHW.netd >PUSHB hFile
|
|||
|
>PUSHW L.NS.networkd
|
|||
|
>SYSCALL FPutS
|
|||
|
>LDA.G TELNET.Var
|
|||
|
bpl CS.SHW.httpd
|
|||
|
>PUSHB hFile
|
|||
|
>PUSHW L.NS.telnetd
|
|||
|
>SYSCALL FPutS
|
|||
|
CS.SHW.httpd >LDA.G HTTPD.Var
|
|||
|
bpl CS.SHW.bbsd
|
|||
|
>PUSHB hFile
|
|||
|
>PUSHW L.NS.httpd
|
|||
|
>SYSCALL FPutS
|
|||
|
CS.SHW.bbsd >LDA.G BBSD.Var
|
|||
|
bpl CS.SHW.close
|
|||
|
>PUSHB hFile
|
|||
|
>PUSHW L.NS.bbsd
|
|||
|
>SYSCALL FPutS
|
|||
|
CS.SHW.close jmp CS.File.Close
|
|||
|
.9 rts
|
|||
|
*--------------------------------------
|
|||
|
CS.DOEVENT sec do not discard TIMER event
|
|||
|
rts
|
|||
|
*--------------------------------------
|
|||
|
CS.QUIT >LDA.G hBuf1
|
|||
|
beq .1
|
|||
|
>SYSCALL FreeMem
|
|||
|
.1 lda hCTX
|
|||
|
beq .2
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.Close
|
|||
|
.2 lda hLIBTUI
|
|||
|
beq .8
|
|||
|
>SYSCALL UnloadLib
|
|||
|
.8 clc
|
|||
|
rts
|
|||
|
*--------------------------------------
|
|||
|
CS.SCRN.Draw lda hSCRN
|
|||
|
>SYSCALL GetMemPtr
|
|||
|
>STYA ZPPtr1
|
|||
|
>PUSHEA.G SCRN.TitleBuf
|
|||
|
>PUSHW L.SCRN.Title
|
|||
|
ldy #S.OBJ.X1
|
|||
|
.1 lda (ZPPtr1),y
|
|||
|
>PUSHA
|
|||
|
iny
|
|||
|
cpy #S.OBJ.InnerH+1
|
|||
|
bne .1
|
|||
|
>PUSHBI 10
|
|||
|
>SYSCALL sprintf
|
|||
|
lda hSCRN
|
|||
|
>LIBCALL hLIBTUI,LIBTUI.Draw
|
|||
|
rts
|
|||
|
*--------------------------------------
|
|||
|
CS.END
|
|||
|
*--------------------------------------
|
|||
|
LIBTUI .AZ "libtui"
|
|||
|
hLIBTUI .BS 1
|
|||
|
*--------------------------------------
|
|||
|
NETSTART .AZ "${HOME}netstart"
|
|||
|
HOSTNAME .AZ "${ROOT}etc/hostname"
|
|||
|
TCPIP.CONF .AZ "${ROOT}etc/tcpip.conf"
|
|||
|
*--------------------------------------
|
|||
|
IP.Keywords .PS "address"
|
|||
|
.PS "netmask"
|
|||
|
.PS "gateway"
|
|||
|
.PS "nameserver"
|
|||
|
.PS "dnsdomain"
|
|||
|
.DA #0
|
|||
|
*--------------------------------------
|
|||
|
SCRN.Title .AZ " NetConfig"
|
|||
|
SCRN.Status .AZ " "
|
|||
|
SCRN.StatusSv .AZ " Settings saved successfully"
|
|||
|
*--------------------------------------
|
|||
|
HOST.Label .AZ "Hostname:"
|
|||
|
Host.Text .BS 15
|
|||
|
*--------------------------------------
|
|||
|
IFACE.Label .AZ "Interface"
|
|||
|
IFACE.List .AS "Uthernet"
|
|||
|
.DA #C.CR
|
|||
|
.AS "LanceGS"
|
|||
|
.DA #C.CR
|
|||
|
.AS "Uthernet2"
|
|||
|
.DA #C.CR
|
|||
|
.AS "Uther2.ai"
|
|||
|
.DA #0
|
|||
|
*--------------------------------------
|
|||
|
AUTOIP.Label .AZ "Auto or Manual IP"
|
|||
|
AUTOIP.List .AS "Auto/DHCP"
|
|||
|
.DA #C.CR
|
|||
|
.AZ "Manual/Static"
|
|||
|
.DA #0
|
|||
|
*--------------------------------------
|
|||
|
SERV.Label .AZ "Services"
|
|||
|
TELNET.Label .AZ "telnetd"
|
|||
|
HTTPD.Label .AZ "httpd"
|
|||
|
BBSD.Label .AZ "bbsd"
|
|||
|
*--------------------------------------
|
|||
|
MANUAL.Label .AZ "MANUAL SETTINGS (Ignored for Auto/DHCP)"
|
|||
|
IPADDR.Label .AZ "address "
|
|||
|
IPADDR.Text .BS 15
|
|||
|
MASK.Label .AZ "netmask "
|
|||
|
MASK.Text .BS 16
|
|||
|
GATEWAY.Label .AZ "gateway "
|
|||
|
GATEWAY.Text .BS 16
|
|||
|
NS1.Label .AZ "nameserver "
|
|||
|
NS1.Text .BS 16
|
|||
|
NS2.Label .AZ "nameserver 2"
|
|||
|
NS2.Text .BS 16
|
|||
|
DOM.Label .AZ "dnsdomain "
|
|||
|
DOM.Text .BS 65
|
|||
|
*--------------------------------------
|
|||
|
BUTS.Label .AZ "(^S)ave..."
|
|||
|
BUTQ.Label .AZ "(^Q)uit"
|
|||
|
DLGS.Title .AZ "Save Config"
|
|||
|
DLGS.Text .AZ "Save the system config files?"
|
|||
|
DLGS.Label .AZ "Create NETSTART script in user home directory"
|
|||
|
BUT.OK .AZ " OK "
|
|||
|
BUT.Cancel .AZ "Cancel"
|
|||
|
*--------------------------------------
|
|||
|
CRLF .CZ "\r\n"
|
|||
|
NS.Hdr .CZ "#!/bin/sh\r\n"
|
|||
|
NS.Uth .CZ "insdrv uthernet.drv 00:0E:3A:12:34:56\r\n"
|
|||
|
NS.Lanc .CZ "insdrv lancegs.drv 00:0E:3A:12:34:56\r\n"
|
|||
|
NS.U2 .CZ "insdrv uthernet2.drv 00:08:DC:12:34:56\r\n"
|
|||
|
NS.U2ai .CZ "insdrv uther2.ai.drv 00:08:DC:12:34:56\r\n"
|
|||
|
NS.networkd .CZ "NOHUP networkd libtcpip &\r\n"
|
|||
|
NS.telnetd .CZ "NOHUP telnetd 6502 &\r\n"
|
|||
|
NS.httpd .CZ "NOHUP httpd &\r\n"
|
|||
|
NS.bbsd .CZ "NOHUP bbsd &\r\n"
|
|||
|
*NS.debug .AZ "var=%d "
|
|||
|
IP.Hash .AZ "#"
|
|||
|
HOST.Hdr .CZ "# Put hostname here (max 15 characters)\r\n"
|
|||
|
*--------------------------------------
|
|||
|
.DUMMY
|
|||
|
.OR 0
|
|||
|
DS.START
|
|||
|
SCRN.TitleBuf .BS 1
|
|||
|
IFACE.Var .BS 1
|
|||
|
AUTOIP.Var .BS 1
|
|||
|
TELNET.Var .BS 1
|
|||
|
HTTPD.Var .BS 1
|
|||
|
BBSD.Var .BS 1
|
|||
|
DLGS.VAR .BS 1
|
|||
|
DS.END .ED
|
|||
|
*--------------------------------------
|
|||
|
MAN
|
|||
|
SAVE usr/src/bin/netconfig.s
|
|||
|
ASM
|