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 Cat's Eye Technologies is built 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 whose contents are hidden until you enter, 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 6502 assembly language (Ophis Assembler) in the late 00's. The assembly version was pared down so that (crunched) it fit into 2K, 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.

SixtyPical

Output of a simple SixtyPical program

SixtyPical is a very low-level programming language, similar to 6502 assembly, which defines a set of static analyses via type-checking and abstract interpretation (liveness analysis of variables, i.e. memory locations.)

BefOS

BefOS

BefOS is an "operating system" for this architecture. But it's incomplete and terrible.

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 bypass that part of the stdlib).

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.)