Entrants List 2018/09

Listed below are the competitors joining us for the 2018/09 event:

Halftime comments in blue (mostly from Michai Ramakers)...

Final comments in red...

Rebuttal comments in orange...(anyone?)

John W. Linville



As the event sponsor, it wouldn't be fair to let me win. But, I see no reason why I can't post about my own project! Think of it as the "pace car" for the race...

Anyway, I've been working on a compiler project for a bit. I'll use that as the subject for some blogging while I try to advance the project during the contest. Hopefully that both sets an example and proves entertaining for others. :-)

John started off with a response to a statement made on a podcast, and explained that the ASL and LSL (Arithmetic and Logical Shift Left) assembly-instructions are really the same thing. He also showed how a pair of 8-bit ROL (ROtate Left) and ASL/LSL instructions can be used to shift a 16-bit number.

Actually, that was essentially unrelated to the stated project. As is all too usual, I've been distracted and really haven't gotten started... :-(

Matteo Trevisan (aka Toolkitman) and Tom Porter



Buy a NES Raspberry pi kit build it and install a working Operating System running some example real ROM. It seems an easy tasks but there are  a lot of steps to move to make this so i hope to entertain you!

My friend Tom Porter wants to collaborate with me in this challenge, we will made a nespi with operative system an Apple II running a jukebox made by Tom with songs and animations.

Matteo apparently continues with the same enthousiasm he showed during RC2018/04, this time with Tom as new team-member. After assembling and booting a NESPi, they combine a music player, calculator, notepad and BASIC-prompt into an all-in-one application, complete with some form of graphical menu. Documentation may feel a bit chaotic at some points, but this entry seems well on its way to complete its goal.




(Continue) creating a working emulation of the MOBIDIC portable computer, developed by Sylvania for the U.S. Army back in the early 1960s. More details are in the introduction on my blog post.

VintageVolts clearly states that his effort will span more than a month, and picks up where he left off, continuing work on a previously completed emulation of the MOBIDIC computer. The bigger picture here is to make a fairly obscure and unknown system accessible to the broader public, and that's a fine goal indeed. Instead of people having to own a trailer-sized system, the focus is moved to emulation, and perhaps eventually building a replica based around that emulation. Basic emulation of the CPU works, so who knows what more we can expect in the 2nd half of this challenge?

Jason Falkowski



For my first RetroChallenge i was wanting to keep it kind of simple since i am new to the vintage computing scene. Here a few a few small projects i would like to complete. In no particular order:
  1. Fix and learn about a PC 8300,  ZX81 clone i bought off ebay.
  2. Make a PI1541 for my C64.
  3. Start on learning the basics of programming sprites on either an C64 or Atari 800. To slowly start working on a game.
  4. Try to fix the keyboard and the lid power switch on a Atari 800.

In his first RetroChallenge effort, Jason documents his succesful effort healing an injured PC 8300, and then continues with an Atari 800, fixing its broken keyboard cable and cleaning it up (looks do matter!). Using perfboard, he goes on to make an RPi "hat" using buttons and OLED-display, to make a custom Pi1541 drive. This project seems to proceed quite well, although some programming-challenges are still lurking.

Seat Safety Switch

https://cronk.stenoweb.net/@seatsafetyswitch (Mastodon)


I am going to try and get a Gotek floppy emulator to work on an NEC PC-8801mkII. If that doesn't work, I will at least make a colour video cable for it and try to make a 5.25" floppy that it can boot from.

Seat Safety Switch uses his first PCB-design ever for a floppy cable adapter for attaching the Gotek floppy emulator to his NEC machine. How many times has this happened to you: apparently make a mistake, then fix the apparent mistake, and then realizing it was not a mistake at all?  (In this case: a flipped connector-pinout that turned out not to be flipped at all.) After designing and ordering an improved version of his adapter, focus shifts to fixing the RGB video.  Stay tuned!

Michai Ramakers



For this RetroChallenge, I would like to make an info-animation or -demo for the HomeComputerMuseum in Helmond, NL.

This is mostly a code-only effort, where a spare Commodore 64 will be showing an informative animation to passers-by. (The museum is located in a street with a fair amount of pedestrian traffic.)

The animation will consist of simple graphical "demo-style" effects with logo, pictures and informative text about the museum.

Let's consider this effort "finished" when there's runnable code on an EPROM/flash/whatever card, ready to be plugged into a Commodore 64. Therefore, making/getting some sort of programmable plug-in card is part of the effort.

Michai aims for a mostly-software, and partly-hardware goal this time. Luckily, the hardware part worked right off the bat. Although there's progress on the overall planning and graphics, the software part of this project has yet to start. (Is there something like an inverted 80/20 rule..?) JWL: Don't forget, Michai also took time to help with comments on everyone's progress!

Mark D. Overholser  ( MarkO )



To make this a project that actually can be completed in time, I am "attempting" a Multi-Player, Networked Text Adventure, with a Server running on a modern PC, and the Clients being the Apple ][, ( with the Uthernet II Card ) and the Tandy CoCo, ( with a Serial Port and a Lantronix UDS-10/100/1000 ).

I still have not given up on the Idea of Networked CoCos and Apples and C64/C128s and such..

I WILL have something to Demonstrate this Time...  I have all my Vitamins Up To Date, ( Seriously, that is very important... ), I have a C64 NIC+ now from go4retro.com and IRATA.ONLINE is becoming a THING!!!!

With quite an ambitious goal, Mark starts off by gathering networking-hardware for Apple II, C64 and CoCo.  The server-part of the game will run on a PC, so he reads up on pthread- and socket-programming using C and C++, and makes an example socket-server, which turns out to be tricky. While taking a step back to think about the design of the server-side, Real Life happens, uh-oh... Still only halfway, so anything could happen.

Anders Carlsson (zapac)



Scanning manuals for Commodore PET BASIC extensions + dumping ROMs, and develop a VIC-20 game that utilizes both a 40/80 column cartridge and the built-in 22 column screen at the same time.

Having set 3 very different goals, Anders uses clear documentation to explain the game he plans to make: a Monopoly-like computer assisted boardgame, where the board itself uses 22-column mode, and the 40/80-column display is used for in-game text. Meanwhile, an old scanner is revived by combining it with a more modern OS, allowing for the 1st document in a series of 10 to be scanned, OCR'ed and made into a PDF.

Diego Barizo

Instagram: diegobf109


  1. Write a CoCo version of "Hippo Teeth" for Color Basic (https://www.youtube.com/watch?v=KJ5QqZuGn8I)
  2. Install a full OS and applications in my AcerNote 730 laptop
  3. Review my old BASIC programs from tapes, find some interesting ones, and try to improve them somewhat to make them faster, more playable, or more useful
Diego presents good and colorful documentation to present his version of Hippo Teeth, where it proves challenging to make meaningful graphics to be displayed in 64x32 lores.  He chose the CoCo II SG graphics editor to make the game design, and makes good progress.  For his planned laptop install, he decided on software to use, but didn't get to the actual install yet. Finally, speed-improvements were made to his earlier Aliens II game.  All in all, things are looking good for Diego's projects.

Tom Raidna



Write a program in Kyan Pascal on Apple ][ ( winApple emulator) and Apple ][GS original hardware to interface to a Garmin eTrex Legend GPS using serial connection.  This will require USB to serial cable on laptop using USB to serial converter, and serial cable / null modem to DB9 connection on the Apple ][GS.  The Garmin Device Interface Specification provides access to :

  •    Turn off GPS
  •    Request GPS software version
  •    Transfer Waypoints, Routes and Tracks
  •    Turn on / Turn off real time Position Velocity Time data (PVT
  •    Additionally use of existing Kyan Pascal / Assembly IRQ code for serial connection to the GPS
  •    Project will be documented at http://traidna.wordpress.com
  •    Twitter updates will also be used
  •    Stretch Goal will be to use the winapple emulator version real time on my sailboat using GPS and Laptop thus the link to my picture ;)  with YouTube Video
Using readable step-by-step posts, Tom implemented serial communication between his Apple II and Garmin GPS. It's always good to see vendors documenting their protocols, and Tom made good use of that documentation. It proved challenging to calculate speed from subsequent retrieved waypoints, but the end seems to be in sight. Will we get to see this software in action on an actual sailboat?

Mark Sherman



This time I am finally sitting down and (starting) to write the operating system for the Cat-644.

The Cat-644 is a computer I've been developing around an Atmega 644 microcontroller
  • Started in 2013
  • Atmega 644, 20Mhz, 4k internal SRAM (possibly upgradable to Atmega 1284 with 16k SRAM)
  • 128k bitbanged SRAM: used as VRAM and XRAM
  • VGA output, maximum of 64 colors at 512x240, software cycle-counted race-the-beam
  • PS/2 keyboard
  • RS-232 serial port
  • SD Card
  • 11 Khz mono 8-bit sound output
  • expandable SPI bus: some experiments have been done with SPI-based ethernet shield originally intended for arduino
  • It has been 'hardware complete' for a long time, and I have test programs for each piece of hardware, and combinations of hardware. (VGA + sound + keyboard all together was hard)
Wait, this computer project is only 5 years and, and it's made with a Microcontroller variant that's released in the 21st century. Does it not qualify?
  • The first AVRs were released in 1996, this is just a modernized version of the chip. (Counterpoint: the Intel i9 is just as vintage, as it is just a faster 8086.)
  • This is built in the style of 8-bit home computers, with similar limitations: 128k of ram, 64 colors, 20 Mhz. (Emulated 16 mode w/ VGA running os about 250k instructions per second)
  • True 8-bit operation. Not like those 'Altairduino' that used a 32-bit Arm.
  • Microcontroller has a Harvard architecture and can't run native programs in RAM. User-mode programs will be written in an interpreter emulating a 16-bit processor. (Similar enough to Wozniak's Sweet16?)
  • RS-232 communications, PS/2 keyboard, VGA monitor: None of this USB and HDMI rubbish!
  • VGA is bitbanged via the microprocessor, only allowing blanking intervals for program operation. Certain operations glitch out the screen. (ZX80-ish)
  • One the the first goals for a usermode program is a terminal emulator. This can at least be the dumb terminal for a real vintage computer
  • If I don't start working on the OS soon, it will probably become a vintage computer before I finish it. (The hardare only took 5 years!)
  • Exceptions will be made for exotica?
Mark takes to writing KittyOS for his homebrew computer (of course this qualifies as retro!), first starting with an inventory of his earlier software, and then focusing on the device driver model, and implementing VGA output. An old existing bug is fixed in the process. To maintain correct VGA timing, the choice is made to implement keyboard I/O inside the VGA-generating interrupt itself. The documentation is perhaps a bit text-heavy here and there, but some concepts are difficult to explain with anything other than code snippets.  He has quite a bit of work to do - so keep going, Mark!

Mats Engstrom



I'll tackle one of the designs that I've only simulated so far - a Kansas City Standard cassette tape decoder/viewer built out of transistors and other discretes.  Definitely a ridiculous "just-because-I-can" -project with no real use, but I have a thing for non-IC designs so I'm really looking forward to it.

I've got the simulation/design written up at https://hackaday.io/project/25877-kcs-tape-viewer, but I'm sure there will be a lot of changes during the month so I'll add parts of that into the new blog as time goes by.

One of the few purely electronic projects (although an Arduino is used as audio-source), Mats starts implementing a real version of his KCS cassette tape decoder using only discrete components. FSK demodulation seems to work, nicely demonstrated using oscilloscope traces from different points in the decode-chain.  Now that the analog-to-digital part seems to be done, he will move on to implementing the serial to parallel converter.

Gergő Érdi



I've just started two weeks ago to get myself familiar with CLaSH the hardware description language; I plan to use the RetroChallenge occasion to build a complete CHIP-8 computer in CLaSH, targeting the Papilio Pro, a Xilinx Spartan-6 based FPGA development board.

The CHIP-8 was originally a virtual machine spec for RCA 1802-based home computers in the mid-'70s; my implementation would be centered on designing a custom CPU that runs the CHIP-8 opcodes as its native machine code. I'm also going to be implementing my own VGA signal generator and PS/2 keyboard interface in CLaSH.

A few FPGA-related projects this time, and Gergo's CHIP-8 implementation is one of them. Posts are informative, if Haskell-centric (per definition), so it pays off to know Haskell beforehand, which I did not.  Apart from progress reports, he adds useful background information about VGA, and how that relates to the CHIP-8's virtual display. At this point, basic PS/2 keyboard input and VGA-generation seem to work, and Gergo will now probably focus on the implementation of the CPU itself, hopefully sidestepping CLaSH bugs...

Pim van Tend

(Twitter free)


Reviving Observatory Metaforth

Metaforth is a program written in Forth to generate a new Forth-77 system. It is meant to run on an HP 21MX, a computer equivalent to the PDP 11s of its time. The forth system that is generated is a bootable binary for a computer of choice in the HP 2100 series. This binary would be customized for a certain size of memory, version of the instruction set etcetera.

Metaforth was developed at Utrecht Observatory in 1977/1978 by Hans Nieuwenhuijzen and Jan Vermue. My copy of Metaforth takes the form of a printed listing, half an inch thick, that has been lying around for forty years.

My goal is to have Metaforth running in the hp2100 simulator of the simh package and making the original source code available at https://gitlab.com/pimvantend/metaforth-77.

Being a forth program, Metaforth needs a pre-existing forth system to run on. Since I do not have any forth system for use inside the simulator, I want to generate one using an adapted Metaforth running on a present day forth system. I will use gforth as that system.

So my project consists of two stages. One, adapt Metaforth to generate one hp2100 forth binary. And two, run the literal original Metaforth on top of that binary inside simh. At the moment I have done twenty percent of stage one. It would be nice if I could get stage one completed during the month.

Pim's project reads more like a historic text than anything else, showing his interest in Metaforth and its role in astronomy.  In this sprint, he focuses on creating a Forth system inside his simulator to run Metaforth in the first place.  Pim seems to takes his time to fully digest the source instead of rushing to the end, trying to get an insight into what went on at the time of Metaforth's creation. I guess sometimes the path towards a goal may be as interesting as the goal itself, which seems to apply here.

Raphael Assenat



My project for this edition: Learn everything I can about the NDM24 modem for Super Famicom:
  • Find out how the modem communicates with the console through a controller port.
  • Learn more about the modem. How fast (or slow) is it? Does it use standard AT commands?
  • Attempt to make everything work in an emulator. (Communication with the modem and modem commands?)
  • Pretend the connection succeeds to see what happens.
  • Attempt to understand the nature of the exchanges between the game and the server.

In other words: I am going to spend several hours working on figuring out how an obscure and (now) mostly useless piece of hardware almost nobody has ever heard of nor cares about works. And I know I'll enjoy it!

Again with a somewhat - or downright very - unusual project, Raphael explains in detail his efforts to revive horse race betting, retro style. This is a project with many possible pitfalls: unknown game code tries to connect to defunct server, speaking unknown protocol to unknown modem. Clear documentation with lots of in-depth information shows how he debugs each problem on the way. Now halfway in, he is trying to emulate the server-side of the dialog, which seems challenging. Update posts are given in a clear and educational way.

Davy Mitchell



In this retro-challenge, I want to create a text adventure (new territory for me) for the Dragon/Tandy/MC10. I also want to try and keep the resources (tools, map, text etc) portable so I can create a version for a unfamiliar system (such as the ZX Spectrum) in the future.

When implementing an adventure game, it's difficult to show progress without giving spoilers. Nevertheless, Davy succeeds in writing an interesting to read summary of his effort this month. First deciding on a map size, he implemented navigation, object inventory, title music, map layout and some puzzles. At this time, the game's storyline itself seems to be more challenging than the code - not sure if he expected that himself...

Cole Johnson

(Twitter free)


I built a simulation of the General Instruments AY-3-8500 chip from die photos. This was the "brains" behind many PONG-clone video game consoles of the 1st generation. It could play five different versions of PONG, plus TWO shooting games! Retro enough for ya? This September I'm planning on figuring out how most circuits inside this chip works, as well as programming a real-time emulation of it (probably first in JavaScript.)

I post updated versions of the simulation on GitLab <https://gitlab.com/TheProgrammerIncarnate/VisualP0NG/blob/master/AY-3-8500.html>, but my blog is where I talk about it.

This is quite an exciting project, in that Cole literally shows us what goes on inside a "Pong chip", right down to the transistor level. His current effort focuses on figuring out what all subcircuits inside the chip actually do, and he seems to explain this with text and illustrations quite well.  Perhaps not intended for the faint of heart or high-level minded, but I'm curious to see where this deep dive will end.

Earl Evans



I have an FPGA development board, and I would like to get a retro CPU core running on it. There are lots of open source CPU cores, and some open source system on chip implementations based on those cores - hopefully one of them can work!

The board I'm using is a Digilent "Zybo" with a Zynq-7000 FPGA chip. It's a nice board with a powerful chip and good I/O options - let's see if I can turn it into an 70s/80s style computer.

Earl has been interested in FPGAs and programmable digital logic for a long time, and this time attempts to get an 6502 core running on his particular development board. He gives some relevant personal background along the way as well, which proved to be a nice read. Although a "free run" of the CPU core works, actual program execution does not yet work, and he suspects this having to do with RAM- and CPU-timing.  In the end, the Internet came to the rescue in the form of a project that was almost exactly what he was trying to do in the first place. But a lot learned in the process, which was part of the fun.  Will we see a stretch goal perhaps..?

Jim Gerrie (jgerrie)

(Twitter free)


Not sure how much I will be able to do, but I am planning on  porting a couple of Dragon 32 type-in Basic games to MC-10:
  • Swordsman
  • Cheese
  • Mushroom Invasion
  • Convoy
Will try to blog about them and some of my recent projects such as:
  • Crossword
  • Busters
  • RaceChase
and others.

Jim focuses on an Adventure-like game to be implemented in BASIC, and makes a compromise between ideal graphics and what the MC-10 can do. Adding little tweaks and original features one by one, this project seems to be well on its way to completion. The posts include videos of game progress. The text may be a bit hard to follow at times, at least for me.

Devon Ostendorf

(Twitter free)


I am going to implement version 2 of my 6502 assembly-written, Spy Hunter-inspired, driving game for the Apple ][.  Now that I have a working skeleton (built during April's RetroChallenge), I will be improving the game play by enhancing the graphics and adding sound.

Devon states early on that his goal will not be reached - fair enough, no harm done.  (...but feel free to change your mind and surprise us at the last moment!)

JWL: Devon says "So I am going to have to withdraw from RetroChallenge 2018/09.  By the time the next RC rolls around (March, I think, with the shift to September?), I expect I'll be able to take another swing at v2 of my game."

Christopher Just



It's time for another sprint on my long-running C64 CRPG project. I'm hoping to make some good, solid progress this time out - if my 6502 assembly skills aren't too rusty!

This time, Christopher works on optimizing his game, in particular with respect to the map drawing code.  Using one of the C64's CIA chips as performance monitor, his efforts result in a gradual improvement in drawing-speed, sometimes gaining a lot and sometimes only a little. His game is written in C with the CC65 compiler, which needs some massaging and hand-optimized assembly to eventually result in a theoretical 30 or 60 fps framerate.  There's no clearly defined goal for Christopher's effort, but it seems he did, or nearly did what he planned to do.

Paul Robson



It's an intermediate level interactive programming language for the Z80 CPU ; Forth designed to fit the processor rather than the other way around.

The project-page shows lots of commits happening recently, but am I missing the blog updates so far..?

That's because it's not there, it's at https://m8code.blogspot.com/

Rob O'Donnell


OK, I'm going to try and do *something* or related this time. I've learned from past failures now, and won't set myself any particular goals. The challenge part will be to actually document & blog about what I'm doing!!

Rob takes a shot at replacing the analog telephony gear around his BBS with modern hardware and software. After trying promising but not quite matching existing software, he decides on writing his own Viewdata host software. He made a page allowing users to upload their own pages to his database, which sounds like a good idea. I found updates a bit difficult to read, because they require some familiarity with Viewdata / Teletext, which I had not.




For the 2018/09 RetroChallenge, I will be working on an HDL re-implementation (for simulation/emulation and FPGA synthesis) of the John Hopkins University/Applied Physics Laboratory FRISC 3, which is a 32-bit stack processor designed for executing Forth programs in spacecraft control applications. I don't have a satellite to put it in; I just think it's a nice stack computer design to play with, and I like Forth. :)

Some processors were "designed for Win^WForth", and Gracana attempts to make a Verilog implementation for one of these - the FRISC 3.  CPU specifications exist, but contain easy-to-miss details. Gracana wrote a hardware-description of the ALU and corresponding testbench, and decides on a clock model (6 clocks per instruction cycle instead of the suggested 2, only using 1 clock phase). The implementation of stack-memory proved to be complex, nevertheless seems to be completed now. I'm not quite sure what to expect as next step, because the updates assume some knowledge of Verilog and FPGA-synthesis to be fully accessible. An interesting project nevertheless.

Stephen Barriball (z0m8ied0g)



Back several years ago I won the Retro Challenge with my ViewData BBS. I want to fully re-write it using .Net Core to provide a more streamlined version with the ability to run on other platforms other than Windows.

Stephen sets a very detailed and ambitious list of goals, but beyond that, sadly didn't show signs of progress yet.  Still 2 weeks to go, so anything could happen.

Best of Luck To All Competitors!!

That's the list I have for now -- did I miss anyone? :-)


  1. That's because it's not there, it's at https://m8code.blogspot.com/

  2. This comment has been removed by the author.