Enrico Colombini (Erix)

Some of the software I designed

"The most effective debugging tool is still careful thought, coupled with judiciously placed print statements"
[attributed to Brian Kernighan, 1978]

I wrote countless programs for many systems and environments, using a variety of languages;
here is a small selection (excluding embedded software, which will be on my electronics design page)

Medusa compiler, multi-target toolchain and iOS player

[2009-2011, in-house] Lua, Objective-C, Javascript

Metaprogramming compiler and toolchain, designed to create highly interactive ebooks from a single source to HTML, PDF, EPUB, Mobipocket/Kindle and iOS with a specialized native reader.

A domain-specific language simulates a traditional adventure game programming model, which is then compiled to a set of fully static pages.

See toolchain details and my interactive novel.

Toolchain workflow and Locusta Temporis cover

GALE, an adventure game scriptable engine

[2007-2009, proprietary] C++, C, Lua

Multitasking, efficient logical engine designed for commercial Nintendo DS adventure games while working at Artematica Entertainment.

Optimized for the limited resources of the target device, GALE features a friendly scripting language. All game data are kept on the Lua side.

See also my recent games page.

Diabolik DS screenshot

GPTlib, an electronics testing framework

[2005-2006, proprietary] C++ Builder

Multi-tiered framework controlling in-house testing instrumentation, used as library by automated testing software, developed at EC Elettronica.

The lower layers handle communication and instrumentation protocols, the higher layer presents an unified API and offers manual control tools.

Test bench using GPTlib in EC Elettronica

Idra, a browser-hosted interactive book engine

[2000, GPL] Javascript

Hybrid engine for creating interactive novels, adventure games and educational software, using a mix of HTML presentation and simple Javascript logic.

Idra books do not require an expert programmer, can be read within a plain browser (even in a local page) and save reading/play data into cookies.

See also samples and documentation (in Italian).

A screen generated by Idra

Igloo, a graphic hypertext interpreter for MS-DOS

[1993-1994, in-house] C++

Fast, memory-efficient hypertext interpreter for 640-kB MS-DOS, with embedded language. Based on WNG/FGraph (see below).

Used for the interactive lessons in my best-selling self-instruction courseware "PC Subito" published by Jackson Libri in 1994.

Igloo screenshot from PC Subito splash window

Vox, a quality audio driver for the internal speaker

[1993, in-house] C, x86 assembly

Low-level driver and C API to get good-quality sound from the severely limited MS-DOS audio interface and typical internal speaker.

Makes use of system timers and PWM (pulse-width modulation) with oversampling to reduce aliasing; can also use Sound Blaster card if available.

Developed for my Echo! MS-DOS audiogame.

Screenshot from Echo! audiogame

WNG/FGraph, windowing system and video driver for MS-DOS

[1992-1993, in-house] C++, C, x86 assembly

WNG is a fast, memory-efficient windowing system for 640-kB MS-DOS; FGraph is the underlying highly-optimized VGA driver offering graphic primitives including transparency, patterns and clipping.

Used for my applications (see "Igloo" above) and licensed for embedded industrial software.
Rizzardo Strada of CJB contributed hi-res drivers.

WNG-FGraph test window

Ilda, a MS-DOS courseware interpreter

[1988-1990, in-house] C

Lightweight interpreter for semigraphic hypertext courseware (640-kB MS-DOS), with a simple definition and control language.

Used in my self-instruction courseware and licensed to the publisher for use by other authors.

See for example my widely published C course.

Image from my interactive self-instruction C course.

Modulo Base, a portable text adventure framework

[1985, published] Basic dialects

System-independent Basic tool for text adventure games; published for Apple II, IBM PC, Commodore 64, Sinclair Spectrum and MSX.

A later advanced version [1988] was for MS-DOS only. Both versions were used in some of my own adventure games and by many other authors.

Adventure books for five different systems

SPL, an accelerator for Apple II DOS

[1983, published] 6502 assembly

SPL, or "Speedload" to use the original funny name, greatly reduces Apple II file loading times without requiring special disk formatting.

Highly compatible with standard Apple DOS 3.3, it was published on the January 1984 issue of Micro magazine.

I originally designed it for my published games.

Micro magazine, January 1984

XEA, a 6502 to 6809 cross-assembler and editor

[1983, proprietary] 6502 assembly

Written at EC Elettronica with contributions from Chiara Tovena, Rizzardo Strada and Paolo Bozzola (CJB), XEA ran on a 64-kB SYM-1 development system.

It was used to develop industrial applications for the 6809 microcomputer board added to the company's modular product line.

It is quite compact: the total program size is 8 kB.

XEA manual and our SYM-1


  Updated 09/09/14 by Enrico Colombini (erix@erix.it)