Growing the 8 Bit Generation

Today was the premier of the Growing the 8 Bit Generation movie at the Computer History Museum. Great documentary about the 8-bit computers, focused on Commodore although it talks about Apple, Sinclair and Atari as well.


Chuck Peddle, Bil Herd, Leonard Tramiel were there. And Jeri Ellsworth was there too.

Bruno Grampa, Chuck Peddle, Leonard Tramiel and Bil Herd

I went with my Commodore mug and I was able to to get Jeri’s and Bil’s autographs. Yeah!


C64 Remote Controller: NodeMCU vs. Adafruit Huzzah vs. SparkFun Thing vs…

Requirements for the c64 controller

  • A micro-controller. I doesn’t need to be very powerful, just powerful enough to handle some UDP connections and configuring some GPIOs.
  • Flash-able firmware: If possible with support for Arduino IDE (or similar). C++ preferred. Micropython could be a nice backup plan.
  • WiFi
  • Some GPIOs

Which module to choose

There many alternatives, and these are the ones that I evaluated:

  • Arduino + WiFi shield or ESP8266: This is the first option that I evaluated thanks to different suggestions. But since the ESP8266 already comes with a flash-able firmware, there was no need to use the Arduino part. I discarded this option, but I liked the ESP8266 part.
  • Adafruit Huzzah breakout ($9.95) / Adafruit Feather Huzzah ($15.95): An ESP8266 based module. I like Adafruit products since they are very well tested, they give you support, have very good documentation. But they are usually on the pricy side. All ESP8266 boards are supported by the Arduino IDE which is a very good thing.  (I ordered one Feather Huzzah).
  • SparkFun ESP8266 Thing ($15.95): Similar to the Feather Huzzah.
  • NodeMCU (~$4.00): Very similar too Adafruit Huzzah and SparkFun ESP8266 Thing. I’m not sure who built the first module (Adafruit, SparkFun or NodeMCU), although I wouldn’t be surprised if NodeMCU was the first one. There is a lot of innovation in China in this area. NodeMCU comes with a firmware that supports Lua, which is nice for faster development. You should know that the Lua firmware could be installed in the other modules as well, and you can run C++ firmwares on NodeMCU as well. There are three different NodeMCU brands:
    • Amica: Which seems to be the official one, although I didn’t know this when I decided to buy the LoLin.
    • LoLin: It seems that it is no longer produced by WeMos. (I ordered one of this too).
    • DOIT: I know nothing about it.
  • Mini D1 (~$4.00): Another ESP8266-based module similar to the previous ones. It is produced by WeMos, the same as the NodeMCU LoLin. My theory is that WeMos realized that there was more money in trying to create their own ecosystem rather than just cloning NodeMCU. It has 11 GPIOs, instead of the 9 offered by Adafruit Huzzah, which is good (I ordered a few of this one too).
  • There were other alternatives, like the SparkFun Particle Photon ($19.00), based on non-ESP8266 micro-controllers. They were a bit more powerful, but also more expensive. And don’t support the Arduino IDE. So, for the moment I discarded them.

Continue reading “C64 Remote Controller: NodeMCU vs. Adafruit Huzzah vs. SparkFun Thing vs…”

The Uni Games – Part II. Reboot

A reboot was needed. I rewrote most of the code. The game is no longer called “The Muni Race”. Instead it is called “The Uni Games” since it will have more than one event (think of “Summer Games” but for unicycles. UNICON basically).

The game will have a more-retro look and feel than before. It will only use PETSCII chars, plus sprites. No redefined characters, no bitmaps. Pure PETSCII. Pure retro effects.

Continue reading “The Uni Games – Part II. Reboot”

VChar64: caca powered!

Latest VChar64 commit hash:

commit caca91345d177ded6b9b8f6a8adeaadc3611a29e
Author: Ricardo Quesada 
Date:   Mon Mar 14 15:31:41 2016 -0700

    fix: use the correct URL to open the documentation

And this is how git describe shows it:

$ git describe --abbrev=4 --dirty --always --tags

And that is the command that I use internally to generate the version number:

caca powered!

Repairing the Commodore 1581 floppy disk drive. Part 1


I got my 1581 like one year ago. It worked for 2 or 3 weeks and it stopped working. The stepper and the motor weren’t moving. So I guessed that the “floppy drive” was broken.

Quick introduction: the Commodore floppy disk drives have 2 major components:

  • The controller board: which has the 6502, RAM, ROM and other ICs to control the drive
  • The floppy disk drive: which is the “thing” that has the header, the stepper, the motor to spin the floppy disk, etc.

So, in my case, my quick guess was that the “floppy disk drive” was broken because the stepper and the motor were not moving.

So, I got different replacements:

  • Chinon FB-354 Rev. B: Was moving the stepper but making strange noises, so then I got a…
  • …a Panasonic JU-257: Was moving the motor, but not the stepper, so then I got a…
  • …a Chinon FB-354 Rev. E: Was not moving anything. Same symptoms as the original one.

When you purchase untested things from Ebay is hit-or-miss. Sometimes they work, sometimes they don’t. But what are the chances of getting 3 broken floppy disk drives?

So, this time I decided to read more about the 1581 and I found this info that says:

The original fault with a failing 1770 was directory corruption. Other 
symptoms of a failing U4 include intermittent "file not found" and spindle 
motor not spinning when the drive is accessed. One recent U4 failure showed 
no stepper activity at power up (no "burp"), the green LED flashed once per 
second repeatedly and the spindle ran continuously.

So my new guess is that I have 3 fully working floppy disk drives and one broken controller, in particular the WD-1770 IC which is responsible for controlling the floppy disk drive. The WD-1770 is soldered into the PCB, so desoldering skills are required… which I have zero. So time to learn how to desolder ICs. See you soon.

UPDATE: Part II here

VChar64 v0.0.12 released

New version, new features.



  • [NEW] Koala Import: supports importing subregions. Useful when 256 chars are not enough to import the whole bitmap
  • [NEW] Added unknown font. Ripped from here
  • [NEW] VICE snapshot import: Default charset address is the one that was used at the moment the snapshot was taken
  • [NEW] Save/Export: Plays one beep on success, two beeps on error
  • [NEW] Main Window: Status Bar shows the coordinates of the different widgets
  • [BUGFIX] Export: shows correct extension when browsing file
  • [BUGFIX] VICE/Koala Import: sets the name of the imported file in the tab
  • [BUGFIX] Koala Import: detects duplicates chars, making the conversion smaller

The SX-64, as it should be

Spot the difference.


Using the 901227-02 KERNAL chip


Using the 251104-04 KERNAL chip

The former owner replaced the original SX-64 KERNAL (251104-04) with a C64 one (901227-02), most probably to be 100% compatible with all the games.

But an SX-64 doesn’t feel like an SX-64 without its unique colors. That’s why I replaced the KERNAL chip again, this time with the original one. Actually I couldn’t find the original chip (the MOS 251104-04) anywhere, so instead, I installed an EPROM chip with the original SX-64 KERNAL programmed into it.

VChar64 v0.0.10 released

VChar64 v0.0.10 is available for download:logo512

VChar64 Client running on Mac and VChar64 server running on a C128D


  • Live preview with the VChar64 TCP/IP Server for the C64 and C128 (in C128 mode)
  • Minor bug fixes
  • Full changelogCHANGELOG v0.0.10

Fixing the Commodore SX-64: Replacing the MOS 6526

MOS 6526: The CIA chip

You turn on your beloved SX-64 and you don’t see the blinking cursor. Don’t panic. Most probably one of the CIA chips (MOS 6526) is not working correctly.

No blinking cursor

The Commodore 64 has two CIA chips. What you need to do is to replace the one that controls the keyboard, the CIA 1. But if you don’t know which one is CIA 1 and which is CIA 2, then you can either replace both, or do trial-and-error, or look at the IO schematics (hint: it is the one with the UB3 legend).

As far as I know any MOS 6526 should work:

  • MOS 6526 (found in the very first C64s)
  • MOS 6526 R4 (found in newer C64s)
  • MOS 6526A (the 2Mhz version, and I read somewhere that it works Ok)

So, in order to get the replacement chip, you can get it on eBay, or extract it from another another C64 or SX-64. The MOS 6526 chips on a regular C64, are located at the top-left corner.

I removed the 6526 from a regular C64

I suggest using a chip extractor to extract the chips, although a flat screwdriver can work as well.

Continue reading “Fixing the Commodore SX-64: Replacing the MOS 6526”