diff --git a/.Floppies/A2OSX.BOOT.woz b/.Floppies/A2OSX.BOOT.woz index 75bbaf14..a0c79c49 100644 Binary files a/.Floppies/A2OSX.BOOT.woz and b/.Floppies/A2OSX.BOOT.woz differ diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 7fc2dc70..f5aa379c 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 b16a32be..b426deab 100644 Binary files a/.Floppies/A2OSX.TEST.po and b/.Floppies/A2OSX.TEST.po differ diff --git a/BIN/FORMAT.S.txt b/BIN/FORMAT.S.txt index 12147f7e..828a3499 100644 --- a/BIN/FORMAT.S.txt +++ b/BIN/FORMAT.S.txt @@ -32,12 +32,11 @@ BlkCnt .BS 2 TrkCnt .BS 1 Stepping .BS 1 VolNum .BS 1 +AltBB .BS 1 CatSize .BS 1 CatBlkCnt .BS 1 -CatOptions .BS 1 - bLL .BS 1 bCustomBlkSize .BS 1 bHighDensity .BS 1 @@ -280,7 +279,7 @@ CS.RUN.LL >LDA.G DIB+S.DIB.T sta BlkCnt,x iny inx - cpx #5 + cpx #6 bne .12 .1 >PUSHW L.MSG.LL @@ -365,9 +364,8 @@ CS.RUN.LL.DISKII sec rts -.8 -* ldx #0 -* jsr CS.RUN.SeekToX +.8 ldx #0 + jsr CS.RUN.SeekToX >PUSHW L.MSG.CRLF >PUSHBI 0 @@ -375,9 +373,12 @@ CS.RUN.LL.DISKII bcs .9 bit bVerify - bmi CS.RUN.LL.DISKII.V + bpl .80 - jmp CS.RUN.MotorOff + jsr CS.RUN.LL.DISKII.V + bcs .9 + +.80 jmp CS.RUN.MotorOff *-------------------------------------- CS.RUN.LL.DISKII.V >PUSHW L.MSG.VERIFY @@ -391,27 +392,25 @@ CS.RUN.LL.DISKII.V >LDYA BlkCnt >STYA.G IOCTL+S.IOCTL.BLKNUM -* >STZ.G IOCTL+S.IOCTL.BLKNUM -* iny -* sta (pData),y + >STZ.G IOCTL+S.IOCTL.BLKNUM + iny + sta (pData),y + + stz CurTrack lda TrkCnt sta Counter - dec - sta CurTrack - .1 ldx #8 .2 phx - >DECW.G IOCTL+S.IOCTL.BLKNUM - >PUSHW L.MSG.VERIFY >PUSHB CurTrack >PUSHW.G IOCTL+S.IOCTL.BLKNUM >PUSHBI 3 >SYSCALL PrintF + plx bcs .9 @@ -425,13 +424,19 @@ CS.RUN.LL.DISKII.V plx bcs .9 + + >INCW.G IOCTL+S.IOCTL.BLKNUM + dex bne .2 - dec CurTrack + inc CurTrack dec Counter bne .1 + ldx #0 + jsr CS.RUN.SeekToX + >PUSHW L.MSG.CRLF >PUSHBI 0 >SYSCALL PrintF @@ -529,7 +534,7 @@ CS.RUN.BuildCat jsr .7 .7 >PUSHW BlkCnt >PUSHB CatSize - >PUSHB CatOptions + >PUSHB AltBB rts *-------------------------------------- CS.RUN.WriteCat >PUSHW L.MSG.WRITECAT @@ -635,28 +640,32 @@ Disk2.Default .DA 280 BlkCnt .DA #4 Stepping .DA #1 VolNum * .DA #140 QTrkCnt - .BS 3 + .DA #0 AltBB + .BS 2 *-------------------------------------- Disk2.X .DA 320 BlkCnt .DA #40 TrkCnt .DA #4 Stepping .DA #2 VolNum * .DA #160 QTrkCnt - .BS 3 + .DA #0 AltBB + .BS 2 *-------------------------------------- Disk2.H .DA 376 BlkCnt .DA #47 TrkCnt .DA #3 Stepping .DA #129 VolNum * .DA #141 QTrkCnt - .BS 3 + .DA #$80 AltBB + .BS 2 *-------------------------------------- Disk2.HX .DA 432 BlkCnt .DA #54 TrkCnt .DA #3 Stepping .DA #130 VolNum * .DA #162 QTrkCnt - .BS 3 + .DA #$80 AltBB + .BS 2 *-------------------------------------- .DUMMY .OR 0 diff --git a/BIN/NSCUTIL.S.txt b/BIN/NSCUTIL.S.txt index 79ed12aa..4d69c2a0 100644 --- a/BIN/NSCUTIL.S.txt +++ b/BIN/NSCUTIL.S.txt @@ -264,8 +264,8 @@ NSC.Dump >PUSHW L.MSG.READ.OK1 .3 >SYSCALL PutS + >PUSHW L.MSG.READ.OK3 >PUSHBI 0 - >LDYA L.MSG.READ.OK3 >SYSCALL PrintF lda DS1216E.DATA @@ -305,10 +305,10 @@ NSC.Dump >PUSHW L.MSG.READ.OK1 lda DS1216E.DATA+6 jsr PrintBCD -* lda #'.' -* >SYSCALL PutChar -* lda DS1216E.DATA+7 -* jsr PrintBCD + lda #'.' + >SYSCALL PutChar + lda DS1216E.DATA+7 + jsr PrintBCD >PUSHW L.MSG.CRLF >PUSHBI 0 diff --git a/DRV/UTHER2.AI.DRV.S.txt b/DRV/UTHER2.AI.DRV.S.txt index 8fa4975c..2c028d89 100644 --- a/DRV/UTHER2.AI.DRV.S.txt +++ b/DRV/UTHER2.AI.DRV.S.txt @@ -189,11 +189,10 @@ Counter .EQ ZPDRV+4 Offset .EQ ZPDRV+6 RXTX.Size .EQ ZPDRV+8 BUF.Size .EQ ZPDRV+10 -RX.IP .EQ ZPDRV+12 -*Sn .EQ ZPDRV+16 -Sn.IO .EQ ZPDRV+17 -Sn.BASE .EQ ZPDRV+18 -Sn.MASK .EQ ZPDRV+19 +RX.IP .EQ ZPDRV+12 (4) +Sn.IO .EQ ZPDRV+16 +Sn.BASE .EQ ZPDRV+17 +Sn.MASK .EQ ZPDRV+18 *-------------------------------------- DRV.CS.START cld jmp (.1,x) @@ -319,19 +318,27 @@ OPEN.I jsr CLOSE bne .4 >AR.SELECT RMSR - lda #%00100101 ICMP=2k,UDP=2k,TCP=4k,0k + lda #%01010101 RAW=2k,ICMP=2k,UDP=2k,TCP=2k sta W5100.DR,x ...for Socket RX Buffers sta W5100.DR,x ...for Socket TX Buffers - lda /W5100.AR.S0.MR + >AR.SELECT S0.MR + lda #W5100.AR.Sn.MR.MACRAW+W5100.AR.Sn.MR.MF + sta W5100.DR,x + + >AR.SELECT S0.CR + lda #W5100.AR.Sn.CR.OPEN + sta W5100.DR,x + + lda /W5100.AR.S1.MR sta Sn.IO - ldy #S.IP.PROTOCOL.UDP + ldy #S.IP.PROTOCOL.ICMP jsr OPEN.SnY inc Sn.IO - ldy #S.IP.PROTOCOL.ICMP + ldy #S.IP.PROTOCOL.UDP jsr OPEN.SnY inc Sn.IO @@ -393,29 +400,35 @@ READ php ldx DEVSLOTx0 - ldy #Sn.cnt-1 - -.20 lda Sn.IO.BASE,y + lda /W5100.AR.S1.MR sta Sn.IO - sta W5100.AR,x lda #W5100.AR.S0.RX.RSR sta W5100.AR+1,x lda W5100.DR,x get the received size HI ora W5100.DR,x LO - bne .1 + bne READ.ICMP - dey - bpl .20 + lda /W5100.AR.S0.RX.RSR + sta Sn.IO + sta W5100.AR,x + lda #W5100.AR.S0.RX.RSR + sta W5100.AR+1,x - jmp READWRITE.NODATA + lda W5100.DR,x get the received size HI + ora W5100.DR,x LO + beq .9 + + jmp READ.RAW + +.9 jmp READWRITE.NODATA -.1 lda Sn.IP.PROTOCOL,y +READ.ICMP lda #S.IP.PROTOCOL.ICMP sta FRM.HDR.PROTO - lda Sn.RX.BASE,y + lda Sn.RX.BASE+1 sta Sn.BASE - lda Sn.RXTX.MASK,y + lda Sn.RXTX.MASK+1 sta Sn.MASK >AR.Sn.SELECT S0.RX.RD @@ -561,6 +574,96 @@ READ php clc rts *-------------------------------------- +READ.RAW >AR.SELECT S0.RX.RD + lda W5100.DR,x get the received ptr HI + sta offset+1 + ldy W5100.DR,x get the received ptr LO + sty offset + + and /$7FF + ora /RX.BASE + sta W5100.AR,x + tya + sta W5100.AR+1,x + + lda W5100.DR,x get RX.Size HI (Frame size + 2) + sta RXTX.Size+1 + 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 + + >LDYA BUF.Size + >SYSCALL2 getmem + bcc .14 + + jmp READWRITE.9 + +.14 >STYA ZPBufPtr + phx + + phy + ldy #S.IOCTL.BUFPTR+1 + sta (ZPIOCTL),y + dey + pla + sta (ZPIOCTL),y + + ldy #0 + + ldx DEVSLOTx0 + +.2 inc Counter + bne .3 + + inc Counter+1 + beq .4 + +.3 lda W5100.DR,x + sta (ZPBufPtr),y + iny + bne .2 + + inc ZPBufPtr+1 + bra .2 + +.4 >AR.SELECT S0.RX.RD + + lda Offset + clc + adc RXTX.Size + pha save LO + + lda Offset+1 + adc RXTX.Size+1 + sta W5100.DR,x write HI + pla + sta W5100.DR,x write LO + + >AR.SELECT S0.CR + lda #W5100.AR.Sn.CR.RCVD + sta W5100.DR,x + + pla hMem + + plp + clc + rts +*-------------------------------------- READWRITE.NODATA lda #E.NODATA @@ -600,7 +703,7 @@ WRITE php .10 cmp Sn.IP.PROTOCOL,x beq .11 dex - bpl .10 + bne .10 plp lda #MLI.E.IO @@ -689,14 +792,12 @@ GET.IOCTLBUFPTR >STYA ZPIOCTL rts *-------------------------------------- DRV.CS.END -Sn.cnt .EQ 3 - .LIST ON -Sn.IP.PROTOCOL .DA #S.IP.PROTOCOL.UDP,#S.IP.PROTOCOL.ICMP,#S.IP.PROTOCOL.TCP -Sn.IO.BASE .DA /W5100.AR.S0.MR,/W5100.AR.S1.MR,/W5100.AR.S2.MR -Sn.TX.BASE .DA /TX.BASE,/TX.BASE+$800,/TX.BASE+$1000 -Sn.RX.BASE .DA /RX.BASE,/RX.BASE+$800,/RX.BASE+$1000 -Sn.RXTX.MASK .DA /$7FF,/$7FF,/$FFF 2k-1,2k-1,4k-1 - .LIST OFF +Sn.cnt .EQ 4 +Sn.IP.PROTOCOL .DA #0,#S.IP.PROTOCOL.ICMP,#S.IP.PROTOCOL.UDP,#S.IP.PROTOCOL.TCP +Sn.IO.BASE .DA /W5100.AR.S0.MR,/W5100.AR.S1.MR,/W5100.AR.S2.MR,/W5100.AR.S3.MR +Sn.TX.BASE .DA /TX.BASE,/TX.BASE+$800,/TX.BASE+$1000,/TX.BASE+$1800 +Sn.RX.BASE .DA /RX.BASE,/RX.BASE+$800,/RX.BASE+$1000,/RX.BASE+$1800 +Sn.RXTX.MASK .DA /$7FF,/$7FF,/$7FF,/$7FF DEVSLOTx0 .BS 1 *-------------------------------------- DIB .DA #0 diff --git a/LIB/LIBBLKDEV.S.BB.txt b/LIB/LIBBLKDEV.S.BB.txt index 6d9ad384..9a57b3c1 100644 --- a/LIB/LIBBLKDEV.S.BB.txt +++ b/LIB/LIBBLKDEV.S.BB.txt @@ -107,20 +107,19 @@ mvboot lda (dent),y cpy #$eb have we moved enough? bne mvboot - ldx #mods.cnt-1 now modify code to handle errors. + ldx #mods.cnt now modify code to handle errors. -modboot ldy mods,x - lda chgs,x - sta zzstart,y - dex - bpl modboot +modboot ldy mods-1,x + lda chgs-1,x + sta zzstart,y - ldx #7 + cpx #8 + bcs .1 -modboot2 lda endcode-1,x + lda endcode-1,x sta zzzend-1,x - dex - bne modboot2 +.1 dex + bne modboot lda #BB.Hdr sta BB.HdrPtr @@ -354,42 +353,50 @@ BB.Seek lda BB.HdrTrk get track we're on .5 lda IO.D2.Ph0On,x ply - lda #184 + lda #114 jsr BB.Wait100usecA bra .1 * Last QTrack -.6 lda BB.TargetQTrack - and #6 - ora slotz +.6 bcs .60 + + tya + inc + inc + bra .7 + +.60 tya +* sec + adc #5 + +.7 and #$f6 tax - inc - inc - and #$F7 - tay lda IO.D2.Ph0On,x - lda IO.D2.Ph0On,y + + phx + lda #104 + jsr BB.Wait100usecA -.7 phx jsr BB.Wait25600usec - plx + plx lda IO.D2.Ph0Off,x - lda IO.D2.Ph0Off,y +.80 lda IO.D2.Ph0Off,y bra BB.Read .8 tya beq BB.Read - tax - bra .7 + jsr D2.Wait25600usec + + bra .80 *-------------------------------------- BB.Wait25600usec lda #0 BB.Wait100usecA sec (6) JSR (2) -.1 ldx #18 (2) +.1 ldx #19 (2) .2 dex (2) delay 86 usec. bne .2 (2+) 2 + 5x16 + 2 + 2 diff --git a/LIB/LIBBLKDEV.S.D2.txt b/LIB/LIBBLKDEV.S.D2.txt index 8c0cdf46..f9eb54c1 100644 --- a/LIB/LIBBLKDEV.S.D2.txt +++ b/LIB/LIBBLKDEV.S.D2.txt @@ -31,6 +31,17 @@ D2Recalibrate >PULLB DrvSlt jsr D2MoveHead.1 + jsr D2.Wait25600usec + jsr D2.Wait25600usec + + ldx Slotn0 + lda IO.D2.Ph0On,x + jsr D2.Wait25600usec + jsr D2.Wait25600usec + + ldx Slotn0 + lda IO.D2.Ph0Off,x + jsr D2.Wait25600usec jsr D2.Wait25600usec clc @@ -59,7 +70,7 @@ D2MoveHead.1 ldy #0 * Current < Target, must move in cmp #2 - bcc .5 one QT remaining + bcc .6 one QT remaining lda MoveFrom 2 or more and #$FE from QT1 or QT3 @@ -70,7 +81,7 @@ D2MoveHead.1 ldy #0 * Current > Target, must move out .2 cmp #$FF - beq .5 one QT remaining + beq .6 one QT remaining lda MoveFrom bit #1 from QT1 or QT3 @@ -80,20 +91,33 @@ D2MoveHead.1 ldy #0 .3 dec .4 sta MoveFrom - jsr D2.PhaseOn - lda #194 + and #6 + ora Slotn0 + tax + pha + tya + beq .5 + + lda IO.D2.Ph0Off,y + +.5 lda IO.D2.Ph0On,x + ply + + lda #54 jsr D2.Wait100usecA bra .1 + +* Last QTrack -.5 bcs .6 +.6 bcs .60 tya inc inc bra .7 -.6 tya +.60 tya clc adc #6 @@ -102,10 +126,10 @@ D2MoveHead.1 ldy #0 lda IO.D2.Ph0On,x phx - lda #194 + lda #154 jsr D2.Wait100usecA - jsr D2.Wait25600usec +* jsr D2.Wait25600usec plx lda IO.D2.Ph0Off,x @@ -113,25 +137,12 @@ D2MoveHead.1 ldy #0 rts .8 tya - beq D2.PhaseOn.RTS + beq .9 jsr D2.Wait25600usec lda IO.D2.Ph0Off,y - rts -*-------------------------------------- -D2.PhaseOn and #6 - ora Slotn0 - tax - pha - tya - beq .1 - - lda IO.D2.Ph0Off,y - -.1 lda IO.D2.Ph0On,x - ply -D2.PhaseOn.RTS rts +.9 rts *-------------------------------------- D2.Wait25600usec lda #0 diff --git a/LIB/LIBBLKDEV.S.txt b/LIB/LIBBLKDEV.S.txt index ba10303a..ea1abc3a 100644 --- a/LIB/LIBBLKDEV.S.txt +++ b/LIB/LIBBLKDEV.S.txt @@ -141,14 +141,19 @@ BuildProDOSCat >PULLW ZPPtr1 DstBuf >PULLW VolDirHdr.TB ldx #3 + .1 lda DATELO,x sta VolDirHdr.CT,x dex bpl .1 * Blk 0 : ProDOS Boot Code + >LDYA L.ProDOS.Boot + bit VolDirHdr.Options + bpl .11 >LDYA L.ProDOSFX.Boot - >STYA ZPPtr3 + +.11 >STYA ZPPtr3 ldy #0 ldx #2 2 pages @@ -162,10 +167,12 @@ BuildProDOSCat >PULLW ZPPtr1 DstBuf inc ZPPtr1+1 dex bne .2 + * Blk 1 : (SOS boot code) inc ZPPtr1+1 inc ZPPtr1+1 + * Blk 2 : First Directory Block * ldy #0 @@ -223,13 +230,17 @@ BuildProDOSCat >PULLW ZPPtr1 DstBuf ora #$F0 Volume Directory Header sta VolDirHdr.Name ldy #VolDirHdr.size-1 + .4 lda VolDirHdr,y sta (ZPPtr1),y dey bpl .4 + * Blk 3...n : additional Directory Blocks + lda #3 Actual Block ID ldy #2 next blk ptr + .41 inc ZPPtr1+1 inc ZPPtr1+1 Next Block dex @@ -247,9 +258,12 @@ BuildProDOSCat >PULLW ZPPtr1 DstBuf .42 sta (ZPPtr1),y bra .41 + * BitMap Blocks : 0=Used 1=free -.40 jsr GetProDOSCatSize.I X=blk used for boot/dir/bitmap +.40 +BuildProDOSCat.BM + jsr GetProDOSCatSize.I X=blk used for boot/dir/bitmap lda VolDirHdr.TB eor #$ff @@ -272,7 +286,8 @@ BuildProDOSCat >PULLW ZPPtr1 DstBuf .6 lsr bne .5 iny - bne .50 + bne .50 + .7 lda #%10000000 .8 inc Count diff --git a/ProDOS.FX/ProDOS.S.XRW.txt b/ProDOS.FX/ProDOS.S.XRW.txt index dcf714a1..c2e00be5 100644 --- a/ProDOS.FX/ProDOS.S.XRW.txt +++ b/ProDOS.FX/ProDOS.S.XRW.txt @@ -175,10 +175,10 @@ L539D jsr XRW.ReadAddr read next address field. bcc L53BE branch if read ok. L53A4 dec XRW.RetryCnt one less chance. - bpl L539D branch to retry. + bne L539D branch to retry. XRW.Recalibrate lda #MLI.E.IO anticipate a bad drive error. - dec XRW.RecalibrateCnt can only recalibrate once. + dec XRW.RecalibrateCnt bmi hndlerr lda #54 @@ -188,28 +188,25 @@ XRW.Recalibrate lda #MLI.E.IO anticipate a bad drive error. jsr XRW.Seek bra L5398 -* have now read an address field. make sure this is -* the correct track, sector and volume. - -L53BE jsr XRW.DEBUG - - lda XRW.AddrField.T +L53BE lda XRW.AddrField.T cmp XRW.ReqTrack beq L53D5 ok - lda XRW.AddrField.V + jsr XRW.DEBUG + ldy XRW.UnitIndex + + lda XRW.AddrField.V cmp XRW.D2VolNum-1,y bne XRW.Recalibrate lda XRW.AddrField.T - sta XRW.D2Trk-1,y set the slot dependent track location + sta XRW.D2Trk-1,y lda XRW.ReqTrack - jsr XRW.Seek bra L5398 - +*-------------------------------------- L53D5 lda XRW.AddrField.V ldy XRW.UnitIndex sta XRW.D2VolNum-1,y @@ -761,7 +758,7 @@ XRW.Seek pha save target track * Current < Target, must move in cmp #2 - bcc .5 one QT remaining + bcc .6 one QT remaining lda XRW.CurrentQTrack and #$FE from QT1 or QT3 @@ -772,7 +769,7 @@ XRW.Seek pha save target track * Current > Target, must move out .2 cmp #$FF - beq .5 one QT remaining + beq .6 one QT remaining lda XRW.CurrentQTrack bit #1 from QT1 or QT3 @@ -782,20 +779,31 @@ XRW.Seek pha save target track .3 dec .4 sta XRW.CurrentQTrack - jsr XRW.PhaseOn + + and #6 + ora A2L + tax + pha + tya + beq .5 - lda #194 + lda IO.D2.Ph0Off,y + +.5 lda IO.D2.Ph0On,x + ply + + lda #94 jsr XRW.Wait100usecA bra .1 -.5 bcs .6 +.6 bcs .60 tya inc inc bra .7 -.6 tya +.60 tya clc adc #6 @@ -804,11 +812,11 @@ XRW.Seek pha save target track lda IO.D2.Ph0On,x phx - lda #194 + lda #154 jsr XRW.Wait100usecA - lda #0 wait 25.6 ms - jsr XRW.Wait100usecA +* lda #0 wait 25.6 ms +* jsr XRW.Wait100usecA plx lda IO.D2.Ph0Off,x @@ -816,28 +824,13 @@ XRW.Seek pha save target track rts .8 tya - beq XRW.PhaseOn.RTS + beq .9 lda #0 wait 25.6 ms jsr XRW.Wait100usecA lda IO.D2.Ph0Off,y - rts -*-------------------------------------- -* A = QTrack -*-------------------------------------- -XRW.PhaseOn and #6 - ora A2L - tax - pha - tya - beq .1 - - lda IO.D2.Ph0Off,y - -.1 lda IO.D2.Ph0On,x - ply -XRW.PhaseOn.RTS rts +.9 rts *-------------------------------------- XRW.Trk2Qtrk asl x2 sta .1+1 @@ -929,51 +922,40 @@ L56E6 lda IO.D2.RData,x first bit-slip nibl rderr sec rts *-------------------------------------- -XRW.DEBUG lda XRW.AddrField.T +XRW.DEBUG phx + + ldx #$20 + lda XRW.AddrField.V + jsr .6 + + lda XRW.AddrField.T + jsr .6 - pha - lsr - lsr - lsr - lsr - jsr .7 - sta $724 - - pla - jsr .7 - sta $725 + inx lda XRW.ReqTrack - pha + jsr .6 + + plx + rts + +.6 pha lsr lsr lsr lsr jsr .7 - sta $726 pla - jsr .7 - sta $727 - - lda XRW.AddrField.T - cmp XRW.ReqTrack - bne .6 - - lda #$A0 - sta $723 - rts - -.6 lda #'!' - sta $723 - rts - -.7 and #$0F - ora #$B0 + and #$0F + +.7 ora #$B0 cmp #"9"+1 - bcc .9 + bcc .8 adc #6 -.9 rts +.8 sta $700,x + inx + rts *-------------------------------------- .LIST ON XRW.FREE .EQ $D540-* diff --git a/SBIN/NETWORKD.S.txt b/SBIN/NETWORKD.S.txt index 8264fc1c..743456ea 100644 --- a/SBIN/NETWORKD.S.txt +++ b/SBIN/NETWORKD.S.txt @@ -6,7 +6,7 @@ NEW .TF sbin/networkd *-------------------------------------- LIB.MAX .EQ 4 -DBG .EQ 0 +DBG .EQ 1 *-------------------------------------- .INB inc/macros.i .INB inc/a2osx.i @@ -248,6 +248,12 @@ CS.RUN >PUSHB DevID >SYSCALL GetMemPtr >STYA pBuf + lda (pBuf) + cmp #$ff + beq .8 + cmp #1 + beq .8 + >PUSHW L.MSG.DBG ldy #0 @@ -279,7 +285,7 @@ CS.RUN >PUSHB DevID .2 lda hFrameIn >SYSCALL FreeMem - bra CS.RUN + jmp CS.RUN .8 clc rts