diff --git a/.A2osX Issue List.xlsx b/.A2osX Issue List.xlsx index 019ac0af..e81d121b 100644 Binary files a/.A2osX Issue List.xlsx and b/.A2osX Issue List.xlsx differ diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 0f17a3cf..40aafb76 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/.Floppies/PK-A2OSX.dsk b/.Floppies/PK-A2OSX.dsk index cb33cffc..cdb00ef0 100644 Binary files a/.Floppies/PK-A2OSX.dsk and b/.Floppies/PK-A2OSX.dsk differ diff --git a/BIN/IPCONFIG.S.txt b/BIN/IPCONFIG.S.txt index 4b0d91e6..a5f1d3a7 100644 --- a/BIN/IPCONFIG.S.txt +++ b/BIN/IPCONFIG.S.txt @@ -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 \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 diff --git a/BIN/MORE.S.txt b/BIN/MORE.S.txt index 682aa77d..ace81414 100644 --- a/BIN/MORE.S.txt +++ b/BIN/MORE.S.txt @@ -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 \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 diff --git a/LIB/LIBTCPIP.S.CFG.txt b/LIB/LIBTCPIP.S.CFG.txt index 0015132e..603cb1d7 100644 --- a/LIB/LIBTCPIP.S.CFG.txt +++ b/LIB/LIBTCPIP.S.CFG.txt @@ -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 diff --git a/LIB/LIBTCPIP.S.FRM.txt b/LIB/LIBTCPIP.S.FRM.txt index 990d0a9b..ecafcd97 100644 --- a/LIB/LIBTCPIP.S.FRM.txt +++ b/LIB/LIBTCPIP.S.FRM.txt @@ -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 diff --git a/LIB/LIBTCPIP.S.txt b/LIB/LIBTCPIP.S.txt index 71a0e355..3ed400ca 100644 --- a/LIB/LIBTCPIP.S.txt +++ b/LIB/LIBTCPIP.S.txt @@ -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 diff --git a/SBIN/NETWORKD.S.txt b/SBIN/NETWORKD.S.txt index a574116f..57179fc1 100644 --- a/SBIN/NETWORKD.S.txt +++ b/SBIN/NETWORKD.S.txt @@ -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 diff --git a/SYS/KERNEL.S.TERM.txt b/SYS/KERNEL.S.TERM.txt index 28f73b35..03dbae34 100644 --- a/SYS/KERNEL.S.TERM.txt +++ b/SYS/KERNEL.S.TERM.txt @@ -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