IRF Posted May 19, 2023 Report Share Posted May 19, 2023 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. Spider 1 Quote Link to comment Share on other sites More sharing options...
Spider Posted May 19, 2023 Report Share Posted May 19, 2023 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... Quote Link to comment Share on other sites More sharing options...
IRF Posted May 19, 2023 Report Share Posted May 19, 2023 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. Quote Link to comment Share on other sites More sharing options...
Spider Posted May 20, 2023 Report Share Posted May 20, 2023 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. 🙂 IRF 1 Quote Link to comment Share on other sites More sharing options...
IRF Posted May 20, 2023 Report Share Posted May 20, 2023 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! Spider 1 Quote Link to comment Share on other sites More sharing options...
Spider Posted May 21, 2023 Report Share Posted May 21, 2023 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. Quote Link to comment Share on other sites More sharing options...
IRF Posted May 21, 2023 Report Share Posted May 21, 2023 (edited) 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 May 21, 2023 by IRF Spider 1 Quote Link to comment Share on other sites More sharing options...
IRF Posted May 25, 2023 Report Share Posted May 25, 2023 (edited) 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 May 25, 2023 by IRF Quote Link to comment Share on other sites More sharing options...
Spider Posted May 25, 2023 Report Share Posted May 25, 2023 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. IRF 1 Quote Link to comment Share on other sites More sharing options...
jetsetdanny Posted June 1, 2023 Report Share Posted June 1, 2023 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. Spider 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.