Repton 3 "Now" Screen H

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


User avatar
The Kraken
Posts: 206
Joined: Tue Oct 21, 2008 5:51 pm
Contact:

Repton 3 "Now" Screen H

Post by The Kraken »

I'm pleased to say that I can now finally put to rest a question that's been asked repeatedly on this forum for years :) The problem is that on the BeebEm emulator, Now Screen H is uncompletable, since you cannot get all the way round the skull maze portion of the level within the given time. Well, today at Retro Reunited I finally had the opportunity to try it on a real BBC Micro, and the result was the same. Furthermore, on Toccata Screen F, if I collected a diamond with every move and avoided the time capsules, I could collect 78 diamonds before time ran out, exactly the same number as on the emulator.

But does that end the matter? It does not. As we were driving home and discussing this, Jonathan suggested I try playing the level on the tape image, and the surprising result is that Now Screen H can be completed after all. So that seems to be all there is to it -- a difference between the disk and tape versions of the game.

Aren't you glad to know the truth of the matter at last?
garfield
Posts: 547
Joined: Mon Jan 03, 2005 1:38 am
Contact:

Re: Repton 3 "Now" Screen H

Post by garfield »

I didn't know that there was a difference between the tape version and the disc one.
User avatar
The Kraken
Posts: 206
Joined: Tue Oct 21, 2008 5:51 pm
Contact:

Re: Repton 3 "Now" Screen H

Post by The Kraken »

Neither did I, before now. Although Jonathan informs me that the infamous fungus bug on Toccata E doesn't appear in the tape version, so there's another difference between them.
User avatar
MillieTD83
Posts: 179
Joined: Mon Aug 24, 2009 6:53 pm
Location: Thetford, UK
Contact:

Re: Repton 3 "Now" Screen H

Post by MillieTD83 »

The Kraken wrote:Neither did I, before now. Although Jonathan informs me that the infamous fungus bug on Toccata E doesn't appear in the tape version, so there's another difference between them.
I've seen that bug plenty of times - very annoying.

Is it the tape versions of the actual game different or just the file set? Would be interesting to do a comparison in a hex editor or something.
REPEAT PRINT'"FOZZY!!!!! ";:UNTIL FALSE

BBC Master 128 w/MultiOS, PiTubeDirect, Econet, Datacentre+CF-IDE interface, Gotek
User avatar
MillieTD83
Posts: 179
Joined: Mon Aug 24, 2009 6:53 pm
Location: Thetford, UK
Contact:

Re: Repton 3 "Now" Screen H

Post by MillieTD83 »

Another test, although a bit fiddly, would be to run the disc based level set on the tape based program, and vice versa, and see if the problems are replicated?
REPEAT PRINT'"FOZZY!!!!! ";:UNTIL FALSE

BBC Master 128 w/MultiOS, PiTubeDirect, Econet, Datacentre+CF-IDE interface, Gotek
User avatar
The Kraken
Posts: 206
Joined: Tue Oct 21, 2008 5:51 pm
Contact:

Re: Repton 3 "Now" Screen H

Post by The Kraken »

How would I go about that?
User avatar
billcarr2005
Posts: 1840
Joined: Fri Sep 09, 2005 4:01 pm
Location: UK
Contact:

Re: Repton 3 "Now" Screen H

Post by billcarr2005 »

A quick sum of all bytes from NOW on tape and disc (images from this site) show they are identical. They look the same when loaded on a MODE1 screen too! Could be that the main game code is slightly different.
User avatar
MillieTD83
Posts: 179
Joined: Mon Aug 24, 2009 6:53 pm
Location: Thetford, UK
Contact:

Re: Repton 3 "Now" Screen H

Post by MillieTD83 »

One way of doing it, would be having a tape image of Thru Time, a blank image, and the adfs welcome disc loaded. Fire up Copyfiles from the Welcome disc, set the source to cassette, destination to disc and that's one part sorted. I could give it a bash if you like and send the resulting image.

A file from a disc image to tape image, I'm not sure about.

lil update: it didn't copy over properly. bugger.
REPEAT PRINT'"FOZZY!!!!! ";:UNTIL FALSE

BBC Master 128 w/MultiOS, PiTubeDirect, Econet, Datacentre+CF-IDE interface, Gotek
User avatar
billcarr2005
Posts: 1840
Joined: Fri Sep 09, 2005 4:01 pm
Location: UK
Contact:

Re: Repton 3 "Now" Screen H

Post by billcarr2005 »

I've checksummed the disc version of Repton Thru Time from Play It Again Sam 10 and the tape version from STH archives, and the files are clearly different. Although a cursory glance through the code suggests in many cases, it might just be that the code is offset by 2 bytes.

Disc Version, Range, Checksum, sum
D.REPTON2, 1200 - 31DF, F7CFEC87, 762802

Tape Version, Range, Checksum, sum
REPTON2, 1200 - 31DF, 5EDD9008, 763067

10 TTAL%=0
20 *LOAD REPTON2 or D.REPTON2
30 FOR I%=&1200 TO &31DF
40 TTAL%=TTAL%+?I%
50 NEXT
60 PRINT TTAL%

If you could check your REPTON2 against the totals above, then we might uncover some difference/similarity!
Triax
Posts: 74
Joined: Fri Aug 25, 2006 4:21 am
Location: Wiltshire, England
Contact:

Re: Repton 3 "Now" Screen H

Post by Triax »

Thank-you so much for pointing this out!

I've started playing Repton 3 again now, and I'm enjoying it.

Incidentally, I've watched your Repton 2 videos on YouTube - they are superb.

Cheers!

Triax
kingcobra
Posts: 64
Joined: Fri Aug 07, 2009 6:50 pm
Contact:

Re: Repton 3 "Now" Screen H

Post by kingcobra »

billcarr2005 wrote:I've checksummed the disc version of Repton Thru Time from Play It Again Sam 10 and the tape version from STH archives, and the files are clearly different. Although a cursory glance through the code suggests in many cases, it might just be that the code is offset by 2 bytes.

Disc Version, Range, Checksum, sum
D.REPTON2, 1200 - 31DF, F7CFEC87, 762802

Tape Version, Range, Checksum, sum
REPTON2, 1200 - 31DF, 5EDD9008, 763067

10 TTAL%=0
20 *LOAD REPTON2 or D.REPTON2
30 FOR I%=&1200 TO &31DF
40 TTAL%=TTAL%+?I%
50 NEXT
60 PRINT TTAL%

If you could check your REPTON2 against the totals above, then we might uncover some difference/similarity!
Bill is the code off by two bytes because of the different methods of loading, in other words because you load one off a tape and the other off a disc
User avatar
billcarr2005
Posts: 1840
Joined: Fri Sep 09, 2005 4:01 pm
Location: UK
Contact:

Re: Repton 3 "Now" Screen H

Post by billcarr2005 »

kingcobra wrote: Bill is the code off by two bytes because of the different methods of loading, in other words because you load one off a tape and the other off a disc
I think it must be a different build of the code. Both contain the string "DRIVE *", both are the same length, same load/exec addresses, so it might just be that one was finalised before the other, or indeed that one needed slight alterations to run from tape (although i can't see why!)
User avatar
The Kraken
Posts: 206
Joined: Tue Oct 21, 2008 5:51 pm
Contact:

Re: Repton 3 "Now" Screen H

Post by The Kraken »

A new discovery! A YouTube user named testpilotmonkey has been making videos of Repton levels. I messaged him to warn him in advance about Now H, and he suggested that the level could still be completed -- on the disc version -- taking advantage of the skull glitch. (For those who haven't come across this, walk into a skull and at the same moment hit Return. When you return to the level, you will have lost a life, but the skull will be gone.) I have now confirmed that there is a solution taking advantage of this glitch.
NowH.png
NowH.png (14.38 KiB) Viewed 8400 times
Run round as normal until you reach the circled skull; hit it FROM BELOW and remove it, losing a life. Wait at Repton's start for the spirit to return (thanks to the shortcut opened up, it will do this before time runs out). As soon as the spirit goes down the bottom-right corridor, hit Escape to lose a second life. With your third life you will now be able to run round the level, through the short-cut, and reach the time capsule in time.
User avatar
Rhys
Posts: 44
Joined: Wed May 13, 2009 11:03 am
Contact:

Re: Repton 3 "Now" Screen H

Post by Rhys »

OK, thought I'd better post again on the correct thread. I have completed Repton Thru Time "Now" Screen H (without cheeting), on my BeebEm on the Repton Thru Time disk image. Took me goodness knows how many attempts but I have managed it.

I have no way of proving it, so you're just going to have to take my word as an Honourable Repton Player. So ... Sorry: harder though it probably is, than on the BBC (I can't remember - it's so long since I completed it on my old Beeb) it IS possible.

The only reason I want to emphasise this is that I didn't know it was "Impossible" to complete that level before I did. I'm just concered that other players who are playing this level for the first time, will read this thread and just assume it can't be done. Trust is very improtant with games like Repton, you have to believe that the game has been "Thouroughly tested to completion" otherwise it's too easy to give up trying to complete a given level on the ground that it is "Impossible".

But no: it IS possible (just!) I have done it (once!) It is irritatingly difficult, but no more so than Africa F, which, for my money is the most fiendishly annoying level in Repton History (Including Giant Clam!) I'm sure you're right about the bug, but that just makes the level a lot harder, not impossible.

P.S. RE: Skull cheat. If you're going to do that, surely a better strategy would be to use the transporter (Top right - c on S. Repton's map) and collect the time capsule there, you still have to use the skull glitch to get out of there but at least you're still ahead of the spirit and you don't have to sacrifice a second life. I've never tried this but that's what I'd do.
REPTON 2 IS ENDED
User avatar
The Kraken
Posts: 206
Joined: Tue Oct 21, 2008 5:51 pm
Contact:

Re: Repton 3 "Now" Screen H

Post by The Kraken »

Of course I'm willing to take your word for it, but I hope in return you will take my word for it that the difference must depend in some way on the specifics of either your emulator, the image you used or your PC. I'm not trying to save face here: on both my machine and the actual BBC I tried it on, it's quite definitely impossible, since there's no way to make Repton move any faster than the speed he moves at when you are, as I was, constantly holding down the correct key for the next direction he must move in. The point where time ran out was always the same, and several squares short of the objective.

EDIT: Just had another try. The point Repton always dies at is when he is passing under the diamond, i.e. six squares short of where he needs to get to.

Good point about the transporter route -- that would certainly work. I'll replace my Now H video with this route, since it's so much shorter. You can even get the key and make solving the central area a lot quicker, too!
User avatar
Kecske Bak
Posts: 752
Joined: Wed Jul 13, 2005 8:03 am
Location: Mélykút, Hungary
Contact:

Re: Repton 3 "Now" Screen H

Post by Kecske Bak »

Screen H is possible when loaded into the BBC 5.25" Disc version of "The Life Of Repton" or "Around The World In 40 Screens". I've tried the BBC 5.25" disc versions of "Repton Thru Time" and "Repton 3" and it's utterly impossible in these. (All versions downloaded from Stairway To Hell, emulator used BeebEm).

This makes sense, as "Life Of Repton" is the Repton 3 release before "Repton Thru Time", and would probably have been what the level developers would have used to test and create levels for "Repton Thru Time".

EDIT: Checksum Totals for BBC 5.25" Disc Images

Repton Thru Time 762802
Life Of Repton 763067
Around The World 763067
Repton 3 761326
User avatar
Rhys
Posts: 44
Joined: Wed May 13, 2009 11:03 am
Contact:

Re: Repton 3 "Now" Screen H

Post by Rhys »

Don't know what the resurrecting old threads policy is but I thought I should qualify something, given how bullish I was about having completed "Now" Screen H on my old BBC micro (B).

I now recall, my version of Life of Repton was the tape version.

(I'd completely forgotten that. My games were almost exclusively on disc by that point but I picked up the tape version at a market stall. Probably one of the reasons why I completed it last.)

So that would explain why I had so little difficulty with that level (other than it being the final level and therefore hard) as the consensus seems to be that it was the disc version that had this glitch ...
REPTON 2 IS ENDED
User avatar
Diminished
Posts: 1235
Joined: Fri Dec 08, 2017 9:47 pm
Contact:

Re: Repton 3 "Now" Screen H

Post by Diminished »

Rhys wrote: Wed Dec 16, 2020 2:46 pm resurrecting old threads policy
The policy is that it's encouraged. :lol:

OK, I wasn't aware of this thread before. It's pretty interesting. You may or may not be aware that some investigations took place quite recently related to differences between a couple of different disc Repton 3 versions (which we called v1 and v2), and I had a rather wild stab at disassembling both versions and documenting those differences. (This all started with the "fungus bug" that I think is maybe the one mentioned further up in this very thread). In short, there were (at least) two significant versions of disc Repton 3 -- an original release, and one with some fixes. Put another way, it is imprecise to refer to the "disc version", since there were at least two editions of the code that were sold.

I hadn't heard of this bug before. Do we know why this can be completed on one version, but not another? Has something been moved? Has the speed of the timer been changed? Does the timer start at a different value? Something else?

I'm just wondering if this bug was tackled in one of the fixes that I already documented in v2. If not, then there is another mystery to be solved. Off the top of my head, I can't think of any of those fixes that would have any impact on a problem like this, but some of those v1->v2 changes were alterations whose intent I didn't entirely understand.
gfoot
Posts: 987
Joined: Tue Apr 14, 2020 9:05 pm
Contact:

Re: Repton 3 "Now" Screen H

Post by gfoot »

Maybe let's give it one more dose of CPR!

I was playing through the various Reptons and got curious about this bug. I tried the cassette version, in BeebEm, and it is noticeably smoother running. I'm really curious how different it is, I assumed it was substantially the same but maybe some things were rewritten to squeeze into a smaller space?

I took videos of the first part of this level in both tape and disc versions (both from STH, both in BeebEm) and sequenced them to play together: https://youtu.be/53bX4hRF1go

As the disc version runs slightly more slowly overall, it was hard to synchronise the videos to play back together. In the end I sped up the disc video by a factor of 1.082, about 13/12.

I don't know whether the smoothness of the cassette version make it easier to control and time the corners, so I synchronised the videos based on the spirit's position, which should be consistent.

With this speed factor the spirit's location is consistent throughout the level, and Repton's is close enough. Both levels also have a time limit of 600.

If you look at where things are when the screen first flashes white, the spirit has moved six spaces further in the tape version.

So from this it certainly looks like the whole game runs slower in the disc version, but the time goes at the same rate.
User avatar
Diminished
Posts: 1235
Joined: Fri Dec 08, 2017 9:47 pm
Contact:

Re: Repton 3 "Now" Screen H

Post by Diminished »

Blimey, that's amazing. Well done.

It's also very strange!

It surely can't be deliberate that the versions run at different speeds, so would anyone like to hazard a guess why? Some IRQ munching cycles or something?
gfoot
Posts: 987
Joined: Tue Apr 14, 2020 9:05 pm
Contact:

Re: Repton 3 "Now" Screen H

Post by gfoot »

I've experimented some more and found that, as usual, there's more to it than I thought! It doesn't seem to be due to the tape vs disc version of the game. The key other difference between my two captured videos is that the disc version is playing from a save state that's already played through all the levels up to this point - you can see it has 7 crowns - while the tape version is playing from a save state just after entering the password.

If I start by using the password in the disc version, I can also get to the time capsule in time. There's a catch though, and this applies to both versions - after entering the password, you also have to hold a key down a key while the music intro plays! And it doesn't seem to matter which key - 'X' is logical as that's the way you're about to run anyway, but e.g. 'A' also works, even though it's not even one of the controls for the game!

The tell-tale sign (other than the smoother feel to the game) is that the first white flash shouldn't happen until the spirit is at least halfway through the zig zags on the left of the map. Repton's positioning isn't so critical, so you don't actually need to hit perfect corners every time, you can be a bit sloppy.

Regarding holding a key down, I actually find it easier using 'A', because when you hold 'X' you start moving straight after the fade-in and it's hard to time the next "up" move after just one square. Holding down 'A' is enough to get the game to run in "fast mode", at which point even if you don't move immediately from the start square, you still benefit and can reach the time capsule in time.

You also don't have to hold it down continuously, I've had success with tapping a key during the intro music as well - but it's not as reliable.

I also tried playing through just screen G, and took a save state on the "editor code" screen, so I could try holding down keys from that point and see if I could get it into fast mode on screen H - however I couldn't make this happen, I always got the first time bomb flash when the spirit was just entering the zig zag section.

So, this doesn't seem to be a difference between versions - however it is still a very strange bug!
User avatar
Diminished
Posts: 1235
Joined: Fri Dec 08, 2017 9:47 pm
Contact:

Re: Repton 3 "Now" Screen H

Post by Diminished »

I wonder what it would do if you used joysticks...

I'm just thinking about the joystick ADC and wondering if that is somehow implicated, because I seem to remember one of the classic ways to make a Beeb run slightly faster was by issuing that *FX call that disables the ADC.
User avatar
scarybeasts
Posts: 1052
Joined: Tue Feb 06, 2018 7:44 am
Contact:

Re: Repton 3 "Now" Screen H

Post by scarybeasts »

Diminished wrote: Mon Aug 16, 2021 9:43 pm I wonder what it would do if you used joysticks...

I'm just thinking about the joystick ADC and wondering if that is somehow implicated, because I seem to remember one of the classic ways to make a Beeb run slightly faster was by issuing that *FX call that disables the ADC.
I was wondering if the "restore from save state" of the emulator might be buggy and leave some subsystem (e.g. the ADC one) broken, or some other subsystem (e.g. tape / ACIA, FDC) hyperactive, or VIA timer state weird, etc.


Cheers
Chris
gfoot
Posts: 987
Joined: Tue Apr 14, 2020 9:05 pm
Contact:

Re: Repton 3 "Now" Screen H

Post by gfoot »

scarybeasts wrote: Mon Aug 16, 2021 11:39 pm I was wondering if the "restore from save state" of the emulator might be buggy and leave some subsystem (e.g. the ADC one) broken, or some other subsystem (e.g. tape / ACIA, FDC) hyperactive, or VIA timer state weird, etc
Yes I wondered about emulator bugs. Both cases were using save states though, and I've since tested it on a real Beeb, at least the launch with password case, with the same result. I don't have the patience to play through Screen G on the real Beeb though to test that.
User avatar
Diminished
Posts: 1235
Joined: Fri Dec 08, 2017 9:47 pm
Contact:

Re: Repton 3 "Now" Screen H

Post by Diminished »

I didn't finish disassembling Repton 3, but I've attached a WFDIS disassembly file I had lying around in case anyone wants a head start in going after this. (Of course, the source code is still out there somewhere ...)

This looks like it was the V2 (bugfixed) disc version.

There is a commonly-used subroutine I called read_key at &1762 ...

Code: Select all

read_key            lda #$81
                    tay
                    jsr _OSBYTE
                    tya
                    rts
Which is usually (always?) called via an Atkinson trampoline at &1706, which I named tr_read_key ...

Code: Select all

                    ; common; character returned in X
tr_read_key         jmp read_key
So you can obviously ctrl+F to find all the instances of calls to tr_read_key.

Usual disclaimer -- this is an unfinished disassembly. Trust nothing!
Attachments
v2-ascii-labelled-4.wfdis.zip
(188.19 KiB) Downloaded 47 times
Rocketeer
Posts: 59
Joined: Tue Mar 13, 2018 2:12 pm
Contact:

Re: Repton 3 "Now" Screen H

Post by Rocketeer »

Attached are the Repton 3 discs as recovered by Phil & Chris (cheers guys!) I have given permission for them to be made public at some point but with Arcadian occupied with earning a crust post lockdown (as we all are) it may be some time before they make it to GitHub. In the meantime here they are.

Please note that I didn't keep previous versions after bug fixes etc, these are the last versions.
Attachments
bbc repton 3 utilities source.ssd
(78.25 KiB) Downloaded 81 times
bbc repton 3 tape game.ssd
(180 KiB) Downloaded 75 times
bbc repton 3 tape editor.ssd
(100 KiB) Downloaded 71 times
bbc repton 3 game source and object.ssd
(180 KiB) Downloaded 75 times
bbc repton 3 editor object.ssd
(180 KiB) Downloaded 68 times
bbc master repton3 control program.ssd
(100 KiB) Downloaded 77 times
melchett
Posts: 478
Joined: Tue Jan 28, 2003 9:52 am
Contact:

Re: Repton 3 "Now" Screen H

Post by melchett »

Thank you for making this public @Rocketeer (I assume Matthew?) - will spend some time looking at the source code, wow.

I remember getting both Repton 3 and Citadel for Christmas in 1985 or 86 - absolutely adored both of these and made a small me back then exceedingly happy. Great to see this and thank you for such a great game too! The editor gave it so much more scope that the previous two. Who knew 35ish years on I would be staring at the original source code...

=D> =D> =D>

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

Re: Repton 3 "Now" Screen H

Post by gfoot »

Rocketeer wrote: Tue Aug 17, 2021 11:21 am Attached are the Repton 3 discs as recovered by Phil & Chris (cheers guys!) I have given permission for them to be made public at some point but with Arcadian occupied with earning a crust post lockdown (as we all are) it may be some time before they make it to GitHub. In the meantime here they are.
That's awesome! It is so fascinating to see how you guys developed these games.
User avatar
Diminished
Posts: 1235
Joined: Fri Dec 08, 2017 9:47 pm
Contact:

Re: Repton 3 "Now" Screen H

Post by Diminished »

Rocketeer wrote: Tue Aug 17, 2021 11:21 am Attached are the Repton 3 discs as recovered by Phil & Chris (cheers guys!) I have given permission for them to be made public at some point but with Arcadian occupied with earning a crust post lockdown (as we all are) it may be some time before they make it to GitHub. In the meantime here they are.

Please note that I didn't keep previous versions after bug fixes etc, these are the last versions.
Yesssss

I didn't think we'd get to see these after the unfortunate postal system disaster, so major thanks to everyone who made this possible.

Should this perhaps be split off into a separate thread?
User avatar
Diminished
Posts: 1235
Joined: Fri Dec 08, 2017 9:47 pm
Contact:

Re: Repton 3 "Now" Screen H

Post by Diminished »

Word of warning -- looks like some of these discs need a Watford DFS, or you won't see all of the files present ...

EDIT: I've extracted all the files (I think) and attached a ZIP of the lot here. I've also numbered the discs one to six.
repton3-src-all-files.zip
(198.84 KiB) Downloaded 65 times

EDIT2: This ZIP should hopefully contain all the tokenised BASIC contained within all six discs, detokenised to ASCII using basictool for easy reading; there are both vanilla (unindented) and LISTO 2 versions:
repton3-src-BASIC.zip
(237.22 KiB) Downloaded 72 times
Post Reply

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