Solved New OpenCBM port – looking for XU-1541/ZoomFloppy owners

zirias@

Developer
OpenCBM is a software package for using old Commodore 8-bit devices for the IEC/IEEE-488 serial bus, in particular floppy drives, on the PC. The devices can be connected to the parallel port or using an USB adapter. I finished and submitted a port yesterday:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=246784

I tested everything I could test, including correct operation with a parallel-port cable. But I'd like to verify all cases, and my problem is, I don't own any USB cable. So if anyone here happens to own an XU-1541 cable, ZoomFloppy, XoomFloppy, or anything similar that should be supported by OpenCBM, please test whether this works with the new port. You'll only need the main port (comms/opencbm) in that case, the two slave ports are only needed for parallel-port cables. Thanks a lot!
 
OpenCBM is a software package for using old Commodore 8-bit devices for the IEC/IEEE-488 serial bus, in particular floppy drives, on the PC. The devices can be connected to the parallel port or using an USB adapter. I finished and submitted a port yesterday:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=246784

I tested everything I could test, including correct operation with a parallel-port cable. But I'd like to verify all cases, and my problem is, I don't own any USB cable. So if anyone here happens to own an XU-1541 cable, ZoomFloppy, XoomFloppy, or anything similar that should be supported by OpenCBM, please test whether this works with the new port. You'll only need the main port (comms/opencbm) in that case, the two slave ports are only needed for parallel-port cables. Thanks a lot!

Thank you so much for building this! I have a ZoomFloppy with a 1541 and would be happy to test. I don't see it in the updated ports tree yet. I'll report back after I get it pulled and try it out.
 
That's great news :)
I don't see it in the updated ports tree yet.
Of course not, someone would have to commit it first ;) But it would be great to know USB cables like the ZoomFloppy work as well before this happens! You can apply the patch from the PR to your ports tree with the following command issued at the root of the tree (normally /usr/ports):
Code:
fetch -o - https://bugs.freebsd.org/bugzilla/attachment.cgi\?id\=214923 | patch -V none -p0

For testing with USB cables, you should only need comms/opencbm. If you disable DOCS and INFO options, the only build dependencies will be devel/gmake and devel/cc65, I guess the latter is needed to compile the 6502 code that's uploaded to the floppy drive.

For the docs, it needs a whole lot of tex-related stuff, but you should be able to test without that :)
 
That's fantastic news! Sorry, I'm still a little new, I figured one could patch directly on top of the ports tree but wasn't sure how. I already have cc65 built and installed, never realized it was being used to send 6502 code to the drive. I'll give it a try in the next couple of days and get back to you! I'm away from my ZoomFloppy at the moment.
 
Well that was just an assumption, I didn't really analyze OpenCBM's code. I assume "drive code" is used to speed up transfers (and it's strictly necessary to support optional parallel connections to the drive, which IIRC the ZoomFloppy can do). There are several cross-assemblers targeting the 6502 available, but I think cc65 is a pretty sane choice here – good thing that was already in ports :)
 
I think I need to have a look in my storage. Still have two C-64s (old and new model) and a 1571. Also have an SX-64 (missing keyboard unfortunately) and a 128D. I might try and get me one of those cables.
 
I might try and get me one of those cables.
If you still have a classic parallel port, the cheapest is soldering an XM-1541 (or XMP-1541, for added parallel data transfer) yourself :) This of course wouldn't help me here, as I already tested that ;)
It's IMHO ridiculous to have a complex USB device, just for connecting these old floppy drives, but with "legacy" ports disappearing from PCs, what else should you do…
 
If you still have a classic parallel port, the cheapest is soldering an XM-1541 (or XMP-1541, for added parallel data transfer) yourself
That looks fairly easy to put together.

I was actually thinking of building something the other way around. Something that would read from an SD card and emulate a 1541. My disk drives are all old, I'm not sure if any of my disks are still readable too (if they haven't disintegrated by now). I know there are already devices that can do this but I just wanted to see if I could build something from scratch myself.
 
I was actually thinking of building something the other way around. Something that would read from an SD card and emulate a 1541.
For this, I use a 1541 Ultimate II+. This is a bit costly of course. I guess you could build a "simple" SD2IEC yourself, but the problem is that such a device will not execute any "drive code", so it suffers from some compatibility issues. As long as standard kernel routines (or at least an unmodified IEC bus protocol) are used, an SD2IEC is fine :)

I think the use case for OpenCBM (and cables to use with it) is to rescue old treasures on physical 5.25" floppy disks (like e.g. the very first awesome programs you produced as a kid ... hehe) before they finally disintegrate :) But maybe, creating "original" physical floppy disks of your new works for oldschool distribution might be another use case.
 
I guess you could build a "simple" SD2IEC yourself, but the problem is that such a device will not execute any "drive code", so it suffers from some compatibility issues.
Yeah, I was aware of that. It was more a case of "I know how it works, lets see if I can actually build it". But I've been toying with a few other ideas too, like building a computer from scratch based on something like the S100 bus. At the moment I have a machinecode/electronics itch I need to scratch. I've been ogling at that IMSAI 8080 Replica for too long.

I think the use case for OpenCBM (and cables to use with it) is to rescue old treasures on physical 5.25" floppy disks (like e.g. the very first awesome programs you produced as a kid ... hehe) before they finally disintegrate
Those have been lost a few decades ago. But I do have around 24G of C-64 software images (D64, D81, TAP, etc). The C-64s I now have weren't originally mine. I got them from a friend that needed to get rid of them. The only Commodore stuff I have that is originally mine is my A500 (bought it in '88 I think) and A4000. Everything else I collected over the years.

But maybe, creating "original" physical floppy disks of your new works for oldschool distribution might be another use case.
That does bring me to another question, can you still get blank single or double density 5,25 disks?
 
I think the use case for OpenCBM (and cables to use with it) is to rescue old treasures on physical 5.25" floppy disks (like e.g. the very first awesome programs you produced as a kid ... hehe) before they finally disintegrate :) But maybe, creating "original" physical floppy disks of your new works for oldschool distribution might be another use case.

Exactly why I got a ZoomFloppy; my only computer at the time only had USB and I really wanted to save my old software. A few dozen disks worth of preservation!

That does bring me to another question, can you still get blank single or double density 5,25 disks?

I think you can still get them here but I've never bought from them myself.

Those have been lost a few decades ago. But I do have around 24G of C-64 software images (D64, D81, TAP, etc). The C-64s I now have weren't originally mine. I got them from a friend that needed to get rid of them. The only Commodore stuff I have that is originally mine is my A500 (bought it in '88 I think) and A4000. Everything else I collected over the years.

Love seeing other Commodore/Amiga users on here, this is fantastic.
 
Love seeing other Commodore/Amiga users on here, this is fantastic.
Let me whet your appetite, I already mentioned the two C-64s, SX-64 and 128D. I also have an A500 with A590 (20MB HD + 2MB Fast memory), an A1200 and an A4000/030 with 8MB fast, 1GB HD, Merlin RTG card. It was the A4000 and a Tron 14K4 modem that got me on the internet for the first time in the '90s. Got AmiTCP from a BBS, bought a book on how TCP/IP worked and got it to work after a few nights. Awesome time. I still remember that first time vividly. The dialer scripts, the beeps from the modem, PPP script, opening AMosaic and typing yahoo.com. "I got all the information of the world at my fingertips! What am I going to look up first?" Then I froze. I couldn't think of something.

For this, I use a 1541 Ultimate II+. This is a bit costly of course.
Costly yes, but very convenient. Nothing beats hearing that telltale rattle of a real 1541 though ;)
 
I found my ZoomFloppy and my 1571 drive, got the patch and installed the OpenCBM port:
first try:
Code:
root@kg-core1# cbmctrl detect
ERROR: No xu1541 device found
An error occurred opening OpenCBM, aborting...

root@kg-core1# cbmctrl -@xum1541 detect
8: 1571
after making a /usr/local/etc/opencbm.conf.d/00opencbm.conf file and running # /usr/local/sbin/opencbm_plugin_helper_tools rebuild I can do
Code:
root@kg-core1# cbmctrl detect
8: 1571

root@kg-core1# cbmctrl status 8
00, ok,00,00
this all on
Code:
root@kg-core1# uname -a
FreeBSD kg-core1.kg4.no 11.3-STABLE FreeBSD 11.3-STABLE #2 r352605: Sun Sep 22 22:53:27 CEST 2019     root@kg-core1.kg4.no:/usr/obj/usr/src/sys/GENERIC  amd64
Unfortunately, I don't have any CBM-formatted floppies for my 1571 drive yet, so I don't know how to test more.
 
Wow, thanks a lot! Yes, the fact that model detection works and you get the expected result from the status channel is already proof that the communication via USB is working, this is awesome :)

And indeed, the default plugin after installation is xu1541, which is AFAIR for simple/homebrew USB cables. Do you think this needs some FreeBSD-specific documentation? Or would it make sense to change the default plugin to xum1541?
 
I read the manual, and got this as well
Code:
root@kg-core1# cbmctrl reset
root@kg-core1# cbmctrl status 8
73,cbm dos v3.0 1571,00,00
default plugin - I don't know. Hard to tell how many users have one or the other type of "cable". Documentation was good enough for me, I can't say if other people think the same or different.
 
Cool, so IEC bus reset works and you get the power-on status from the drive. Thanks again! Yes, I thought the same, it's all in the upstream docs. And FreeBSD packages typically only give important hints, but do not try to hold hands; read included docs and be fine :)

So, now just looking for a committer to get this out. Although noone tested xu1541 so far, both just use libusb, so I don't expect any surprises here. And xa1541 was tested by myself, as well as building on i386 and amd64 on all relevant FreeBSD versions. I'd say it's ready for commit :)
 
Back
Top