Fully documented source code for Lander on the Acorn Archimedes

111 pointsposted 7 hours ago
by ibobev

27 Comments

mellosouls

2 hours 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

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

Sophira

an hour ago

To clarify for anyone else reading this: BBC BASIC had an assembler built in so that you could write in-line assembly language to be assembled at a given memory location, and the source is in the format used by the inline assembler.

It doesn't mean there's a port of the game written completely in BASIC!

unwind

6 hours 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

5 hours 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!

amiga386

4 hours ago

It's a demo because Braben called it one!

It's technically a game; there's no win condition but there is lose condition (3 lives) and a scoring system.

But I don't think most people play it as a game (aiming to get a new hiscore), they play it as a toy, slowly become more adept at the controls and meander the landscape, the points don't matter.

MarkMoxon

3 hours ago

OK, I guess if Braben says it's a demo, then it's a demo - fair point!

I still think it's a harsh term, especially when Lander has features that Zarch doesn't, and a really different atmosphere.

Ah well, me and Lander will be hovering here in the corner, throwing rocks at Zarch and all its fancy features. ;-)

unwind

5 hours ago

Thanks! My memories of "Virus" was that it was super-mega-difficult, but of course it was the late 80s and games were not afraid of having a bit of a learning curve to them. :)

tirant

5 hours 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

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

Sophira

an hour ago

Part of the reason for this is the way it used the position of the mouse pointer as reference for which direction the ship should be pointing, but hid the mouse pointer while playing, which concealed the fact that it was using the mouse pointer in this way.

A simple modification to the code to show the mouse pointer on screen makes it far easier to survive since it's easy to re-center the mouse.

billyjobob

3 hours ago

> if Acorn had been based in the US, the world would be using Acorn machines

Is not ARM (the Acorn Risc Machine) the most popular type of machine in the world currently?

pasc1878

4 hours ago

No the PC would still win as it has Office and other tools.

Yes Archimedes probably would beat Amiga(which Commodore messed up), Atari .

Apple Macs would also exist as they had Pagemaker and the Apple Laserwriter. These were out before the Archimedes.

DrBazza

2 hours ago

Back when the Arch came out with a full desktop environment, the typical PC was MS or DR DOS with TUI based WordPerfect. The full GUI Impression word processor was released in 1989, about the same time as the first version of Word for Windows, but was much, much, better (having used both side-by-side when I was a school kid). Also, RISC OS didn't BSOD.

But, anyway, it's all might-have-beens.

My point, really, is that any business in the US has a massive head-start because of economies of scale. States the size of European countries, less punitive taxes, and a single language for almost 400m make for a large market. It's just a shame Acorn wasn't based there.

louthy

3 hours 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

2 hours ago

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

whywhywhywhy

6 hours 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

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

whywhywhywhy

3 hours ago

> Same here, we loved it at school. Also a liquid simulator called "Aliquid"

We had that too, think our copy was just called ‘Water’. Spent a lot of my teenage coding experimenting trying to recreate that, but none of the engines I had access to were suitable for the task as they didn’t have direct pixel access. Wasn’t till I learnt Processing way later that I managed to replicate it.

Wish I’d shared my replication around more because this was a good 8 or so years before the “falling sand game” genre got memetic.

WWWWH

5 hours ago

I also wasted a lot of my youth playing Elite, so much fun. Check out the page--it also has annotated source code for Elite (a few different versions up there).

flir

5 hours ago

...E-Type...

(who's up next?)

Lio

4 hours ago

Chocks Away anyone?

louthy

3 hours ago

Loved Chocks Away!

+ Nevryon (rip off of R-Type)