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:

Re: Improved Electron version of Elite

Post by MarkMoxon »

Eleccy wrote: Mon Mar 18, 2024 6:07 pm 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
Could be! I’ll give it a test when I get a moment, and I’ll try to replicate (and fix!) the bug. I think the sideways RAM version is a fork of my flicker-free version, which might explain why it has the same problem. Apologies, hopefully it won’t be too tricky to fix.

I’ll let you know when I’ve made some progress; life’s a bit hectic at the moment, but I should be able to take a look soon…

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: Mon Mar 18, 2024 6:51 pm
Eleccy wrote: Mon Mar 18, 2024 6:07 pm 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
Could be! I’ll give it a test when I get a moment, and I’ll try to replicate (and fix!) the bug.
I can replicate the bug (it's pretty obvious!), so I'll get onto a fix as soon as I can. Hopefully it'll be an easy fix...

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

Re: Improved Electron version of Elite

Post by MarkMoxon »

Eleccy wrote: Mon Mar 18, 2024 5:49 pm 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?
So... it looks like this might be down to the loader program (the one that shows the Acornsoft loading screen). Can you try running the game with the following, rather than booting the disc or chaining the tape?

Code: Select all

*RUN ELITEDA
This skips the loader and goes straight to the game. For me, this fixes the issue - does it help at all?

If it does, then I need to find out what's going on with the loader!

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

Re: Improved Electron version of Elite

Post by Eleccy »

MarkMoxon wrote: Tue Mar 19, 2024 1:15 pm
So... it looks like this might be down to the loader program (the one that shows the Acornsoft loading screen). Can you try running the game with the following, rather than booting the disc or chaining the tape?

Code: Select all

*RUN ELITEDA
This skips the loader and goes straight to the game. For me, this fixes the issue - does it help at all?

If it does, then I need to find out what's going on with the loader!

Mark
Hi Mark, thanks for looking at that. I just had a quick check, though im meant to be working)

Yes this workaround works for me. Can now equip the ship, buy cargo etc.

Same trick didnt work with forked sideways ram version, it just hung on the saturn screen. Im not really suprised. I guess its doing some extra stuff in its loader

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

Re: Improved Electron version of Elite

Post by MarkMoxon »

Thanks for checking! looks like it's definitely something up with the loading process.

That said, I am getting a bit confused trying to work it out. I'm finding that booting the disc with Shift-Break loads the game but the bug is present, but if I try any other method of loading the game, then the game is bug-free. Specifically, I have tried the following:

Code: Select all

CH."ELITE"

CHAIN "ELITE"

*BASIC
CHAIN "ELITE"

*EXEC !BOOT

*RUN !BOOT

*!BOOT
All of these load the game and it works fine, but if I Shift-Break the disc, the game does not work. I've even tried rebuilding the !BOOT file, but no difference - even putting *RUN ELITEDA into !BOOT doesn't fix the issue.

I wonder if the sideways RAM version works if you try any of the above, rather than booting the disc? e.g. CHAIN "ELITE" from the command line.

No idea what is going on here. It is very strange, but Shift-Break stops Elite from working. I wonder what is going on here?

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

Re: Improved Electron version of Elite

Post by MarkMoxon »

Another clue - the bug looks like it’s caused by OSRDCH returning incorrect values, so somehow it seems that booting the game with Shift-Break screws up OSRDCH, while running it manually from the command line doesn’t.

The same bug is also present in the original cracked version from Every Game Going (which is the one I disassembled). That disc loads a fancy help menu system before running the game, which seems to cure the bug, but if I set !BOOT to chain the ELITE loader instead, it also enables the bug. So at least this means the issue isn’t down to my flicker-free hacking, as all the versions of Elite I’ve tried go wrong when booting in this way.

Also, as the UEF doesn’t use a boot file, it doesn’t have the bug, so it looks like it’s disc thing.

Weird! I will keep poking around for a solution…

Mark
User avatar
dv8
Posts: 397
Joined: Mon Jun 22, 2009 10:07 pm
Contact:

Re: Improved Electron version of Elite

Post by dv8 »

MarkMoxon wrote: Tue Mar 19, 2024 6:58 pm Another clue - the bug looks like it’s caused by OSRDCH returning incorrect values, so somehow it seems that booting the game with Shift-Break screws up OSRDCH, while running it manually from the command line doesn’t.
Try adding *EXEC (or *FX119) to the ELITE loader program.
This will ensure the boot file is properly closed and not used for input.
Eleccy
Posts: 21
Joined: Mon Mar 21, 2022 10:24 pm
Contact:

Re: Improved Electron version of Elite

Post by Eleccy »

Trust me to find the most obscure bugs :D :lol:
i'll have another look at loading the sideways ram fork with some of those suggested methods ...
User avatar
MarkMoxon
Posts: 605
Joined: Thu Jul 18, 2019 4:38 pm
Contact:

Re: Improved Electron version of Elite

Post by MarkMoxon »

dv8 wrote: Tue Mar 19, 2024 8:28 pm
MarkMoxon wrote: Tue Mar 19, 2024 6:58 pm Another clue - the bug looks like it’s caused by OSRDCH returning incorrect values, so somehow it seems that booting the game with Shift-Break screws up OSRDCH, while running it manually from the command line doesn’t.
Try adding *EXEC (or *FX119) to the ELITE loader program.
This will ensure the boot file is properly closed and not used for input.
Just tried that, but it didn't make a difference, unfortunately.

The EGG version works with an interstitial program before chaining ELITE, so I may play around with that in case there's something in there that fixes the issue. It seems that asking for input fixes it; if I remove the carriage return from the !BOOT and manually press Return after Shift-Break, then it works, so it's almost as if the keyboard input needs kicking to life with some kind of typing. Maybe a buffer flush would work? I'll have a play.

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

Re: Improved Electron version of Elite

Post by MarkMoxon »

dv8 wrote: Tue Mar 19, 2024 8:28 pm Try adding *EXEC (or *FX119) to the ELITE loader program.
This will ensure the boot file is properly closed and not used for input.
Quick follow-up: success, I think! Adding *FX15 to the loader to flush the input buffer seems to work. Thanks for the *FX inspiration. :-)

I'll do a more detailed test tomorrow, but hopefully this will do the trick.

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

Re: Improved Electron version of Elite

Post by Eleccy »

MarkMoxon wrote: Tue Mar 19, 2024 5:01 pm

Code: Select all

CH."ELITE"

CHAIN "ELITE"

*BASIC
CHAIN "ELITE"

*EXEC !BOOT

*RUN !BOOT

*!BOOT
So on the sideways fork, i got some inconsistent results but i think thats something to do with my setup. In general i seem to have to power off and on a few times when trying to use my SD card.

from CH. or CHAIN methods i first saw hanging on Acornsoft screen and then on Saturn screen but didn't get it to load

*EXEC didn't work first time i tried but later worked
other methods using BOOT seemed successful


Not sure if any of that is helpful but thanks, looks like there are workarounds for both those flicker free versions
No idea what might be different about shift break to boot the disk . thats a wierd one!

edit: while i was doing that looks like you've made progress on the cause. Nice one guys =D>
User avatar
MarkMoxon
Posts: 605
Joined: Thu Jul 18, 2019 4:38 pm
Contact:

Re: Improved Electron version of Elite

Post by MarkMoxon »

Eleccy wrote: Tue Mar 19, 2024 10:50 pm while i was doing that looks like you've made progress on the cause. Nice one guys =D>
Yeah, it's gone well! I've now updated both the standard and flicker-free variants of Electron Elite with the fix, and they all seem to be working fine for me on Elkulator. Fingers crossed that they work on the real hardware too - let me know!

You can download the updated SSDs and UEFs from the usual place:

https://www.bbcelite.com/electron/releases.html

Turns out that the UEFs were also affected, so I've updated all four images.

Assuming that these work properly, you should be able to fix the sideways RAM version by simply copying the ELITE file from either of the updated SSDs onto the sideways RAM disc, overwriting the ELITE that is already there. I've tried that on Elkulator and it works fine, so hopefully it will work on the real thing.

Also, the reason that your testing on the sideways RAM version was giving strange results is because I gave you the wrong advice - it should have been CHAIN "ELITESW" rather than CHAIN "ELITE". Sorry about that!
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.
haerfest, if you see this, then you might like to update your sideways RAM version with the latest version of $.ELITE-cassette.bin and $.ELITE-disc.bin from my repository, as they include the *FX 15 fix (without this, the equipment and cargo screens don't work). Simply replacing them in your repository should fix the bug in the sideways RAM version too. If you'd like me to submit a PR for this, I'll happily do that - just let me know!

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 20, 2024 11:42 am
Eleccy wrote: Tue Mar 19, 2024 10:50 pm while i was doing that looks like you've made progress on the cause. Nice one guys =D>
Yeah, it's gone well! I've now updated both the standard and flicker-free variants of Electron Elite with the fix, and they all seem to be working fine for me on Elkulator. Fingers crossed that they work on the real hardware too - let me know!
Yes your new image works on my real Elk :D

you mentioned i could copy a file across to the other image to try the same fix with the sideways RAM variant. I'm guessing it would it be a process of loading the file to memory then change disk, then save. i might have a go at that although Tbh i dont feel i really need to given i can load it anyway using other methods you posted.

Although it will be good if haerfest can put the same fix into his one for other users. @haerfest, thanks for your version. saving to disk is the killer feature i think. And it does seem to run faster too

Its funny to think this isue was so widespread but unnoticed. Admit it Electron users you just launch, turn around and start shooting the Lave space station with your pulse laser don't you? Then die in a shoot our with the vipers. I see how it is!
User avatar
MarkMoxon
Posts: 605
Joined: Thu Jul 18, 2019 4:38 pm
Contact:

Re: Improved Electron version of Elite

Post by MarkMoxon »

Eleccy wrote: Wed Mar 20, 2024 10:03 pm Yes your new image works on my real Elk :D
Great! That's very good news. :-)
Eleccy wrote: Wed Mar 20, 2024 10:03 pm you mentioned i could copy a file across to the other image to try the same fix with the sideways RAM variant. I'm guessing it would it be a process of loading the file to memory then change disk, then save.
Note that this approach won't work if you use BASIC’s LOAD and SAVE commands, as the file in question is a BASIC program followed by a bunch of machine code that displays the Acornsoft loading screen, so loading and saving it as BASIC wouldn’t copy the machine code. The best way would be to use something like *COPY to copy the file from one disc to the other, though *LOAD then *SAVE would also work if you make sure to save the correct file length.

Or, as you say, hopefully haerfest can roll the change into his epic SRAM version, so everyone can enjoy the results!

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 20, 2024 10:14 pm
Note that this approach won't work if you use BASIC’s LOAD and SAVE commands, as the file in question is a BASIC program followed by a bunch of machine code that displays the Acornsoft loading screen, so loading and saving it as BASIC wouldn’t copy the machine code. The best way would be to use something like *COPY to copy the file from one disc to the other, though *LOAD then *SAVE would also work if you make sure to save the correct file length.

Mark
Thanks thats good to know, maybe i'll give it a go later on
Cheers
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: Wed Mar 20, 2024 11:42 am haerfest, if you see this, then you might like to update your sideways RAM version with the latest version of $.ELITE-cassette.bin and $.ELITE-disc.bin from my repository, as they include the *FX 15 fix (without this, the equipment and cargo screens don't work). Simply replacing them in your repository should fix the bug in the sideways RAM version too. If you'd like me to submit a PR for this, I'll happily do that - just let me know!
Yes, by chance I happened to login just now after having been away from the forum for a while, and saw a notification :)

I'll need to do some proper reading up, but with a long Easter weekend ahead it would be good to get the Electron out again and have a look at incorporating your fixes.
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 have incorporated Mark's fix and replaced the disc image attached to my SWRAM post. Happy playing!

o7
Wouter
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: Fri Mar 29, 2024 11:45 am I have incorporated Mark's fix and replaced the disc image attached to my SWRAM post. Happy playing!
Brilliant! Thank you Wouter, that's working really well for me. :D

I thought I'd already added a link to your version from my site, but apparently I didn't! Whoops. So I've fixed this and have added a little paragraph to these two pages:

https://www.bbcelite.com/electron/releases.html

https://www.bbcelite.com/hacks/flicker- ... loads.html

Thank you for this improvement, it's an easy version to recommend! o7

Mark
mogwaay
Posts: 98
Joined: Thu Feb 11, 2021 10:51 pm
Contact:

Re: Improved Electron version of Elite

Post by mogwaay »

Oooh defo need to check this out - I have not played Elite before properly, so now I have a working Elk with the ElkSD this looks ideal way to get stuck in! Cheers!
Eleccy
Posts: 21
Joined: Mon Mar 21, 2022 10:24 pm
Contact:

Re: Improved Electron version of Elite

Post by Eleccy »

haerfest wrote: Fri Mar 29, 2024 11:45 am I have incorporated Mark's fix and replaced the disc image attached to my SWRAM post. Happy playing!

o7
Wouter
Thanks very much this is fantastic. =D> Flicker free graphics from Mark and improved speed. Plus saving progress to MMFS disk!
The planets are more round too, is that part of the flicker free update ? It still feels very much like the authentic electron version i knew and loved though

i've got myself kitted out with front beam laser, large cargo bay, ecm, and some other stuff. Might try another galaxy soon. Ability to save to the MMFS disk really does make a huge difference.

I'm very intrigued by the electron tube version too, does it have a flicker free update ?
I've actually bought the bit of kit that lets you add a second processor but haven't got the second processor part for it yet.

How far can sideways ram go? is it conceivable it could be adapted to add second processor type stuff too? details on planets? suns ?
User avatar
MarkMoxon
Posts: 605
Joined: Thu Jul 18, 2019 4:38 pm
Contact:

Re: Improved Electron version of Elite

Post by MarkMoxon »

Eleccy wrote: Fri Mar 29, 2024 4:51 pm The planets are more round too, is that part of the flicker free update ?
It sure is! You can see the complete list of extra features towards the end of this page:

https://www.bbcelite.com/hacks/flicker- ... ation.html

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 »

Eleccy wrote: Fri Mar 29, 2024 4:51 pm How far can sideways ram go? is it conceivable it could be adapted to add second processor type stuff too? details on planets? suns ?
Edit: I misunderstood your question, new answer :)

The two constraints are memory and CPU speed. I have currently filled one 16 Kb sideways RAM bank to the brim, but could probably claim another bank for those that have it, and add extra features of the Tube version. Not sure how much that would slow things down again, as @jms2 writes in his Second Processor Elite for the Electron post that "it's a bit slow".

Only where would I find the time :lol:

Once you have the kit ready, I would certainly suggest trying out the tube version, and perhaps ask jms2 and Mark nicely to look into integrating the flicker-free fix :wink:
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: Fri Mar 29, 2024 6:02 pm
Eleccy wrote: Fri Mar 29, 2024 4:51 pm How far can sideways ram go? is it conceivable it could be adapted to add second processor type stuff too? details on planets? suns ?
The two constraints are memory and CPU speed.
To expand on this, some features only need more memory, while some features need both memory and CPU speed.

You could add Thargoids to the Electron version without slowing it down, as the only reason they aren't in the game is because there is no room for the ship blueprints and spawning code. Similarly, adding witchspace and mis-jumps only needs memory for the extra routines.

However, adding suns, craters and meridians would probably slow down the main flight loop quite a bit, as these potentially add a lot of complex drawing to the space view.The Commodore 64 version has craters and meridians disabled by default, even though the code is in there, as turning them on makes a noticeable difference with its slower CPU, when compared to the BBC Micro. Alas the Electron is also slower than the Beeb, so adding these features might be too much.

I guess the only way to know would be to try!

Mark
Post Reply

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