Originally Posted by roomeo
If i have understood things right, this bit should be set as default before anything is initialized.
...which is why the bit is set as one of the first things that the driver does.
Also, please note that Z2 vs. Z3 is fully transparent. Only the base address of the X-Surf-100 is different, but all other software is completely identical. Software initializes the USB chip (especially proper IRQ polarity), then enables IRQ passing to the Amiga, then does all it's other business. It works fine on Z2 machines, and there is a difference between some accelerators in Z3 mode. Since it does work for many Z3 customers, and our hardware-banging test routines also work even on a machine that shows the problem, there is no hardware defect that causes this.
Like I wrote yesterday, the only explanation I currently have is that some software hits a mirror of the register. There are a lot more mirrors of these registers in Z3 mode. So if you want to play around with MMU, then you could inhibit accesses to anything in the X-Surf-100 space that's outside the first 64kBytes (uses 64MBytes space in Z3 mode). If that helps, we may have a hint at where to look for the problematic piece of software.