[HN Gopher] Fully documented source code for Lander on the Acorn...
       ___________________________________________________________________
        
       Fully documented source code for Lander on the Acorn Archimedes
        
       Author : ibobev
       Score  : 150 points
       Date   : 2024-09-24 10:47 UTC (12 hours ago)
        
 (HTM) web link (lander.bbcelite.com)
 (TXT) w3m dump (lander.bbcelite.com)
        
       | unwind wrote:
       | 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 wrote:
         | 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!
        
           | unwind wrote:
           | 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. :)
        
           | amiga386 wrote:
           | 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 wrote:
             | 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. ;-)
        
       | whywhywhywhy wrote:
       | 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 wrote:
         | 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.
        
           | WWWWH wrote:
           | 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 wrote:
             | ...E-Type...
             | 
             | (who's up next?)
        
               | Lio wrote:
               | Chocks Away anyone?
        
               | louthy wrote:
               | Loved Chocks Away!
               | 
               | + Nevryon (rip off of R-Type)
        
               | mattbee wrote:
               | I genuinely think that is the best Archimedes-only game,
               | just pure arcade fun with split screen dogfights. Such an
               | amazing technical grounding. In 1990!
        
               | dave-f wrote:
               | Great game, I seem to remember you could play two player
               | using a serial cable, and my friend brought his
               | Archimedes around, we spent literally all night playing
               | it
        
               | mattkevan wrote:
               | Oh 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.
        
           | whywhywhywhy wrote:
           | > 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.
        
       | tirant wrote:
       | 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/
        
         | pdjstone wrote:
         | Direct link to play Lander -
         | https://archi.medes.live/#disc=lander&autoboot
        
           | gizajob wrote:
           | Thanks for the tips - a blast from the past straight back to
           | my School Daze (48K).
        
         | DrBazza wrote:
         | 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.
        
           | pasc1878 wrote:
           | 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 wrote:
             | 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.
        
               | pasc1878 wrote:
               | Word for windows was a port from Mac which was earlier.
               | 
               | However my point was that IBM PC had won by 1986 - all
               | business used that. Anything else was hobbyists only
               | except Macs for publishing.
        
           | billyjobob wrote:
           | > 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?
        
           | Sophira wrote:
           | 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.
        
           | fidotron wrote:
           | There 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 wrote:
       | Main source seems to be here:
       | https://github.com/markmoxon/archimedes-lander/blob/main/1-s...
        
         | DrBazza wrote:
         | He'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=read...
        
       | louthy wrote:
       | 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 wrote:
         | The ARM instruction set was a thing of beauty, right through
         | ARM6. Thumb sort of ruined it for me.
        
       | mellosouls wrote:
       | 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 wrote:
         | 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 wrote:
           | 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!
        
         | eschneider wrote:
         | Oh the envy. The rest of us shlubs on other platforms had to
         | hand assemble and poke it into memory. Ugh.
        
       | throwaway48476 wrote:
       | I wish there was an expectation that we get source code for
       | everything at 20 years instead of sometimes at 30 or 40.
        
       | timsneath wrote:
       | 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
        
       ___________________________________________________________________
       (page generated 2024-09-24 23:00 UTC)