Improved Electron version of Elite

reminisce about classic bbc micro and acorn electron games here
Related forum: adventures


User avatar
MarkMoxon
Posts: 605
Joined: Thu Jul 18, 2019 4:38 pm
Contact:

Improved Electron version of Elite

Post by MarkMoxon »

I have just released an improved version of Elite for the Acorn Electron. It supports:
  • Flicker-free planets (this is a brand new feature)
  • Flicker-free ships and stations (as in the previously released flicker-free version)
  • Escape capsule animation (ported from the BBC Micro)
  • High-fidelity planets (so planet circles have the same definition as on the BBC Micro)
  • Improved stardust (standard Electron Elite has two sizes of stardust while the BBC Micro has three, so this adds single-pixel stardust to the Electron, which makes it feel a little bit more 3D)
Here are the details:
If anyone manages to run this on real hardware, let me know how it goes!

Enjoy...

Mark
Last edited by MarkMoxon on Wed Mar 08, 2023 3:43 pm, edited 1 time in total.
User avatar
sorvad
Posts: 2190
Joined: Wed Aug 24, 2005 1:13 pm
Location: Back of beyond
Contact:

Re: Improved Electron version of Elite

Post by sorvad »

Fantastic, Electron Elite was my first Elite. My kit is in storage however, so can't help on hardware testing. Great work, look forward to playing.
User avatar
jms2
Posts: 3765
Joined: Mon Jan 08, 2007 6:38 am
Location: Derby, UK
Contact:

Re: Improved Electron version of Elite

Post by jms2 »

This sounds great!

I will be able to test it, just a lack of spare time today prevented me.

You don't mention that you've also created a disc version, which doesn't officially exist for the Electron (or had you done that already?)

Did I send you my Electron Tube Elite sources? There's still room for an ultimate Elk version! :)
User avatar
MarkMoxon
Posts: 605
Joined: Thu Jul 18, 2019 4:38 pm
Contact:

Re: Improved Electron version of Elite

Post by MarkMoxon »

jms2 wrote: Wed Mar 08, 2023 10:43 pm This sounds great!

I will be able to test it, just a lack of spare time today prevented me.
That would be great! Thank you.
jms2 wrote: Wed Mar 08, 2023 10:43 pm You don't mention that you've also created a disc version, which doesn't officially exist for the Electron (or had you done that already?)
I've only ever worked with the disc version of Electron Elite. My Electron disassembly (and, by extension, this enhanced version) is taken from the Stairway to Hell disc image, so I can't take any credit for that aspect. The UEF on my site is just an export of the disc files to a UEF image - that's why it loads into the screen memory on startup (not pretty, but that's what the STH version does).

So that part isn't new, or my work. :-)
jms2 wrote: Wed Mar 08, 2023 10:43 pm Did I send you my Electron Tube Elite sources? There's still room for an ultimate Elk version! :)
I don't think you did (I just looked through our PM chat, and can't see any references to you sending the sources, anyway).

Always up for looking into something new and exciting, though! Although time is always the limiting factor... and I really must get onto the Sentinel commentary that I've been meaning to start for ages now... :shock:

Mark
User avatar
jms2
Posts: 3765
Joined: Mon Jan 08, 2007 6:38 am
Location: Derby, UK
Contact:

Re: Improved Electron version of Elite

Post by jms2 »

Whoops, I thought I had done that. Maybe we just talked about the idea. Anyway, I'll dig them out.
User avatar
jms2
Posts: 3765
Joined: Mon Jan 08, 2007 6:38 am
Location: Derby, UK
Contact:

Re: Improved Electron version of Elite

Post by jms2 »

OK, tested it on my real Electron - it seems to work fine!

One feature that doesn't is saving/loading to disc, but I guess that's simply a feature of this being essentially the tape version, but loaded from disc. Ideally, given that Electron DFSs typically have PAGE at &E00, it would be good if the *TAPE could be removed, then maybe this feature would work?
User avatar
MarkMoxon
Posts: 605
Joined: Thu Jul 18, 2019 4:38 pm
Contact:

Re: Improved Electron version of Elite

Post by MarkMoxon »

jms2 wrote: Sun Mar 12, 2023 4:53 pm OK, tested it on my real Electron - it seems to work fine!
Great, thank you for trying it out!
jms2 wrote: Sun Mar 12, 2023 4:53 pm One feature that doesn't is saving/loading to disc, but I guess that's simply a feature of this being essentially the tape version, but loaded from disc. Ideally, given that Electron DFSs typically have PAGE at &E00, it would be good if the *TAPE could be removed, then maybe this feature would work?
It looks like Electron Elite runs at &0D00 rather than &0E00, though it would be easy to disable the *TAPE command and see what happens. If the DFS uses &0D00 through &0E00 as workspace, that might be a problem!

Memory map: https://www.bbcelite.com/deep_dives/the ... ctron.html

Mark
User avatar
jms2
Posts: 3765
Joined: Mon Jan 08, 2007 6:38 am
Location: Derby, UK
Contact:

Re: Improved Electron version of Elite

Post by jms2 »

Oh, well in that case it probably won't work. I'm pretty sure page &D is essential for disc operation. :(
User avatar
MarkMoxon
Posts: 605
Joined: Thu Jul 18, 2019 4:38 pm
Contact:

Re: Improved Electron version of Elite

Post by MarkMoxon »

jms2 wrote: Sun Mar 12, 2023 7:13 pm Oh, well in that case it probably won't work. I'm pretty sure page &D is essential for disc operation. :(
Interesting. So, my version is basically the same as the Stairway to Hell disc version, just with flicker removed and a few other features, but I haven’t changed the save routines at all. So does this mean the STH disc version is also hobbled when it comes to saving - so it can run from disc but can only save or load commanders from tape? I’ll have to try it, unless someone already knows if this is the case?

At least the UEF version should work as expected. :D

Mark
User avatar
jms2
Posts: 3765
Joined: Mon Jan 08, 2007 6:38 am
Location: Derby, UK
Contact:

Re: Improved Electron version of Elite

Post by jms2 »

I can't find an Electron Elite disc image on STH - are you sure that's where you got yours from? The version I have is from Acorn Electron World, the filename being HD-ELIT.SSD. Saving and loading to disc doesn't work on this version either, it drops into tape mode and displays "Searching".
User avatar
rmbrowngr
Posts: 619
Joined: Sat Jan 13, 2018 12:46 pm
Location: Dionysos, Greece
Contact:

Re: Improved Electron version of Elite

Post by rmbrowngr »

jms2 wrote: Sun Mar 12, 2023 4:53 pm One feature that doesn't is saving/loading to disc, but I guess that's simply a feature of this being essentially the tape version, but loaded from disc. Ideally, given that Electron DFSs typically have PAGE at &E00, it would be good if the *TAPE could be removed, then maybe this feature would work?
Would be fantastic! One of my wishes, save to disc.
Richard B
Acorn Electrons issue 4 and 6, MRB, Plus 1 x2, Plus 3, AP6 x2, AP5, Pegasus 400, BeebSCSI, Gotek, Raspberry Pi Co-processor, GoSDC MBE.
BBC B+ 64K (128K upgraded) with Duel OS, Raspberry Pi Co-processor and Gotek.
User avatar
rmbrowngr
Posts: 619
Joined: Sat Jan 13, 2018 12:46 pm
Location: Dionysos, Greece
Contact:

Re: Improved Electron version of Elite

Post by rmbrowngr »

jms2 wrote: Sun Mar 12, 2023 8:21 pm I can't find an Electron Elite disc image on STH - are you sure that's where you got yours from? The version I have is from Acorn Electron World, the filename being HD-ELIT.SSD. Saving and loading to disc doesn't work on this version either, it drops into tape mode and displays "Searching".
I probably have this. I need to check tomorrow.

I probably have UEF’s as well from Acorn Electron World and STH.
Richard B
Acorn Electrons issue 4 and 6, MRB, Plus 1 x2, Plus 3, AP6 x2, AP5, Pegasus 400, BeebSCSI, Gotek, Raspberry Pi Co-processor, GoSDC MBE.
BBC B+ 64K (128K upgraded) with Duel OS, Raspberry Pi Co-processor and Gotek.
User avatar
MarkMoxon
Posts: 605
Joined: Thu Jul 18, 2019 4:38 pm
Contact:

Re: Improved Electron version of Elite

Post by MarkMoxon »

jms2 wrote: Sun Mar 12, 2023 8:21 pm I can't find an Electron Elite disc image on STH - are you sure that's where you got yours from? The version I have is from Acorn Electron World, the filename being HD-ELIT.SSD. Saving and loading to disc doesn't work on this version either, it drops into tape mode and displays "Searching".
Whoops, no, I’ve checked and mine is from everygamegoing and has that exact filename, so I’m guessing it’s the same as your version. Apologies! I also have UEFs from Stairway to Hell and everygamegoing that I haven’t yet compared to the everygamegoing disc version.

I’d better correct that on my site, then - ignore me! Too many versions… #-o

Mark
User avatar
rmbrowngr
Posts: 619
Joined: Sat Jan 13, 2018 12:46 pm
Location: Dionysos, Greece
Contact:

Re: Improved Electron version of Elite

Post by rmbrowngr »

Two versions of the tape version from STH:
Elite-SRR_E.uef
(23.94 KiB) Downloaded 43 times
Elite_E.uef
(23.91 KiB) Downloaded 20 times
Richard B
Acorn Electrons issue 4 and 6, MRB, Plus 1 x2, Plus 3, AP6 x2, AP5, Pegasus 400, BeebSCSI, Gotek, Raspberry Pi Co-processor, GoSDC MBE.
BBC B+ 64K (128K upgraded) with Duel OS, Raspberry Pi Co-processor and Gotek.
User avatar
haerfest
Posts: 37
Joined: Fri Dec 17, 2021 10:28 am
Location: Assen, NL
Contact:

Re: Improved Electron version of Elite

Post by haerfest »

MarkMoxon wrote: Sun Mar 12, 2023 7:24 pm So does this mean the STH disc version is also hobbled when it comes to saving - so it can run from disc but can only save or load commanders from tape?
The Elite that's included in the BEEB.MMB I probably downloaded from the ElkSD64 page does exactly that -- starts up from disc, but requires tape to save & load progress.

Months ago I had a quick look whether I could merge in the disc routines of the BBC disc version and remove the tape stuff. I remember that Electron Elite tramples over the tables in lower RAM that the OS uses to keep track of which ROMs are present, so essentially when you start Elite, the Electron forgets it can talk to a disc drive.

I am yet to try out the Tube version of Electron Elite but I had a thought for an ultimate native Electron Elite. Most of us probably have an SD card and at least one 16K sideways RAM bank in their Elks by now. That could help in two significant ways:

1. Features. Provide fast loading times and extra room to port the BBC disc version of Elite and include all the features we miss out on.
2. Speed. Since the CPU accesses SWRAM at 2 MHz (instead of the 1 MHz for regular RAM), any performance critical code could be kept in there to bring it closer to BBC-level smoothness.

I think one complication is that on the Electron the keyboard occupies the same address range as SWRAM and Elite pages it in right from the start. We'd need a little routine in main RAM that we can call from SWRAM to temporarily page in the keyboard, read from it, then page SWRAM back in.
Ramtop
Posts: 384
Joined: Tue Oct 23, 2018 1:40 pm
Contact:

Re: Improved Electron version of Elite

Post by Ramtop »

Some time ago I tried hacking the Elk version of Elite to put the drawing and maths routines in SW memory. It worked enough to see an obvious performance increase, but switching between the keyboard bank and SW ram bank caused a lot of glitches; I'm rubbish at reading 6502 code, and admitted defeat in the end.

But hopefully someone more skilled than me can take up the challenge. I'd like to see an Elk Elite with all the missing parts from the BBC version restored, plus perhaps some colourful Mode 1 graphics.
Gary
User avatar
haerfest
Posts: 37
Joined: Fri Dec 17, 2021 10:28 am
Location: Assen, NL
Contact:

Re: Improved Electron version of Elite

Post by haerfest »

I've made another effort and managed to adapt Mark's flicker free version to make use of SWRAM. This gives two improvements:
  • Speed. The game should run a bit faster since SWRAM is accessed at 2 MHz.
  • Disk saving. Saving and loading to/from disk now works \:D/
A disk image is attached below. Forked GitHub repo here, branch swram.

The SWRAM bank to use is communicated to Elite's loader via zero page. The *BOOT file will load a little BASIC program that will ask for the bank to use before the loader takes control. If you want to start manually, issue:

Code: Select all

CHAIN "ELITESW"
There are some further refinements I'd like to make but in the meantime the interested can have a play :D

Edit 2024/03/29: Replaced the disk image by a version with Mark's fix for broken cargo and equipment screens following a Shift-Break.
Edit 2023/10/29: Replaced the disk image by a version that automatically picks an unoccupied SWRAM bank for added convenience.

o7
Wouter
Attachments
elite-electron-flicker-free-swram-egg.ssd
(29 KiB) Downloaded 7 times
Last edited by haerfest on Fri Mar 29, 2024 1:37 pm, edited 4 times in total.
User avatar
jms2
Posts: 3765
Joined: Mon Jan 08, 2007 6:38 am
Location: Derby, UK
Contact:

Re: Improved Electron version of Elite

Post by jms2 »

Wow, that's very impressive work, which brings disk saving to Electron Elite for the first time...! Well done.
User avatar
rmbrowngr
Posts: 619
Joined: Sat Jan 13, 2018 12:46 pm
Location: Dionysos, Greece
Contact:

Re: Improved Electron version of Elite

Post by rmbrowngr »

Wow! Can’t wait to try it!
Richard B
Acorn Electrons issue 4 and 6, MRB, Plus 1 x2, Plus 3, AP6 x2, AP5, Pegasus 400, BeebSCSI, Gotek, Raspberry Pi Co-processor, GoSDC MBE.
BBC B+ 64K (128K upgraded) with Duel OS, Raspberry Pi Co-processor and Gotek.
User avatar
MarkMoxon
Posts: 605
Joined: Thu Jul 18, 2019 4:38 pm
Contact:

Re: Improved Electron version of Elite

Post by MarkMoxon »

haerfest wrote: Sat Oct 21, 2023 6:32 pm I've made another effort and managed to adapt Mark's flicker free version to make use of SWRAM.
Brilliant! It's great to see the Electron version being developed further. Well done! =D>
haerfest wrote: Sat Oct 21, 2023 6:32 pm There are some further refinements I'd like to make but in the meantime the interested can have a play :D
Oooh, that sounds fun! I'm assuming the extra memory available means there's room for more BBC Micro features to be backported? [-o<

Very exciting.

Mark
User avatar
haerfest
Posts: 37
Joined: Fri Dec 17, 2021 10:28 am
Location: Assen, NL
Contact:

Re: Improved Electron version of Elite

Post by haerfest »

jms2 wrote: Sat Oct 21, 2023 8:35 pm Wow, that's very impressive work, which brings disk saving to Electron Elite for the first time...!
Actually that particular part was almost no work at all! After I had relocated most of Elite's workspaces and code above &8000 there was no longer a need to move what little is left in main RAM down to &D00, so I just kept it at &2000 where it's initially loaded. That freed up those lower pages for DFS or MMFS to work again. All that was left to do... was to remove the call to *TAPE :lol:

(I did add a little confirmation "beep" after successful loading/saving because SD cards are so fast that one might think nothing happened.)
MarkMoxon wrote: Sun Oct 22, 2023 11:50 am I'm assuming the extra memory available means there's room for more BBC Micro features to be backported? [-o<
I'm thinking of keeping this one mostly the way it is, to closely mimic the original Electron version, just running a bit faster and with the convenience of saving to disk. However I would like to have a look at your BBC disk version to see if that can be ported over to the Electron (again using SWRAM) since it's already loading code in in two chunks (docked & in-flight). I'm hoping that will be less work than porting individual features over, and with less risk of things suddenly not working.

And massive thanks for your efforts in documenting all those Elite versions, Mark! Without your hard work I would never have been able to whip up an Electron SWRAM version. Much, much appreciated! =D>

Wouter
Ramtop
Posts: 384
Joined: Tue Oct 23, 2018 1:40 pm
Contact:

Re: Improved Electron version of Elite

Post by Ramtop »

Well, done! =D> =D>
Gary
User avatar
rmbrowngr
Posts: 619
Joined: Sat Jan 13, 2018 12:46 pm
Location: Dionysos, Greece
Contact:

Re: Improved Electron version of Elite

Post by rmbrowngr »

haerfest wrote: Sun Oct 22, 2023 1:24 pm However I would like to have a look at your BBC disk version to see if that can be ported over to the Electron (again using SWRAM) since it's already loading code in in two chunks (docked & in-flight). I'm hoping that will be less work than porting individual features over, and with less risk of things suddenly not working.
There is a BBC disk version that uses SWRAM to load data into memory and not have to access the disk each time I believe.
Richard B
Acorn Electrons issue 4 and 6, MRB, Plus 1 x2, Plus 3, AP6 x2, AP5, Pegasus 400, BeebSCSI, Gotek, Raspberry Pi Co-processor, GoSDC MBE.
BBC B+ 64K (128K upgraded) with Duel OS, Raspberry Pi Co-processor and Gotek.
User avatar
MarkMoxon
Posts: 605
Joined: Thu Jul 18, 2019 4:38 pm
Contact:

Re: Improved Electron version of Elite

Post by MarkMoxon »

haerfest wrote: Sun Oct 22, 2023 1:24 pm And massive thanks for your efforts in documenting all those Elite versions, Mark! Without your hard work I would never have been able to whip up an Electron SWRAM version. Much, much appreciated! =D>
My pleasure, Wouter! Part of the reason I put it all out there was so others could have a go at tweaking the original game, and it's great to see this happening. :-)
rmbrowngr wrote: Sun Oct 22, 2023 3:08 pm There is a BBC disk version that uses SWRAM to load data into memory and not have to access the disk each time I believe.
I think that’s the idea, but I've never managed to get it working. If I load it up on my Beeb with sideways RAM enabled, it still loads from disc when docking or launching. If anyone has got the sideways RAM version working, I'd love to know!

Mark
User avatar
rmbrowngr
Posts: 619
Joined: Sat Jan 13, 2018 12:46 pm
Location: Dionysos, Greece
Contact:

Re: Improved Electron version of Elite

Post by rmbrowngr »

MarkMoxon wrote: Sun Oct 22, 2023 6:42 pm I think that’s the idea, but I've never managed to get it working. If I load it up on my Beeb with sideways RAM enabled, it still loads from disc when docking or launching. If anyone has got the sideways RAM version working, I'd love to know!
I have a working version somewhere. I’ll have a look tomorrow.

BTW I was using it on B+ with SWRAM.
Richard B
Acorn Electrons issue 4 and 6, MRB, Plus 1 x2, Plus 3, AP6 x2, AP5, Pegasus 400, BeebSCSI, Gotek, Raspberry Pi Co-processor, GoSDC MBE.
BBC B+ 64K (128K upgraded) with Duel OS, Raspberry Pi Co-processor and Gotek.
User avatar
rmbrowngr
Posts: 619
Joined: Sat Jan 13, 2018 12:46 pm
Location: Dionysos, Greece
Contact:

Re: Improved Electron version of Elite

Post by rmbrowngr »

I’ve uploaded the version, plus others in this post https://stardot.org.uk/forums/viewtopi ... 75#p236775
Richard B
Acorn Electrons issue 4 and 6, MRB, Plus 1 x2, Plus 3, AP6 x2, AP5, Pegasus 400, BeebSCSI, Gotek, Raspberry Pi Co-processor, GoSDC MBE.
BBC B+ 64K (128K upgraded) with Duel OS, Raspberry Pi Co-processor and Gotek.
User avatar
MarkMoxon
Posts: 605
Joined: Thu Jul 18, 2019 4:38 pm
Contact:

Re: Improved Electron version of Elite

Post by MarkMoxon »

rmbrowngr wrote: Sun Oct 22, 2023 10:19 pm I’ve uploaded the version, plus others in this post https://stardot.org.uk/forums/viewtopi ... 75#p236775
Yes, that's the one! It's available from Ian Bell's site, as the 'Master 128 & "Executive" 2ndPro Elites [disk image]':

http://www.elitehomepage.org/bbc/index.htm

His version is a .img file, rather than .ssd, but I’m pretty sure they contain the same files. It's not an official release. I've analysed three of the versions (disc, Executive and Master), but not the SWRAM version, as I've not managed to get it working on my Model B with sideways RAM (it runs, but it still loads the game when launching or docking).

I think I'll have to have another go, as it could easily be me getting something wrong...

Mark
User avatar
MarkMoxon
Posts: 605
Joined: Thu Jul 18, 2019 4:38 pm
Contact:

Re: Improved Electron version of Elite

Post by MarkMoxon »

MarkMoxon wrote: Sun Oct 22, 2023 10:39 pm I think I'll have to have another go, as it could easily be me getting something wrong...
It definitely doesn't work on my Model B with ATPL Sidewise board (16K sideways RAM). The "BBC Model B SRAM Elite" version acts just like the normal disc version - it loads and runs fine, but when I launch or dock, it loads from the disc, as always. I'm assuming that its extra feature is not needing to load from disc all the time, though there isn't any documentation, so this is a guess.

It could easily be an incompatibility with my particular sideways RAM - I don't get an error if I write-protect the SRAM, so perhaps the loader just isn't seeing it and loads the normal version instead. My sideways RAM works fine for ROMs, Exile and so on.

I'd be interested to know if anyone else has managed to get the SRAM version working with a Model B and sideways RAM!

Mark
Eleccy
Posts: 21
Joined: Mon Mar 21, 2022 10:24 pm
Contact:

Re: Improved Electron version of Elite

Post by Eleccy »

MarkMoxon wrote: Wed Mar 08, 2023 11:53 am I have just released an improved version of Elite for the Acorn Electron. It supports:
  • Flicker-free planets (this is a brand new feature)
  • Flicker-free ships and stations (as in the previously released flicker-free version)
  • Escape capsule animation (ported from the BBC Micro)
  • High-fidelity planets (so planet circles have the same definition as on the BBC Micro)
  • Improved stardust (standard Electron Elite has two sizes of stardust while the BBC Micro has three, so this adds single-pixel stardust to the Electron, which makes it feel a little bit more 3D)
Here are the details:
If anyone manages to run this on real hardware, let me know how it goes!

Enjoy...

Mark
Hi, ive tried playing this on my electron with plus one and elk sd mmfs ie on real hardware.

First of all im really impressed with the achievement of enhancing this classic game. Impressed or in awe. =D>

It is playable but only to a certain pointfor me. Apologies if this was already discussed. I dont think it was though. can load it, launch the ship, fly around and shoot things. I can hyperspace. But im having problems with trading and equipping the ship. The screen to buy cargo disappears again before i get the chance to actually buy any. Same with equip ship. Did anyone else have this problem?

Btw i experienced to the same thing with the fantastic sideways ram version too.

I hope a solution can be found, id love to have a proper blast on this, especially the sideways ram version which lets you save to disk
Eleccy
Posts: 21
Joined: Mon Mar 21, 2022 10:24 pm
Contact:

Re: Improved Electron version of Elite

Post by Eleccy »

As a follow on from my last post. I just tried elite that came with my Beeb.mmb file and found that the buy cargo and equip ship screens work as expected so i think this is something thats been introduced
Post Reply

Return to “8-bit acorn software: classic games”