diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 0820a7bb..da30637c 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/.Floppies/A2OSX.TEST.po b/.Floppies/A2OSX.TEST.po index bf29ce44..202961b9 100644 Binary files a/.Floppies/A2OSX.TEST.po and b/.Floppies/A2OSX.TEST.po differ diff --git a/DRV/LANCEGS.DRV.S.txt b/DRV/LANCEGS.DRV.S.txt index 838160dd..b324ea3c 100644 --- a/DRV/LANCEGS.DRV.S.txt +++ b/DRV/LANCEGS.DRV.S.txt @@ -109,12 +109,13 @@ Dev.ParseArgs >LDYA ARGS beq .8 No user MAC specified - >PUSHW L.MAC5 - >PUSHW L.MAC4 - >PUSHW L.MAC3 - >PUSHW L.MAC2 - >PUSHW L.MAC1 - >PUSHW L.MAC0 + ldx #10 + +.2 >PUSHW L.MAC0,x + dex + dex + bpl .2 + >PUSHBI 12 6 x byte PTRs >PUSHW L.SSCANF.MAC >LDYA ZPArgPtr diff --git a/DRV/UTHERNET.DRV.S.txt b/DRV/UTHERNET.DRV.S.txt index 7501c3af..694b7d0f 100644 --- a/DRV/UTHERNET.DRV.S.txt +++ b/DRV/UTHERNET.DRV.S.txt @@ -114,6 +114,7 @@ Dev.ParseArgs >LDYA ARGS >STYA ZPArgPTR lda (ZPArgPTR) bne .1 + lda A2osX.RANDOM16 eor A2osX.TIMER16 sta DCB+S.DCB.NIC.MAC+3 @@ -123,12 +124,14 @@ Dev.ParseArgs >LDYA ARGS sta DCB+S.DCB.NIC.MAC+5 clc rts -.1 >PUSHW L.MAC5 - >PUSHW L.MAC4 - >PUSHW L.MAC3 - >PUSHW L.MAC2 - >PUSHW L.MAC1 - >PUSHW L.MAC0 + +.1 ldx #10 + +.2 >PUSHW L.MAC0,x + dex + dex + bpl .2 + >PUSHBI 12 6 x byte PTRs >PUSHW L.SSCANF.MAC >LDYA ZPArgPtr diff --git a/DRV/X.U2.DRV.S.txt b/DRV/X.U2.DRV.S.txt index 4dbae7e3..9c512fd3 100644 --- a/DRV/X.U2.DRV.S.txt +++ b/DRV/X.U2.DRV.S.txt @@ -142,12 +142,13 @@ Dev.ParseArgs >LDYA ARGS clc rts -.1 >PUSHW L.MAC5 - >PUSHW L.MAC4 - >PUSHW L.MAC3 - >PUSHW L.MAC2 - >PUSHW L.MAC1 - >PUSHW L.MAC0 +.1 ldx #10 + +.2 >PUSHW L.MAC0,x + dex + dex + bpl .2 + >PUSHBI 12 6 x byte PTRs >PUSHW L.SSCANF.MAC >LDYA ZPArgPtr @@ -186,8 +187,9 @@ ZPBufPtr .EQ ZPDRV+2 Counter .EQ ZPDRV+4 Offset .EQ ZPDRV+6 RXTX.Size .EQ ZPDRV+8 +BUF.Size .EQ ZPDRV+10 .DO U2AI=1 -RX.IP .EQ ZPDRV+10 +RX.IP .EQ ZPDRV+12 .FIN *-------------------------------------- DRV.CS.START cld @@ -372,7 +374,7 @@ CLOSE ldx DEVSLOTx0 *-------------------------------------- READWRITE.9 lda #E.NODATA -READWRITE.99 plp + plp sec rts *-------------------------------------- @@ -403,32 +405,70 @@ READ php .DO U2AI=1 ldy #0 -.10 lda W5100.DR,x +.10 lda W5100.DR,x IPRAW:Get Source IP sta RX.IP,y iny cpy #4 bne .10 - ldy W5100.DR,x get RX.Size HI - sty RXTX.Size+1 + lda W5100.DR,x get RX.Size HI (not including 6 bytes Header) + sta RXTX.Size+1 + eor #$ff + sta Counter+1 lda W5100.DR,x get RX.Size LO sta RXTX.Size + eor #$ff + sta Counter + + eor #$ff clc adc #S.IP - pha - tya + sta BUF.Size + ldy #S.IOCTL.BYTECNT + sta (ZPIOCTL),y + + iny + + lda RXTX.Size+1 adc /S.IP - ply + sta BUF.Size+1 + + lda RXTX.Size + clc + adc #6 IPRAW: Add 6 bytes to Total Size + sta RXTX.Size + + lda RXTX.Size+1 + adc #0 + sta RXTX.Size+1 + .ELSE - lda W5100.DR,x get RX.Size HI + lda W5100.DR,x get RX.Size HI (Frame size + 2) sta RXTX.Size+1 - ldy W5100.DR,x get RX.Size LO - sty RXTX.Size + lda W5100.DR,x get RX.Size LO + sta RXTX.Size + + ldy #S.IOCTL.BYTECNT + sec + sbc #2 MACRAW:strip 2 bytes Header from Size + sta (ZPIOCTL),y + sta BUF.Size + eor #$ff + sta Counter + + iny + lda RXTX.Size+1 + sbc #0 + sta (ZPIOCTL),y + sta BUF.Size+1 + eor #$ff + sta Counter+1 .FIN + >LDYA BUF.Size >SYSCALL2 getmem - bcs READWRITE.99 + bcs .9 >STYA ZPBufPtr phx @@ -440,39 +480,6 @@ READ php pla sta (ZPIOCTL),y - ldy #S.IOCTL.BYTECNT - .DO U2AI=1 - lda RXTX.Size - sta (ZPIOCTL),y - eor #$ff - sta Counter - eor #$ff - clc - adc #6 Total Size : Add 6 bytes for IPRAW - sta RXTX.Size - iny - - lda RXTX.Size+1 - eor #$ff - sta Counter+1 - eor #$ff - adc #0 - sta RXTX.Size+1 - .ELSE - lda RXTX.Size - sec - sbc #2 Header Size : strip 2 bytes for MACRAW - sta (ZPIOCTL),y - eor #$ff - sta Counter - iny - - lda RXTX.Size+1 - sbc #0 - sta (ZPIOCTL),y - eor #$ff - sta Counter+1 - .FIN .DO U2AI=1 ldx #3 ldy #S.IP.SRC+3 @@ -502,7 +509,7 @@ READ php bne .2 inc ZPBufPtr+1 - bne .2 + bra .2 .4 >AR.SELECT S0.RX.RD @@ -526,6 +533,10 @@ READ php plp clc rts + +.9 plp + sec + rts *-------------------------------------- WRITE php sei @@ -548,6 +559,7 @@ WRITE php sta RXTX.Size+1 eor #$ff sta Counter+1 + ldx DEVSLOTx0 >AR.SELECT S0.TX.FSR @@ -563,6 +575,7 @@ WRITE php .DO U2AI=1 >AR.SELECT S0.DIPR + ldy #S.IP.DST .1 lda (ZPBufPtr),y @@ -572,6 +585,7 @@ WRITE php bne .1 >AR.SELECT S0.PROTO + ldy #S.IP.PROTOCOL lda (ZPBufPtr),y sta W5100.DR,x diff --git a/LIB/LIBTCPIP.S.FRM.txt b/LIB/LIBTCPIP.S.FRM.txt index d6541501..e45e00ab 100644 --- a/LIB/LIBTCPIP.S.FRM.txt +++ b/LIB/LIBTCPIP.S.FRM.txt @@ -45,14 +45,18 @@ FRM.NewIP stx .8+1 >STYA ZPDataOutLen cpx #S.IP.PROTOCOL.TCP bne .1 + lda #S.TCP bra .4 + .1 cpx #S.IP.PROTOCOL.UDP bne .2 + lda #S.UDP bra .4 + .2 lda #S.IP - bra .4 + .4 sta .5+1 save Header len for reset later clc adc ZPDataOutLen @@ -63,6 +67,7 @@ FRM.NewIP stx .8+1 sta ZPFrameOutLen+1 >SYSCALL2 getmem bcs .9 + stx hFrameOut >STYA ZPFrameOutPtr @@ -74,6 +79,7 @@ FRM.NewIP stx .8+1 iny dex bne .6 + tya * clc adc ZPFrameOutPtr @@ -84,6 +90,7 @@ FRM.NewIP stx .8+1 lda IPCFG+S.NETCFG.DevFlags and #S.DCB.NIC.FLAGS.IPOFFLOAD bne .7 + ldy #S.ETH.EII.TYPE lda /S.ETH.EII.TYPE.IP sta (ZPFrameOutPtr),y @@ -107,8 +114,11 @@ FRM.NewIP stx .8+1 ldx IP.ID+1 inc bne .61 + inx + stx IP.ID+1 + .61 sta IP.ID sta (ZPFrameOutPtr),y dey diff --git a/SBIN/KCONFIG.S.txt b/SBIN/KCONFIG.S.txt index 523f25e4..1aa541d1 100644 --- a/SBIN/KCONFIG.S.txt +++ b/SBIN/KCONFIG.S.txt @@ -87,11 +87,14 @@ CS.RUN >PUSHBI 0 >LDYA L.MSG.TOPBAR.KO .2 >SYSCALL printf + >PUSHBI 0 >LDYA L.MSG.KCONF >SYSCALL printf + >LDYAI A2osX.KCONFIG jsr CS.RUN.DumpConfYA + >PUSHBI 0 >LDYA L.MSG.STATUSBAR >SYSCALL printf @@ -99,6 +102,7 @@ CS.RUN >PUSHBI 0 CS.RUN.REPaint >PUSHBI 0 >LDYA L.MSG.FCONF >SYSCALL printf + >LDYA ZPCfgPtr jsr CS.RUN.DumpConfYA @@ -150,6 +154,7 @@ CS.RUN.Loop >SYSCALL GetChar inc sta (ZPCfgPtr),y jmp CS.RUN.REPaint + .5 cmp #'1' bcc CS.RUN.Loop cmp #'8' @@ -158,10 +163,12 @@ CS.RUN.Loop >SYSCALL GetChar clc adc #8 tay + lda (ZPCfgPtr),y eor #$FF sta (ZPCfgPtr),y jmp CS.RUN.REPaint + .8 >PUSHBI 0 >LDYA L.MSG.QUIT .9 >SYSCALL printf @@ -200,17 +207,27 @@ CS.RUN.Load >PUSHEA.G StatBuf >STYA ZPCfgPtr * clc rts + .99 >LDYAI 16 >SYSCALL GetMem >STYA ZPCfgPtr stx hFileBuf - ldy #15 + ldy #0 .1 lda A2osX.KCONFIG,y sta (ZPCfgPtr),y - dey - bpl .1 + iny + cpy #9 + bne .1 + + lda #0 + +.2 sta (ZPCfgPtr),y + iny + cpy #16 + bne .2 + sec rts *-------------------------------------- @@ -277,6 +294,7 @@ CS.RUN.DumpConfYA >PUSHBI 1 >LDYA L.MSG.TTYS >SYSCALL printf + ldy #9 Slot 1 .1 lda (ZPTmp1),y ldx #SLOTS.MAX-1 @@ -285,6 +303,7 @@ CS.RUN.DumpConfYA beq .3 dex bne .2 + .3 phy txa asl @@ -348,8 +367,8 @@ MSG.PMODE .AZ " Preemptive Mode : %s\r\n" MSG.TTYS .AZ " #TTYs : %d\r\n" MSG.ENABLED .AZ "Enabled " MSG.DISABLED .AZ "Disabled" -MSG.SLOT .AZ " Slot #%d : %s\r\n" -MSG.SLOT.NODEV .AZ " " +MSG.SLOT .AZ " Slot #%d : %s\e[K\r\n" +MSG.SLOT.NODEV .AZ "" MSG.SLOT.Z80 .AZ "Z80 CPU Board" MSG.SLOT.VSD .AZ "SSC Shared Driver for VSDRIVE" MSG.SLOT.ATK .AZ "AppleTalk Board" diff --git a/SYS/KM.APPLETALK.S.txt b/SYS/KM.APPLETALK.S.txt index be1be7c6..8328bbc7 100644 --- a/SYS/KM.APPLETALK.S.txt +++ b/SYS/KM.APPLETALK.S.txt @@ -21,16 +21,21 @@ AT.INIT >LDYAI MSG.INIT sta TmpPtr1 lda #$C7 sta TmpPtr1+1 + .1 ldy #3 .2 lda (TmpPtr1),y cmp SIG.ATLK,y bne .3 + dey bpl .2 + ldy #4 lda (TmpPtr1),y + ldx #0 + cmp #1 beq .4 ldx #$80 @@ -41,6 +46,7 @@ AT.INIT >LDYAI MSG.INIT >LDYAI MSG.FAILED jsr PrintFYA rts + .3 dec TmpPtr1+1 lda TmpPtr1+1 cmp #$C0 @@ -48,6 +54,7 @@ AT.INIT >LDYAI MSG.INIT >LDYAI MSG.NOHW jsr PrintFYA rts + .4 stx WC.Flag tay lda TmpPtr1+1