Live data from Hacker News

Fully documented source code for Lander on the Acorn Archimedes

github.com

11–20 of 27 posts

Re: Fully documented source code for Lander on the Acorn Archimedes

#12
post #5

It seems that the software can be run in-browser here: https://archi.medes.live/

Direct link if you want to try out Lander: https://archi.medes.live/#disc=lander&autoboot

Also, since it was on here yesterday here's Lemmings: https://archi.medes.live/#disc=lemmings-demo&autoboot

The Archimedes probably had the best port of Lemmings from the original Amiga version, including (IMHO) even better music tracks than the original.

Re: Fully documented source code for Lander on the Acorn Archimedes

#14

Fresh out of school I started a job that involved updating some assembly code. I came across: #transfer the value from address 0x600 into R0 Mov &0x600, R0 ... several lines later ... #transfer the value in R0 to R1 Mov R1, R0 I puzzled over this while reading the rest of the program which had been similarly commented line for line and then eventually, there being no manuals, asked an older coworker to explain what w…

Managing comments is one thing I really appreciate AI helping me with in cursor.so, I can ask it to strip all the comments to get a dense code view, make some changes, then re-comment it, with the verbosity aligned with my level of understanding.

Re: Fully documented source code for Lander on the Acorn Archimedes

#15
post #5

It seems that the software can be run in-browser here: https://archi.medes.live/

The Archimedes had a mouse, so it is mouse-controlled in case anyone was wondering!

I'd love to add a touchpad-style control to make this usable on mobile. This seems like something someone should have made before, but I've not found anything suitable.

Re: Fully documented source code for Lander on the Acorn Archimedes

#17
post #4

This is written in Arm assembly language, for (I think) the ARM 2 CPU. Se the history section: https://en.wikipedia.org/wiki/ARM_architecture_family

Technically, Lander was written for the ARM1, as it originated on an Acorn ARM Evaluation System. As a result there are no MUL instructions in Lander, as they only got added in the ARM2.

That makes Lander first ever ARM game, and probably the only game ever written for the ARM1.

Re: Fully documented source code for Lander on the Acorn Archimedes

#18

OK, I need to see how the ship shadow was done.

The coordinates of the shadow are calculated here:

https://lander.bbcelite.com/source/main/subroutine/drawobjec...

and they are drawn here:

https://lander.bbcelite.com/source/main/subroutine/drawobjec...

The shadow is a very simple projection straight down onto the landscape, which isn’t totally accurate, but it’s quick and easy and looks good enough. The shadow doesn’t drape over the shape of the landscape, and the ship shadow appears on the ground beneath objects rather than on top of them, but you don’t really notice.

Lovely, simple, effective code. Much like the rest of Lander, really!

Re: Fully documented source code for Lander on the Acorn Archimedes

#19
post #2

Amazing work!

Indeed. Although I was hoping to see units on variables for altitude, velocity. (Maybe that's documented elsewhere?)

In terms of scale, there is the concept of the tile size, which is set to 0x01000000, and everything uses the same coordinate units, so it’s possible to extrapolate this to give some sense of scale.

You can see the configuration variables here:

https://lander.bbcelite.com/source/all/workspaces.html

I’ll probably add more scaling information as I do the deep dives.

And now I post that I see that I have failed to link to this file from the left nav, which won’t have helped! So I’ll sort that out…

Re: Fully documented source code for Lander on the Acorn Archimedes

#20
post #10

That's great for analyzing or reviewing the code. However, beyond that, there's not much else you can do with this code. This repository is not provided with a licence, and there is intentionally no LICENSE file provided. According to GitHub's licensing documentation, this means that "the default copyright laws apply, meaning that you retain all rights to your source code and no one may reproduce, distribute, or crea…

Yeah, I’ve had to add the same disclaimer to all my analyses of old code (e.g. Elite, Revs, Aviator). I’m not sure there’s any other solution - the original copyright owners still hold the copyright, and that’s just how it is. You can’t grant a license if you don’t own the rights…
Post reply on HN