Thursday, June 03, 2021

Reproducing One of the First Personal Computers

If you're of a certain age, and have a technical bent, you may remember the KENBAK-1, arguably the first commercial personal computer. My talented cousin, Michael Gardi, has added a 2:5 scale reproduction of the KENBAK-1 to his stable of early computer reproductions. 

On his article on the Hackaday site, he says:

So with all of this rightly deserved KENBAK-1 love out there, why am I creating yet another KENBAK-1 emulator?  The flip answer might be that I want to and I can, but that's not all of it. While all of the wonderful reproductions out there emulate the original to a tee and give a true KENBAK-1 experience, and even have some addition features like built in programs, at the end of the day you are still in many cases hand translating machine instructions and keying them in via the front panel buttons one step at a time.  And when something goes wrong, while you can step through your program one instruction at a time you only have visibility into one thing at a time on the front panel display, the instruction or a memory/register address. It gets old pretty fast. 

Where I think I can add some value is to integrate the machine code Emulator with an Assembler and a Debugger.  You will still be able to fire up my KENBAK-2/5 console to key and run your programs in native mode via the front panel. In addition you will be able to open an integrated development environment, enter in a KENBAK-1 program via assembly language and run said program using the actual console.  Similarly you will be able to step through your assembly code, set break points, and observe memory and register contents as you do. 

My other motivation for this project is that I really wanted to do a deep dive on this machine. When I looked at the Programming Reference Manual I was very impressed with the machine architecture and the instruction set. I mean an Indirect Indexed addressing mode on a machine built with logic chips. So cool.  

No comments: