Building a new ZX81 Computer

The ZX81+38 is a clone of the Sinclair ZX81 home computer that replaces the ULA found in the original with standard logic ICs. That means, it can be built with all parts still readily available today. It was created by Mahjongg, introduced on a forum dedicated to Sinclair computers, and document on the web with construction files available on Github

The empty PCB as I received it.

Continue reading

Pagefox – Reverse Engineered and Replicated

Pagefox is a DTP (desktop publishing) software that comes as a cartridge for the expansion port of the Commodore 64. It was developed by Hans Haberl — who also created  the graphics editor Hi-Eddi and the word processor Printfox — and it was published and sold by the small German company Scanntronik which is actually still in business today.

Pagefox cartridge pried open

Continue reading

ESD Protection for the C64 Control Ports

The two 9-pin Control Ports located on the right-hand side of the C64 are used to connect joysticks and other input devices like paddles or even a mouse to the 8-bit computer. 

The two Control Ports.

The digital input pins are directly connected to one of the two 6526 Complex Interface Adapters (CIA) inside the C64, without any protection on the motherboard.

Continue reading

Commodore VIC-20 S-Video Mod

Last Summer, after a delay of mere 38 years, I finally acquired my first Commodore VIC-20, or VC 20 as it was called in Germany. Not all parts of the machine are in their original state as the connoisseur will notice on first sight. I don’t care too much about that because I didn’t want it as a collector’s item but as a technical gadget to play around with.

My first VIC-20, freshly supplied with a donor keyboard.

First thing I had to do to even test the machine was to make a new video cable to connect it to a monitor. The pin-out of the A/V jack differs from that of the C64: there is a Vcc output where the luminance signal should be and there is no S-Video output.

Continue reading

Erasing and Programming the ATF1504 CPLD

Last year, I acquired my first VIC-20 and when I discovered that someone shared the Gerber files for a fairly recent version of the Final Expansion 3 (english) for that machine on Github, I decided to set out and build one of those, of course. The FE3 might be a story for a later post, though. Because in order to build that cartridge, I first had to find an affordable way to program the ATF1504 CPLD that is used here.

The ATF1504 CPLDs turned out not to be not as “new” as the seller claimed.

Continue reading

C64 Saver Evolution

The original external power supply for the Commodore 64 comes in different forms but they all have one thing in common: With increasing age they are prone to failure and when they finally break they are likely to destroy the precious computer they were powering.

An original PSU for the Commodore 64.

The power brick for the Commodore delivers both 9V AC and 5V DC, the latter being produced from 9V AC with a voltage rectifier and a linear voltage regulator. While this voltage regulator is generally very reliable, it has to operate at the upper limit of its specification which takes its toll after decades of use. When the regulator finally breaks, it tends to short internally, thus supplying the sensitive TTL ICs inside the C64 with up to 9V instead of 5V since there is no integrated over-voltage protection.

Continue reading

Bank Switching Cartridges

Cartridges for the C64 provide either 8K or 16K of ROM that will replace parts of the memory visible to the CPU when plugged into the expansion port. Either 8K or 16K, that is all the Commodore can see directly on a cartridge. Then there is an auto-start mechanism implemented in the Kernal that can be triggered to execute code contained in that ROM when the machine is powered on or reset. Jani features an excellent article about how to create such simple cartridges on his site which I have linked to before.

A simple ROM cartridge: the OpenC64Cart.

Continue reading

The XCPLA – Yet Another PLA Replacement

I’ve covered the PLA and the question how to replace a broken one before. First, when I repaired one of my C64 from back in the day, needed a quick replacement, and used an EEPROM on a simple adapter board. In a follow-up post I used a simple circuit suggested in a talk by Eslapion to test this PLA replacement for glitches and found plenty. Last but not least, I created a replica of the Super Zaxxon cartridge also to be used for testing the PLA. There is a lot more information online on this topic like the excellent Post on Breadbox64.

The broken PLA from a C64 mainboard.

Continue reading

The NeoRAM Remix

A quick market survey on RAM expansions for the C64

The Commodore 64 features a whopping 64kB of RAM, hence its name. Most of this is actually usable at least when programming in assembler. While this used to be quite a lot when compared to competitors in the market, even back in the day there were different external RAM extensions. Some of the popular “freezer” cartridges like later versions of the Action Replay or the Super Snapshot feature some additional RAM of their own.

Commodore 1764 REU. (photo by T. Conté)

Commodore started selling their RAM Expansion Units (REU) in 1985 when the C128 came out. The REU was actually quite sophisticated, with its own controller — the MOS8726, REC — that provides fast memory-transfer by DMA.

The GeoRAM cartridge. (photo by T. Conté)

Continue reading

Turn a BASIC Program into a Cartridge for the C64

The other day, I was researching the Jason-Ranheim Capture cartridges and browsing the DDI Projects on that topic. The capture cartridge is a freezer module for the C64 that allows the internal state of the machine to be saved or to be burned directly into an EPROM. These ROMs can then be installed in a cartridge that will run the frozen state. An interesting concept that I’ll probably explore closer at a later date.

In one of the archives I downloaded I came across a PDF document containing scans of a text, also by Jason-Ranheim Company, that caught my eye. The document is titled “Auto-Start BASIC Programs” and describes a simple process to convert a Commodore BASIC program into an auto-starting cartridge for the C64 or the VIC20. I got curious and decided to try this — but first I wanted to explore how it works in detail.

Continue reading