you are right, the two references should be different and each
one should point to the OpenCBM directory with the corresponding
binary files.
For example:
OPENCBM_DLL_DIR_x86 = ..\..\opencbm-0.4.99.99-libusb1\i386
OPENCBM_DLL_DIR_x64 = ..\..\opencbm-0.4.99.99-libusb1\amd64
-Arnd
Hello,
I just uploaded a NEW Windows binary version of OpenCBM.
The difference to the previous one is that the new one ("v2") allows for
being used with firmware 7 or firmware 8. That is, you do not need to
update your firmware just to check the libusb1 support.
The firmware variants 7 and 8 only differ in a timing difference on the
(parallel) IEEE bus, fixing a problem with the 2031 drive. Otherwise,
they are identical.
>> If I reinstall the firmware v07, all works without problems.
>
> libusb1, but I did not consider the firmware as culprit.
If v7 works but v8 does not, it’s also possible the issue is a different AVR gcc or libc version.
So, there was a non-working file in the repo since 4.5 years, and nobody
noticed?
to work with libusb1 but Zadig installs libusb0 driver.
In order to get device working again ("visible" to OpenCBM) is to:
- reinstall OpenCBM from release package (opencbm-0.4.99.99.zip)
- reflash device with v07 firmware, since 0.4.99.99 release is compiled with XUM1541_VERSION = 7 and won't work with v08
- reinstall driver with Zadig to libusb-win32 (v1.2.6.0) or tell Windows to install driver from windrv\amd64 directory
If there is a way to get more details on "no xum1541 device found" I'll be happy to provide it here.
Hello,
I am asking here for people who are willing to test the version for me.
This is especially true if you have had problems with the ZF in the
past.
I would like you to test it with the newer variant.
For Linux and Mac OS, just compile it as you have always done. You just
need to checkout the "libusb0_and_libusb1" branch from the GitHub
repository:
https://github.com/OpenCBM/OpenCBM/tree/libusb0_and_libusb1
Make sure that the libusb1 development package (libusb-1.0-0-dev on
Debian based systems) is installed
before compiling it, and it should
work. If both libusb0 and libusb1 are available, the build system
prefers libusb1.
I bought a xu1541 and compiled in opencbm the xu1541 plugin. No issue her - I can execute multiple detect and status commands without any issues.
My conclusion: The problem is not opencbm or the libusb version. The problem lies in the ZoomFloppy firmware, which crashes with simple commands such as cbmctrl detect and cbmctrl status [drive#] The problem with nibread is probably caused by timing problems in the Zoomflopy firmware - presumably through the use of the new compiler avr-gcc 4.7.2.
The only chance to identify the root cause of the problems is debugging the xum1541 firmware - but: "To enable the debug build, uncomment the appropriate line in the Makefile. ... Debug printing via the UART is not supported on ZoomFloppy since it has to use this pin for the IEC DATA connection. Another route for debugging should be found for it." A working debugging solution is essential to get any progress here!
libusb-win32 is compatible with libusb0, while WinUSB is supposed to be compatible with libusb1, but sadly it isn't. With libusb1 build of OpenCBM and any of the available Zadig drivers the device is not visible to libusb1. In other words, libusb_get_device_list() returns a list of devices with no XUM1541 in it. Because support for Windows 7 ends soon and I'm moving to Windows 10, I treat it as a minor issue, however ZoomFloppy is a commercial product and some users may stick with Windows 7 for some time and find newer builds of OpenCBM problematic.
Hello,
I know that there are people who have problems using ZoomFloppy. The
devices seems to not react on certain commands or does not appear at
all.
One of the things that come to mind that might be the problem is the
libusb library. OpenCBM currently uses libusb0, which is really outdated
and unsupported for some years now. There had been some problems on
MacOS, for example, where OpenCBM could not find the ZF at all when
using with libusb0. With libusb-compat, which is a layer on top of the
newer libusb1 to provide backwards compatibility, it worked.
I have worked on porting OpenCBM to libusb1. The Linux variant is
working for me, Windows works too (but still needs some manual steps for
installing, I will fix this soon), and Mac OS is still untested.
I am asking here for people who are willing to test the version for me.
This is especially true if you have had problems with the ZF in the
past. I would like you to test it with the newer variant.
For Linux and Mac OS, just compile it as you have always done. You just
need to checkout the "libusb0_and_libusb1" branch from the GitHub
repository:
https://github.com/OpenCBM/OpenCBM/tree/libusb0_and_libusb1
Make sure that the libusb1 development package (libusb-1.0-0-dev on
Debian based systems) is installed before compiling it, and it should
work. If both libusb0 and libusb1 are available, the build system
prefers libusb1.
For Windows, I will work on automating the install process. Currently,
the libusb DLL has to be stored "by hand" at the right location. Just
contact me, and I will tell you how to install it. The documentation is
not finished yet.
I am interested in two things:
1. Are there any regressions with this? This applies to anyone.
2. For people who have had problems before, does the new variant fix
the problems?
Please give me feedback, and do not forget to tell me if you are running
on Windows, Mac OS or Linux, and also tell me the version of the OS.
Thank you in advance!