September 24th, 2024

Fully documented source code for Lander on the Acorn Archimedes

The site offers fully documented reconstructed source code for "Lander," a classic game, providing educational resources, a GitHub repository, and articles on its mechanics and historical significance.

Read original articleLink Icon
Fully documented source code for Lander on the Acorn Archimedes

This site offers a fully documented source code for "Lander," a pioneering game developed by David Braben for the Acorn Archimedes. The source code is reconstructed from disassembled game binaries, providing a detailed educational resource for those interested in the game's mechanics and development. Although it is not the original source code, it is designed to produce identical game files, with all variable and routine names created by the author, Mark Moxon. The project aims to enhance understanding of the game and its significance in the history of 3D coding, following Braben's earlier success with "Elite." The site includes a quick start guide, deep dive articles, and a GitHub repository for users interested in building their own version of the game. The repository contains fully commented code that can be compiled on modern computers to create a playable version of "Lander" for the Acorn Archimedes or an emulator. Additionally, the site features various resources, including articles on the game's structure, graphics, and programming techniques, making it a comprehensive hub for enthusiasts and developers alike.

- The site provides reconstructed source code for "Lander," a classic game for the Acorn Archimedes.

- The source code is fully documented and can be built to create a working game.

- The project aims to educate users about the game's mechanics and its historical significance.

- A GitHub repository is available for those interested in experimenting with the code.

- The site includes various resources, including deep dive articles on programming techniques used in the game.

Link Icon 8 comments
By @unwind - 5 months
According to Wikipedia, "Lander" is only a demo, the actual game is "Zarch" [1]. Later ported to the Amiga, and renamed "Virus" (which is the title I knew, having grown up on the Amiga).

Very impressive, and cool to read the ARM assembly since it looks similar today of course. :)

[1]: https://en.wikipedia.org/wiki/Zarch

By @mellosouls - 5 months
One of the coolest things about BBC BASIC was the ability to slot inline assembly, and (I think?) reference the same variables in both modes as in the code on the op site.

[BASIC]

FOR I% = 1 TO (TILES_Z - 1) / 2

[

[ASSEMBLY]

  OPT    pass%

  EQUB   &E3, TILES_X               \ Tile row data (even)
  EQUB   &E4, TILES_X               \ Tile row data (odd)
]

[BASIC AGAIN]

NEXT

[

https://lander.bbcelite.com/source/all/lander_a.html#landsca...

By @tirant - 5 months
There’s an online emulator for the Lander on the Acorn. Not easily playable in a phone due to the control scheme though.

https://archi.medes.live/

By @timsneath - 5 months
This is an incredible labor of love and historical record. The technical articles alone have a depth that goes further than the documentation for any living project that I know of. I can only imagine how much work has gone into this. He gives a talk on his disassembly work here, which deserves a wider audience: https://www.youtube.com/watch?v=orP_0aQo-Pc
By @throwaway48476 - 5 months
I wish there was an expectation that we get source code for everything at 20 years instead of sometimes at 30 or 40.
By @ilaksh - 5 months
By @louthy - 5 months
Happy days of flying the Lander ship straight into the landscape again, and again! :D

I got an Acorn Archimedes after my first computer (BBC Micro) and was utterly blown away by the elegance of the ARM instruction set. I remember being quite disgusted when I got my first job developing an engine for the Playstation 1 and had to optimise it for the MIPS R3000. There was none of the ARM elegance there. It was, well, ugly!

I'm still yet to see any assembler that's quite so elegant (although my low level coding days are thankfully long behind me).

By @whywhywhywhy - 5 months
Was completely obsessed with this game on the school computers. Had an Amiga at home but never knew it had a port till like 10 years later.