Commodore CHESSmate Replica Runs On The ESP32

The Commodore CHESSmate chess computer might not be terribly well known, but that doesn’t make it any less worthy of being reproduced. If anything it is more important, as it gives more people an opportunity to use one of these devices, yet beyond a purely emulated experience the real user interface is harder to experience.

Internals of the reproduction Commodore ChessMate (Credit: Michael Gardi)

This is where [Michael Gardi]’s modernized replica provides a highly accessible version, consisting of a custom PCB with an ESP32 as the brains of the system. Although decidedly overkill next to the 6502 in the original CHESSmate, it makes the project far easier for others to assemble as it contains few components that shouldn’t be readily available.

The ESP32 is mounted on a small daughterboard which plugs into the main PCB with the buttons, LEDs and indicators. The whole stack is then inserted into the 3D printed reproduction case. These 3D models along with the ESP32 port of the CHESSmate firmware can be found in the GitHub repository, along with a minimalist frame and a ‘CHESSmate Lite’ version as alternative enclosure options for those who somehow don’t appreciate the delightful 1980s aesthetics.

We covered the Commodore CHESSmate last year, including a highly faithful reproduction built by [Hans Otten], which [Michael] read the day after meeting [Peter Jennings], the author of MicroChess (which the CHESSmate uses internally) at an event at York University. Taking this as a sign, he set to work on this particular project.

We’re not sure if there’s really a cosmic force directing [Michael] towards his next project, but if there is, we’d like to take this opportunity to thank it for doing a fantastic job so far.

Making The Commodore SX-64 Mini

When you find a portable TV from the 1980s, and it reminds you of the portable Commodore 64, there’s only one thing to be done. [Aaron Newcomb] brings us the story of taking an Emerson PC-6 and mating it to the guts of his THEC64 Mini. It’s a bit of a journey, as the process includes modding the TV to include a composite input and trimming some unused PCB off the TV’s mainboard. Then some USB ports and a three-and-a-half inch floppy drive were shoehorned into the chassis, with the rear battery compartment holding the parts from THEC64 Mini.

The build was not entirely without issue. It turns out the degaussing coil connector can plug perfectly into the service port, and Murphy’s law proved itself true again. But no harm was done, and the error was quickly discovered. All that was left was to button the chassis back up and add some paint and 3d-printed trim details. The build looks great! Come back after the break to watch the video from the [Retro Hack Shack] for yourself.

Continue reading “Making The Commodore SX-64 Mini”

Developing In Pascal On The Commodore 64 With Abacus Super Pascal 64

Abacus Super Pascal 64 for the Commodore 64.

Most people associate the Commodore 64 with Commodore BASIC and precompiled applications, but it also had a number of alternative development environments produced for it. One of these was Super Pascal 64 by Abacus. A solid introduction to this software package is provided in a video tutorial by [My Developer Thoughts] on YouTube. This uses the Abacus Super Pascal 64 software and manual from the [Lyon Labs] website, which incidentally has a lot more development environments and operating systems for the C64 listed for your perusal.

Abacus’ Super Pascal supports the official Pascal language, requiring nothing more than a Commodore 64 and two Commodore 1541 floppy disk drives to get started. One FDD is for the Super Pascal software, which boots into the development environment, the other FDD and the disks in it are the target for the current project’s source code and compiled binary. Although the lack of support for FDDs other than the 1541 is somewhat odd, this comes presumably from the operating system nature of the development environment and the 1541 being by far the most common FDD for the C64.

Continue reading “Developing In Pascal On The Commodore 64 With Abacus Super Pascal 64”

The Quaint History Of The Commodore ChessMate

The Commodore International of the 1970s was a company which dabbled in a bit of everything when it came to consumer electronics, with the Commodore ChessMate being a prime example of the circuitous way that some of its products came to be. Released in 1978, its existence was essentially the result of MOS Technology releasing the KIM-1 single board computer in 1976. In May of that year, [Peter Jennings] traveled all the way from Toronto, Canada to Cleveland, USA to attend the Midwest Regional Computer Conference and acquire a KIM-1 system and box of manuals for a mere $245. On this KIM-1 he’d proceed to develop his own chess game, called MicroChess, implemented fully in 6502 ASM to fit within the 1 kB of RAM.

As one of the first major applications to run on the KIM-1, it quickly became an international hit, which caught the attention of Commodore – which had acquired MOS Technology by then – who ended up contacting [Peter] about a potential chess computer project. This turned out to based on the custom MOS 6504 CPU, while sharing many characteristics with the KIM-1 SBC. Being a MicroChess-only system, the user experience was optimized for more casual users, with the user manual providing clear instructions on how to start a new game and how to enter the position of a newly moved piece, along with no less than eight difficulty settings.

If you’re feeling like making your own ChessMate, or want to dig into the technical details, this excellent article by [Hans Otten] has got you covered.

Top image: Commodore ChessMate Prototype in 1978. (Credit: Peter Jennings)

(Thanks to [Stephen Walters] for the tip)

Learn Forth On The Commodore VIC-20

Although BASIC was most commonly used on home computers like the Commodore VIC-20, it was possible to write programs in other languages, such as Forth. Conveniently, all it took to set up a Forth development system was inserting the cartridge into the VIC-20 and powering it on, with the VIC-FORTH cartridge by [Tom Zimmer] being a popular choice for the Commodore VIC-20. In a recent video, the [My Developer Thoughts] YouTube channel covers Forth development using this cartridge.

In addition to the video tutorial, the original VIC-FORTH Instruction Manual is also available, together with the 1541 disk image. In an upcoming video, the Commodore 64 version of the cartridge will also be covered, which is called 64Forth, and which is also readily available to tinker with. For those interested in learning more about [Tom Zimmer] and his Forth-related work, a 2010 interview could be interesting. This covers the other platforms which he developed an implementation for.

As for why Forth might be interesting to developers and users, this comes mostly down to the much lower overhead of Forth compared to BASIC, while avoiding the pitfalls of ASM and resource-intensive nature of developing in C, as the entire Forth development system (compiler, editor, etc.) comfortably fits in the limited memory of the average 8-bit home computer.

(Thanks to [Stephen Walters] for the tip)

Continue reading “Learn Forth On The Commodore VIC-20”

Commodore Datassette Does Barbershop Quartet

Okay, now this is just plain fun. [Linus Åkesson] modified a Commodore Datassette player to move its “mouth” and, when quadrupled, sing a clever barbershop tune called “Sweet End of Line” that’s a play on “Sweet Adeline“, a top hit from the summer of 1903.

What? Let us explain. Those with Commodore 64s who lacked disk drives often had the Datassette — a magnetic storage tape device, or cassette player used to load and save files. But they couldn’t open the doors themselves with a keypress, and they certainly couldn’t sing barbershop.

First off, [Linus] redirected the current that drives the magnetizing tape head through a speaker coil instead. Then he replaced the motor with a servo that opens the lid from the inside. A simple rubber band pulls the lid back shut. Software-wise, [Linus] is using a timer interrupt to run code that toggles the output signal, the rate of which determines the pitch.

Don’t worry — all of these modifications are reversible, so no Datassettes were truly harmed in the making. Don’t forget to check out the brief build/demo video after the break.

We’ve seen our share of tape players, but we’d never seen one with a crank until recently.

Continue reading “Commodore Datassette Does Barbershop Quartet”

Implementing Commodore’s IEC Bus Protocol On A KIM-1 Single Board Computer

Although the PET is most likely the more well-known of Commodore’s early computer systems, the KIM-1 (Keyboard Input Monitor) single board computer was launched a year prior, in 1976. It featured not only the same MOS 6502 MPU as later Commodore systems, but also an MCS6530 PIO IC that contained the ROM, RAM and programmable I/O, reminiscent of later I/O chips on Commodore systems. As the KIM-1 was only designed to be used with an external tape drive (and a terminal for fancy users), adding a floppy drive like the ubiquitous 1541 with its IEC bus interface was not a first-party accessory. How the IEC bus can be retrofitted to a KIM-1 system is demonstrated in this video by the Commodore History channel.

The Commodore KIM-1 hardware is almost directly compatible with the C64 hardware. (Credit: Commodore History on YouTube)
The Commodore KIM-1 hardware is almost directly compatible with the C64 hardware. (Credit: Commodore History on YouTube)

What is most notable is just how similar the KIM-1 hardware is to later PET and VIC hardware, with the CIA and PIO ICs featuring the same requisite pins for this purpose, and requiring only the addition of an inverting (SN7406) IC and an EPROM featuring the new code to support the proprietary Commodore IEC bus protocol, which was mostly pilfered byte-for-byte from a C64 kernal ROM.

With some creative breadboarding in place and using nothing more than the on-board LED display and keyboard matrix, it was then possible to write to the inserted floppy disk, and also to read back from it. What’s interesting here is that this essentially replaces the tape drive as target for the KIM-1, which thus retains a lot of the original functionality, but with a big performance boost. While perhaps only interesting as an academic exercise, it’s definitely an interesting look at the early beginnings of what would blossom into the Commodore 64.

Continue reading “Implementing Commodore’s IEC Bus Protocol On A KIM-1 Single Board Computer”