Wednesday, June 28, 2023

0000 0000 1100 1011

Art for Art's Sake

Coaxed out of a hiatus bought about by an impending house move by Seeed Studio I embarked upon a project which both them and I will probably regret!

Firstly I'd been consuming too much Ben Eater goodness around his 6502 based breadboard computer and the idea of emulating an early Apple - coincidentally the first computer I used to learn programming was an AppleII, way back in 1978!

Secondly I'd recently found two amazing 6502 resources:

1. The online assembler, emulator and instructions set from Mass:Werk.

2. The amazing KimUno project - how to run a 6502 on a custom PCB with an Arduino Pro Mini, or a STM32 or even an ESP32 (introductory manual)

With my head full of this nostalgia and the tools to match, in comes Seeed Studio with their XIAO range of minuscule but powerful modules. "Would you like to try some XIAO modules?" they said. "Yes!"

I thought it would be aesthetically pleasing to shoehorn the KimUno project into the XIAO.

Of course there were some issues! Chiefly I wanted to run the XIAO ESP32C3 over serial, but the module only has ACM serial as standard - and it was being severely interfered with by Pin Assignments. I was able to get around this initially by using a Frankenstein combination of a CP2102 UART to USB module and some resistors on the strapping pins, but...

Considering there was no hardware KimUno - I simply wrote the pins out of the code as per the green area below! The red represents the original ESP32 pin assignments.


One weird artefact of using the /dev/ttyACM0 interface was fixed serial speed of 115200 baud. It just ignores the code and you get what you get!

After way too many false starts, head scratching and dead ends, finally success! The joy of running MicroChess on this thumb size device is difficult to describe.

See for yourself - enjoy the video.