I love writing code for old PCs. A couple of years ago i wrote a 3D maze engine in C that i wanted to run in the original IBM PC i was building (here is a video from running on a 286 https://www.youtube.com/watch?v=tfbQIvRYph4 with turbo turned off, i also managed to make it run in the IBM PC but that was some months later after i built it and didn't took a video). The renderer basically rasterizes sideways trapezoids in a column edge (top bottom) array and then draws it (the height also acts as an one dimensional depth buffer). It took me a while to make it run in interactive speeds, originally needing several seconds to draw each frame. I tried a bunch of methods and i ended up generating machine code for drawing 4 columns (CGA packs 4 pixels in one byte) for different heights in one go with a small post step to fix (clear/draw) the few individual pixels for each column in the batch and keeping the height and colors for the previous frame so that only changed columns are being drawn. I wanted to make some sort of turn-based dungeon crawler, although it would be a sci-fi one set on the moon :-P. I moved since then and my IBM PC is still in boxes since i do not have much space available (and i might move again soon so i don't want to unbox it because i had some professionals package it to avoid any damages).

I also made a small "hunt the wumpus"-ish game for CGA too http://runtimeterror.com/games/cgacave/ - this time the shots are from my IBM PC and not the 286. Also as a bonus a small program i wrote in Delphi 1.0 in Windows 3.1 to create the tiles :-). I've actually done a bunch of stuff in Delphi 1.0 because is a nice middle road between retro and modern (considering that i do a lot of "serious" stuff in Lazarus anyway). Last year i wrote a 3D editor for Windows 3.1 on it (http://i.imgur.com/eG34QXV.png and http://i.imgur.com/BZz6f9l.png the second one took a 486 laptop i have here some hours to render :-P).

I have a bunch of other stuff on my YouTube channel, most are random things i'm working on but i also have a few retrocoding works like another 3D maze in VB1 https://www.youtube.com/watch?v=CxhXjkogahs (i extended that a bit later http://imgur.com/gJXwCoj but got bored after a while) and an ultima-like engine https://www.youtube.com/watch?v=vXRjdbUjZX0 (this one has its own scripting language, image editor and map editor too - you can see them here https://www.youtube.com/watch?v=W70_G9LeByE) which i've managed to run in my 286 too with an IBM CGA monitor (the 286 has an EGA compatible graphic card with a CGA compatibility mode... sadly it is 16bit ISA and it doesn't work on the IBM PC because i'd like to have an IBM EGA card - and an IBM EGA monitor, but those are very rare and even more expensive).

Bonus photos from my IBM PC (without the monitor, i took those before i finished building it):

http://i.imgur.com/506cuFP.jpg

http://i.imgur.com/4tEvp24.jpg

http://i.imgur.com/8bz9IdR.jpg

Also i have and collect a bunch of old development software (mainly from ebay), including Borland C++ 5, C++ Builder 1, Visual Basic 4, Visual Basic 5, Klik&Play (including the manual), Delphi 2, JBuilder and some other things i forget. I usually image those to play around in VMs and keep the disks on my shelf.

Interestingly enough i found a couple of those actually useful (specifically Borland C++ 5 and C++ Builder) and i'm now using for beyond just playing around (mainly Borland C++ 5 because the IDE is lightning fast for compiling C code). Also i wrote a few patches for old games with C++ Builder which made it deal because of the small executable size and being able to design the window visually :-).