the rift conspiracy

C64c with JiffyDOS and national keyboard

After I had upgraded the Commodore 128 with JiffyDOS and made some tweaks, it was time to turn my attention to the Commodore 64c (the new slim version). This one desperately needed JiffyDOS as well, but I also had other, more sinister plans for it.

Photo © Christian Lyng
Back in the day you could get an official C64 with a Danish keyboard layout. I gather most countries had their own national version, but being Danish, obviously I was mostly interested in the Danish version.

The Danish C64 came with some stickers on the keys, had a different character generator ROM and also a different kernal that was modified to support the new keyboard layout.

So I had two ideas for this C64c - I wanted JiffyDOS, but I also wanted Danish characters. And it should ideally be possible to swap either of them out using two toggle switches.


Upgrading and consolidating Commodore 128 ROMs

A while ago I upgraded my Commodore 128 by installing JiffyDOS. This is a fairly straight forward procedure - obtain EPROMs, burn the (legally obtained) JiffyDOS images and swap out the C64 and C128 kernal ROMs with the new versions. I wanted to be able to switch out JiffyDOS, just in case, so I used EPROMs twice as large and installed a switch that would pull the right address line high on each IC.

Yeah, I'm not really sure why I used two pull-up resistors - the switch controls an address line on both ICs at the same time, so that's kind of wasteful. Anyway, it worked fine.

This Commodore 128 is an older model, the kernal and BASIC ROMs are the first revisions and not the later, bug-fixed versions. But you don't install the old versions when you replace the ICs, do you? That would make no sense. By upgrading the kernals I now had a Franken128 with new kernals and old BASICs. That's easy to fix, just replace the two BASIC ROMs with two new EPROMs, right? Right.

A better way

But it turns out there's a better way. The Commodore 128DCR (128D, cost reduced) only uses two ROMs, not four. The old 128 also supports this mode via jumpers - almost. There's a slight hardware bug, but that's easy to work around.

Two EPROMs instead of four? Sounds like something I want to explore.


Modifying a Datassette for audio in

It's possible to load tape games into a Commodore 64 using a mobile phone or mp3 players. You can either convert the programs into audio files or you can use a dedicated player on a mobile phone.

I have used the Android program, TapDancer, which does a fair job. It's not the greatest UI and preparing a tape file for playback is pretty slow, but on the plus side, it does have built in C64 tape turbos.


Serialising Scala literal identifiers using Gson

When converting some code using Gson to Scala, I looked at all those @SerializedName attributes and thought it should be possible to get rid of them.


ASMotor, the successor to RGBDS

Just a short note to let the world know that the successor to RGBDS, ASMotor, is open source and available at Github.