Skip to content

Disassembled Source Code for the C64 game Iridis Alpha by Jeff Minter

Notifications You must be signed in to change notification settings

mwenge/iridisalpha

Repository files navigation

Iridis Alpha (1986) by Jeff Minter

This is the reverse-engineered and commented source code for the 1986 Commodore 64 game Iridis Alpha by Jeff Minter. Following the build instructions below you can compile and run Iridis Alpha from scratch yourself on a Linux or Windows desktop. Iridis Alpha was written in 6502 assembler so might be a challenge to read and understand, even for someone who is already familiar with low-level languages such as C. The objective of providing the commented code here is to allow an interested reader to understand the techniques Minter used when coding the game and gain some insight into the workings of 6502 assembler in a then-state-of-the-art Commodore 64 game. The place to start is the overview of the code in the src directory.

Iridis Alpha: The Book

If you want to read more about Iridis Alpha than is possibly healthy, you can try the current state of a work-in-progress, omnium-gatherum called Iridis Alpha Theory.

It is a deeper-than-is-possibly-sane dive into the code and assets of the game. The intended audience is anyone who is curious about how old computer games work, and the techniques required to get a cascade of colorful blasting pixels onto the screen. Hopefully you will find it both illuminating and fun.

Current Status

The source code is well documented at this point.

Because there is so much character and sprite data, and because Iridis Alpha contains two sub games, it was necessary to use a compressor (Exomizer) to produce the final binary.

Interesting findings, some analysis of the game logic and an overview of the code's structure can be found here. But you are much better off just reading the book!.

Download

Windows

No need for an emulator or to install anything else: just double-click iridisalpha.exe and you can get playing. Note that for the Windows version you will need to use the arrow-keys to move and the 'ctrl key to press fire. You can play the Windows version on Linux using wine as follows:

wine iridisalpha.exe

Play Online

If you just want to play the game, you can do so in your browser at https://mwenge.github.io/iridisalpha.xyz. (Ctrl key is 'Fire', Arrow Keys to move.) You might find the game's original manual a useful read to try and figure out what on earth is going on!

C64

Download the prg file and play on your vice emulator.

Build Requirements

Build Instructions

To compile and run it do:

$ make

The compiled game is written to the bin folder.

To just compile the game and get a binary (iridisalpha.prg) do:

$ make iridisalpha.prg

Iridis Alpha's Side Projects

During the development of Iridis Alpha Jeff Minter released a number of demos and mini-games to friends on Compunet. These are collected in the demos folder. They are:

  • DNA, a demo by Jeff Minter containing some preparatory work for the main game.
  • Torus, another demo by Jeff Minter containing some preparatory work for the main game.
  • Torus2, another iteration on Torus.
  • Iridis Spaceship, a non-interactive demo of the spaceship sprites.
  • Made in France, Iridis Alpha's pause-mode mini game.