diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index 8ef33d99..8e0daa02 100644 Binary files a/A2OSX.BOOT.po and b/A2OSX.BOOT.po differ diff --git a/A2OSX.DEV.po b/A2OSX.DEV.po index 74bf8c0a..4e2b718c 100644 Binary files a/A2OSX.DEV.po and b/A2OSX.DEV.po differ diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po index 5ba209a3..e47a925a 100644 Binary files a/A2OSX.SRC.po and b/A2OSX.SRC.po differ diff --git a/DRV/UTHERNET.DRV.S.txt b/DRV/UTHERNET.DRV.S.txt index 2d8d21e0..692a6819 100644 --- a/DRV/UTHERNET.DRV.S.txt +++ b/DRV/UTHERNET.DRV.S.txt @@ -51,12 +51,17 @@ Dev.Detect >STYA ARGS lda A2osX.SLOTS,y bne .2 - >LDYAI PP.ID - >STYA PacketPagePTR,x - >LDYA PacketPageDATA,x - cpy #DEVID - bne .2 + lda /PP.ID + sta PacketPagePTR,x + lda #PP.ID + sta PacketPagePTR+1,x + + lda PacketPageDATA,x cmp /DEVID + bne .2 + + lda PacketPageDATA+1,x + cmp #DEVID beq .3 .2 dec DEV.HEADER.NAME+4 @@ -83,10 +88,15 @@ Dev.Detect >STYA ARGS lda #A2osX.SLOTS.NET sta A2osX.SLOTS,y - >LDYAI PP.ID+2 Get Revision# of ths chip... - >STYA PacketPagePTR,x - >LDYA PacketPageDATA,x - >STYA DEVSTAT+S.DEVSTAT.VERSION set Hardware version + lda #PP.ID+2 Get Revision# of ths chip... + sta PacketPagePTR,x + lda /PP.ID+2 + sta PacketPagePTR+1,x + + lda PacketPageDATA,x + sta DEVSTAT+S.DEVSTAT.VERSION set Hardware version + lda PacketPageDATA+1,x + sta DEVSTAT+S.DEVSTAT.VERSION+1 >LDYA ARGS >STYA ZPTmpPTR diff --git a/INC/NET.8900A.I.txt b/INC/NET.8900A.I.txt index 31396eb1..d1d14294 100644 --- a/INC/NET.8900A.I.txt +++ b/INC/NET.8900A.I.txt @@ -7,7 +7,7 @@ AUTO 6 *-------------------------------------- * CS8900A IO Registers *-------------------------------------- -DEVID .EQ $630E +DEVID .EQ $0E63 *-------------------------------------- RTDATA .EQ $C080 Receive/Transmit Data (DWORD) TxCMD .EQ $C084 Transmit Command @@ -58,8 +58,8 @@ PP.SelfCTL.RESET .EQ %00000000.01000000 *PP.SelfCTL.HWStndby .EQ %00000010.00000000 PP.BufCTL .EQ $0116 PP.TestCTL .EQ $0118 -*PP.TestCTL.LID .EQ %00000000.00011001 -*PP.TestCTL.DisLT .EQ %00000000.10000000 +PP.TestCTL.LID .EQ %00000000.00011001 +PP.TestCTL.DisLT .EQ %00000000.10000000 PP.TestCTL.FDX .EQ %01000000.00000000 PP.ISQ .EQ $0120 PP.RxEvent .EQ $0124 Receiver Event (RO) @@ -83,7 +83,8 @@ PP.LineST.10BT .EQ %00000010.00000000 PP.LineST.PolOK .EQ %00010000.00000000 PP.LineST.CRS .EQ %01000000.00000000 PP.SelfST .EQ $0136 Self Status (RO) -PP.SelfST.INITD .EQ %00000000.10000000 +PP.SelfST.LID .EQ %00000000.00010110 +PP.SelfST.InitDone .EQ %00000000.10000000 PP.BusST .EQ $0138 Bus Status (RO) PP.BusST.LID .EQ %00000000.00011000 PP.BusST.TxBidErr .EQ %00000000.10000000 diff --git a/SBIN/DHCPCLNT.S.txt b/SBIN/DHCPCLNT.S.txt index 536332f6..7d135750 100644 --- a/SBIN/DHCPCLNT.S.txt +++ b/SBIN/DHCPCLNT.S.txt @@ -114,6 +114,11 @@ CS.RUN >PUSHW L.Socket ldy #hSocket sta (pData),y + ldy #bSocketClose + lda #$ff + sta (pData),y + + >LDYA L.MSG.CFG1 >SYSCALL CPrintFYA @@ -238,11 +243,14 @@ CS.DOEVENT lda (pEvent) .9 sec do not discard TIMER event rts *-------------------------------------- -CS.QUIT ldy #hSocket +CS.QUIT ldy #bSocketClose lda (pData),y beq .1 - >LIBCALL hLIBTCPIP,LIBTCPIP.SKT.CLOSEA + ldy #hSocket + lda (pData),y + + >LIBCALL hLIBTCPIP,LIBTCPIP.SKT.CloseA .1 lda hLIBTCPIP >SYSCALL UnloadLibA @@ -459,7 +467,7 @@ Socket .DA #S.SOCKET.SOCK.DGRAM DHCP.DISC .HS 01010600 OP,HTYPE,HLEN,HOPS DHCP.DISC.XID .BS 4 .HS 0000 SECS - .DA 0000 S.DHCP.FLAGS.BRDCST + .DA S.DHCP.FLAGS.BRDCST .HS 00000000 CIADDR DHCP.DISC.YIADDR .HS 00000000 .HS 00000000 SIADDR @@ -476,7 +484,7 @@ DHCP.DISC.LEN .EQ *-DHCP.DISC DHCP.REQ .HS 01010600 OP,HTYPE,HLEN,HOPS DHCP.REQ.XID .BS 4 .HS 0000 SECS - .DA 0000 S.DHCP.FLAGS.BRDCST + .DA S.DHCP.FLAGS.BRDCST .HS 00000000 CIADDR DHCP.REQ.YIADDR .HS 00000000 .HS 00000000 SIADDR @@ -496,6 +504,7 @@ DHCP.REQ.LEN .EQ *-DHCP.REQ *-------------------------------------- DS.START TimeOut .BS 1 +bSocketClose .BS 1 hSocket .BS 1 hFrame .BS 1 DS.END