Kernel 0.92

This commit is contained in:
Rémy GIBERT 2019-01-16 14:37:21 +00:00
parent 24f3b691e5
commit 17c2dc409a
10 changed files with 122 additions and 105 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -22,8 +22,6 @@ TIMEOUT.MAX .EQ 200 20 sec.
.OR ZPBIN
ZS.START
pIPCFG .BS 2
pFD .BS 2
ZPIPCfgPtr .BS 2
ZPFrameBase .BS 2
ZPFramePtr .BS 2
ZPTmpPtr1 .BS 2
@ -81,6 +79,7 @@ L.TCPIP.CONF .DA TCPIP.CONF
L.HOSTS .DA HOSTS
L.IPCFG .DA IPCFG
L.IPCFG.HOSTNAME .DA IPCFG+S.IPCFG.HOSTNAME
L.IPCFG.DOMAIN .DA IPCFG+S.IPCFG.DOMAIN
L.CFG.IP .DA CFG.IP
L.CFG.IP.SScanF .DA CFG.IP.SScanF
L.CFG.HOST.SScanF .DA CFG.HOST.SScanF
@ -115,9 +114,15 @@ CS.INIT >LDYA L.LIBTCPIP
CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG
>STYA pIPCFG
ldy #S.IPCFG.DevID
lda (pIPCFG),y
bne .1
ldy #S.IPCFG-1
.1 lda (pIPCFG),y
sta IPCFG,y
dey
bpl .1
lda IPCFG+S.IPCFG.DevID
bne CS.RUN.SETUP
>LDYA L.MSG.NODEV
>SYSCALL puts
@ -125,9 +130,8 @@ CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG
sec
rts
.1 sta IPCFG+S.IPCFG.DevID
>INC.G ArgIndex
CS.RUN.SETUP
.1 >INC.G ArgIndex
>SYSCALL ArgV
bcs .4
@ -159,21 +163,25 @@ CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG
sta (pData),y
bra .1
.4 lda (pIPCFG) S.IPCFG.STATUS
bne .5 no config, force all
.4 lda IPCFG+S.IPCFG.STATUS
bne .5
lda #$ff
lda #$ff no config, force all
>STA.G bETC
>STA.G bDHCP
.5 >LDA.G bETC
>ORA.G bDHCP
beq CS.RUN.DUMP
>LDA.G bETC
bpl .6
jsr CFG.EtcFiles
.6 >LDA.G bDHCP
bpl .8
jsr DHCP.INIT
bcs .8
@ -182,20 +190,14 @@ CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG
jsr DHCP.QUIT
.8 >PUSHW L.IPCFG
>LIBCALL hLIBTCPIP,LIBTCPIP.SETCFG
>LIBCALL hLIBTCPIP,LIBTCPIP.SETCFG
lda #0
sec
rts
*--------------------------------------
CS.RUN.DUMP ldy #S.IPCFG.DevID
lda (pIPCFG),y
tax
lda Dev.Table,x
sta pFD
lda Dev.Table+1,x
sta pFD+1
>PUSHEA.G DIB
ldy #S.IPCFG.DevID
lda (pIPCFG),y
CS.RUN.DUMP >PUSHEA.G DIB
lda IPCFG+S.IPCFG.DevID
>SYSCALL GetDevStatus
>LEA.G DCB.NIC
@ -205,8 +207,7 @@ CS.RUN.DUMP ldy #S.IPCFG.DevID
>PUSHEA.G IOCTL
>PUSHBI IOCTL.STATUS
ldy #S.IPCFG.DevID
lda (pIPCFG),y
lda IPCFG+S.IPCFG.DevID
>SYSCALL IOCTL
CS.RUN.DUMPNIC ldy #DCB.NIC+S.DCB.NIC.MAC+5
@ -220,16 +221,17 @@ CS.RUN.DUMPNIC ldy #DCB.NIC+S.DCB.NIC.MAC+5
>PUSHEA.G DIB+S.DIB.IDS
lda pFD
ldx IPCFG+S.IPCFG.DevID
lda Dev.Table,x
clc
adc #S.FD.DEV
tay
lda pFD+1
lda Dev.Table+1,x
adc /S.FD.DEV
>PUSHYA
ldy #S.IPCFG.DevID
lda (pIPCFG),y
lda IPCFG+S.IPCFG.DevID
>PUSHA
>PUSHBI 11
>LDYA L.MSG1.DEV
@ -297,7 +299,7 @@ CS.RUN.LINK >LDYA L.MSG1.LINK.OK
CS.RUN.DUMPIP >PUSHBI 0
>LDYA L.MSG2
>SYSCALL printf
lda (pIPCFG)
lda IPCFG+S.IPCFG.STATUS
and #S.IPCFG.STATUS.OK
beq .11
@ -308,69 +310,49 @@ CS.RUN.DUMPIP >PUSHBI 0
.10 >SYSCALL puts
ldy #S.IPCFG.DHCPSRVR+3
ldx #4
ldx #3
.2 >PUSHB (pIPCFG),y
dey
.2 >PUSHB IPCFG+S.IPCFG.DHCPSRVR,x
dex
bne .2
bpl .2
>PUSHBI 4
>LDYA L.MSG2.DHCPSRVR
>SYSCALL printf
ldy #S.IPCFG.IP+7 IP/MASK
ldx #8
ldx #7 IP/MASK
.3 >PUSHB (pIPCFG),y
dey
.3 >PUSHB IPCFG+S.IPCFG.IP,x
dex
bne .3
bpl .3
>PUSHBI 8
>LDYA L.MSG2.IP
>SYSCALL printf
ldy #S.IPCFG.GW+3
ldx #4
ldx #3
.4 >PUSHB (pIPCFG),y
dey
.4 >PUSHB IPCFG+S.IPCFG.GW,x
dex
bne .4
bpl .4
>PUSHBI 4
>LDYA L.MSG2.GW
>SYSCALL printf
ldy #S.IPCFG.DNS1+7
ldx #8
ldy #7
.5 >PUSHB (pIPCFG),y
dey
.5 >PUSHB IPCFG+S.IPCFG.DNS1,x
dex
bne .5
bpl .5
>PUSHBI 8
>LDYA L.MSG2.DNS
>SYSCALL printf
lda pIPCFG
clc
adc #S.IPCFG.DOMAIN
tay
lda pIPCFG+1
adc #0
>PUSHYA
lda pIPCFG
clc
adc #S.IPCFG.HOSTNAME
tay
lda pIPCFG+1
adc #0
>PUSHYA
>PUSHW L.IPCFG.DOMAIN
>PUSHW L.IPCFG.HOSTNAME
>PUSHBI 4
>LDYA L.MSG2.HOSTNAME
@ -425,8 +407,6 @@ MSG.USAGE .AS "Usage : IPCONFIG <switches>\r\n"
*--------------------------------------
MSG.NODEV .AZ "TCP/IP not bound to any device."
*--------------------------------------
IPCFG .BS S.IPCFG
*--------------------------------------
MSG1.DEV .AS "NIC Device Configuration :\r\n"
.AS " Device ID : $%h\r\n"
.AS " Device Name : %s\r\n"
@ -466,12 +446,7 @@ CFG.Keywords >PSTR "address"
>PSTR "nameserver"
>PSTR "dnsdomain"
.DA #0
CFG.hBuf1 .BS 1
CFG.hBuf2 .BS 1
CFG.hBuf3 .BS 1
CFG.hCfgPath .BS 1
CFG.hCfgFile .BS 1
CFG.IP .BS 4
*--------------------------------------
CFG.IP.SScanF .AZ "%d.%d.%d.%d"
CFG.HOST.SScanF .AZ "%d.%d.%d.%d %s %s"
*--------------------------------------
@ -481,6 +456,14 @@ MSG.DHCP.KO .AZ "Time Out [%h].\r\n"
MSG.DHCP.OK .AZ "Success:[IP=%d.%d.%d.%d/%d.%d.%d.%d]\r\n"
MSG.DHCP.NA .AZ "TCPIP Already configured, exiting."
*--------------------------------------
IPCFG .BS S.IPCFG
CFG.hBuf1 .BS 1
CFG.hBuf2 .BS 1
CFG.hBuf3 .BS 1
CFG.hCfgPath .BS 1
CFG.hCfgFile .BS 1
CFG.IP .BS 4
*--------------------------------------
SA.LOCAL .DA #AF.INET S.SOCKADDR.AF
.BS 1
.HS 00.00.00.00 S.SOCKADDR.ADDR

View File

@ -11,7 +11,7 @@ AUTO 4,1
.INB INC/MLI.I
.INB INC/MLI.E.I
*--------------------------------------
PG.SIZE .EQ 22
PG.SIZE .EQ 23
*--------------------------------------
.DUMMY
.OR ZPBIN
@ -181,12 +181,20 @@ CS.RUN.PAUSE >PUSHBI 0
jsr CS.RUN.ERASE
jsr CS.RUN.GETLINE
bcc .5
cmp #MLI.E.EOF
bne .99
bra .90
.5 >INCW.G LineNum
jsr CS.RUN.PRINT
bra CS.RUN.PAUSE
.9 jsr CS.RUN.ERASE
lda #0
.90 lda #0
.99 sec
rts
*--------------------------------------
@ -258,7 +266,14 @@ CS.RUN.PRINT >LDA.G bLineNum
>SYSCALL printf
bcs .9
.1 >PUSHBI 0
.1 >LDA.G bEscCodes
bmi .2
>LDYA ZPBufPtr
>SYSCALL puts
rts
.2 >PUSHBI 0
>LDYA ZPBufPtr
>SYSCALL printf
bcs .9
@ -287,13 +302,14 @@ CS.DOEVENT sec
*--------------------------------------
CS.END
*--------------------------------------
OptionList >PSTR "NnHhPp"
OptionVars .DA #bLineNum,#bLineNum,#bHelp,#bHelp,#bPage,#bPage
OptionList >PSTR "NnHhPpSs"
OptionVars .DA #bLineNum,#bLineNum,#bHelp,#bHelp,#bPage,#bPage,#bEscCodes
*--------------------------------------
MSG.USAGE .AS "Usage : MORE <File>\r\n"
.AS " -H : This help screen\r\n"
.AS " -N : Number all output lines\r\n"
.AZ " -P : Page mode, no scroll\r\n"
.AZ " -S : Process ESC codes\r\n"
MSG.NUMLINE .AZ "%5D:"
MSG.CRLF .AZ "\r\n"
MSG.Pause .AZ "\r\e[7m --- 'SPACE' for more, 'CR' one line, 'Q/q' to quit --- \e[0m"
@ -306,9 +322,10 @@ ArgCount .BS 1
hFile .BS 1
LineCount .BS 1
LineNum .BS 2
bHelp .BS 1
bLineNum .BS 1
bPage .BS 1
bHelp .BS 1
bEscCodes .BS 1
ArgIndex .BS 1
hBuf .BS 1
DS.END

View File

@ -5,13 +5,12 @@ AUTO 4,1
*--------------------------------------
CFG.SET >PULLW ZPTmpPtr1 IPCFG
ldy #0
ldy #S.IPCFG-1
.1 lda (ZPTmpPtr1),y
sta IPCFG,y
iny
cpy #S.IPCFG
bne .1
dey
bpl .1
CFG.SET.I >LDYA L.DCB.NIC
>STYA IOCTL+S.IOCTL.BUFPTR

View File

@ -334,11 +334,17 @@ FRM.Retry ldx FRM.QUEUE.Tail
.8 rts
*--------------------------------------
FRM.Send >PUSHW ZPFrameOutLen
>PUSHW ZPFrameOutPtr
lda IPCFG+S.IPCFG.DevID
FRM.Send ldx #3
>SYSCALL write
.1 lda ZPFrameOutPtr,x Get Frame Ptr & Len
sta IOCTL+S.IOCTL.BUFPTR,x
dex
bpl .1
>PUSHW L.IOCTL
>PUSHBI IOCTL.WRITE
lda IPCFG+S.IPCFG.DevID
>SYSCALL IOCTL
rts
*--------------------------------------
MAN

View File

@ -175,17 +175,8 @@ LIB.LOAD ldx RefCount
.9 rts
*--------------------------------------
LIB.UNLOAD dec RefCount
bne LIB.UNLOAD.8
lda IPCFG+S.IPCFG.DevID
beq LIB.UNLOAD.8
>PUSHWI 0
>PUSHBI IOCTL.CLOSE
lda IPCFG+S.IPCFG.DevID
>SYSCALL IOCTL
LIB.UNLOAD.8 clc
clc
rts
*--------------------------------------
INCOMING sta hFrameIn

View File

@ -12,6 +12,7 @@ LIB.MAX .EQ 4
.INB INC/A2OSX.I
.INB INC/MLI.I
.INB INC/MLI.E.I
.INB INC/NIC.I
.INB INC/ETH.I
.INB INC/LIB.NET.I
*--------------------------------------
@ -49,6 +50,7 @@ L.MSG.DEV.OK .DA MSG.DEV.OK
L.MSG.DEV.KO .DA MSG.DEV.KO
L.MSG.LIB .DA MSG.LIB
L.IOCTL .DA IOCTL
L.DCB.NIC .DA DCB.NIC
L.ETCNETWORK .DA ETCNETWORK
.DA 0
*--------------------------------------
@ -86,6 +88,15 @@ CS.INIT.DEV >PUSHBI 0
>LDYA L.MSG.DEV.OK
>SYSCALL printf
>LDYA L.DCB.NIC
>STYA IOCTL+S.IOCTL.BUFPTR
lda #S.IOCTL.STATCODE.GETDCB
sta IOCTL+S.IOCTL.STATCODE
>PUSHW L.IOCTL
>PUSHBI IOCTL.STATUS
lda DevID
>SYSCALL IOCTL
rts
*--------------------------------------
CS.INIT.LIBS lda LibCnt
@ -119,6 +130,15 @@ CS.INIT.LIBS lda LibCnt
ldy #S.NETCFG.DevID
sta (pNETCFG),y
ldx #5
ldy #S.NETCFG.MAC+5
.2 lda DCB.NIC+S.DCB.NIC.MAC,x
sta (pNETCFG),y
dey
dex
bpl .2
lda LibCnt
cmp #LIB.MAX
bne .1
@ -242,6 +262,7 @@ DevID .BS 1
LibCnt .BS 1
hLIBs .BS LIB.MAX+1 for ending 0 if MAX libs
IOCTL .BS S.IOCTL
DCB.NIC .BS S.DCB.NIC
*ETCNETWORK .AZ "${ROOT}ETC/NETWORK"
ETCNETWORK .AZ "../ETC/NETWORK"
hNetworkFile .BS 1

View File

@ -897,12 +897,6 @@ SCROLL.UP ldy #S.DCB.TTY.SCROLLTOP
cmp (ZPDCBPtr),y
bne .1
*--------------------------------------
CLREOL ldy #S.DCB.TTY.CH
lda (ZPDCBPtr),y
tay Start
ldx #80 End
bra CLR
CLRLINE ldy #0 Start
ldx #80 End
bra CLR
@ -911,6 +905,12 @@ CLRSOL ldy #0
ldy #S.DCB.TTY.CH
lda (ZPDCBPtr),y Start
tax End
bra CLR
CLREOL ldy #S.DCB.TTY.CH
lda (ZPDCBPtr),y
tay Start
ldx #80 End
CLR stx .3+1 Save End
phy