Sideways RAM Elite - explained

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


Post Reply
User avatar
MarkMoxon
Posts: 606
Joined: Thu Jul 18, 2019 4:38 pm
Contact:

Sideways RAM Elite - explained

Post by MarkMoxon »

Ian Bell's website has a version of Elite for the BBC Micro with sideways RAM, which I've not seen explained anywhere:

Screenshot 2024-04-09 at 16.40.48.png

There are no hints on Ian's website, and there are no instructions on the disc, so what does it do?

To answer this, I've analysed the code and added it to my BBC Elite site. Here’s a short summary of this variant’s features:

https://www.bbcelite.com/disc/releases. ... deways-ram

It turns out to be a very interesting riff on BBC Micro disc Elite. I'll probably write a deep dive into how it works, but for those who are interested, here's a quick run-down.

The sideways RAM variant comes on a disc that contains four versions of Elite: BBC Micro disc, BBC Micro with sideways RAM, Master 128 and Executive co-pro version. Two of these (SRAM and Executive) are unofficial versions.

It turns out that the SRAM version is a mod in the truest sense of the word. The menu system on the four-version disc contains a loader for the SRAM version that installs itself into the machine before running the completely standard BBC disc version. The SRAM loader hooks itself into the disc version to turn it into the sideways RAM version. In theory you could provide a sideways RAM loader to drop onto the standard BBC disc version to change it into a sideways RAM version. It's very clever.

The killer feature of the sideways RAM version is that it loads all of the ship blueprint files into sideways RAM, so all ships are available at all times (like in the Master and 6502SP versions). Because of this, the disc is only accessed when launching or docking; hyperspace no longer needs to access the disc. Also, in theory, you should be able to see a bigger variety of ship types at the same time, as the available blueprints aren't restricted to those that can be squeezed into memory - all of the blueprints are available from sideways RAM, all of the time.

There is also an update to the scanner to show the space station, asteroids, escape pods and cargo in red, as opposed to the yellow/green of the original.

The sideways RAM loader contains all the code that hacks into disc Elite, which you can see here:

https://www.bbcelite.com/disc/all/loade ... s_ram.html

This populates sideways RAM with an Elite ROM by reading in the blueprint files and creating a fully populated ship lookup table (see the MakeRom routine). It then adds an extended handler to FILEV, so when the original game tries to load a ship blueprint file, it instead "loads" the ship lookup table from sideways RAM, and keeps the Elite ROM paged in so ship data is fetched from sideways RAM as new ships are spawned (see the FileHandler routine).

It's pretty neat. I'm not sure why it wasn't released, but perhaps there are some issues lurking in there that aren't obvious from a quick play.

I have also knocked out a flicker-free version of sideways RAM Elite, because why not.

I think that means I have now analysed every known variant of Acornsoft Elite:

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

If anyone spots any other unique variants out there, do let me know! I still have a bunch of disc images to analyse, so there may be some variations in there, but I think this covers all the known variants.

Enjoy!

Mark
vexorg
Posts: 287
Joined: Wed May 24, 2023 5:05 pm
Contact:

Re: Sideways RAM Elite - explained

Post by vexorg »

At the time it was release, sideways ram was not common.

For the tape version, was the difference in PAGE alone to load everything? It seems a very small amount compared to the sideways memory.
David
User avatar
MarkMoxon
Posts: 606
Joined: Thu Jul 18, 2019 4:38 pm
Contact:

Re: Sideways RAM Elite - explained

Post by MarkMoxon »

vexorg wrote: Wed Apr 10, 2024 9:16 am At the time it was release, sideways ram was not common.
The SRAM version wasn't officially released, so it's hard to say exactly when it was written (does anyone know?). But the earliest it could have been written is 1985, as normal Elite was only released at the end of 1984. The B+64 and B+128 both came out in 1985, so it might have been aimed at the new machines? I seem to remember picking up some cheap sideways RAM for my Beeb at this point, so I think it was getting more common around this time.
vexorg wrote: Wed Apr 10, 2024 9:16 amFor the tape version, was the difference in PAGE alone to load everything? It seems a very small amount compared to the sideways memory.
The cassette version only has 12 distinct ship wireframes, compared to 29 in the disc version, and it doesn't have features like missions, mining, docking computer AI and so on. So the SRAM version and the cassette version don't really compare directly.

Here's the feature table:

https://www.bbcelite.com/compare/featur ... rison.html

Mark
pcbbc
Posts: 13
Joined: Wed Jun 21, 2017 3:23 pm
Contact:

Re: Sideways RAM Elite - explained

Post by pcbbc »

Thanks for your detailed and in-depth analysis. :D

Okay, I’ll fess up….

I’m responsible for compiling the various versions, writing the teletext boot menu, and coding up the sideways ram hack. Plus, as my forum handle might suggest, I was also responsible for a DOS emulator of the same name in the 1990s.

Around that time I was writing pcBBC I was in contact with Ian Bell, and offered him a single disk version with the B, M128 and SP versions on it. I also asked if I could add my own addition, the SRAM version, and he graciously agreed. My menu and loader was written at that time so he could offer a single download with all the versions.

I’m not sure when exactly I coded the SRAM patches, probably around 1988-9? I didn’t get a 32k SRAM module until quite late, possibly until I went to university. I already had some experience of adding mods into Elite, having coerced the B disk version to run from the schools level 2 Econet system (the modified software that ran on that is a whole different story).

Elite wouldn’t run correctly on Econet because it corrupts some of the data in the filesystem workspace from &0E00 through &1200, so (IIRC) I patched the file system vectors and saved and restored the relevant data before and after each network access. That hack also had the scanner colour change for objects other than ships.

It was fun for me a while ago to visit The National Museum of Computing with my friends and, unprompted, to see my menu running on a Beeb in the corner. Bless the museum staff member who completely misunderstood when I exclaimed “I wrote that”. No, no, not Elite! Just that particular menu, and the patches for the SRAM version.

Anyway, thanks for taking the time to investigate and document my changes. There is certainly a higher probability of seeing other ship types. From memory transporters appear far more often. Also a transporter appearing is coincident with a specific ship file (IIRC it only appears in one), and as ship files contain either a dodec or coriolis station, but not both, you only see a transporter in a system with that particular station type.

I think you got all the changes, but you’re right there could be some unintended bugs. Hopefully not though… :wink:
vexorg
Posts: 287
Joined: Wed May 24, 2023 5:05 pm
Contact:

Re: Sideways RAM Elite - explained

Post by vexorg »

MarkMoxon wrote: Wed Apr 10, 2024 9:46 am
Here's the feature table:

https://www.bbcelite.com/compare/featur ... rison.html
I feel conned, I only every had the tape version.
David
pcbbc
Posts: 13
Joined: Wed Jun 21, 2017 3:23 pm
Contact:

Re: Sideways RAM Elite - explained

Post by pcbbc »

The missile blueprint is the version from the non-disc versions (see SHIP_MISSILE).
Okay, that’s a mistake.

Very sketchy memory, but isn’t that definition stored above the screen memory? Where should I have got this from for the disk version? It’s not in every ship blueprint file, or is it?
Different parts of the copy protection are disabled compared to the other variants (see the sideways RAM loader).
The main docked and flight binaries in T.CODE and D.CODE are not encrypted (see DEEOR (Docked), DEEOR (Flight)).
These are almost certainly from whatever pirated version I had back in the day. To my shame I never owned, or even saw(!), an original version. I’m sure that wasn’t uncommon, but I’m not proud of it.

I certainly don’t remember removing any copy protection to make the combined disk version, although I may have removed whatever remnants of it were left on my pirated copy in order to work on the scanner change and Econet fixes years earlier, and just not bothered to put them back.
User avatar
MarkMoxon
Posts: 606
Joined: Thu Jul 18, 2019 4:38 pm
Contact:

Re: Sideways RAM Elite - explained

Post by MarkMoxon »

pcbbc wrote: Wed Apr 10, 2024 10:06 am Thanks for your detailed and in-depth analysis. :D

Okay, I’ll fess up….

I’m responsible for compiling the various versions, writing the teletext boot menu, and coding up the sideways ram hack. Plus, as my forum handle might suggest, I was also responsible for a DOS emulator of the same name in the 1990s.
Fantastic! Thank you so much for the provenance - this is fascinating. :-)

I hope it's OK, but I've added a link back to this thread from my site, and credited you as the author of the SRAM system on the site and in the source. (If you'd rather not have your real name on there, just let me know.)

I hadn't realised how interesting SRAM Elite was until I picked it apart, and I have to say I'm impressed by the neatness of the hacking - the fact that it mods the standard disc version in-place is brilliant. Respect is due!
pcbbc wrote: Wed Apr 10, 2024 10:06 am I already had some experience of adding mods into Elite, having coerced the B disk version to run from the schools level 2 Econet system (the modified software that ran on that is a whole different story).

Elite wouldn’t run correctly on Econet because it corrupts some of the data in the filesystem workspace from &0E00 through &1200, so (IIRC) I patched the file system vectors and saved and restored the relevant data before and after each network access. That hack also had the scanner colour change for objects other than ships.
You might be interested in this thread, then:

viewtopic.php?t=28355

I'm working on a version of Econet Elite for the disc version as we speak - or, more accurately, a version of SRAM Elite for Econet, as the SRAM approach frees up enough memory to fit Elite into an Econet-enabled Beeb. There is still lots of interest in Econet, even after all these years! It's amazing that you pulled it off in the 1980s...
pcbbc wrote: Wed Apr 10, 2024 10:06 am It was fun for me a while ago to visit The National Museum of Computing with my friends and, unprompted, to see my menu running on a Beeb in the corner. Bless the museum staff member who completely misunderstood when I exclaimed “I wrote that”. No, no, not Elite! Just that particular menu, and the patches for the SRAM version.
I think your menu system has become a bit of a de facto version for including in hard disc images, SD cards and so on. It's really quite famous in Elite circles!
pcbbc wrote: Wed Apr 10, 2024 10:06 am Anyway, thanks for taking the time to investigate and document my changes.
My pleasure. Thank you for the code - it's delightful!

Mark
pcbbc
Posts: 13
Joined: Wed Jun 21, 2017 3:23 pm
Contact:

Re: Sideways RAM Elite - explained

Post by pcbbc »

MarkMoxon wrote: Wed Apr 10, 2024 10:45 am Fantastic! Thank you so much for the provenance - this is fascinating. :-)

I hope it's OK, but I've added a link back to this thread from my site, and credited you as the author of the SRAM system on the site and in the source. (If you'd rather not have your real name on there, just let me know.)
100% okay, no problems at all. Although I feel you are far too generous with your use of the word "genius" when linking back here, especially when considering the work of the original authors... ;)
MarkMoxon wrote: Wed Apr 10, 2024 10:45 am I hadn't realised how interesting SRAM Elite was until I picked it apart, and I have to say I'm impressed by the neatness of the hacking - the fact that it mods the standard disc version in-place is brilliant. Respect is due!
I forget if this is how the original hack worked or not. I do seem to recall being extremely tight on disk space and/or number of files for the compilation. So it's possible the fact that it assembles the SRAM image from the existing ship definitions may have been a result of wanting to fit all 4 versions on a single disk.
MarkMoxon wrote: Wed Apr 10, 2024 10:45 am
pcbbc wrote: Wed Apr 10, 2024 10:06 am I already had some experience of adding mods into Elite, having coerced the B disk version to run from the schools level 2 Econet system (the modified software that ran on that is a whole different story).
You might be interested in this thread, then:

viewtopic.php?t=28355

I'm working on a version of Econet Elite for the disc version as we speak - or, more accurately, a version of SRAM Elite for Econet, as the SRAM approach frees up enough memory to fit Elite into an Econet-enabled Beeb. There is still lots of interest in Econet, even after all these years! It's amazing that you pulled it off in the 1980s...
I'll certainly be giving it a look.

My version didn't use SRAM. All you need to do is save and restore a handful of bytes from the file system workspace. A very uncertain guess is it was the servers station address (net and id)? I must have a copy of it somewhere. As to if any of my disks are readable, or if I have a single disk drive that still works is another matter...

And of course which bytes you need to save may be dependent on which NET ROM version you are using.
MarkMoxon wrote: Wed Apr 10, 2024 10:45 am I think your menu system has become a bit of a de facto version for including in hard disc images, SD cards and so on. It's really quite famous in Elite circles!
LOL - Infamy at last.

I think more that Ian Bell was kind enough to accept it and provide it for download, but I'll take what little credit I can. ;)
User avatar
MarkMoxon
Posts: 606
Joined: Thu Jul 18, 2019 4:38 pm
Contact:

Re: Sideways RAM Elite - explained

Post by MarkMoxon »

pcbbc wrote: Wed Apr 10, 2024 10:23 am
The missile blueprint is the version from the non-disc versions (see SHIP_MISSILE).
Okay, that’s a mistake.

Very sketchy memory, but isn’t that definition stored above the screen memory? Where should I have got this from for the disk version? It’s not in every ship blueprint file, or is it?
Yes, that's the one that's stored above screen memory.

All I'm saying is that the version of disc Elite on the four-version disc contains a slightly different missile wireframe to the original disc version - it actually contains the improved version that appeared in the 6502SP and Master versions. So this isn't really anything to do with your SRAM code, it's to do with the version of disc Elite that's on the same disc. So I'm not sure it's a mistake - it's actually a minor improvement in the disc version.
pcbbc wrote: Wed Apr 10, 2024 10:23 am
Different parts of the copy protection are disabled compared to the other variants (see the sideways RAM loader).
The main docked and flight binaries in T.CODE and D.CODE are not encrypted (see DEEOR (Docked), DEEOR (Flight)).
These are almost certainly from whatever pirated version I had back in the day. To my shame I never owned, or even saw(!), an original version. I’m sure that wasn’t uncommon, but I’m not proud of it.

I certainly don’t remember removing any copy protection to make the combined disk version, although I may have removed whatever remnants of it were left on my pirated copy in order to work on the scanner change and Econet fixes years earlier, and just not bothered to put them back.
Well, there are lots of variants out there, particularly when it comes to the copy protection (and specifically the manner in which it's disabled). Presumably this is also the source of the missile blueprint update, too!

Mark
james
Posts: 330
Joined: Tue Aug 15, 2023 8:41 pm
Location: NE Hampshire
Contact:

Re: Sideways RAM Elite - explained

Post by james »

pcbbc wrote: Wed Apr 10, 2024 11:24 am I must have a copy of it somewhere. As to if any of my disks are readable, or if I have a single disk drive that still works is another matter...
I believe I saw your name on the ABUG list this weekend. Bring discs and alert people you want them reading - there will probably be somebody with the skills and correct device for imaging ancient floppy discs
User avatar
MarkMoxon
Posts: 606
Joined: Thu Jul 18, 2019 4:38 pm
Contact:

Re: Sideways RAM Elite - explained

Post by MarkMoxon »

pcbbc wrote: Wed Apr 10, 2024 11:24 am
MarkMoxon wrote: Wed Apr 10, 2024 10:45 am
pcbbc wrote: Wed Apr 10, 2024 10:06 am I already had some experience of adding mods into Elite, having coerced the B disk version to run from the schools level 2 Econet system (the modified software that ran on that is a whole different story).
You might be interested in this thread, then:

viewtopic.php?t=28355

I'm working on a version of Econet Elite for the disc version as we speak - or, more accurately, a version of SRAM Elite for Econet, as the SRAM approach frees up enough memory to fit Elite into an Econet-enabled Beeb. There is still lots of interest in Econet, even after all these years! It's amazing that you pulled it off in the 1980s...
I'll certainly be giving it a look.

My version didn't use SRAM. All you need to do is save and restore a handful of bytes from the file system workspace. A very uncertain guess is it was the servers station address (net and id)? I must have a copy of it somewhere. As to if any of my disks are readable, or if I have a single disk drive that still works is another matter...

And of course which bytes you need to save may be dependent on which NET ROM version you are using.
Interesting! I'd really like to know how this works, as it's a very different approach to the one I've been taking.

The main issue I have is that switching from DFS to NFS on a BBC Micro bumps PAGE up by an extra &100 bytes (from the DFS "minimum" value of &1100 to &1200, as per this document). As disc Elite loads at &1100, it obviously clashes with the extra memory that Econet uses, so I thought that the only solution would be to move the whole thing up &100 bytes in memory (as well as relocating the 16 bytes in zero page that Econet uses - is this the "handful of bytes" you're referring to?).

Moving the codebase up by &100 bytes is possible with the SRAM version, as it doesn't need the whole memory block for the blueprints (and I think saving &100 bytes in the docked code is possible already, as it contains lots of flight routines that aren't used).

If there's a way of making it work in a different way, that would be really good to know. If you manage to find a copy of your code, I'm sure lots of people would be very interested (me included!).

Mark
iainfm
Posts: 602
Joined: Thu Jan 02, 2020 8:31 pm
Location: Dumbarton
Contact:

Re: Sideways RAM Elite - explained

Post by iainfm »

I bought the 'upgraded' version of Elite (the one that had the Master version on it) when it came out, in the hope that I could get either it, the B+ or the sideways ram version working with the Solidisk 256K board we had in our Model B.

At the time I had no idea what I was doing. That probably hasn't changed much, but I feel it should be possible. One day, when I get chance, I'll revisit it (unless someone else has managed it).

Hopefully this will help, so thanks once again Mark!
User avatar
MarkMoxon
Posts: 606
Joined: Thu Jul 18, 2019 4:38 pm
Contact:

Re: Sideways RAM Elite - explained

Post by MarkMoxon »

iainfm wrote: Wed Apr 10, 2024 12:30 pm I bought the 'upgraded' version of Elite (the one that had the Master version on it) when it came out, in the hope that I could get either it, the B+ or the sideways ram version working with the Solidisk 256K board we had in our Model B.
If you bought the SNG47 version, then it only contains three versions: standard disc Elite, 6502SP Elite and BBC Master Elite. It mentions the B+ on the box, and disc Elite is indeed compatible with the B+, but nothing on this disc takes advantage of the extra memory in the B+, which is a real shame.

That's why the SRAM variant is so cool - it's unique, and is a great version for B+ owners.

Mark
pcbbc
Posts: 13
Joined: Wed Jun 21, 2017 3:23 pm
Contact:

Re: Sideways RAM Elite - explained

Post by pcbbc »

james wrote: Wed Apr 10, 2024 11:41 am I believe I saw your name on the ABUG list this weekend. Bring discs and alert people you want them reading - there will probably be somebody with the skills and correct device for imaging ancient floppy discs.
I am! With my mate ChrisB. I'll have to see if I can find it.
MarkMoxon wrote: Wed Apr 10, 2024 11:49 am Interesting! I'd really like to know how this works, as it's a very different approach to the one I've been taking.

Moving the codebase up by &100 bytes is possible with the SRAM version, as it doesn't need the whole memory block for the blueprints (and I think saving &100 bytes in the docked code is possible already, as it contains lots of flight routines that aren't used).

If there's a way of making it work in a different way, that would be really good to know. If you manage to find a copy of your code, I'm sure lots of people would be very interested (me included!).
My memory fails me as to exactly what needed saving and restoring and where. It certainly wasn't a lot, and I must have found somewhere to save it as this was a network of un-expanded B's we are talking about. Certainly no relocation of code, so if there are values in page &11 it must have saved and restored these also.

Having read through your thread the phrase "I think you'll find it's a little bit more complicated than that" springs to mind. Because of course there is the whole DFS vs NFS directory structure to consider as well. Still I must have coped with that, as I'm sure as well as loading T.CODE, D.CODE and D.MO# it could load and save commanders. Although this was just on a generic "games disk" on the server, so there was no saving commanders to your user directory.
User avatar
Cybershark
Posts: 736
Joined: Wed Jun 14, 2006 11:16 pm
Contact:

Re: Sideways RAM Elite - explained

Post by Cybershark »

vexorg wrote: Wed Apr 10, 2024 10:16 am I feel conned, I only every had the tape version.
Imagine being owner of the Elk version, and never having met a Thargoid! :shock:
Should've just called that one E-Lite :lol:
User avatar
rmbrowngr
Posts: 619
Joined: Sat Jan 13, 2018 12:46 pm
Location: Dionysos, Greece
Contact:

Re: Sideways RAM Elite - explained

Post by rmbrowngr »

Cybershark wrote: Wed Apr 10, 2024 9:29 pm Imagine being owner of the Elk version, and never having met a Thargoid! :shock:
Should've just called that one E-Lite :lol:
Likewise! And never jumped between galaxies!

If I remember correctly, the manual was inaccurate and about this.
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: Sideways RAM Elite - explained

Post by haerfest »

Great work, Mark, and thanks for the background information, pcbbc!

I almost feel like this board could use a dedicated "8-bit acorn software: elite" topic, with all the variants and enhancements out there now :lol:
vexorg
Posts: 287
Joined: Wed May 24, 2023 5:05 pm
Contact:

Re: Sideways RAM Elite - explained

Post by vexorg »

Thargoids ruined a few games for me, bounced out of hyperspace and not enough fuel to jump to the next system.
David
iainfm
Posts: 602
Joined: Thu Jan 02, 2020 8:31 pm
Location: Dumbarton
Contact:

Re: Sideways RAM Elite - explained

Post by iainfm »

MarkMoxon wrote: Wed Apr 10, 2024 12:41 pm
iainfm wrote: Wed Apr 10, 2024 12:30 pm I bought the 'upgraded' version of Elite (the one that had the Master version on it) when it came out, in the hope that I could get either it, the B+ or the sideways ram version working with the Solidisk 256K board we had in our Model B.
If you bought the SNG47 version, then it only contains three versions: standard disc Elite, 6502SP Elite and BBC Master Elite. It mentions the B+ on the box, and disc Elite is indeed compatible with the B+, but nothing on this disc takes advantage of the extra memory in the B+, which is a real shame.

That's why the SRAM variant is so cool - it's unique, and is a great version for B+ owners.

Mark
Thanks, Mark. Yes, it was the Superior Software re-release I bought. It must have been the Master version I'd had (high) hopes of getting to work, because the Solidisk board had shadow ram etc, but it was of course completely different to the Master hardware. So I had to make do with playing it on my school's maths dept Master at lunchtimes. My excuse was it was clearly a mathematical game :lol:

Some day, one day, I'll have a poke around the sideways ram version and see if that'll play nice with the B's expansion board :wink:
User avatar
rmbrowngr
Posts: 619
Joined: Sat Jan 13, 2018 12:46 pm
Location: Dionysos, Greece
Contact:

Re: Sideways RAM Elite - explained

Post by rmbrowngr »

Any chance of a sideways RAM version of Elite for the Electron?
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: Sideways RAM Elite - explained

Post by haerfest »

rmbrowngr wrote: Thu Apr 11, 2024 12:04 pm Any chance of a sideways RAM version of Elite for the Electron?
There's my SWRAM adaptation of Mark's flicker-free Electron version:

https://www.stardot.org.uk/forums/viewt ... 89#p406189

It does not provide any new features but runs faster and supports saving Commanders to disk.
User avatar
rmbrowngr
Posts: 619
Joined: Sat Jan 13, 2018 12:46 pm
Location: Dionysos, Greece
Contact:

Re: Sideways RAM Elite - explained

Post by rmbrowngr »

haerfest wrote: Thu Apr 11, 2024 1:37 pm There's my SWRAM adaptation of Mark's flicker-free Electron version:

https://www.stardot.org.uk/forums/viewt ... 89#p406189

It does not provide any new features but runs faster and supports saving Commanders to disk.
Fanastatic! Well done. Just downloaded it.

Saving commanders to disk is veryyyyy useful feature!
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.
pcbbc
Posts: 13
Joined: Wed Jun 21, 2017 3:23 pm
Contact:

Re: Sideways RAM Elite - explained

Post by pcbbc »

iainfm wrote: Thu Apr 11, 2024 11:27 am Thanks, Mark. Yes, it was the Superior Software re-release I bought. It must have been the Master version I'd had (high) hopes of getting to work, because the Solidisk board had shadow ram etc, but it was of course completely different to the Master hardware. So I had to make do with playing it on my school's maths dept Master at lunchtimes. My excuse was it was clearly a mathematical game :lol:

Some day, one day, I'll have a poke around the sideways ram version and see if that'll play nice with the B's expansion board :wink:
You weren't a million miles off. Not much reliance on Master hardware at all. I think the requirements are...
  • SRAM in bank 6
  • An E00 DFS (in another SRAM bank)
  • Shadow RAM (switching must be compatible with the Master hardware)
  • Extra 65C02 CPU instructions
The last 2 are problems. I don't think the Solidisk board would have switched by the same mechanism, and the B/B+ certainly doesn't have the extra instructions (although a 65C02 would be a drop in replacement).

pcBBC could certainly run Master Elite in the above configuration, and it's wasn't able to fully emulate the Master hardware at all. It only had the 65C02 CPU instructions and a Master compatible shadow screen RAM switch.

The Master Elite on the 4 version disk is specifically designed to detect the above requirements (i.e. not insist on a Master), and even includes an E00 DFS which it will load for your convince. Here's the message you get if you run on B hardware (with the necessary banks of SRAM)...
elite.png
It would be a fun experiment to get it to work on a B/B+. 2 banks of SRAM, a few patches to make it Solidisk shadow RAM compatible, and drop in a 65C02 CPU?

In fact are the extra CPU instructions a requirement for Master Elite? I'm thinking they must have been as I wrote the loader to detect them, but now I'm not sure. Mark?
User avatar
MarkMoxon
Posts: 606
Joined: Thu Jul 18, 2019 4:38 pm
Contact:

Re: Sideways RAM Elite - explained

Post by MarkMoxon »

pcbbc wrote: Thu Apr 11, 2024 4:44 pm In fact are the extra CPU instructions a requirement for Master Elite? I'm thinking they must have been as I wrote the loader to detect them, but now I'm not sure. Mark?
Yes, the Master version uses the extra CPU instructions, as the colour routines are migrated from the 6502SP version. Wouldn't be too difficult to revert them to the 6502 equivalents, though - there is easily enough free memory.

Mark
iainfm
Posts: 602
Joined: Thu Jan 02, 2020 8:31 pm
Location: Dumbarton
Contact:

Re: Sideways RAM Elite - explained

Post by iainfm »

Thanks for that, I'm fairly sure the Solidisk upgrade came with a 65C02, but I'll need to check...
Post Reply

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