Jump to content
Jet Set Willy & Manic Miner Community

Jet Set Willy: Role Reversal release imminent


Sendy The Endless

Recommended Posts

On 3/15/2023 at 12:53 AM, jetsetdanny said:

Thanks, Ian! 👍 It's based on what you wrote, of course.

Let's wait for Vidar then, to see if he approves the 'official' bugfix.

Did Vidar ever get back to you, Danny? It might be worth sending him a PM or tagging him into a post on this thread. 

Something else that might be worth doing, to verify the bug fix works and is fully understood, is to take a snapshot from Philip Bee's walk through of Eugene Lord of the Bathroom, and look at what value is held at address #85CE (the Kempston Joystick Indicator) - if my theory is right as to why he didn't encounter the bug that causes the title screen/scrolling message to be skipped, then #85CE should hold a value of 01.

Link to comment
Share on other sites

1 hour ago, Spider said:

Its worth looking at the snapshot to see where the PC is too, before it does anything at all. Then you'll maybe be able to determine if its "gone past" the check for the interface or not...

The check for the interface only occurs during the title screen. If the snapshot is taken once gameplay is underway, then the variable should be fixed for the duration of the game.

Link to comment
Share on other sites

17 hours ago, IRF said:

The check for the interface only occurs during the title screen. If the snapshot is taken once gameplay is underway, then the variable should be fixed for the duration of the game.

Oh yes I know. 🙂 But I've seen some snapshots taken on the title screen and maybe a "note in" or at the start, so without checking where the Z80 is going to read next etc.

I know what you're saying. 🙂

Link to comment
Share on other sites

7 hours ago, Spider said:

Oh yes I know. 🙂 But I've seen some snapshots taken on the title screen and maybe a "note in" or at the start, so without checking where the Z80 is going to read next etc.

I know what you're saying. 🙂

You're right to point out the need not to take the snapshot during the title screen/ scrolly message, as that might defeat the purpose of the exercise!

Link to comment
Share on other sites

12 hours ago, IRF said:

You're right to point out the need not to take the snapshot during the title screen/ scrolly message, as that might defeat the purpose of the exercise!

As you know there's a few ways of doing it, depending on what state the file is in , in the first place.

Generally I'll do one of the following:

Insert a small pause into the loader before it USR's to 33792 , such as just a PAUSE 1E2 (pause for 2 seconds) and take the snap there. Just have to be quick, pause it then take the snap.

Insert a breakpoint at the same place aka 33792 before its bothered to set the StackPointer etc, or perhaps after that. When the emulator stops, pause it while the debugger is open if possible then take the snap here.

The advantage of these is if needed while its paused you can drag an .scr into the window and have that saved too if needed.

Link to comment
Share on other sites

I was just thinking of playing the recording in Spin, and once game play is underway, press File - > Save snapshot. Then open up the .sna in JSWED.

Or even just use the Debug feature in SPIN  and look for the relevant address. 

Edited by IRF
Link to comment
Share on other sites

On 5/19/2023 at 7:03 PM, IRF said:

Did Vidar ever get back to you, Danny? It might be worth sending him a PM or tagging him into a post on this thread. 

Something else that might be worth doing, to verify the bug fix works and is fully understood, is to take a snapshot from Philip Bee's walk through of Eugene Lord of the Bathroom, and look at what value is held at address #85CE (the Kempston Joystick Indicator) - if my theory is right as to why he didn't encounter the bug that causes the title screen/scrolling message to be skipped, then #85CE should hold a value of 01.

Sorry, the appropriate address for the Kempston Joystick Indicator is #8459, not #85CE. (I was thinking this was a JSW engine game, rather than a MM one.)

Anyway, I just tried the above.  However, even though Philip Bee's RZX recording shows the title screen and full scrolling message prior to the walkthrough if you go to the RZX Archive and click 'Watch Video', when I tried downloading the RZX file and playing it back in ZX SPIN, the title screen only showed momentarily before the game started up automatically (skipping the scrolling message) and then the walkthrough of the actual game proceeded in the same way as it does when you 'Watch Video' at the Archive.  In that sense, the supposedly pre-recorded recording plays out differently depending on what method you use to view it!  That seems rather odd to me (it could be a problem with the SPIN emulator?)

I then took control of the game in SPIN by clicking 'Stop Playback', used the Debug feature to tweak the Title Screen routine so that the Kempston Joystick Indicator is always set to 01 before the game starts (by changing the jump length at #8629 from 05 to 00), and then abandoned the current game using SHIFT+SPACE to see what would happen.  Once again the title screen only appeared briefly before the next game auto-started, but this time Eugene (the protagonist in this game) started jumping straight upwards repeatedly (and, as it happens, rapidly losing lives because the start position of the game is directly underneath a Fire cell).

I should add that I didn't actually have a Kempston Joystick plugged into to my laptop during this experiment.  I think what happens is that if the status of the Kempston port is tested on a Spectrum whenever a Kempston Joystick isn't actually plugged in, then the default situation - as far as the machine assumes - is that the Fire button is continuously being pressed.  Or something like that?

Anyway, in summary:

1. The bugfix that I came up with definitely works, in the sense of stopping the autostart problem, if you haven't got a Kempston Joystick attached, and I see no reason why the bug fix wouldn't allow you to see the title screen/scrolling message if you do have a Kempston attached (though I haven't been able to test that as I don't own one).

2. I still believe that Philip Bee's RZX recording probably behaved differently (not bypassing the title screen/scroller) because he had a Kempston Joystick plugged in at the time that he did his walkthrough (but the anomalous behaviour of SPIN(?) has prevented me from proving that definitively).

Edited by IRF
Link to comment
Share on other sites

Quick note: I have noticed on some snapshots (it might be the emulator they are saved in or possibly different 'versions' of the .z80 and/or .sna format) that if the game immediately starts, followed usually by Willy jumping without any player input the cause is likely because 'Kempston' flag was set but the interface options in that emulator were not.

For Spin, look at 'keystick' and set it to Kempston. The downside here is it might make the 128 'menu' difficult to use, press shift and 6 or 7 for that.

On real hardware, you do get spurious inputs sometimes on some games if you choose Kempston and the interface (the interface, the stick has no bearing on it) is not present.

Its worth where this happpens to look at the snap / image to see if the emulator has indicated Kempston or not.

Link to comment
Share on other sites

On 5/19/2023 at 2:03 PM, IRF said:

Did Vidar ever get back to you, Danny? It might be worth sending him a PM or tagging him into a post on this thread. 

No, he hasn't.

I agree it may be worth sending him a PM (or trying to get hold of him in another way), but it's low on my priority list right now. I feel an author should be interested in their game being present on the internet in a bugfree form. "We" (without specifying who did what, of course you came up with the fix) raised alarm about the problem, diagnosed it and offered a solution. All Vidar would need to do it is to confirm he approves of this solution to make it "official". If it's too much to ask of him, I don't feel like chasing him, at least not right now.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.