Retrocomputing

This document contains stuff done at Cat's Eye Technologies on older computers (or more often, an emulation of such a computer on a modern computer).

When a project of ours depends upon some particular retrotechnology, we try to have an entry for that dependency in our Project Dependencies article, where we describe what modern alternatives, such as emulators, there are for getting such a project up and running.

Apple Befunge

Apple Befunge

Apple Befunge is a variant of Befunge for the Apple II which resembles Befunge-93, with some extra Befunge-96-esque instructions and some Apple II-specific instructions. It was written for the Apple ][+, but should also run on an Apple //e.

Dungeons of Ekileugor

Dungeons of Ekileugor

Dungeons of Ekileugor is a roguelike written for the unexpanded Commodore VIC-20, which, despite the limitations of that platform, supports a respectable set of the usual "dungeon furniture": reasonably generated dungeon levels with tunnels and rooms (the contents of which are only revealed when entered), monsters, treasure, potions, traps, chests, combat with experience points, etc.

Bubble Escape

Bubble Escape 2K

Bubble Escape is a video game written for the Commodore 64 where the player must guide a bubble through a multi-screen maze. It was originally designed and implemented in Commodore BASIC 2.0 in the mid-80's, and rewritten in the 6502 assembly language Ophis Assembler in the late 00's. The assembly version was pared down and crunched so that it fit into 2 kilobytes, christened "Bubble Escape 2K", and submitted to the Mini Game Compo 2009 where it won first place in its class.

DiskSumo

DiskSumo main menu DiskSumo during transfer

DiskSumo is a program to transfer disk images off a Commodore 64 over the RS-232 port via the XMODEM protocol at 300 baud.

SITU-PAN

SITU-PAN

SITU-PAN is a front-panel switches simulator for the Commodore 64. It displays 8 virtual LEDs and 8 virtual dip switches on the screen. The LEDs display the bit pattern at the current address in memory. Via the keyboard, the switches may be toggled, a new bit pattern written into memory, and the address advanced. In this way, machine code programs may be entered into memory, and then run. SITU-PAN was written during RetroChallenge 2015/07 for the purposes of entering SITU-MON into an emulated C64.

SITU-MON

SITU-MON

SITU-MON is a machine language monitor for 6502-based systems, written (by hand!) during RetroChallenge 2015/07 and entered into an emulated Commodore 64 using SITU-PAN.

SITU-SOL

SITU-SOL

SITU-SOL is a vaguely Forth-like language which was designed and implemented (by hand!) during RetroChallenge 2015/07, and entered into an emulated Commodore 64 using SITU-MON. While it might be technically usable as a programming system, it fell rather short of its goal, which was to allow the computer to be programmed in a way that does not require writing the program out by hand.

SixtyPical

Output of a simple SixtyPical program

SixtyPical is a very low-level programming language, similar to 6502 assembly, supporting a sophisticated static analysis which can catch many common mistakes at compile-time. Its reference compiler can generate code for several 6502-based platforms, including the Commodore 64, the Commodore VIC-20, the Apple II, and the Atari 2600. Several tiny demos and a demonstration 1K game have been written in it.

BefOS

BefOS

BefOS is an "operating system" for the [IBM PC compatible][] architecture. The phrase "operating system" is in scare quotes for a very good reason; it's not really an operating system at all, it's a glorified sector editor.

Shelta

An example session with Shelta

Shelta is an extremely minimal Forth-like language with barely any semantics; it relies on inline machine code to write anything resembling an actual program in it. In the spirit of compilers for languages such as FALSE and brainfuck, a Shelta-to-8086 compiler was implemented (with help from Ben Olmstead) in less than 512 bytes of 80286 machine code. What's more, it's also been bootstrapped — that is to say, a Shelta compiler was written in Shelta, which was compiled with the original compiler, and then compiled again with the resulting compiler, producing a wholly self-hosted executable!

Shelta can be built under any system with a NASM assembler, but requires MS-DOS (or compatible) to run, and the executables it produces also run only under MS-DOS (unless you take exceptional measures).

ILLGOL

An example session with ILLGOL

ILLGOL is an illness disguised as a programming language empire.

ILLGOL can be built and run on any system with a decent ANSI C compiler, such as gcc, but the executables it produces will only run under MS-DOS (or compatible).

Mildred

Mildred

Mildred is a 4MHz Z80-based homebrew computer with 40K of memory (8K EEPROM, 32K SRAM.)

The Never-Ending Maze

The Never-Ending Maze

The Never-Ending Maze is an Infocom-style text adventure game (a Z-Machine story file) based on the defining cultural phenomenon of a generation. (Possibly.)