Disassemblies of BBC Micro Games

bbc micro/electron/atom/risc os coding queries and routines
User avatar
billcarr2005
Posts: 1840
Joined: Fri Sep 09, 2005 4:01 pm
Location: UK
Contact:

Re: Disassemblies of BBC Micro Games

Post by billcarr2005 »

MarkMoxon wrote: Tue Feb 15, 2022 10:50 pm
So I guess I'm doing it the other way, starting with steering assist, and then I'll have to track down a genuine 1984 version for comparison. I suspect the differences are going to be pretty minor, but we'll have to see.

Mark

Code: Select all

     ...Revs...
 ...BBC Version 1...
    Copyright (c)
Acornsoft Limited 1985
CHAIN"revs1"

The "full" (unedited, except for removing protection) Superior Software / Acornsoft rerelease is located here :)
viewtopic.php?p=39918#p39918
jms2 wrote: Wed Feb 16, 2022 8:39 am There is a loose page inserted giving an updated version of the "Summary of Keyboard Controls" page, to cover the inclusion of CAS. It is marked December 1986. Weirdly though, this addendum is actually identical to the bound page. What I think must have happened is that Superior had a backlog of old Revs 4-tracks manuals, to which they added the loose page, but also accidentally added it to Second Edition prints as well.
Aforementioned page here!
viewtopic.php?p=39942#p39942
jms2 wrote: Wed Feb 16, 2022 8:39 am I'm also guessing that the version you have disassembled may be a 1986 version that has been retrospectively cut down to only having one track - not sure why though!
CRC of REVS? (from bbcmicro) and REVS2 (from disk image linked above) match

Code: Select all

$.REVS2   | 001200 | 001200 | 005E00 | 01F T03S01 | 83E95A44
$.Revs?   | 001200 | 001200 | 005E00 | 03C T06S00 | 83E95A44
compared to the original

Code: Select all

$.revs2   | 001200 | 001200 | 005E00 | 029 T04S01 | E22A0A93
I presume it was replaced because it's newer/better?
Attachments
REVS.zip
Original Acornsoft release
(22.27 KiB) Downloaded 58 times
User avatar
MarkMoxon
Posts: 606
Joined: Thu Jul 18, 2019 4:38 pm
Contact:

Re: Disassemblies of BBC Micro Games

Post by MarkMoxon »

jms2 wrote: Wed Feb 16, 2022 8:39 am Early 1985 - Acornsoft Revs
Late 1985 - Acornsoft Revs + 4 tracks
Dec 1986 - Superior/Acornsoft Rev + 4 tracks
I trawled through Acorn User, looking for adverts and reviews, and the original release had an advert in the June 1985 and a review in the July 1985 issue, while 4 Tracks had an advert in the December 1985 issue (no review, though). So this tallies with the above.

The good news is that there should be only two major variants of the game binary, as 4 Tracks only came with the track data (you needed the original game to run it). So in theory, the only major changes to the game should be the features added to the Superior version.
jms2 wrote: Wed Feb 16, 2022 8:39 am Apparently it does more than just smoothing out the keyboard inputs - it does actually attempt to steer the car round the corners. As far as I know the re-released version was never advertised, so CAS was never advertised either, or commented on, even though its a pretty cool feature.
Yes, the descriptions I've read of it (in reviews of the C64 version) seem to say that it's really useful, and a feature that became a bit of a standard in later sim racing games. It'll be interesting to see what it actually does...

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

Re: Disassemblies of BBC Micro Games

Post by MarkMoxon »

billcarr2005 wrote: Wed Feb 16, 2022 9:33 am The "full" (unedited, except for removing protection) Superior Software / Acornsoft rerelease is located here :)
viewtopic.php?p=39918#p39918
Brilliant - thanks! That saves me the effort of trying to wade through the copy protection. I always get stuck at that point. :-)
billcarr2005 wrote: Wed Feb 16, 2022 9:33 am CRC of REVS? (from bbcmicro) and REVS2 (from disk image linked above) match

Code: Select all

$.REVS2   | 001200 | 001200 | 005E00 | 01F T03S01 | 83E95A44
$.Revs?   | 001200 | 001200 | 005E00 | 03C T06S00 | 83E95A44
compared to the original

Code: Select all

$.revs2   | 001200 | 001200 | 005E00 | 029 T04S01 | E22A0A93
I presume it was replaced because it's newer/better?
Ah, that makes sense. The archive tends to contain the latest versions, for a better playing experience.

Anyway, got both binaries now, so time to plug them both into the buildable source. Thanks so much for fishing these out!

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

Re: Disassemblies of BBC Micro Games

Post by MarkMoxon »

jms2 wrote: Tue Feb 15, 2022 10:35 pm Something occurred to me today - I notice that you are disassembling the version which has Computer Assisted Steering (CAS) in it.
OK, I've just merged the original version of Revs into the disassembly, and the repository now supports building both variants of the game, i.e. the original Acornsoft release that billcarr posted above, and the Superior Software release with steering assist that I was working on already. There are more details about the relevant build commands in the repository:

https://github.com/markmoxon/revs-beebasm

If you want to see the code differences, search the source for _ACORNSOFT or _SUPERIOR. Most of the differences are down to steering assist (or making room for the extra code), though there are quite a few minor changes that may not be related. They are in areas of the code that are still a mystery, though, so I'm still working on that.

Anyway, it's good to have captured the differences in the buildable source already, so thanks for all the help!

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

Re: Disassemblies of BBC Micro Games

Post by MarkMoxon »

jms2 wrote: Wed Feb 16, 2022 8:39 am Early 1985 - Acornsoft Revs
Late 1985 - Acornsoft Revs + 4 tracks
Dec 1986 - Superior/Acornsoft Rev + 4 tracks
Incidentally, I have now checked all the binaries of Revs on the BBC Micro archive, and they're a bit mixed up.
The last one matches billcarr's version from above, it just has some extra zeroes tacked on the end, so the crc32 is different. Anyway, there are only two variants of the actual game code (Acornsoft and Superior) in all the releases I've managed to check, and the track files don't seem to vary at all, so if you ignore the loaders (which vary a lot), it looks like we've found the two main variants.

Until we find another, anyway!

Mark
User avatar
leenew
Posts: 4900
Joined: Wed Jul 04, 2012 4:27 pm
Location: Doncaster, Yorkshire
Contact:

Re: Disassemblies of BBC Micro Games

Post by leenew »

Eek! We need to get those sorted out :oops:

Lee.
User avatar
lurkio
Posts: 4351
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Re: Disassemblies of BBC Micro Games

Post by lurkio »

MarkMoxon wrote: Wed Feb 16, 2022 4:28 pmThe 1985 version of "Revs" at http://bbcmicro.co.uk/game.php?id=267 is actually the 1986 Superior Software version, with steering assist
So, could you say that that disc-image on bbcmicro.co.uk (Disc015-Revs.ssd) contains the original 1985 Acornsoft release of Revs but with the 1986 Superior CAS-enabled code "backported" into it?

In other words, that disc-image on bbcmicro.co.uk (Disc015-Revs.ssd) was never officially released in its current form?

MarkMoxon wrote: Wed Feb 16, 2022 4:28 pmThe 1985 version of "Rev 4 Tracks" at http://bbcmicro.co.uk/game.php?id=1128 is also the 1986 Superior Software version, with steering assist
So, could you say that that disc-image on bbcmicro.co.uk (Disc063-Revs4Tracks.ssd) is the original 1985 Acornsoft release of Revs 4 Tracks with the 1986 Superior CAS-enabled code "backported" into it?

In other words, that disc-image on bbcmicro.co.uk (Disc063-Revs4Tracks.ssd) was never officially released in its current form?

Did the official Acornsoft release of Revs 4 Tracks actually contain only four tracks? Or is its proper name "Revs + 4 Tracks" because it actually contained five tracks in total?!

MarkMoxon wrote: Wed Feb 16, 2022 4:28 pmThe 1986 version of "Revs Plus Revs 4 Tracks" at http://bbcmicro.co.uk/game.php?id=2203 is actually the 1985 Acornsoft version, without steering assist
I'm confused by this one (Disc999-Revs5Tracks.ssd)! Does this disc-image correspond to any official release?

:?:

EDIT: After a bit more discussion with Lee, my understanding is that on bbcmicro.co.uk, Revs and Revs 4 Tracks have the Superior CAS game-engine when they ought to have the Acornsoft non-CAS game-engine.

And Revs Plus Revs 4 Tracks (aka "Revs 5 Tracks") has the Acornsoft non-CAS game-engine when it should actually have the Superior CAS game-engine!

So every single variant of Revs on bbcmicro.co.uk has the wrong game-engine! Argh!

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

Re: Disassemblies of BBC Micro Games

Post by MarkMoxon »

I would love to answer all of these questions, and would really, really like to do so... but I don't have any game files that I know were extracted from the official releases (all I've got to go on are the unprotected versions on sites like bbcmicro.co.uk, STH and so on, or posts here linking to zips, SSDs etc.).

I've tried, but it turns out I'm totally rubbish at extracting binaries from protected discs/cassettes. I'm pretty good at analysing the extracted files, and I'm not bad at undoing encryption, but can anyone help with the extraction aspect? I'm assuming the official Revs releases are in HFE format somewhere, but I don't know where, and I just don't know how to tackle them when I find them. Ditto UEF images for the cassette versions.

And while I'm asking, I'd also really, really love to get hold of the official release binaries for Aviator and for various versions of Elite, too (e.g. Electron Elite, BBC Micro cassette Elite). Then I could compile definitive lists of what was released and tie them in to the disassemblies. The important thing is knowing they come from the official versions, rather than the hacked versions.

So, I guess this is a wanted ad for an expert software pirate! There must be some of those round here, right? :D

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

Re: Disassemblies of BBC Micro Games

Post by MarkMoxon »

lurkio wrote: Wed Feb 16, 2022 7:14 pm EDIT: After a bit more discussion with Lee, my understanding is that on bbcmicro.co.uk, Revs and Revs 4 Tracks have the Superior CAS game-engine when they ought to have the Acornsoft non-CAS game-engine.

And Revs Plus Revs 4 Tracks (aka "Revs 5 Tracks") has the Acornsoft non-CAS game-engine when it should actually have the Superior CAS game-engine!

So every single variant of Revs on bbcmicro.co.uk has the wrong game-engine! Argh!

:!:
Yes, I think that's right. You should be able to swap out the main binary files to fix this, I think.

Mark
Deleted User 13004

Re: Disassemblies of BBC Micro Games

Post by Deleted User 13004 »

MarkMoxon wrote: Wed Feb 16, 2022 9:53 am 4 Tracks only came with the track data (you needed the original game to run it).
Could this be adapted to also load the Nürburgring track from the C64 version?
User avatar
MarkMoxon
Posts: 606
Joined: Thu Jul 18, 2019 4:38 pm
Contact:

Re: Disassemblies of BBC Micro Games

Post by MarkMoxon »

james wrote: Wed Feb 16, 2022 8:20 pm
MarkMoxon wrote: Wed Feb 16, 2022 9:53 am 4 Tracks only came with the track data (you needed the original game to run it).
Could this be adapted to also load the Nürburgring track from the C64 version?
Maybe! I wonder if anyone has tried it?

The loading process would be trivial to hack; you would just need to *LOAD the track data at the correct address before running the main game code, so if the track data is in the same format as on the BBC, it could work. That said, track data can also contain game code, so it might need a fair amount of tweaking to run on the Beeb version.

I did download a copy of C64 Revs to look for the track data, but I don’t know the first thing about C64 emulation, so it’s still on the to-do list. If anyone has the game files for the C64, it would be fun to take a look…

Mark
User avatar
billcarr2005
Posts: 1840
Joined: Fri Sep 09, 2005 4:01 pm
Location: UK
Contact:

Re: Disassemblies of BBC Micro Games

Post by billcarr2005 »

MarkMoxon wrote: Wed Feb 16, 2022 7:35 pm I would love to answer all of these questions, and would really, really like to do so... but I don't have any game files that I know were extracted from the official releases (all I've got to go on are the unprotected versions on sites like bbcmicro.co.uk, STH and so on, or posts here linking to zips, SSDs etc.).
I can confirm that with the original Acornsoft REVS, I took the protected FSD from the original disk, created an SSD by stripping the additional information the FSD contains and then changing the catalogue from the original disk to the virtual catalogue which is stored elsewhere on the original, ie. no data was ever loaded or saved, so it's exactly as was on the surface.
Looking at the Superior rerelease, it appears that I just changed the catalogue to point to the "deleted data" instead of running the protected loader, so again it's untouched (again, using the original disk)
In short, they're as close to the original as can be stored on an SSD / allows the files to be freely copied, with nothing added, edited or removed! :)
User avatar
MarkMoxon
Posts: 606
Joined: Thu Jul 18, 2019 4:38 pm
Contact:

Re: Disassemblies of BBC Micro Games

Post by MarkMoxon »

billcarr2005 wrote: Wed Feb 16, 2022 10:00 pm In short, they're as close to the original as can be stored on an SSD / allows the files to be freely copied, with nothing added, edited or removed! :)
Brilliant! Sounds like they're accurate to the official releases, then. Thanks for confirming that.

I don't suppose you've got any tips for extracting binaries from UEFs? In particular, I'd love to get the Elite binaries off the official BBC Micro and Electron cassettes, but I just can't work it out. Just thought I'd ask, while we're on the subject.

For context, I'm trying to get rid of the "TBC"s on this page by comparing the binaries I’m able to build against the official binaries, but can't work out how to get the latter off the tapes:

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

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

Re: Disassemblies of BBC Micro Games

Post by jms2 »

I just had a quick play of the C64 version. It's virtually identical to the BBC version, which is surprising given that the C64 is only 1MHz. It makes me wonder whether a (less pretty) Electron version would be possible. One very tricky bit would be the memory demand for the menu screens in Mode 6.
User avatar
billcarr2005
Posts: 1840
Joined: Fri Sep 09, 2005 4:01 pm
Location: UK
Contact:

Re: Disassemblies of BBC Micro Games

Post by billcarr2005 »

MarkMoxon wrote: Wed Feb 16, 2022 8:46 pm I did download a copy of C64 Revs to look for the track data, but I don’t know the first thing about C64 emulation, so it’s still on the to-do list. If anyone has the game files for the C64, it would be fun to take a look…
Nor do I... but I loaded up the REVS+ D64 into the Hoxs 64 emulator, then saved a state when the two track selection screen had loaded.
Hex editing this file, i could then find the tracks within the memory and was surprised to see how similar they were to the BBC version...

They're probably of no use at the moment, but once the format of the tracks are understood, it suppose it might be possible to convert Nurburgring :)
Loading it currently results in REVS2 issuing JMP(&FFFC) :D

Towards the end of the NURBURGRING track file, there's a JMP &9C00, which it seem should be JMP &5700, so I suppose this means any references between &9800 and &9F?? should be easily changed to &5300 and &5A?? :?:
Attachments
C64 tracks.zip
C64 REVS 6 tracks
(11.1 KiB) Downloaded 41 times
BBC tracks.zip
BBC REVS 5 tracks
(9.1 KiB) Downloaded 41 times
User avatar
MarkMoxon
Posts: 606
Joined: Thu Jul 18, 2019 4:38 pm
Contact:

Re: Disassemblies of BBC Micro Games

Post by MarkMoxon »

billcarr2005 wrote: Thu Feb 17, 2022 2:09 am
MarkMoxon wrote: Wed Feb 16, 2022 8:46 pm I did download a copy of C64 Revs to look for the track data, but I don’t know the first thing about C64 emulation, so it’s still on the to-do list. If anyone has the game files for the C64, it would be fun to take a look…
Nor do I... but I loaded up the REVS+ D64 into the Hoxs 64 emulator, then saved a state when the two track selection screen had loaded.
Hex editing this file, i could then find the tracks within the memory and was surprised to see how similar they were to the BBC version...
Great!

I just had a go at squeezing the file into the smaller footprint for the BBC track files, and I can get the track to load and the game to run (there's a checksum in there that needs to be set properly to prevent the reset). However, even though it loads, the game crashes as soon as you try to go to the track, so there's more to it than that. I tried changing the JMP to JMP &5700 (and &5600 and &5800), but no joy.

Looking at the track data and disassembling the code in there (at &5600, &5700 and &5800), it's not surprising why - the track data modifies the game code by poking instructions directly in there. Some of these modifications seem to make sense, but others don't, which isn't that suprising. To get this working, we'd need to look at exactly which bits of the code are being changed by the track data, and update the modification routines to work with the corresponding code in the BBC Micro.

Here's an example of some of the code in the track data, which modifies the main game code:

Code: Select all

 LDA #$04
 STA $3574
 LDA #$0B
 STA $35F4
 LDA #$AD
 STA $461C
 LDA #$57
 STA $461D
 LDA #$4B
 STA $2546
 LDA #$FF
 STA $282B
 RTS
For example, the updates to &461C and &461D make sense, as this is an address, but sticking &FF into &282B breaks the instruction that's there (it's a CMP).

Looks like a job for a rainy day, once we know more about how the BBC Micro version works...

Mark
User avatar
lurkio
Posts: 4351
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Re: Disassemblies of BBC Micro Games

Post by lurkio »

MarkMoxon wrote: Wed Feb 16, 2022 7:36 pm Yes, I think that's right. You should be able to swap out the main binary files to fix this, I think.
Thanks. Reported here:

viewtopic.php?p=349973#p349973

:idea:
User avatar
lurkio
Posts: 4351
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Re: Disassemblies of BBC Micro Games

Post by lurkio »

MarkMoxon wrote: Wed Feb 16, 2022 10:38 pm I don't suppose you've got any tips for extracting binaries from UEFs?
Can you link to the specific UEFs that you want to extract from?

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

Re: Disassemblies of BBC Micro Games

Post by MarkMoxon »

lurkio wrote: Thu Feb 17, 2022 10:43 am
MarkMoxon wrote: Wed Feb 16, 2022 10:38 pm I don't suppose you've got any tips for extracting binaries from UEFs?
Can you link to the specific UEFs that you want to extract from?
Sure - they're these versions of cassette Elite for the BBC Micro:
and these ones for the Electron:
plus this Aviator cassette:
They all seem to contain the original Acornsoft tape protection system, which I'm having trouble getting round (it gives the Block? error when trying to copy files). I've tried extracting the protection code from the loader and running it in the background so I could copy the files off, but I just couldn't get it to work.

In an ideal world, I'm looking for all the files from all these UEFs, including any "V1" files at the end of the tape. Then I can compare them and see if there are any differences.

As a bonus, if anyone knows of a UEF containing the original release of Electron Elite, with the hyperspace bug, then I'm looking for that, too (assuming it isn't in one of the above).

Any hints or help would be really appreciated!

Mark
User avatar
davidb
Posts: 3395
Joined: Sun Nov 11, 2007 10:11 pm
Contact:

Re: Disassemblies of BBC Micro Games

Post by davidb »

You could use UEFtrans from this repository to extract the files. Other tools are available. ;)
User avatar
MarkMoxon
Posts: 606
Joined: Thu Jul 18, 2019 4:38 pm
Contact:

Re: Disassemblies of BBC Micro Games

Post by MarkMoxon »

davidb wrote: Thu Feb 17, 2022 12:23 pm You could use UEFtrans from this repository to extract the files. Other tools are available. ;)
Wow, that works! I tried various other tools, and they were really struggling (probably down to user error). But this one is doing the job nicely.

Now I just have to work out why the binaries on those tape images are really different to the versions produced by Ian Bell's source disc. But thank you, that was exactly the tool I was looking for.

Mark
User avatar
geraldholdsworth
Posts: 1401
Joined: Tue Nov 04, 2014 9:42 pm
Location: Inverness, Scotland
Contact:

Re: Disassemblies of BBC Micro Games

Post by geraldholdsworth »

I've just run the first two through my UEF Reader and it split the first into many files, and the second came out whole. UEF Reader is the test tool I wrote before I implemented the code into Disc Image Manager, so that should perform the same way.

I'll need to update the code to deal with these 'split' files...and whatever else I find in the other files.
Gerald Holdsworth, CTS-D
Extron Authorised Programmer
https://www.geraldholdsworth.co.uk
https://www.reptonresourcepage.co.uk
Twitter @radiogezza
User avatar
davidb
Posts: 3395
Joined: Sun Nov 11, 2007 10:11 pm
Contact:

Re: Disassemblies of BBC Micro Games

Post by davidb »

MarkMoxon wrote: Thu Feb 17, 2022 3:29 pm Now I just have to work out why the binaries on those tape images are really different to the versions produced by Ian Bell's source disc. But thank you, that was exactly the tool I was looking for.
No problem! Glad it helped.

It won't read certain kinds of UEFs that contain fancy data encodings but I don't think Elite uses those. At least, not on the Electron.
gfoot
Posts: 987
Joined: Tue Apr 14, 2020 9:05 pm
Contact:

Re: Disassemblies of BBC Micro Games

Post by gfoot »

MarkMoxon wrote: Wed Feb 16, 2022 7:35 pm I've tried, but it turns out I'm totally rubbish at extracting binaries from protected discs/cassettes. I'm pretty good at analysing the extracted files, and I'm not bad at undoing encryption, but can anyone help with the extraction aspect? I'm assuming the official Revs releases are in HFE format somewhere, but I don't know where, and I just don't know how to tackle them when I find them. Ditto UEF images for the cassette versions.
Scarybeast's archive has links to four distinct HFEs, especially two different versions of the game - one Master compatible, one not. If you still want this I can probably extract one (or both?) of them this evening, just let me know. Usually this results in an SSD with an extra file on it that was hidden in the original.
User avatar
MarkMoxon
Posts: 606
Joined: Thu Jul 18, 2019 4:38 pm
Contact:

Re: Disassemblies of BBC Micro Games

Post by MarkMoxon »

gfoot wrote: Thu Feb 17, 2022 5:48 pm
MarkMoxon wrote: Wed Feb 16, 2022 7:35 pm I've tried, but it turns out I'm totally rubbish at extracting binaries from protected discs/cassettes. I'm pretty good at analysing the extracted files, and I'm not bad at undoing encryption, but can anyone help with the extraction aspect? I'm assuming the official Revs releases are in HFE format somewhere, but I don't know where, and I just don't know how to tackle them when I find them. Ditto UEF images for the cassette versions.
Scarybeast's archive has links to four distinct HFEs, especially two different versions of the game - one Master compatible, one not. If you still want this I can probably extract one (or both?) of them this evening, just let me know. Usually this results in an SSD with an extra file on it that was hidden in the original.
That would be great, if it’s no trouble! It would be really useful to identify all the different variants before I get too deep into the code. Thank you!

Mark
User avatar
leenew
Posts: 4900
Joined: Wed Jul 04, 2012 4:27 pm
Location: Doncaster, Yorkshire
Contact:

Re: Disassemblies of BBC Micro Games

Post by leenew »

Do we have an original Acornsoft "Revs 4 Tracks" add-on disc (or cassette) so I can check the splash screens/menus?

Thanks,

Lee.
User avatar
billcarr2005
Posts: 1840
Joined: Fri Sep 09, 2005 4:01 pm
Location: UK
Contact:

Re: Disassemblies of BBC Micro Games

Post by billcarr2005 »

gfoot wrote: Thu Feb 17, 2022 5:48 pm Scarybeast's archive has links to four distinct HFEs, especially two different versions of the game - one Master compatible, one not. If you still want this I can probably extract one (or both?) of them this evening, just let me know. Usually this results in an SSD with an extra file on it that was hidden in the original.
Not sure which the version I posted will be, or whether the Master incompatibility affects the main game code, or happens earlier in the chain!

Lines 80 -130 in "menu2" can be replaced with *RUN Revs2 (ie the unprotected version)
Attachments
REVS 4 TRACKS.zip
(8.04 KiB) Downloaded 34 times
User avatar
tricky
Posts: 7695
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Disassemblies of BBC Micro Games

Post by tricky »

jms2 wrote: Wed Feb 16, 2022 11:00 pm I just had a quick play of the C64 version. It's virtually identical to the BBC version, which is surprising given that the C64 is only 1MHz. It makes me wonder whether a (less pretty) Electron version would be possible. One very tricky bit would be the memory demand for the menu screens in Mode 6.
I don't know about the, but the c64 can use attributes to change a couple of colours in an 8x8 character cell with a single write.
If revs uses this, it can save a lot of time clearing and setting chunks of screen, day between grass and track.
I don't remember which mode revs is in, but c64 is usually in the (CPU work wise) equivalent of mode 5.
And don't forget the hardware sprites!

PS I have no idea how long the beeb spend processing and how long drawing, but it could have been another candidate for a second processor game. Curving tracks and calculating which bytes to draw at the edges takes a very long time.

PPS here is the post with my pole position proof of concept demo, well proof that my track is to big for 50fps! viewtopic.php?p=288474#p288474
User avatar
leenew
Posts: 4900
Joined: Wed Jul 04, 2012 4:27 pm
Location: Doncaster, Yorkshire
Contact:

Re: Disassemblies of BBC Micro Games

Post by leenew »

billcarr2005 wrote: Thu Feb 17, 2022 7:47 pm
gfoot wrote: Thu Feb 17, 2022 5:48 pm Scarybeast's archive has links to four distinct HFEs, especially two different versions of the game - one Master compatible, one not. If you still want this I can probably extract one (or both?) of them this evening, just let me know. Usually this results in an SSD with an extra file on it that was hidden in the original.
Not sure which the version I posted will be, or whether the Master incompatibility affects the main game code, or happens earlier in the chain!

Lines 80 -130 in "menu2" can be replaced with *RUN Revs2 (ie the unprotected version)
Cheers BillC!
So it appears we have the wrong splash screens as well as the wrong main-game-binaries!!

Just for completeness, what was the splash screen for the original Revs?
Was it the same "Helmet" screen as the other Revs titles?
Or, was it the standard Acornsoft-Acornsoft-Acornsoft-Acornsoft with a window for the game title?

Lee.
gfoot
Posts: 987
Joined: Tue Apr 14, 2020 9:05 pm
Contact:

Re: Disassemblies of BBC Micro Games

Post by gfoot »

The non-Master one I'm looking at is the helmet logo with "REVS", a flag image, and "ACORNSOFT" at the bottom. The loader is quite complex, it embeds its own DFS ROM style routines for accessing the second catalog. The Master one might be simpler.
Post Reply

Return to “programming”