Commdore 64/128 suggestions - SD2IEC or something else?

I’m diving back into Commodore 8 bit development - this time C64 (rather than VIC20). But I still do not actually have any sort of device to “get” files from the PC-compatible world over to the Commodore 8 bit world. So I’m looking for some advice over what sort of device to get. One thing I’ve found so far is this:

https://www.ebay.com/itm/New-SD2IEC-Adapter-SD-Card-Reader-for-Commodore-64-128-C64-C128-VIC-20-666/113794422820

It’s an SD2IEC device which connects to the cassette port for power and the IEC port acting like floppy drive 8. The cable looks too short for the C128D model, but I have a normal wedge C128 (NTSC) so that’s no problem.

At $43.90, it’s a bit pricey for an item which I’m not 100% sure is the most suitable option.

I’m only going to develop single loader .PRG programs, and I might be able to find my old Datasette and tape cassette car CD adapter (remember those old things, that you connected to a CD or other audio device, which let you play them on a car casette player?). So maybe I could figure out some sort of PRG to WAV converter, and play the WAV on my linux laptop while tape loading on the C128. Super slow, of course, but dirt cheap. Since I’m doing my development with testing on VICE emulator, I’ll only occasionally want to play on my real C128.

Anyway, I just finished setting up a fresh Debian laptop for C64 development. Setup VICE emulator for testing and DASM assembler, as well as my first “Hello World” test program. Got it set up at base address of 2049, with a simple BASIC stub so it can load/run with or without “,1”:

2020 SYS2061

I’ll be programming routines for NUFLI graphics mode, and using mouse input. I know that most C64 users don’t have C64 mice, but I really want to use mouse control. I’ll program options for joystick and mouse, though.

Thanks for any advice!

2 Likes

As far as I know, the standard way of generating WAV files is a program called WAV-PRG (which, despite its name, works both ways and supports multiple formats) along with its companion program Audiotap, but there are also some alternatives (some of which are listed at the project page, as well).
http://wav-prg.sourceforge.net/
http://wav-prg.sourceforge.net/alternatives.html

(Disclaimer: I haven’t tried it myself, yet.)

Sounds like a good adventure. I’m not familiar with solid state storage elsewhere, but in my Acorn-centric world it has been a game-changer, making it very much more convenient to do interesting things on original hardware. So, even at $50, if it works then it’ll be a good investment. People pay more for some solutions in my world, although there are also much cheaper solutions which are less slick.

The tape cassette adapter might well work, and if it does it’s a nice solution. But beware: what works for audio is not always good enough for data, especially when dealing with pulse-width formats like Commodore’s and Sinclair’s. If you can try it without too much outlay of money or time it could be worthwhile.

Thanks for the suggestions!

The cheap dirty WAV -> Datasette option may be a moot point, since I’m not sure where it is. I don’t even know if it works, since I never used it after I got a floppy drive. (Here in the USA, at least where I was, the entire Commodore scene was C64 floppy disk piracy and BBS’s - no one else I knew ever had a tape drive.)

So I’ll invest in some sort of SD2IEC device or alternative … I just don’t know what’s out there and whether there’s a more suitable option. Something that could connect directly to a network/computer/laptop would be even nicer (I think) than physically dealing with SD cards. But I don’t know what’s out there.

A couple of links which might be useful:

1 Like

Cool, thanks so much! Considering the 1541 Ultimate is no longer being produced, it seems SD2IEC is the best option.

1 Like

If you want the best solution, then go for an PI-1541

1 Like

The Ultimate is still being produced and sold by Gideon - albeit in the upgraded, Ultimate-II+ version.

It’s a pricey but awesome FPGA device, which apart from cycle accurate drive emulation allows multiple kernel ROMs, multiple cartridge images, additional SID emulation, REU emulation, tape image access, network access and more. It really is the ultimate solution.

The next best in terms of emulation accuracy (and cost) is probably the Pi1541.

The SD2IEC is the cheapest of the lot and gets the job done for the most part. (Main issue is with broad fastloader support.) Many variants of it on eBay, but recommend TFW8B.

You may also wan’t to check out the Commodore 8 Bit Buyer’s Guide.

1 Like

Cool, thanks so much for the clarifications! See, this is exactly why I asked here rather than just go with what I found on the Internet. I figured I would be confused by outdated info or inaccurate reading.

For my particular use case, 1541 emulation is not important. It would mainly be useful either for dealing with copy protection schemes for old games and GEOS. But I have an NTSC C128, which shuts me out of most old games anyway.

In contrast, the new C64 software I’m interested in (including my own) doesn’t have such copy protection schemes.

As for GEOS - I do actually have a physical copy of GEOS128, but it’s not something I have any interest in using again. I dunno … it does not have the same retrocomputing charm, to me, of the usual C64/C128 interface.

2 Likes

Okay - curveball. While looking through my old stuff, I found an XEM1541 V6 PC parallel port to IEC adapter. I had bought it ten years ago when I was doing VIC20 development, but life things interrupted and I never got around to making it work.

(The XEM1541 has a couple jumpers to switch it between XE1541 and XM1541 mode.)

Well … I do have an old (linux) laptop with a parallel port that fits the adapter. I even have an old Windows Me desktop if that would be easier. And it costs me zero dollars to give this thing a try. So that’s what I’m going to try first. I’m not sure, but I think I need to use the following resource:

https://spiro.trikaliotis.net/opencbm

It looks rather daunting, though. If anyone has any experience getting XM1541 (or XE1541) cable working, I’d appreciate advice on it…

1 Like

My hopes for getting this XEM1541 v6 adapter working are getting more complicated. OpenCBM seems to only support Linux up to the 3.x kernel, and I have not figured out any currently available distribution of linux which uses such an old kernel.

The Windows version does not seem to support Windows Me, which sadly is pretty much the only old Windows computer I have that’s still functional.

I’m now trying to figure out Star Commander:

https://sta.c64.org/sc.html

https://sta.c64.org/scdoc.html

It looks like I’ll be able to connect a 1541 drive to both the PC and the C128 at the same time, issuing POKE 56576, 199 on the C128 to make it “let go” of the common serial bus.

Perhaps you can install an older Linux distribution for this purpose? For example, RHEL7 had a 3.x kernel, and it only fell off full support in August last year. Or, maybe I read it wrong, because CentOS 7 is supported until 2024! Mirrors here.

1 Like

Thanks for the pointer! I’m not familiar with using CentOS or Red Hat; I’ve been all Debian/Ubuntu since the early 2000s. But it could be well worth a shot, since I’d be able to use a less ancient laptop with WiFi and linux-linux file sharing and everything.

1 Like

If you’re going to do that, install it in to a VM. No need (probably) to dedicate an entire machine. You can install it on your existing machine within the VM. You can look at something like VirutalBox or QEMU.

You can also do the same thing with Windows if you can find a Window XP or 98 install (depending on which version you need).

1 Like

Thanks for the VM suggestion - I haven’t really done much experimenting with VMs simply because my computers lack RAM and I have not come up with any use case where it provides any benefit.

I don’t really know whether it could even work in this case. From what I’ve read around, no one uses a VM for this. It requires really low level access to the parallel port, and is extremely timing sensitive during operation. It’s not recommended to attempt any multi-tasking. The installation instructions for linux revolve around compiling custom kernel modules for the necessary parallel port access. I find it implausible for a VM to have the required level of access and control if the host OS doesn’t have it.

I do have a lot of older computers that are just sitting around doing nothing at all, though.

This has really gotten me frustrated. If only I knew just one person who has gotten this device to work, I could simply copy the required software from them. Instead, it seems like a lot of different possible avenues which would each require a significant learning curve with no guarantee of it ultimately working.

So in the meantime, I’ve taking a short break from this to do some music composition with an emulated C128 (unlike the C64, the C128 has built in commands to play musical notes). I don’t understand musical composition at all, but at least it’s less frustrating than this stuff. If anyone’s curious, this is the test music I came up with:

It’s embarrassing how much effort I put into that and how crummy the results are. Maybe the intro would sound a bit better if I slow it down a bit, but even so …

Yes, it is frustrating when you’re in a maze of twisty passages, all alike! And it’s a breath of fresh air when someone writes up a workable solution.

Hi!

On top of previous suggestions (1541u, pi1541 and sd2iec) you could also get a xum1541. It’s a cheaper version of the zoom1541… I payed about $15 for mine. It’s basically what you already have but USB instead of parallel port and works on modern PCs with those cbm tools.

But… It’s probably easier to get an sd2iec for your needs, should be cheaper ones available than what you mentioned.

Happy hacking!

3 Likes

Thanks! Looking on eBay, I only see one listing for XUM1541 - a seller in the UK, about $50 including shipping. I don’t know where else to look, but $15 would be great!

It certainly looks like less of a headache to set up than parallel port. I assume you’ve got software which works with it? Like I said, when I tried to download software for some of the other options, I got bad zip files and other garbage (expired beta release). I’m okay with setting up an entirely new dedicated computer with whatever OS you’ve got it working with.

As for the SD2IEC - I see that there is currently a dubious looking unit for sale on eBay from within the USA, for just under $50 including shipping. Again, I don’t know where else to look.

I guess shipping might be the problem… I know a guy here in Stockholm who makes them. Got in touch but he doesn’t have any right now, he is planning a new batch though but it’s gonna take some time. The price is probably ending up a little more than $20 and another $10 for shipping to the US. This new version that he makes also has buffers (7406) which is better for compatibility. However the one I have doesn’t and still works… I even added a parallel interface to it, mainly just for the heck of it… But it makes copying even faster.

All of these things are pretty easy to make yourself too btw, but you need some electronics skills and a soldering iron. The xum is basically just an arduino nano board and a serial connector… Some versions have added buffers (7406) but mine doesn’t and still works. The arduino boards are dirt cheap, I ordered 10 of them for next to nothing from China some years ago… Can’t say I know they work though cause they ended up in a box :wink:

Cheers!

1 Like

Thanks - don’t worry about it, I’ll see if I can acquire something here in the USA. I was hoping that you were in the USA and you had gotten it from a source in the USA since you mentioned the price in dollars. No big deal