IRF Posted May 19, 2021 Report Share Posted May 19, 2021 RB, I've just noticed a comment you made in one of your videos (the sub-20minute one), where you said "The semi-colon button failed". Am I right in my interpretation that you use the semi-colon button (on a PC running a Spectrum emulator) as a shortcut key for "Left+Jump" buttons being pressed simultaneously, in order to perform a leftwards jump (an example of the use would be to avoid risking walking off a precipice, as can happen if you press the separate Jump button too late)? But that it doesn't work in all circumstances (in this case it caused a vertical jump instead), so it isn't entirely reliable for that purpose? ** Incidentally, I've just established that the Hash key has a similar effect for jumping rightwards using a single keypress. i.e. Hash is a shortcut for "Right+Jump" buttons being pressed simultaneously. But perhaps that is similarly unreliable? Spider and jetsetdanny 2 Quote Link to comment Share on other sites More sharing options...
crem Posted May 19, 2021 Report Share Posted May 19, 2021 13 minutes ago, IRF said: But that it doesn't work in all circumstances (in this case it caused a vertical jump instead), so it isn't entirely reliable for that purpose? I think the semicolon button works exactly the same as if "jump" and "left" were pressed at the same time, it's just that when a person manually presses left+jump simultaneously and Willy doesn't do what was intended, people blame themselves that they were not simultaneous enough. The problem is that in the code keypress checks for left/right (addresses 36624-36651) and for jumps (36720-36745) are quite far from each other. I'd say around 0.5ms far apart, so if the keypress happens during that time of the frame, only jump is recorded but not left/right. With ~12 fps and 0.5ms, that has probability around 1% to happen if the key is pressed at random time. The effect can be reduced a bit (but not sure if it worth it) if "67" keys are used for walk (rather than letters, kempston joystick keys would be even better), and "SHIFT-Z-X-C-V-B-N-M-SS-SPACE" is used for jump (rather than "0" or joystick). Spider, jetsetdanny and IRF 2 1 Quote Link to comment Share on other sites More sharing options...
crem Posted May 19, 2021 Report Share Posted May 19, 2021 Also note that in emulators (at least Fuse) the emulation doesn't happen in real CPU speed. Instead the code runs at full speed in small portions 50 times per second. That means that failed jump key is actually not "unlucky moment to press a key" but rather "unlikely moment for interrupt to happen". Which may (or may not) affect the probability of that effect happen in either way. IRF, jetsetdanny and Spider 2 1 Quote Link to comment Share on other sites More sharing options...
IRF Posted May 19, 2021 Report Share Posted May 19, 2021 I wonder whether the effect could be reduced by shuffling the code around, placing 36674-36716 after 36795? So that straight after Left-Right movement keypresses have been stored in E, the Jump keypresses are dealt with (the code for which doesn't involve E), before the value in E is used to update the direction/movement flags (34256), and then flow of execution progresses straight into the code at 36796. Spider 1 Quote Link to comment Share on other sites More sharing options...
IRF Posted May 19, 2021 Report Share Posted May 19, 2021 (edited) 12 hours ago, IRF said: I wonder whether the effect could be reduced by shuffling the code around, placing 36674-36716 after 36795? So that straight after Left-Right movement keypresses have been stored in E, the Jump keypresses are dealt with (the code for which doesn't involve E), before the value in E is used to update the direction/movement flags (34256), and then flow of execution progresses straight into the code at 36796. The only potential adverse effect of that might be when jumping off a rope, where the RET at 36795 means that the 'Move Sideways' part of the 'Move Willy' routine doesn't get executed in that time-frame - so if Willy is facing leftwards on a rope and you hit Right+Jump simultaneously, then he might jump off the rope to the left rather than to the right? (In which case, to be sure that he leaves the rope in the direction you wanted, you would have to face Willy in the correct direction first, then hit Jump in the next time-frame.) Edited May 19, 2021 by IRF Spider 1 Quote Link to comment Share on other sites More sharing options...
RuffledBricks Posted May 19, 2021 Author Report Share Posted May 19, 2021 1 hour ago, IRF said: RB, I've just noticed a comment you made in one of your videos (the sub-20minute one), where you said "The semi-colon button failed". Am I right in my interpretation that you use the semi-colon button (on a PC running a Spectrum emulator) as a shortcut key for "Left+Jump" buttons being pressed simultaneously, in order to perform a leftwards jump (an example of the use would be to avoid risking walking off a precipice, as can happen if you press the separate Jump button too late)? Yes, that's right. Weirdly they were the first jumps I discovered when I started playing JSW on stream last year and I actually didn't even realise you could vertical jump without turning on the spot until someone in chat helpfully pointed that out! Quote But that it doesn't work in all circumstances (in this case it caused a vertical jump instead), so it isn't entirely reliable for that purpose? So it is normally reliable (over 99% I'd say). However, in the week prior to that stream mick_jo had been discussing how he found those jump buttons occasionally didn't seem to work when running the game in 128K on Fuse, and then all of a sudden I started experiencing similar (albeit very sporadic) issues. So I think it might be more emulator-related than anything bigger. Spider and IRF 1 1 Quote Link to comment Share on other sites More sharing options...
RuffledBricks Posted January 27, 2022 Author Report Share Posted January 27, 2022 Bumping this thread coz fellow speedrunner DigitalDuck is going to be running the 2015 Bugfix edition of JSW for UKSG's Winter Marathon 2022 tomorrow evening at approx 20:50, and I'll be providing commentary for his run. The marathon will be broadcast on ESA's Twitch channel here if anyone's interested: https://www.twitch.tv/esamarathon Full schedule can be viewed here: https://oengus.io/en-GB/marathon/UKSGwi22/schedule No Miner Willy runs from myself I'm afraid, although if you're a fan of Spectrum platformers in general I'll be running Pyjamarama right before Duck's run. jetsetdanny 1 Quote Link to comment Share on other sites More sharing options...
jetsetdanny Posted January 28, 2022 Report Share Posted January 28, 2022 Good luck with your Pyjamarama run, RuffledBricks! Spider and RuffledBricks 2 Quote Link to comment Share on other sites More sharing options...
Spider Posted January 28, 2022 Report Share Posted January 28, 2022 On 1/27/2022 at 4:47 PM, RuffledBricks said: DigitalDuck is going to be running the 2015 Bugfix edition of JSW I'll have to download and watch that. 🙂 It was one of my earlier (read: not that skilled) attempts at squashing the majority of well known and some not well known bugs in the game. RuffledBricks 1 Quote Link to comment Share on other sites More sharing options...
RuffledBricks Posted January 28, 2022 Author Report Share Posted January 28, 2022 Grand, I knew it was someone around these parts who made it. I'll do my best to impart all the relevant info on commentary! Spider and jetsetdanny 2 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.