Open Source Software
Projects I've contributed to
I list here only projects to which I've done larger contributions. There are too many projects to list here all the patches (e.g. for Valgrind) and bug reports I've sent during the years.
Projects I'm currently involved in
Projects I've been involved with earlier
My own Atari projects
As I'm involved with Atari emulator and TOS (ROM) projects, I've also written some Atari specific programs and ported existing Atari programs to ANSI-C & newer C compilers so that they can be updated and built for newer/current Atari machines like Firebee.
Most of these programs are games, like:
For more information, see my Atari programs page.
My own (multi-platform) projects
These are older projects originated in 90's when I had more time for my own projects. Below are listed still available sources and binaries for things which I have ported for several systems. I update them occasionally so that they build fine at least on Linux.
W Window System
In total the whole W window system contains about 150 000 lines of C-code of which I've written about a third. I became its maintainer in 1998 when Tesche and Kay became busy with other things.
Applications include for example HTML v1 browser and a color terminal emulator. The server supports monochrome, 2, 4 and 8 bit graphics natively. Other bit-depths work through libSDL (for testing purposes).
Source package has also my code to get Heretic, HeightField Labratory and XMountains programs work with WWS.
WWS has at some time been working on Linux (on top of SDL, GGI, framebuffer/GPM or SVGAlib), SunOS, Amiga NetBSD, Atari MiNT and MacMiNT. The SDL backend is currently the most tested one.
For more information on (older version of) WWS, see my historical pages.
Debianized sources for W are about 1.6MB:
To build them on Debian derived distributions after downloading them, just do:
dpkg-source -x wws_1.4.5.dsc cd wws-1.4.5/ dpkg-buildpackage -uc -us -b
Then install the produced packages normally (with dpkg, as root).
On other platforms/distributions, look into the top level README in the extracted source package for the build instructions.
Mortar, a portable, multiplayer artillery game
Mortar is a simple "Scorched Earth" game clone with raytraced graphics. It can be compiled for Linux 8/16-bit frambuffer, SDL, GGI, DOS, Amiga or Atari. Other than the SDL and Atari backends haven't been tested for a while though.
Despite the game itself being fairly simple, it has 11 KLOCs of C-code. For portability reasons game engine cannot use any other libraries beside C-library (and couple of POSIX functions), so it needs to implement everything itself, even handling of graphics data. Platform specific code (in win-*.c and snd-*.c files) is there just to change palette, open/write to framebuffer/window, get keys from the user, and (optionally) play sounds. Timings code is also somewhat platform specific.
Game itself works internally with (chunky) 8-bit graphics with palette and platform specific code handles outputting it. In Atari case this means chunky to planar conversion to screen bitdepth on every update, which slows down things. On higher bit-depth screens, it may increase speed.
Sources for the latest version with Debian packaging (540KB):
Above sources include also a Qt GUI toolkit / C++ based settings editor and game launcher for the game:
Sources for an earlier version with Debian packaging for Maemo (524KB):
Mortar for N770
An early Maemo binary package of Mortar (444KB) for the Nokia N770/IT2006 (maybe also later). The keys in the game are following:
Clac calculator has readline support for the command line version (tested on different Unix versions, MiNT and DOS) + a GEM GUI interface for Atari ST and later machines. There are also filter version of the calculator (which accompanied the commercial Atari Edith text editor) and a client-server one for the Atari MiNT OS. It understands operator predecence, hex/bin/dec/oct modes, trigonometric functions and complex number calculations. It was my first larger C program.
Sources for the latest version + atari binaries (350KB) with Debian packaging:
Naputus is a really simple memory and reflex game I wrote in Python to test the PyGame SDL bindings. It's a re-creation of a non-computer game used in Finnish "Spede show" game show...
The sources are 38KB.
Other Python stuff
In case you're interested about my more advanced Python programs than "Naputus", I've also written in Python for example:
Copyright © 2001-2015 by Eero Tamminen