In 1978 Sargon, a computer chess program written by Dan and Kathe Spracklen, won first place at the first ever microcomputer chess tournament. About 20 years later my good friend, Dan, dug out his copy of the book the Spracklens wrote, "Sargon A Computer Chess Program" published in 1978. We became obsessed with recreating the game in various higher level languages. But deep down I had the desire to reach back and recreate, as closely as possible, a Z-80 microcomputer that could run the original Jupiter III Z-80 assembly language code. Thanks to the efforts of other retro-computing enthusiasts, this leap into the past has made possible the future of this project.
Let me explain. I wondered if it was possible to use the #TRS-80 (#PigFX font 1) graphic characters to build the chess pieces. So I wrote some Z-80 assembly code to print them out (the 'M' is just a separator) through the SCM I/O calls. I printed both white foreground on a black background, and black foreground on a white background:
Then I mapped out the graphic character blocks in a spreadsheet:
I realized they were much like the Jupiter III Wavemate 2x3 graphics. In generating a translation table I discovered the font matched the Sargon black on white chess piece tables exactly. The book, I found, does call them graphic characters. Sometime, somewhere, someone defined these graphic characters and they became an early standard. Good thing, because there is still a problem here...
The problem is you cannot upload HEX files thru the #PiGFX S/W running on the #RPito the Small Computer Monitor running on the #RC2014 mini. This is unfortunate since the bulk of the changes I need to make to #Sargon is the graphic UI.
But it turns out that if I leave the #RC2014 mini configured to use the #FTDI serial port, the output also goes through PiGFX to the HDMI monitor. This means I can upload HEX files using #Putty and still see the graphics on the monitor.
And that's fine! For development I don't care if the keyboard is attached to Putty or PiGFX. Except for the UK/US Keyboard layout difference. The UK keyboard could force me into branching PiGFX eventually. But for Sargon it may not matter.
As soon as I discovered the ROM on my #RC2014 Mini is OTP, I ordered a UV erasable and began exploring ways to debug #Sargon#chess in RAM. It turns out there are two boot-able images available on the RC2014 Mini, Basic and The Small Computer Monitor (SCM). SCM allows uploading HEX files, so I've set the the RC2014 jumpers to boot it.
To compile #Sargon using the original TDL Macro Assembler, I will run an emulation of CP/M using MyZ80 inside DOSBox. Two levels of virtualization! MyZ80 supports import and export of files. Hopefully I can setup a properly memory mapped HEX file for the #RC2014
I got the PiGFX ANSI terminal running on the RPi Zero plugged into my #RC2014 Mini. I've run across two versions; pictured is Version 1.1.2 which has better resolution characters. I found I needed to ignore the PigFX instructions to limit the partition size of the Micro SDHC card. 16 or 32 gig works fine. I also realized a RC2014 reset is required, after PiGFX boots, so that PiGFX will see UART data. Does anyone know how to switch PiGFX from a UK to US Keyboard?
Too easy. Nicely done @ZxSpectROM! I'm going to use the second 8K page of the ROM for #Sargon#Chess. I want to adhere as close as possible to Dan and Kathe Spracklen original design. See their book here:
Too easy. Nicely done @ZxSpectROM! I'm going to use the second 8K page of the ROM for #Sargon#Chess. I want to adhere as close as possible to Dan and Kathe Spracklen original design. See their book here:
Well that was a lot easier than the first computer I wire wrapped in the late '70s. This is a fine kit with good instructions. I'm going to test it with this USB COM adapter first. Notice I added C3 that wasn't included in the kit. Let's find out if it comes with smoke !
Ooohh I've got that book too. Hmmm... <thinks about a (im)possible project>