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 create derivative works from your work".
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…
I'm a little rusty, but I can still use it. Seems like things you learn when you're young stick with you, even if you haven't done it in over a decade.
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 was going on.
He looked at me with incredulity and said "what makes you think the comments have anything to do with the code?"
He explained "about 10 years ago the mechanical engineer finally got this program to work and his boss told him to explain what every line did, so he added the comments. The code has been updated for 10 years and no one's bothered to update the comments."
I have noticed that this is a truth throughout the rest of my career, although I have heard that NASA has someone whose job it is during code reviews specifically to make sure that the comments are kept up to date.
In just about every code base I have come across, 3/4 of the comments are wrong or unnecessary, and there is at least 1/4 of comments entirely missing to explain the inexplicable.
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.
I remember playing this for the first time and being absolutely stunned. I think it would have been on an A3000, and up to then, the only machines I'd used were BBC micros and a Mac 512, neither of which were capable of anything like this. It was like science fiction.
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.
Back in the days I wanted to get an Archimedes, moving away from my Amiga A4k40 but it was hard to get in Germany. I did get a Bebox instead. Sadly, both were killed by PCs with GPUs.
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!
[+] [-] adulau|2 years ago|reply
[+] [-] MarkMoxon|2 years ago|reply
[+] [-] nickt|2 years ago|reply
https://en.m.wikipedia.org/wiki/Zarch
[+] [-] Smoosh|2 years ago|reply
[+] [-] pdjstone|2 years ago|reply
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.
[+] [-] Kim_Bruning|2 years ago|reply
I'm a little rusty, but I can still use it. Seems like things you learn when you're young stick with you, even if you haven't done it in over a decade.
Thank you for linking this, Smoosh!
[+] [-] qingcharles|2 years ago|reply
[+] [-] readthenotes1|2 years ago|reply
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 was going on.
He looked at me with incredulity and said "what makes you think the comments have anything to do with the code?"
He explained "about 10 years ago the mechanical engineer finally got this program to work and his boss told him to explain what every line did, so he added the comments. The code has been updated for 10 years and no one's bothered to update the comments."
I have noticed that this is a truth throughout the rest of my career, although I have heard that NASA has someone whose job it is during code reviews specifically to make sure that the comments are kept up to date.
In just about every code base I have come across, 3/4 of the comments are wrong or unnecessary, and there is at least 1/4 of comments entirely missing to explain the inexplicable.
[+] [-] tudorw|2 years ago|reply
[+] [-] twic|2 years ago|reply
[+] [-] Symbiote|2 years ago|reply
Se the history section: https://en.wikipedia.org/wiki/ARM_architecture_family
[+] [-] MarkMoxon|2 years ago|reply
That makes Lander first ever ARM game, and probably the only game ever written for the ARM1.
[+] [-] m0d0nne11|2 years ago|reply
[+] [-] KingOfCoders|2 years ago|reply
[+] [-] twic|2 years ago|reply
[+] [-] MarkMoxon|2 years ago|reply
I’ve written a deep dive on how it works, here:
https://lander.bbcelite.com/deep_dives/generating_the_landsc...
It’s basically a Fourier analysis. Very, very clever!
[+] [-] qingcharles|2 years ago|reply
[+] [-] MarkMoxon|2 years ago|reply
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!
[+] [-] dynjo|2 years ago|reply
[+] [-] Tempest1981|2 years ago|reply