Oldskooler Ramblings

the unlikely child born of the home computer wars

No keyboard, no monitor, no problem

Posted by Trixter on September 29, 2011

I have a friend named Andrew Jenner.  If you’re intimately familiar with PC retrocomputing, you may remember him as the person who thought it would be a good idea to remaster an old game called Digger so that it could be recompiled for modern machines/languages/operating systems.  Meaning:  He took the original game binary, used DEBUG.COM to dump sections of it out as partially-assembled assembler source, and examined and tweaked it over several months until it could compile back into the original.  Then he translated that into C.  Then he made the C portable.  Then he made the C portable across operating systems.  Then he switched out the graphics for higher-resolution ones.  The end result is that you can now play this ancient game perfectly on any operating system, even in a Java VM.  His actions inspired similar projects by other people, like The Jumpman Project and The Beyond Castle Wolfenstein Project.  So that’s what Andrew does for fun.  At least, that’s one of the things he does for fun, when he’s not building new electronic music toys for his children, or writing a cycle-exact 8088 emulator, or just generally visiting every single hackerspace in a 200-mile radius to kick down the door and show them who’s boss.

He wrote me recently to let me know he had purchased an XT to do some democoding on it, a shared passion of ours.  It came with a monochrome card, but he lacked a suitable monitor; it also lacked a keyboard, and a working disk drive.  Did that stop him from using it?  Hell no, this is Andrew Fucking Jenner!  Step aside, son:

I ordered a CGA card but decided to see if I could jerry-rig something up in the meantime. I programmed my Arduino to pretend to be an XT keyboard and also the “manufacturing test device” that IBM used in their factories to load code onto the machine during early stage POST (it works by returning 65H instead of AAH in response to a keyboard reset). I then used this to reprogram the CRTC of the MDA to CGA frequencies (113 characters of 9 pixels at 16MHz pixel clock for 18 rows (14 displayed) of 14-scanline characters plus an extra 10 scanlines for a total of 262 scanlines). The sources for this are on github.

I had to re-read that a few times to make sure I wasn’t having a seizure.  Let’s confirm what happened:

  1. With no input device or working disk drive, he still managed to load code by reprogramming a microcontroller to emulate a long-forgotten IBM diagnostic protocol, formerly used only in factories by test devices to QA units before they went out the door.
  2. The code he loaded was to force a monochrome card to output NTSC signals, so that could be connected to a TV.  Not dramatic enough for you?  How about this:  He forced a monochrome card to behave like a color card.
  3. He made the schematic and source code available, because that’s the kind of guy he is.

You don’t mess with Jenner.  You do read his blog, however.

3 Responses to “No keyboard, no monitor, no problem”

  1. Heh – thanks! Now if I can just get the power supply working again without any more sparks shooting out of it or anything else melting, I’ll program the machine to do some more fun things.

  2. Hello. It’s always good to read your blog. One story about old technology after another…
    Back in 1988 I was 11 years old and I was already playing digger on a 8088 PC AT clone @ ~4 Hz and 10 Hz on turbo, with 640 Kb of memory, with a Hercules HCGA graphic card (this graphic card had the printer port embedded), and a black on green monitor.
    I’m from the Dominican Republic, and in those days the CGA cards were very expensive… So i had to settle with the software “color emulators” which let me play games designed for CGA and ECGA cards: simcga and color.com (If my memory serves me right, I had ro run color.com with a c as a parameter to emulate CGA in order to run digger. Digger it’s the reason I went into computer in such early age. And I think it’s the reason that I became a CS major at college. :)

    It’s awesome that Mr. Jenner could disassembled digger and put it back together again, and it more awesome that he could ‘jerry-rig’ something of that sort.

    Hats off to Mr. Jenner and hats off to you, Mr. Oldskooler… Thank you for letting me go back to those so-fond memories.

    P.S.: I still have the 8088 at home… :)

  3. steve said

    this is so badass! thanks for the story and link!

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: