Fully documented source code for Lander on the Acorn Archimedes

168 pointsposted 9 months ago
by ibobev

16 Comments

unwind

9 months ago

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

MarkMoxon

9 months ago

I've always felt that calling Lander a "demo" was harsh. It's a fully featured game in itself, and has features that Zarch doesn't (such as falling rocks and hover mode). Yes, Zarch was the result of continued development of Lander, but Lander stands on its own, and to me, that makes it a game in its own right, not a demo.

It's also a lot more relaxing to play. There's nothing more chill than flying over the bucolic landscape of Lander - no aliens or viruses in this version!

mellosouls

9 months ago

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...

MarkMoxon

9 months ago

I love the BASIC assembler on the BBC Micro and Archimedes. It is a work of art.

Incidentally, the fully buildable Lander source code in the website's accompanying git repository is also in BBC BASIC format - as an attempt to imagine what the original source might have looked like.

A Python script converts it to vasm-compatible format for compiling, but you can also build it on a real Archimedes if you want to. See https://lander.bbcelite.com/about_site/building_lander.html for details.

eschneider

9 months ago

Oh the envy. The rest of us shlubs on other platforms had to hand assemble and poke it into memory. Ugh.

tirant

9 months ago

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/

DrBazza

9 months ago

To be honest, it wasn't easily playable on the Arch as Lander or Zarch.

Remarkable game for its time, as was the machine. It always felt like if Acorn had been based in the US, the world would be using Acorn machines. Instead, based out the UK it was hard to get economies of scale to mass produce and ship world wide.

timsneath

9 months ago

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

throwaway48476

9 months ago

I wish there was an expectation that we get source code for everything at 20 years instead of sometimes at 30 or 40.

louthy

9 months ago

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).

regularfry

9 months ago

The ARM instruction set was a thing of beauty, right through ARM6. Thumb sort of ruined it for me.

whywhywhywhy

9 months ago

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.

scrumper

9 months ago

Same here, we loved it at school. Also a liquid simulator called "Aliquid" has just popped into my memory. Hours of fun.

Despite playing hours and hours of Elite on the school BBCs before we got a room full of Archimedes machines, I've only just today noticed that Lander was also made by David Braben.