.jpg)
Note that the precise distinctions between a Tool, a Platform, and a Library are debatable, and entries may be categorized somewhat arbitrarily.
Tools for Retrocomputing platforms might be found in the Retrocomputing article instead.
Formats often have tools for processing them, and those are listed along with the format instead of here.
Note that Cat's Eye Technologies also maintains some forks of some tools.
Console::Virtual
Download Browse files- summary: Package for simulating a virtual console
- inception-date: ca 2003
- reference-distribution: Console::Virtual distribution
Console::Virtual
is a simple, lightweight abstraction layer which
allows a program to interact with the user through a console, which
is emulated on whatever user interface is really available.
Implementation: Console::Virtual (Perl module)
- reference: true
- in-distributions:
- license: BSD license
- host-language: Perl
DAM
Download Browse files- summary: You've tried the Document Object Model, now try the Document Awesome Model
- inception-date: ca 2019
- development-stage: not fully complete
- reference-distribution: DAM distribution
DAM
is a little Javascript library for creating trees of HTML5 elements
in the DOM. It supercedes the element-factory
module from yoob.js,
and Cat's Eye Technologies' newer gewgaws use it
instead of yoob.js for creating their control panels. It's rather a lot like
hyperscript except more minimal
and, of course, awesomer.
Implementation: DAM (Javascript)
- reference: true
- license: Public Domain
- host-language: Javascript
- host-platform: HTML5
DiskSumo
Download Browse files

- inception-date: ca 2005
- reference-distribution: DiskSumo distribution
DiskSumo is a program to transfer disk images off a Commodore 64 over the RS-232 port via the XMODEM protocol at 300 baud.
Implementation: DiskSumo (BASIC)
- reference: true
- license: Public Domain
- host-language: Commodore BASIC 2.0
- host-platform: Commodore 64
ellsync
Download Browse files- inception-date: 2018
- development-stage: work in progress
- reference-distribution: ellsync distribution
ellsync is an opinionated poka-yoke for rsync. "Opinionated" because it was designed for a particular use case for rsync (offline backups). "Poka-yoke" because it exposes a restricted interface to rsync, which prevents using it in dangerous ways.
Implementation: ellsync (Python)
- reference: true
- license: Public Domain
- host-language: Python
Funicular
Download Browse files- summary: Scripts to set up dev environments on various OS'es on sundry architectures
- inception-date: Jun 17 2014
- development-stage: not fully complete
- reference-distribution: Funicular distribution
Funicular is a system that semi-automates the creation of development environments on eclectic architectures. "Semi-automate" means it automates what it can, and provides repeatable instructions for you to follow for what it can't.
"Eclectic architectures" is not terribly-well defined, but it includes retrocomputing and esoteric architectures. Basically, if you've got an emulator for it and install images for it, you might be able to outfit and run a system for it, using Funicular.
It replaces Amiga Gondola. It can handle such OS/emulator combinations as NetBSD under QEMU, FreeDOS under QEMU, AmigaDOS 1.3 on an Amiga 500 under E-UAE, Applesoft BASIC on an Apple II under linapple, and Commodore BASIC 2.0 on a Commodore 64 under VICE.
Implementation: funicular
- reference: true
- license: Public Domain
- host-language: Bourne shell
Guten-gutter
Download Browse files- summary: Extractor of Project Gutenberg texts
- inception-date: 2014
- development-stage: mature
- reference-distribution: Guten-gutter distribution
Guten-gutter is a command-line tool that removes the boilerplate from Project Gutenberg text files.
Implementation: guten-gutter (Python)
- reference: true
- license: Public Domain
- host-language: Python
hatoucan
Download Browse files- summary: Tokenizer for Commodore BASIC 2.0 programs
- inception-date: 2015
- development-stage: not fully complete
- reference-distribution: hatoucan distribution
hatoucan
is a tokenizer for Commodore BASIC 2.0 programs.
It is compatible with a subset of petcat
, but is written in
Python and is in the public domain.
Implementation: hatoucan (Python)
- reference: true
- license: Public Domain
- host-language: Python
kinoje
Download Browse files- inception-date: 2017
- development-stage: work in progress
- reference-distribution: kinoje distribution
kinoje is a templating-based animation tool. A provided template is filled out once for each frame of the animation; the result of the template expansion is used to create a still image; and the resulting sequence of images is compiled into the finished movie.
Implementation: kinoje (Python)
- reference: true
- license: Public Domain
- host-language: Python
MARYSUE
Download Browse files- summary: An engine for generating non-interactive fiction
- inception-date: Nov 2015
- development-stage: not fully complete
- reference-distribution: MARYSUE distribution
MARYSUE is the story generator used to generate the novel A Time for Destiny for NaNoGenMo 2015.
Implementation: MARYSUE (Python)
- reference: true
- license: Public Domain
- host-language: Python
seedbank
Download Browse files- summary: Records seeds used in random generation and allows re-use
- inception-date: 2014
- development-stage: mature
- reference-distribution: seedbank distribution
seedbank
is a Python module which takes care of recording the seed
used for random generation, and allowing a previously used seed to
be used again in the future.
Implementation: seedbank (Python)
- reference: true
- license: Public Domain
- host-language: Python
shelf
Download Browse files- summary: A "package manager" that doesn't actually install anything
- inception-date: 2016
- development-stage: work in progress
- reference-distribution: shelf distribution
shelf
is a "package manager" which doesn't actually install any files.
Instead, it stores the source trees of sundry packages in a single directory,
creates link farms to the interesting files within those trees,
and manages your search paths to include those link farms.
those trees. The source trees are typically the working directories of
local git or Mercurial clones, or they can be source distributions from tarballs.
shelf
, written in Bourne shell, is a replacement for toolshelf, which was
written in Python.
Implementation: shelf.sh
- reference: true
- license: Public Domain
- host-language: Bourne shell
SITU-MON
Download Browse files
- inception-date: Jul 2015
- development-stage: mature
- reference-distribution: SITU-SOL distribution
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.
Implementation: SITU-MON (Commodore 64)
- reference: true
- license: Unknown license
- host-language: 6502 machine code
- host-platform: Commodore 64
SITU-PAN
Download Browse files
- inception-date: Jul 2015
- development-stage: mature
- reference-distribution: SITU-SOL distribution
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.
Implementation: frontpanel.bas
- reference: true
- license: Unknown license
- host-language: Commodore BASIC 2.0
- host-platform: Commodore 64
tagfarm
Download Browse files- inception-date: Apr 2020
- development-stage: not fully complete
- reference-distribution: tagfarm distribution
tagfarm
is an ultra-lightweight, filesystem-based categorization system for arbitrary
files. Each tag is implemented as a directory full of symbolic links to files with that tag.
Implementation: tagfarm (Python)
- reference: true
- license: Public Domain
- host-language: Python
The Swallows Engine
Download Browse files- summary: An engine for generating non-interactive fiction
- inception-date: Nov 2013
- development-stage: not fully complete
- reference-distribution: The Swallows distribution
The Swallows Engine is the engine used to generate The Swallows series of generated novels for NaNoGenMo 2013.
Implementation: The Swallows Engine (Python)
- reference: true
- license: Public Domain
- host-language: Python
tree
Download Browse files- inception-date: 2014
- development-stage: mature
- reference-distribution: tree distribution
Cat's Eye Technologies' tree
is a command-line tool that displays an
indented directory tree, similar to "The Tree Command for Linux" except
simpler.
Implementation: tree (Python)
- reference: true
- license: Public Domain
- host-language: Python
T-Rext
Download Browse files- summary: Tidier-upper for generated text
- inception-date: Nov 2014
- development-stage: mature
- reference-distribution: T-Rext distribution
T-Rext is a command-line filter that attempts to clean up spaces and punctuation in a text file. Its purpose is so that, when you are writing a text generator, such as a Markov processor, you need not worry too much about its output format; just toss its output through T-Rext when you're done to make it more presentable.
Implementation: t-rext (Python)
- reference: true
- license: Public Domain
- host-language: Python
yastasoti
Download Browse files- inception-date: 2018
- development-stage: work in progress
- reference-distribution: yastasoti distribution
yastasoti is yet another script for archiving stuff off teh internets. It supports consulting an archive router to determine where each stuff is archived to.
Implementation: yastasoti (Python)
- reference: true
- license: Public Domain
- host-language: Python
yucca
Download Browse files- summary: Static analyzer for 8-bit BASIC programs
- inception-date: 2012
- reference-distribution: yucca distribution
yucca
is a dialect-agnostic static analyzer for 8-bit BASIC
programs. It can find GOTO
's and GOSUB
's
which refer to non-existent line numbers, or line numbers which contain
only a REM
, among a few other modest features.
Implementation: yucca (Python)
- reference: true
- license: MIT license
- host-language: Python
Not-exactly Tools
More like demos?
Ribos
Download Browse files- summary: Well-commented C64 raster interrupt example
- inception-date: April 2007
- development-stage: mature
- reference-distribution: SixtyPical distribution
A simple Commodore 64 graphics demo that uses the raster interrupt facility of the VIC-II chip: the colour of the border of the screen is inverted, but only in the middle part of the screen. Includes well-commented source in 6502 assembly language.
Was previously distributed in the Ribos distribution and the C64 Demo Depot distribution, which have both been discontinued.
The PETulant Cursor
Download Browse files- summary: A tiny C64 "display hack"
- inception-date: ca 1989
- development-stage: vintage
- reference-distribution: SixtyPical distribution
A tiny (44 byte) "display hack" for the Commodore 64.
Was previously distributed in The PETulant Cursor distribution and the C64 Demo Depot distribution, which have both been discontinued.
Archival Tools
TPiS
Download Browse files- subtitle: Total Procedures in Scheme
- summary: Totality-checker for Scheme procedures
- inception-date: ca 2006
- development-stage: archival
- reference-distribution: TPiS distribution
This is a static analyzer, written in Scheme, which can check if given Scheme procedures are total (always terminate, on any input) by checking that they are specified primitive-recursively. What's more, it is written almost entirely in a primitive-recursive style, so it can check itself!
Implementation: TPiS (Scheme)
- reference: true
- license: BSD license
- host-language: Scheme
yoob.js
Download Browse files- summary: A framework for interactive esolang implementation
- inception-date: Oct 4 2012
- development-stage: not fully complete
- reference-distribution: yoob.js distribution
yoob.js
is a framework for implementing esoteric programming languages
in Javascript/HTML5. It has some differences from the earlier yoob
framework, which is in Java.
Implementation: yoob.js (Javascript)
- reference: true
- implementation-type: framework
- license: Public Domain
- host-language: Javascript