diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index 4543737a..04973804 100644 Binary files a/A2OSX.BOOT.po and b/A2OSX.BOOT.po differ diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po index 0be73ef2..d2ccbb18 100644 Binary files a/A2OSX.SRC.po and b/A2OSX.SRC.po differ diff --git a/BIN/IPCONFIG.S.txt b/BIN/IPCONFIG.S.txt index abada5f0..f60c834e 100644 --- a/BIN/IPCONFIG.S.txt +++ b/BIN/IPCONFIG.S.txt @@ -86,10 +86,10 @@ CS.INIT.DUMPDEV sta DevID >LDYA L.MSG0.L >SYSCALL CPrintFYA - ldy #S.DEVINFO.NET.MAC+6 + ldy #S.DEVSTAT.NET.MAC+6 .1 dey >PUSHB (ZPDevInfoPtr),y - cpy #S.DEVINFO.NET.MAC + cpy #S.DEVSTAT.NET.MAC bne .1 lda ZPDevPtr @@ -105,27 +105,27 @@ CS.INIT.DUMPDEV sta DevID >LDYA L.MSG1.DEV >SYSCALL CPrintFYA - ldy #S.DEVINFO.FLAGS + ldy #S.DEVSTAT.FLAGS lda (ZPDevInfoPtr),y - and #S.DEVINFO.NET.FLAGS.ARPOFFLOAD + and #S.DEVSTAT.NET.FLAGS.ARPOFFLOAD beq .2 lda #1 .2 >PUSHA >LDYA L.MSG1.DEV.ARP >SYSCALL CPrintFYA - ldy #S.DEVINFO.FLAGS + ldy #S.DEVSTAT.FLAGS lda (ZPDevInfoPtr),y - and #S.DEVINFO.NET.FLAGS.IPOFFLOAD + and #S.DEVSTAT.NET.FLAGS.IPOFFLOAD beq .3 lda #1 .3 >PUSHA >LDYA L.MSG1.DEV.IP >SYSCALL CPrintFYA - ldy #S.DEVINFO.NET.STATUS + ldy #S.DEVSTAT.NET.STATUS lda (ZPDevInfoPtr),y - and #S.DEVINFO.NET.STATUS.OK + and #S.DEVSTAT.NET.STATUS.OK bne CS.INIT.LINK >PUSHW L.MSG1.LINK.KO >LDYA L.MSG1.LINK @@ -139,7 +139,7 @@ CS.INIT.LINK >PUSHW L.MSG1.LINK.OK >LDYA L.MSG1.LINKSPEED >SYSCALL CPrintFYA - ldy #S.DEVINFO.NET.STATUS + ldy #S.DEVSTAT.NET.STATUS lda (ZPDevInfoPtr),y and #$0F tax @@ -151,9 +151,9 @@ CS.INIT.LINK >PUSHW L.MSG1.LINK.OK dex bne .4 - ldy #S.DEVINFO.NET.STATUS + ldy #S.DEVSTAT.NET.STATUS lda (ZPDevInfoPtr),y - and #S.DEVINFO.NET.STATUS.FD + and #S.DEVSTAT.NET.STATUS.FD bne .5 >LDYA L.MSG1.DPLX.HD bra .6 diff --git a/DRV/UTHERNET.DRV.S.txt b/DRV/UTHERNET.DRV.S.txt index 67673435..fc023777 100644 --- a/DRV/UTHERNET.DRV.S.txt +++ b/DRV/UTHERNET.DRV.S.txt @@ -198,8 +198,9 @@ READBLOCK.Err sec READBLOCK.RxOK and /PP.RxEvent.Brdcast beq .10 lda #$80 -.10 ldy #S.EVT.DATAHI - sta (pEvent),y + +.10 sta .8+3 + >LDYA RTDATA,x discard RxStatus lda RTDATA+1,x get RxLength @@ -219,13 +220,8 @@ READBLOCK.RxOK and /PP.RxEvent.Brdcast >SYSCALL GetMem bcs READBLOCK.Err >STYA ZPTmpPTR - txa - ldy #S.EVT.DATALO - sta (pEvent),y + stx .8+1 - lda #S.EVT.F.NET+S.EVT.F.hMEM1 - sta (pEvent) - lda Size sta (ZPTmpPTR) eor #$ff @@ -263,10 +259,12 @@ READBLOCK.RxOK and /PP.RxEvent.Brdcast inc ZPTmpPTR+1 bne .1 -.8 clc +.8 lda #$ff hMem + ldy #$ff Flags + clc rts *-------------------------------------- -WRITEBLOCK >PULLW ZPTmpPTR +WRITEBLOCK >STYA ZPTmpPTR lda (ZPTmpPTR) sta Size @@ -342,7 +340,7 @@ WRITEBLOCK.1 ldy #S.ETH.SRCMAC+5 .8 clc rts *-------------------------------------- -OPEN jsr Reset +OPEN jsr CLOSE >LDYAI PP.RxCTL >STYA PacketPagePTR,x >LDYAI PP.RxCTL.LID+PP.RxCTL.RxOKA+PP.RxCTL.IA+PP.RxCTL.BroadcastA @@ -368,18 +366,15 @@ OPEN jsr Reset clc rts *-------------------------------------- -CLOSE jsr Reset - clc - rts -*-------------------------------------- -Reset ldx DEVSLOTx0 +CLOSE ldx DEVSLOTx0 >LDYAI PP.SelfCTL >STYA PacketPagePTR,x >LDYAI PP.SelfCTL.LID+PP.SelfCTL.RESET >STYA PacketPageDATA,x + clc rts -DRV.CS.END *-------------------------------------- +DRV.CS.END DEVSLOTx0 .BS 1 Size .BS 2 Counter .BS 2 diff --git a/LIB/LIBTCPIP.S.ARP.txt b/LIB/LIBTCPIP.S.ARP.txt index ee82889c..76c72808 100644 --- a/LIB/LIBTCPIP.S.ARP.txt +++ b/LIB/LIBTCPIP.S.ARP.txt @@ -130,8 +130,8 @@ ARP.IN.REQ ldy #S.ARP.SPA+3 dex bpl .2 - >PUSHW L.ARP.REP - ldx #DEVMGR.NET.SEND + >LDYA L.ARP.REP + ldx #DEVMGR.WRITEBLOCK jsr NetDevJmp ARP.IN.REP lda #K.ARP.TTL @@ -186,8 +186,8 @@ ARP.QUERY.I jsr ARP.FIND.BY.IP dex bpl .4 - >PUSHW L.ARP.REQ - ldx #DEVMGR.NET.SEND + >LDYA L.ARP.REQ + ldx #DEVMGR.WRITEBLOCK jsr NetDevJmp bcs .99 diff --git a/LIB/LIBTCPIP.S.CFG.txt b/LIB/LIBTCPIP.S.CFG.txt index 087c3229..f57c1ac8 100644 --- a/LIB/LIBTCPIP.S.CFG.txt +++ b/LIB/LIBTCPIP.S.CFG.txt @@ -35,20 +35,26 @@ SET.IPCFG >PULLW ZPTmpPtr1 lda IPCFG+S.IPCFG.HDEV >SYSCALL GetDevByIDA - >STYA NetDevJmp+1 + >STYA ZPTmpPtr2 - ldx #DEVMGR.GETINFO + lda (ZPTmpPtr2) + sta NetDevJmp+1 + ldy #1 + lda (ZPTmpPtr2),y + sta NetDevJmp+2 + + ldx #DEVMGR.STATUS jsr NetDevJmp >STYA ZPTmpPtr2 - ldy #S.DEVINFO.FLAGS + ldy #S.DEVSTAT.NET.FLAGS lda (ZPTmpPtr2),y sta DevFlags - and #S.DEVINFO.NET.FLAGS.ARPOFFLOAD + and #S.DEVSTAT.NET.FLAGS.ARPOFFLOAD beq .4 >LDYA ZPTmpPtr1 - ldx #DEVMGR.SETIPCFG + ldx #DEVMGR.CONTROL jsr NetDevJmp .4 lda hDNSSocket1 diff --git a/LIB/LIBTCPIP.S.FRM.txt b/LIB/LIBTCPIP.S.FRM.txt index 78b4eb0c..9d10ec88 100644 --- a/LIB/LIBTCPIP.S.FRM.txt +++ b/LIB/LIBTCPIP.S.FRM.txt @@ -83,7 +83,7 @@ NEW.IP.FRAME >PUSHWI K.ETH.FRAME.LEN >STYA ZPFrameBase1 lda DevFlags - and #S.DEVINFO.NET.FLAGS.IPOFFLOAD + and #S.DEVSTAT.NET.FLAGS.IPOFFLOAD bne .9 ldy #S.ETH.ETHERTYPE @@ -177,7 +177,7 @@ SEND.IP.FRAME.I ldx #3 Copy SRC.IP even if IP offload bpl .1 lda DevFlags - and #S.DEVINFO.NET.FLAGS.IPOFFLOAD + and #S.DEVSTAT.NET.FLAGS.IPOFFLOAD bne .21 ldy #S.IP.TOTAL.LENGTH+1 @@ -239,14 +239,14 @@ SEND.IP.FRAME.I ldx #3 Copy SRC.IP even if IP offload jsr UDP.ComputeChecksum .4 lda DevFlags - and #S.DEVINFO.NET.FLAGS.ARPOFFLOAD + and #S.DEVSTAT.NET.FLAGS.ARPOFFLOAD bne .5 jsr IP.SetDestMAC bcs FRM.Queue -.5 >PUSHW ZPFrameBase1 - ldx #DEVMGR.NET.SEND +.5 >LDYA ZPFrameBase1 + ldx #DEVMGR.WRITEBLOCK jsr NetDevJmp bcs FRM.Queue lda hFrame1 @@ -295,8 +295,8 @@ FRM.Retry ldx FRM.QUEUE.Tail jsr IP.SetDestMAC Err is ARP or higher, retry getting MAC bcs .2 still error getting dest MAC -.1 >PUSHW ZPFrameBase1 try sending again to DRV - ldx #DEVMGR.NET.SEND +.1 >LDYA ZPFrameBase1 try sending again to DRV + ldx #DEVMGR.WRITEBLOCK jsr NetDevJmp bcc .3 diff --git a/LIB/LIBTCPIP.S.txt b/LIB/LIBTCPIP.S.txt index 553cf189..6f5439f0 100644 --- a/LIB/LIBTCPIP.S.txt +++ b/LIB/LIBTCPIP.S.txt @@ -157,7 +157,7 @@ DecDataLen lda ZPDataLen lda #$FF Make NZ .9 rts *-------------------------------------- -NetDevJmp jmp $ffff +NetDevJmp jmp * *-------------------------------------- .INB LIB/LIBTCPIP.S.CFG .INB LIB/LIBTCPIP.S.FRM diff --git a/README.md b/README.md index eabd3a6e..9e4edfb7 100644 --- a/README.md +++ b/README.md @@ -76,9 +76,11 @@ In Progress : moving TCPIP to socket API | INSDRV | Working | | 0.9 | | GETTY | Working | | 0.9 | | LOGIN | In Progress | no auth using /etc/passd yet | 0.9 | -| TCPIP | In Progress | New Socket API. ARP,IP,ICMP,UDP ok, TCP in progress | 0.8 | -| DHCPCLNT | Working | rewritten to use new Socket API | 0.8 | +| TCPIP | In Progress | New Socket API. ARP,IP,ICMP,UDP ok, TCP in progress | 0.9 | +| DHCPCLNT | Working | rewritten to use new Socket API | 0.9 | | SHELL | Working | (See Internal Shell commands) | 0.9 | +| TELNETD | | | | +| HTTPD | | | | ## Internal Shell commands: | Name | Status | Comment | @@ -89,8 +91,8 @@ In Progress : moving TCPIP to socket API | EXIT | Working | | | IF | | | | PAUSE | Working | | -| READ | Working | -S no echo (password) | -| | | -P "prompt message" | +| READ | Working | -S : no echo (password) | +| | | -P : "prompt message" | | TIME | Working | | | SET | Working | | | STARTPROC | Working | Used in A2osX.startup | diff --git a/SBIN/DHCPCLNT.S.txt b/SBIN/DHCPCLNT.S.txt index 47991b99..44d70587 100644 --- a/SBIN/DHCPCLNT.S.txt +++ b/SBIN/DHCPCLNT.S.txt @@ -221,41 +221,17 @@ CS.RUN.SKT.RCVD ldy #hSocket .9 rts *-------------------------------------- CS.DOEVENT lda (pEvent) - bpl .1 is it a TIMER event? + bpl .9 is it a TIMER event? ldy #TimeOut lda (pData),y beq .9 + dec sta (pData),y + .9 sec do not discard TIMER event rts - -.1 bit #S.EVT.F.KEY is it a KEY event? - beq .8 - - ldy #S.EVT.hDEV is Event from active IN device? - lda (pEvent),y - ldy #S.PS.hStdIn - cmp (pPs),y - bne .9 - - ldy #S.EVT.DATAHI is it an O or SAPPLE key ? - lda (pEvent),y - bne .9 - - ldy #S.EVT.DATALO - lda (pEvent),y - cmp #$03 Ctrl-C - bne .8 - - lda #$FF - ldy #bCTRLC - sta (pData),y - bra .8 - -.8 clc - rts *-------------------------------------- CS.QUIT ldy #hSocket lda (pData),y diff --git a/SBIN/TCPIP.S.txt b/SBIN/TCPIP.S.txt index 5f0eaacd..b0558c8d 100644 --- a/SBIN/TCPIP.S.txt +++ b/SBIN/TCPIP.S.txt @@ -53,7 +53,7 @@ CS.INIT >LDYA L.LIBTCPIP jsr CS.INIT.DEV bcs .99 - + jsr CFG.Read continue even if error opening CFG file lda IPCFG+S.IPCFG.HOSTNAME @@ -105,29 +105,34 @@ CS.INIT.DEV >LDYA L.DEVNAME >LDYA L.MSG.DEV.KO >SYSCALL CPrintFYA - lda #DEVMGR.ERRDNF + lda #$28 MLI.ERR.NODEV sec rts -.1 >STYA pNetDevJmp+1 - txa - sta hNetDev - sta IPCFG+S.IPCFG.HDEV +.1 >STYA ZPIPDevPtr + stx hNetDev + stx IPCFG+S.IPCFG.HDEV + + lda (ZPIPDevPtr) + sta NetDevJmp+1 + ldy #1 + lda (ZPIPDevPtr),y + sta NetDevJmp+2 >PUSHW L.DEVNAME >LDYA L.MSG.DEV.OK >SYSCALL CPrintFYA ldx #DEVMGR.OPEN - jsr pNetDevJmp + jsr NetDevJmp bcs .9 - ldx #DEVMGR.GETINFO - jsr pNetDevJmp + ldx #DEVMGR.STATUS + jsr NetDevJmp bcs .9 >STYA ZPIPDevPtr - ldy #S.DEVINFO.NET.MAC + ldy #S.DEVSTAT+2 MAC ldx #S.IPCFG.MAC .2 lda (ZPIPDevPtr),y @@ -143,25 +148,18 @@ CS.INIT.DEV >LDYA L.DEVNAME .9 sec rts *-------------------------------------- -CS.RUN clc +CS.RUN ldx #DEVMGR.READBLOCK + jsr NetDevJmp + bcs .8 + + >LIBCALL hLIBTCPIP,LIBTCPIP.RCVD.FRAMEA + +.8 clc rts *-------------------------------------- -CS.DOEVENT clc - lda (pEvent) - bit #S.EVT.F.NET - beq .1 +CS.DOEVENT lda (pEvent) - ldy #S.EVT.hDEV - lda (pEvent),y - cmp hNetDev - bne .9 - - ldy #S.EVT.DATALO Get Frame hMem - lda (pEvent),y - >LIBCALL hLIBTCPIP,LIBTCPIP.RCVD.FRAMEA - rts - -.1 bit #S.EVT.F.T10TH + bit #S.EVT.F.T10TH beq .9 S.EVT.F.T1SEC >LIBCALL hLIBTCPIP,LIBTCPIP.PULSEA @@ -171,7 +169,7 @@ CS.DOEVENT clc CS.QUIT lda IPCFG+S.IPCFG.HDEV beq .1 ldx #DEVMGR.CLOSE - jsr pNetDevJmp + jsr NetDevJmp .1 lda hLIBTCPIP >SYSCALL UnloadLibA @@ -197,7 +195,7 @@ A2CharAX pha adc #6 .8 rts *-------------------------------------- -pNetDevJmp jmp * +NetDevJmp jmp * *-------------------------------------- .INB SBIN/TCPIP.S.CFG *--------------------------------------