Orbital Mechanics On A Vintage Kaypro

These days, a good proxy for hacking prowess is getting Doom playable on the oldest piece of hardware imaginable. While we respect and applaud these efforts, perhaps the bar should be set a bit higher. Like orbital mechanics on an early 80s Kaypro, perhaps?

At least that’s the hurdle [Chris Fenton] set for himself as a fun project for his spare time with his Kaypro 2/84, a vintage Z80 clocking in at a screaming 4 MHz and 64-kB of RAM. With its built-in 80×25, 9″ green phosphor CRT monitor and flip-top keyboard, the Kaypro fit into that loveable luggable category of machines and predated IBM’s and Apple’s market dominance by a few years. The CP/M operating system has actually aged pretty well — but well enough to port [Chris]’ Deep Dish Nine, a graphical game written for the Arduboy that uses Kerbal-like orbital mechanics skills to deliver interplanetary pizzas? In the first instance, no — the game, ported to Turbo Pascal, only managed fractional frames per second, rendering it unplayable. But with some very clever coding, [Chris] was able to improve refresh rates 10-fold. The optimization road not taken includes hardware hacks, like overclocking the Z80 or even replacing it with an FPGA and emulator, but that’s hardly keeping with the spirit of the thing.

It’s always great to see vintage machines pushing the envelope. A great place to see them is one of the Vintage Computer Fairs, like the upcoming VCF Southeast in Georgia. We were at the one diagonally across the country a few weeks back, and they’re well worth the trip.

Taking Pictures With A DRAM Chip

 

DRAM Image

This picture was taken by using a DRAM chip as an image sensor (translated). A decapped 64k DRAM chip was combined with optics that could focus an image onto the die. By reading data out of the DRAM, the image could be constructed.

DRAM is the type of RAM you find on the RAM cards inserted into your motherboard. It consists of a massive array of capacitors and transistors. Each bit requires one transistor and one capacitor, which is quite efficient. The downside is that the memory needs to be refreshed periodically to prevent the capacitors from discharging.

Exposing the capacitor to light causes it to discharge faster. Once it has discharged past a certain threshold, the bit will flip from one to zero. To take a picture, ones are written to every bit in the DRAM array. By timing how long it takes a bit to flip from one to zero, the amount of light exposure can be determined. Since the DRAM is laid out in an array, each bit can be treated as a pixel to reconstruct the image.

Sure, modern CCDs are better, cheaper, and faster, but this hack is a neat way to totally re-purpose a chip. There’s even Turbo Pascal source if you’d like to recreate the project.

Thanks to [svofski] for the tip.