C64 Expansion Port Expander Research

Expansion port expanders are adapters which allow multiple cartridges to be attached physically to the C64 at the same time. In rare cases, two of those cartridges will then be usable simultaneously, for the majority of cases the expander allows the user to switch between them.

I’ve never owned one of these devices but I’ve been toying with the idea to create my own for a while. Recently then, a generous person donated a bunch of 44 pin board edge connectors that would be required to build it. So I started to take a closer look at existing implementations, from the past and present.

Continue reading

Pi1541io Revision 2

On Friday, I received the prototype batch of PCBs for the second revision of my IO Adapter for the Pi1541 project. Today, I finally found the time to assemble a couple of those boards and so far, everything seems to be working great!

Two working configurations of the Pi1541 IO Adapter.

When assembling one of the rev.2 boards, there are multiple alternative configuration to chose from. One of the simplest working ones — shown on the left side in the photo above — needs only three components: a 6 pin DIN connector, a 4 channel level shifter module, and a 40 pin female header to connect to the Raspberry Pi. Most of the possible configurations can be built using easy to solder through-hole components, only! Continue reading

Pi1541io in between Revisions

After I assembled and tested the first revision Pi1541io board, I sent the remainder of the prototype batch on to interested members of Forum64 for further testing.

While I’m still hoping for feedback from their side, I’m already working on the next revision of the PCB that will fix a couple of minor issues. As hinted earlier, my intention was to also add optional support for a TXS0108 based level converter. So I acquired one of those modules, tried it on my Pi1541, and couldn’t get it to work at all. It turns out that the TXS0108 is too slow for this job as it seems.

Meanwhile, Steve White has updated his site again, providing an additional wiring diagram. This alternative circuit features an additional 7406 inverter IC that is used for driving the output signals from the Raspberry Pi to the serial bus. Using this solution, multiple devices on the bus should no longer be a problem.

Preview of the current design for revision 2.

So, I ditched the TXS0108 and I am working to support Steve’s 7406 based solution in revision 2 of the Pi1541io. This support will be optional, i.e. you will still be able to use the board with just the level shifter. Speaking of the level shifter: also in revision 2, you may now chose between using a ready made module like in revision 1 or using discrete components instead.

Also, I am still preparing the project repository for upload to Github. Should happen soon now, stay tuned.

Pi1541 IO Adapter

Update 2018-05-25: Now that revision 1 is confirmed to be working despite a couple of minor issues, here’s the rev.1 Gerber files for download. Bear in mind though that the improved 2nd revision is under development and will be available soon!

Two weeks ago, there were exciting retro-news on the Lemon64 board: Gorack – aka. Steve White – released the first version of his Pi1541 that he had been working on for quite some time. “Pi1541 is a real-time, cycle exact, Commodore 1541 disk drive emulator that can run on a Raspberry Pi 3B (or 3B+).”

I was curious and wanted to give this a try, but I also wanted proper wiring. So I created my own version of an extension board for the Raspberry Pi. (Not a proper “HAT”, that would require an eeprom and other things.) I then ordered a small prototype batch because others were eager to try our new retro toy, too.

I received the PCBs on Friday after some unfortunate delay at the German customs and by now the first board is assembled and seems to be working fine!

There are two minor issues in revision 1 that I will address in revision 2: Continue reading

Retro Repair, Addendum I

In my last post I repaired the mainboard of an old Commodore 64 I had retrieved from the attic. After replacing quite a few components, the board was working again for most practical purposes. One issue remained to be investigated though: under certain circumstances, some characters on the screen would change their color seemingly at random.

Random characters changing their color.

This was already visible in the diagnostics output but turned up again later in a graphics adventure I tried. Besides the VIC chip itself, the static color RAM U6 or the 4066 quad switch logic IC U16 seem likely causes for this problem. Continue reading

First Retro Repair

Commodore 64 “breadbox”.

Recently, I retrieved a Commodore 64 “breadbox” version from my parent’s attic that was given to me by a friend in the early 90s. As I recall, it wasn’t fully functional even back then. It would halt as soon as a program tried to play any sound. But when I connected it now and powered it up, all I got was a black screen.

The broken ASSY NO. 250407.

I took it apart completely, even the keyboard, in order to give the case and all the mechanical parts a good cleaning. Then I went on to see what I could do to fix the “ASSY NO. 250407 REV.B” motherboard that I found inside. Continue reading

Fixing WifiModem64 Version 1.0

As hinted at earlier, I made a couple of mistakes when designing version 1.0 of the WifiModem64 and they will be fixed in version 1.1.

Still, with some minor manual modifications, those first boards are still usable. In short, RTS must be connected to WeMos D7 instead of D8 for the ESP8266 to boot reliably and the WS2812 LED must be connected to WeMos D5 instead of D0 if you intend to use it.

These are the step-by-step instructions to get WifiModem64 V1.0 on line: Continue reading

SyncFix64 Prototype

After the encouraging results of my first attempt to fix the composite signal from a C64, so that the cheap TFT monitor could display it, I shared the idea on Forum64 to double-check and get some feedback. Consensus seems to be that the circuit at least won’t hurt the video source. Since, in addition to that, it seems to be working for me, I decided to design a board for it in KiCAD.

The goal was to make it so small that it would fit inside the display’s case alongside the display controller, so I went for all surface mount components. To get immediate results, I created a single sided layout and etched the board myself using the toner transfer method. Continue reading

Cheap Displays for Old Hardware

A couple of months ago I dug out my old Commodore hardware again and started tinkering with it – the goal being to finally try out a bunch of mods, hacks, and builds that I missed back in the day. To start with, I bought a cheap TFT display (new link on eBay, even newer link on eBay, a little harder to get on eBay these days) for around 13€ to connect to the C64 and C128.

It was meant to sit on my work bench to e.g. quickly test a naked C64 board. It wouldn’t matter if the video quality wasn’t great. But after I made the necessary adapter cable and hooked everything up, I was a little disappointed to find out that the display wouldn’t show anything other than a black screen interrupted by an occasional flicker. I verified that the display itself was working by connecting it to a Raspberry Pi and I double-checked the cable I had made. Continue reading