diff --git a/Driver/baxnet/README.enc b/Driver/baxnet/README.enc index 10f9a38..ce88b32 100644 --- a/Driver/baxnet/README.enc +++ b/Driver/baxnet/README.enc @@ -67,6 +67,8 @@ PRIORITY=PRI/K/N,BPS/K/N,MTU/K/N,FULLDUPLEX/S,FLOWCONTROL/S,TIMER/K/N,MULTICAST/ Changelog: ---------- +2.8 - some workarounds for Fusion + 2.7 - fixed MuForce hit 2.4 - added second semaphore, specifically for the write list diff --git a/Driver/baxnet/README.sdnet b/Driver/baxnet/README.sdnet index 80e387f..6ca0a9c 100644 --- a/Driver/baxnet/README.sdnet +++ b/Driver/baxnet/README.sdnet @@ -188,6 +188,8 @@ TIMER/K/N,MULTICAST/S Changelog: ---------- +2.8 - some workarounds for Fusion + 2.7 - fixed Enforcer hit 2.6 - more sanity checks to avoid a hanging driver in situations diff --git a/Driver/baxnet/bin/enc624j6net.device b/Driver/baxnet/bin/enc624j6net.device index ed1418c..27eeb5f 100644 Binary files a/Driver/baxnet/bin/enc624j6net.device and b/Driver/baxnet/bin/enc624j6net.device differ diff --git a/Driver/baxnet/bin/enc624j6net.device_68000 b/Driver/baxnet/bin/enc624j6net.device_68000 index 60ba861..39e9da2 100644 Binary files a/Driver/baxnet/bin/enc624j6net.device_68000 and b/Driver/baxnet/bin/enc624j6net.device_68000 differ diff --git a/Driver/baxnet/bin/sdnet.device b/Driver/baxnet/bin/sdnet.device index f454ac6..1b220c9 100755 Binary files a/Driver/baxnet/bin/sdnet.device and b/Driver/baxnet/bin/sdnet.device differ diff --git a/Driver/baxnet/bin/v2expeth.device b/Driver/baxnet/bin/v2expeth.device index 44bbe2c..e9bb6cb 100755 Binary files a/Driver/baxnet/bin/v2expeth.device and b/Driver/baxnet/bin/v2expeth.device differ diff --git a/Driver/baxnet/source/Common.mk b/Driver/baxnet/source/Common.mk index a11ad76..e2579df 100644 --- a/Driver/baxnet/source/Common.mk +++ b/Driver/baxnet/source/Common.mk @@ -27,8 +27,8 @@ compiler_vcc = 0 # prefix for system includes (ASM) # native AmigaOS compilation: set PREFX=GG: or PREFX=ADE:, depending on toolchain ############################################################################### -PREFX = /opt/amigaos-68k/ -#PREFX = gg: +#PREFX = /opt/amigaos-68k/ +PREFX = gg: SYSINC = $(PREFX)os-include ############################################################################### diff --git a/Driver/baxnet/source/device.c b/Driver/baxnet/source/device.c index 2b146be..bf4bc1c 100644 --- a/Driver/baxnet/source/device.c +++ b/Driver/baxnet/source/device.c @@ -93,9 +93,9 @@ const ULONG blub[6] = { }; /* enable heavy debug (D2=beginIO) */ -//#define D2(x) +#define D2(x) #define D4(x) -#define D2(x) D(x) +/* #define D2(x) D(x) */ /* #define D4(x) D(x) */ @@ -193,7 +193,10 @@ ASM SAVEDS LONG DevOpen( ASMR(a1) struct IOSana2Req *ioreq ASMREG(a1), ok = 1; if( (db->db_Units[unit].du_OpenCount > 0) && (flags & SANA2OPF_MINE) ) + { ok = 0; + D(("DevOpen fail: OpenCount is >0 and SANA2OPF_MINE requested.")); + } #if 0 if( (db->db_Units[unit].du_OpenCount > 0) && (flags & SANA2OPF_PROM) ) @@ -201,7 +204,10 @@ ASM SAVEDS LONG DevOpen( ASMR(a1) struct IOSana2Req *ioreq ASMREG(a1), #endif if( db->db_Units[unit].du_Flags & DUF_EXCLUSIVE ) + { ok = 0; + D(("DevOpen fail: device was opened already with exclusive flag set.")); + } if( ok ) ok = hw_AllocBoard( db, unit ); @@ -953,6 +959,7 @@ havetype: if( !(rd = dbAddReader(db,unit,frametype,type,ID ) )) return; /* bail out, no mem left */ havereader: + D(("dbAddReadReq type %ld to unit %ld ID %ld\n",frametype,unit,ID)); ADDTAIL( &rd->snr_Requests , (struct Node*)ioreq ); @@ -993,6 +1000,9 @@ static struct SanaReader *dbAddReader( DEVBASEP, ULONG unit, ULONG frametype, st return (0); rd->snr_ID = ID; + + D(("dbAddReader %ld to unit %ld ID %ld\n",frametype,unit,ID)); + dbNewList( &rd->snr_Requests ); if( (GetHead( &type->srt_Readers ) )) diff --git a/Driver/baxnet/source/server.c b/Driver/baxnet/source/server.c index 48584df..cc6ec6d 100644 --- a/Driver/baxnet/source/server.c +++ b/Driver/baxnet/source/server.c @@ -53,8 +53,10 @@ static LONG server_queryext( DEVBASEP, ULONG unit, struct IOSana2Req *ioreq ); /* heavy debug on read/write */ #define D2(x) #define D4(x) +#define D8(x) /* #define D2(x) D(x) */ /* #define D4(x) D(x) */ +/* #define D8(x) D(x) */ @@ -920,14 +922,16 @@ static void server_read_frame( DEVBASEP, ULONG unit, struct IOSana2Req *ioreq, U { frame += 14; /* skip DST,SRC,Type */ framesize -= 18; /* also remove CRC */ +// framesize -= 14; /* test: KEEP CRC */ D4(("plain mode: frame flags %ld\n",bcflag)); } ioreq->ios2_Req.io_Flags &= SANA2IOF_RAW; /* ignore all other flags */ ioreq->ios2_Req.io_Flags |= bcflag; ioreq->ios2_Req.io_Error = 0; ioreq->ios2_WireError = 0; + ioreq->ios2_DataLength = framesize; - D4(("ReadFrm IO %lx, DBM %lx frm %lx frmsz %ld\n",(ULONG)ioreq,(ULONG)dbm,(ULONG)frame,framesize)); + D8(("ReadFrm IO %lx, DBM %lx frm %lx frmsz %ld Flags %ld\n",(ULONG)ioreq,(ULONG)dbm,(ULONG)frame,framesize,(ULONG)ioreq->ios2_Req.io_Flags)); if( dbm->dbm_PacketFilter ) /* Filter Packets ? */ { diff --git a/Driver/baxnet/source/smakefile b/Driver/baxnet/source/smakefile index 0499b96..5c729ee 100644 --- a/Driver/baxnet/source/smakefile +++ b/Driver/baxnet/source/smakefile @@ -87,6 +87,7 @@ IPATH = # see all: target for defaults in $(DEFINES) DEFINES = $(DEFINES1) CPU=$(CPU) +DEFINES = $(DEFINES) DEFINE ALLREADREQS=1 #DEFINES = $(DEFINES) DEFINE DEVICEVERSION=$(DEVICEVERSION) #DEFINES = $(DEFINES) DEFINE DEVICEREVISION=$(DEVICEREVISION) #DEFINES = $(DEFINES) DEFINE DEVICEDATE=$(DEVICEDATE) diff --git a/Driver/baxnet/source/version.h b/Driver/baxnet/source/version.h index cd13202..26fa3fb 100644 --- a/Driver/baxnet/source/version.h +++ b/Driver/baxnet/source/version.h @@ -9,9 +9,9 @@ #define _INC_VERSION_H #define DEVICEVERSION 2 -#define DEVICEREVISION 7 +#define DEVICEREVISION 8 #define DEVICEEXTRA /* #define DEVICEEXTRA Beta */ -#define DEVICEDATE 11.02.20 +#define DEVICEDATE 25.05.20 #endif