Archive
Archive Index

These are programs I have written in the distant past. Some of them are unpublished.

Contents

Featured Works

Zenith
game
OpenGL
Delphi
Windows XP

A remake of The Sentinel, ‘Better than the [Psygnosis] commercial remake for the PlayStation’ — Review.

Infinite Reflections
GPU
maths
billiards solver
shader
WebGL

Featured on the American Math Society's Visual Insights, this is a real-time rendering of a coloured target moving around a reflective ellipsoid. Implemented both in a conventional ray tracer (256 reflections deep, PoV-Ray) and using a GPU (512 reflections deep, my own shader, GTX-1050M), the GPU shader was about 70,000 times faster.

The Matrix Effect
screen saver
Windows 95
2000

Emulates the dripping green text seen in film, The Matrix. Over 1 million downloads, popular in Asia.

Raw Forge
photography
workflow
image processing
Windows 32-bit

Camera-Raw image processor, featuring a reverse-engineered NEF parser and CCD defect removal.

Pocket Universe
physics
Windows 16-bit
Windows 32-bit

Optimised simulation of galaxy collisions. 'Pixel-free' (anti-aliased) rendering.

FMC Synthesizer
audio
media
Amiga
1990

A sample-generating software synthesizer, featuring a freeform algorithm designer to create your own synthesizer designs.

Interlace
display mode
firmware
Amstrad CPC
1989

A display hack that changed the video chip timings, and switched between two display screens, every frame. This resulted in a doubling of the vertical display resolution, from 200 lines to 400 lines. Some OS calls were patched to write to the new row-ordering of the display format.

Atari 400 (8-bit)

Snake
game
joystick
1980

Everyone wrote one of those, didn't they? One to four players, joystick-controlled, levels with simple mazes, obstacles, optional wrap-around and creeping edges.

DS1
maths
graphics
chaos
1981

Math-driven pattern generator, made sponge-like coloured images, using techniques similar to a 'choas plot' or 'finite attractors' that later became popular.

Universe (codename)
astro
graphics
1981

Generated procedural mini-galaxies with star systems and planets, nearly developed into an 'occupation' strategy game. I liked Star Raiders, and wanted something more strategic, without the shooter action.

Display Writer
content
1981

Recorded text-mode editing, along with delay codes, to create 'attractor' displays. Used 4-colour 20-char text mode, or 2-colour 40-char text mode.

DLI
graphics hardware
1983

An easy way of making hardware interrupt lists for the display hardware: mode splits and palette changes

Road (codename)
game
avoidance
1983

Traverse a randomly-generated scrolling road, which occasionally branched. Edges slow you down, or cause damage. More points for crossing multiple targets.

Amstrad CPC (8-bit)

ViewFax (1986)
content
teletext
disc
interactive
emulation
1985

Disk-based teletext-like designer and viewer. (40 × 25, 4 colours). Other systems used the half-resolution 16-colour mode, which gave ugly 4px × 8px text characters.

Erode
game
maps
deformable

A game like Thrust (but before Thrust), where the objective was to land at a target with as much fuel as possible, with the ability to modify the terrain with limited charges. Multi-screen levels. Later modified so save scores to disk.

Splode
game
automata

A game played on a square 10 × 10 board, players take turns dropping a token on their colour on any square that does not contain anyone else's colour. Squares fill up. When four tokens are on a square, it explodes, leaving one token and distributing one to each adjacent square. Win by eliminating your opponent. Preceded 'Meltdown' by a few months.

AGE (AGE.BAS)
GUI
graphics
utility
API

A basic windowed GUI, with list menus, drawn GEM-like windows with titles, text and graphics regions, and blit routines to preserve canvases. Used by many authors to upgrade existing FSW programs.

Disk Menu
utility
disc

Disk Menu serves as a pretty menu for running the disk's contents, curated in DATA statements. Run it from a system keyboard shortcut. The display adapts to show up to 69 items, with shortcut key access. Useful for collections of small programs, this occupies one disk block, and allows you to launch programs with only two keypresses in total.

Disc Menagerie II (DMII.BAS + .BIN files)
utility
disc
content

An upgrade of Alastair Scott's original app, including a conversion of fixed-address machine code (JP) to relocatable modules (JR) to give the most free memory, a unified module loader, and a layered windowed GUI. A pleasant interface was designed to run the modules, and the utilities' own interfaces were redesigned. No download available - do you have it?

DefFont (DEFFONT.BAS)
graphics
font designer
bitmaps
editor

Fully-featured 8×8 Font editor, with merging, transformations, binary and basic input and output, all-mode previews.

Also, created using a modifed DefFont, a high-res font using characters defined on a 16 × 8 grid, that fits 40-characters across a (640 × 200) mode 2. and a (slow!) 53-character variant using a 12 × 8 grid.

BigScreen
display mode
shell
command line

Built upon existing code, it managed a 256-line display (standard CPC modes were 200-line), by stitching two display bitmaps, switched mid-screen by interrupts. Included a command-line interface (DOS-like) for finding and running BigScreen programs from disk. Many programs were modified to use it, e.g. an Earth globe that filled the screen, effectively using 60% more pixels for the on-screen circle.

Interlace
display mode
firmware

A display hack that changed the video chip timings, and switched between two display screens, every frame. This resulted in a doubling of the vertical display resolution, from 200 lines to 400 lines. Some OS calls were patched to write to the new row-ordering of the display format.

AArt
graphics
editor
bitmaps

Monochrome art software. Included pens, paths, textures, airbrushes, selections, cut/copy-and-paste, fonts any size, dithered gradient (simple error distribution), an outline font, compressed image format.

WACCI FSW

I contributed many titles to the WACCI FSW library. I'd be interested to get a copy of the library (please use the Contact Form to get in touch), as I cannot locate any of it on the Web, and have long since sold off my CPC and accompanying software. Some can be found in the CPC Power archive.

Amiga (16-bit, 1989)

Pocket Universe
physics
n-body
maths
graphics

The first of a long line of versions, this was an n-body simulation of a bunch of particles that were attracted at distance, and repelled close-up. Used to find configuration patterns of lowest potential. Included bond lines, setup-randomize-simulate-repeat.

MEN
shell
utility

MEN loads almost instantly with a menu to list all your apps, ready for launch. Essential for the fastest HD boot and launch of productivity apps. Configure in a plain text file. When focused, MEN can launch many apps from keyboard shortcuts or menu selection, in parallel.

AstroChase
game
action
arcade

A rewrite of the 8-bit game of the same name.

NetSim
physics
maths
linkages

Physical simulation of elastic rods-and-points networks, with material properties, gravity, and contraints: fixed points, walls.

FMC (1990)
audio
synthesizer
emulation

Freeform algorithm synthesizer. Emulated most of the synths around in the late 1980s and early 1990s. Included an early implementation of hypertext with diagrams. [More...]

PC (1992 onwards)

These are a few that I remember while writing this article.

FieldsP (Windows 95+)
maths
graphics

Download: complex phase views of summed waves.

Wave
simulation
graphics
Windows 16-bit

Simulated waves on a surface.

Immerse
simulation
audio
acoustics
Windows 32-bit

Constructed binaural FIR filters for spatializing sounds into simple environments, and ran dry audio through them.

Immerse: Rain
simulation
audio
acoustics
Windows 32-bit
2004

Live simulation of (90k/sec) raindrop impacts on surfaces, binaural rendering for each drop, up to 6th order reflections in different enviroments. Weather changed over time. Options for tuning the dynamic range of the output, environment, next weather, and high-frequency filtering.

Splode
game
graphics
DOS

Made again for the Amiga (see CPC version, above). Evolved into Flame (not a game) then FlameBlit (again not a game)

Flame
automata
text
DOS
Turbo Pascal

Played the Splode rules very quickly, on an 80 × 50-ish VGA text-mode screen.

FlameBlit
simulation
graphics
Windows 3.1
Delphi

An analogue version of Flame, which evolved into a fluid dynamic simulation of burning gases.

Fireworks
simulation
graphics
Windows 32-bit
GDI
Turbo Pascal

Screensaver that used evolving particles and triggers to render fireworks.

Thwart
simulation
game
graphics
Windows 32-bit
Delphi
2003

Marble Maze generator with many differently-sized balls, targets, and holes. Tilt the maze using the mouse. Featured some optimised physics processing.

EAKey
mobility
Windows
Delphi
2003

A diary that could be operated using a mouse or keyboard nipple. Auto-saving, RTF format

Crossmines
game
Windows 32-bit
Delphi

A development of the minesweeper game, where cells are shaped, and may link with other cells.

Pocket Universe Stars
astro
simulation
graphics
Windows 95
Delphi
2001

Pan and zoom star maps. Supported popular formats like Tycho, YaleHIP, and other segmented datasets. I liked it because it looked real (understated, anti-aliased points), variable dynamic range, rather than pixelated like the current star maps were.

...Others

(there are many others; we'll write more here soon).