<- Home

Atari index / news

Atari development with C

Atari programs with C-sources

Hatari UI

Hatari for:
- N900
- N800/N810
- N770

Debian packaged Atari games and demos

My Open Source Atari Software

Contents:

Introduction

I've written most of these programs originally in middle of 90's. I've been updating these recently, mainly to add support and test new versions of the AHCC and VBCC C-compilers. They've been pretty good at finding bugs in those...

Filler is pretty nice game and if you have smaller kids, both Ballerburg and ST-concentration can be fun with them too.

You can test the program binaries included with the packages below using the Hatari emulator which is available in most Linux distros. As Atari ROM file, you can use the freely available EmuTOS, all the programs work pretty well with it. Most of the programs work best with the (emulated) monochrome resolution / monitor, in Hatari you can use "-m" option to enable that.

As to running these on real Atari machines or in typical Aranym emulator setups, several of these programs use the whole screen and/or access screen directly, therefore they work best (or only) on single-tasking TOS (multitasking AES has no support for fullscreen non-GEM programs). Such programs are: PUNSSi, Mortar, Ballerburg, XIMG and VDI testers.

For Atari's Unix like environment MiNT, I have written a lot of additional programs (all in late 90's). Most of them are for the W window system mentioned in my other Open Source page.

Build notes

  • The programs below are buildable with either or both of the native Atari C-compilers which are available from my Atari development page.
  • All the Makefiles included with the programs don't build the programs directly, they may e.g. be just for packaging or automating AHCC project builds with the hmake.sh script (coming with the above development environment). I'd recommend you just to use AHCC IDE to load the project files and build the binaries, if *.prj files are included.
  • AHCC can build floating point using binaries only for targets which have FPU. If you need working floating point builds also for normal ST/STE/Falcon, you need to build the binaries with VBCC or GCC.

My own Open Source Atari programs

Clac calculator

A scientific command line calculator which can also be built with a GEM GUI for Atari. This offers most of the integer and floating point math functionality included into C and math library with some extras. It was my first larger C and GEM program in 1994.

Recently I've added support for AHCC and VBCC C-compilers and made the GEM GUI buildable against both (AHCC) xgemfast and GEMlib (GCC / VBCC) APIs.

Clac GEM version screenshot
Clac sources and 68000 binaries

Binaries are included with the Clac source package on my generic open source page and are compiled with GCC; CLI version with readline, GEM version with GEMlib.

Filler game

Filler is a simple resolution and bit-depth independent single player game for Atari 16/32-bit computers I wrote in C in 2012. It implements ball physics, but avoids need for floating point / FPU by using fixed point calculations, fraction lookup tables (for sin & cos) and integer square root. VDI is used for drawing and AES for input.

Filler game screenshot
The sources, Atari ST and ColdFire binaries

(32kB, built with AHCC)

PUNSSi game

PUNSSi is a monochrome two player arcade game I did for Atari (ST) in 90's using C, fixed point calculations and a bit of 68k assembly to handle the keyboard processor. It can be played either by using keyboard or joystick(s) and it's as multitasking (i.e. MiNT) friendly as something changing IKBD interrupt handler and screen address (for double buffering) can be.

Recently (1012) I've added support for the new AHCC and VBCC compilers and with help from Vincent Riviere, fixed the assembly code to ColdFire.

IKBD handler simulates two joysticks with keyboard in case one or both of the needed joysticks are missing. The same assembly code should work both on 680x0 and ColdFire, and it's available in GCC (gas) MIT, AHCC Motorola and VBCC (vasm) Motorola / Devpac formats.

PUNSSi game screenshot
The sources, Atari ST and ColdFire binaries

(56kB, built with VBCC)

Mortar game

Mortar is a simple "Scorched Earth" game clone with raytraced graphics. It implements everything itself (image loading, conversion, scaling, blitting etc) so it's very portable. Atari backend supports monochrome, 8, 16 and 32-bit color modes, but the game needs higher-end clone machine (or emulator) to run at usable speed even for smaller bit-depths because graphics are internally handled as 8-bit.

Mortar game screenshot
The sources, Atari ST and ColdFire binaries

(356kB, m68k version built with GCC, ColdFire one with VBCC)

Above package contains a subset of the sources on my Open Source page, these have Atari specific Makefile, are missing MIDI music, samples, Debian packaging and tools for generating the graphics at different sizes.

Besides GCC, sources can be built also with AHCC and VBCC, but both of these compilers are too buggy to provide fully working binaries (VBCC has corner-case code generation issues and AHCC 32-bit int support is not complete).

(X)IMG snapshot and viewer

These are my screen (X)IMG snapshot and a (X)IMG viewer utilities from 1995 which I ported to AHCC. Viewer works best in monochrome, you can scroll picture by moving the mouse.

XimgView screenshot
The sources and 68000 Atari binaries

(50kB, built with AHCC)

VDI testers

I wrote some VDI test programs with AHCC VDI/AES lib to demonstrate different (line, arc etc) drawing issues in EmuTOS and fVDI. Almost all the demonstrated EmuTOS issues were fixed to its latest (v0.8.7) version.

VDI testers screenshot
The sources and 68000 Atari binaries

(48kB, built with AHCC)

Ported GEM games with sources

These are GEM games from the 80's, which sources I've ported few years ago to ANSI-C and modern C-compilers from this century.

Ballerburg

Original Ballerburg from 1987 is a classic two player Atari game. I ported it to ANSI-C, fixed signedness, int size and other issues with different C compilers, made the code work also on other resolutions than ST-high, translated the source and German RSC-files to English & Finnish and added a GPL license, after agreeing about the license change with the original author.

1/4 Ballerburg game screenshot
Atari ST and ColdFire binaries

(252kB, built with AHCC, GCC and VBCC)

The new sources
(104kB)

Thomas Huth has ported the sources to SDL and other platforms under the Ballerburg SDL project.

ST-Concentration

ST-Concentation is nice a GEM memory game for 1-4 players. I've ported it to ANSI-C + AHCC/VBCC/GCC and cleaned the sources a bit.

ST-concentration game screenshot
The sources, Atari ST and ColdFire binaries

(48kB, built with AHCC)

Other programs

TODO: I could add here eg. early/nostalgic versions of some classical text-only free games like Hack v1 and Larn, text version of minesweeper etc.

Copyright © 2006-2013 by Eero Tamminen