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

View File

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

View File

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

View File

@ -334,11 +334,17 @@ FRM.Retry ldx FRM.QUEUE.Tail
.8 rts .8 rts
*-------------------------------------- *--------------------------------------
FRM.Send >PUSHW ZPFrameOutLen FRM.Send ldx #3
>PUSHW ZPFrameOutPtr
lda IPCFG+S.IPCFG.DevID
>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 rts
*-------------------------------------- *--------------------------------------
MAN MAN

View File

@ -175,17 +175,8 @@ LIB.LOAD ldx RefCount
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
LIB.UNLOAD dec RefCount 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 rts
*-------------------------------------- *--------------------------------------
INCOMING sta hFrameIn INCOMING sta hFrameIn

View File

@ -12,6 +12,7 @@ LIB.MAX .EQ 4
.INB INC/A2OSX.I .INB INC/A2OSX.I
.INB INC/MLI.I .INB INC/MLI.I
.INB INC/MLI.E.I .INB INC/MLI.E.I
.INB INC/NIC.I
.INB INC/ETH.I .INB INC/ETH.I
.INB INC/LIB.NET.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.DEV.KO .DA MSG.DEV.KO
L.MSG.LIB .DA MSG.LIB L.MSG.LIB .DA MSG.LIB
L.IOCTL .DA IOCTL L.IOCTL .DA IOCTL
L.DCB.NIC .DA DCB.NIC
L.ETCNETWORK .DA ETCNETWORK L.ETCNETWORK .DA ETCNETWORK
.DA 0 .DA 0
*-------------------------------------- *--------------------------------------
@ -86,6 +88,15 @@ CS.INIT.DEV >PUSHBI 0
>LDYA L.MSG.DEV.OK >LDYA L.MSG.DEV.OK
>SYSCALL printf >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 rts
*-------------------------------------- *--------------------------------------
CS.INIT.LIBS lda LibCnt CS.INIT.LIBS lda LibCnt
@ -119,6 +130,15 @@ CS.INIT.LIBS lda LibCnt
ldy #S.NETCFG.DevID ldy #S.NETCFG.DevID
sta (pNETCFG),y 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 lda LibCnt
cmp #LIB.MAX cmp #LIB.MAX
bne .1 bne .1
@ -242,6 +262,7 @@ DevID .BS 1
LibCnt .BS 1 LibCnt .BS 1
hLIBs .BS LIB.MAX+1 for ending 0 if MAX libs hLIBs .BS LIB.MAX+1 for ending 0 if MAX libs
IOCTL .BS S.IOCTL IOCTL .BS S.IOCTL
DCB.NIC .BS S.DCB.NIC
*ETCNETWORK .AZ "${ROOT}ETC/NETWORK" *ETCNETWORK .AZ "${ROOT}ETC/NETWORK"
ETCNETWORK .AZ "../ETC/NETWORK" ETCNETWORK .AZ "../ETC/NETWORK"
hNetworkFile .BS 1 hNetworkFile .BS 1

View File

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