5 ms·
Fully documented source code for Lander on the Acorn Archimedes
- throwaway48476 2y agoI wish there was an expectation that we get source code for everything at 20 years instead of sometimes at 30 or 40.
- timsneath 2y agoThis 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 https://www.youtube.com/watch?v=orP_0aQo-Pc
- unwind 2y agoAccording 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 https://en.wikipedia.org/wiki/Zarch
- MarkMoxon 2y agoI'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!
- unwind 2y agoThanks! 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. :)
- amiga386 2y agoIt'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 2y agoOK, 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. ;-)
- whywhywhywhy 2y agoWas 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 2y agoSame 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.
- WWWWH 2y agoI 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 2y ago...E-Type... (who's up next?)
- mattkevan 2y agoOh man, that brings back memories. I had a four pack of games from The Fourth Dimension - Cataclysm, Apocalypse, Chocks Away and E-Type. They were pretty much the only games we actually bought, rather than just demos from cover disks, so I played the absolute heck out of them. Even after many hours of flying time, I could never stick the landings in Chocks Away.
- Lio 2y agoChocks Away anyone?
- mattbee 2y agoI genuinely think that is the best Archimedes-only game, just pure arcade fun with split screen dogfights. Such an amazing technical grounding. In 1990!
- tirant 2y agoThere’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/ https://archi.medes.live/
- pdjstone 2y agoDirect link to play Lander - https://archi.medes.live/#disc=lander&autoboot https://archi.medes.live/#disc=lander&autoboot
- gizajob 2y agoThanks for the tips – a blast from the past straight back to my School Daze (48K).
- DrBazza 2y agoTo 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.
- fidotron 2y agoThere was some revealing commentary on this by (iirc) Chris Curry at the national computing museum. Acorn had tried to get the BBC Micro launched in the US but quickly learned the regulations in place turn into de facto protectionism when it suits them. Essentially they were given the runaround until the product was out of date. In UK tech circles I believe more was learned from episodes like that (and Quantel) which led to the later developments. For example, ARM prioritized Japan heavily even during the Japanese downturn. That generation has largely stopped working, and a side effect was they never made as much money as their US equivalents would have done. The problems afflicting the UK, Canada, Japan and even S Korea all stem from this. You cannot do business with the US long term without the US thinking it is winning all the time, and that converts all close US allies into at least appearing like states in decline.
- ilaksh 2y agoMain source seems to be here: https://github.com/markmoxon/archimedes-lander/blob/main/1-source-files/main-sources/Lander.arm https://github.com/markmoxon/archimedes-lander/blob/main/1-s...
- DrBazza 2y agoHe's annotated all the Elite source code as well, and even fixed some flickering many decades after the original was released. (edit) https://github.com/markmoxon/cassette-elite-beebasm?tab=readme-ov-file#flicker-free-elite https://github.com/markmoxon/cassette-elite-beebasm?tab=read...
- louthy 2y agoHappy 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 2y agoThe ARM instruction set was a thing of beauty, right through ARM6. Thumb sort of ruined it for me.
- louthy 2y agoThe last Acorn machine I wrote anything for was the RISC PC, which I think was ARM6, if I remember right. So, I lucked out: first Archimedes: ARM2, last one: ARM6 then done :D
- regularfry 2y agoDepends which model you had, I think. The 1994 model had the ARM610, updated to the ARM710 in 1995. I'd forgotten that the ARM7 series implemented two different instruction sets, though. The ARM710 had the same instruction set as the ARM610, with ARM7TDMI coming along slightly later.
- mellosouls 2y agoOne 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#landscapeconfig https://lander.bbcelite.com/source/all/lander_a.html#landsca...
- eschneider 2y agoOh the envy. The rest of us shlubs on other platforms had to hand assemble and poke it into memory. Ugh.
- MarkMoxon 2y agoI 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 https://lander.bbcelite.com/about_site/building_lander.html for details.
- Sophira 2y agoTo 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!