Two glitches I've found recently.
First is a stopwatch glitch that renders enemies motionless after the timer expires. The enemies will begin moving again after you leave the screen or use the stop watch again. This was done on a US PRG1 rom-
https://youtu.be/xwe9uYylsRU
Secondly a strange glitch involving potions and doors. Most are aware that using a potion through a doorway will crash the game, however on the 1993 Japanese version and also VS CV the crash will not occur.
Oddly, a hidden block will appear in the next room that can be stood upon using a damage boost. You are seemingly trapped here though. I have fallen off when taking damage-
https://youtu.be/7rxdW34CKBE
Figure I'd show off the wrong warp I found https://www.youtube.com/watch?v=FTVBhxZTUqM
The area where I found this is the stairs going down in Stage 02 with the fish monsters. Since scroll glitch was found I've been interested in removing blocks to take stairs where you shouldn't go. The stairs in that section probably can't have blocks removed via scroll glitch, so I hacked the ROM and removed them myself.
The result is as you see above. Even if that area likely isn't accessible via regular scroll glitch I think it's worth sharing, and is at least proof that wrong warping to later stages is possible.
Was done on PRG1 as well.
Link to video
Stairs have some weird properties when it comes to camera scrolling.
The best I can explain it, when Simon climbs up a step, you need to push Right for at least two frames to get Simon moving. The scrolling engine is already enabled on the first frame, allowing us to manipulate it as we would any other camera scrolling, and despawn blocks with well timed pauses and turnarounds. This also lets Simon turn around in place on a step, which is the wiggling you see at the start.
I cannot think of any places that would be affected by this off-hand.
Input File
I have found a Credits Warp in the Famicom Disk System 1.0 version. This method however takes roughly 2 hours to set up, so it's not currently a faster way to beat the game.
Link to video
Full explanation in this pastebin: https://pastebin.com/75tbpnLJ
tl;dr: The glitch screen accessible by damage boosting up to the stage exit in Stage 10 contains a spawner with an invalid index that ends up making the game execute code from RAM. A payload can be prepared to warp to the credits (though with some limitations).
I haven't been super rigorous in my research, but I have not found an accessible screen with potential for RAM execution in any of the cartridge releases.
Input file: User movie #638511647302356536
Link to video
I have now found a Credits Warp setup that officially saves time. The above video is an unoptimized demonstration for the sake of showing this is possible.
The initial RAM area in which the Program Counter jumps is the same as the previous setup ($179C). However, instead of using save data and controller inputs to execute the payload, "High Score" ($17F8-$17FA) is used to jump towards Object X Coordinate memory (which starts at $038C). Then, a few objects are carefully manipulated for their X positions to jump to the credits.
However, the score has a notable limitation. It is stored in decimal format, meaning any opcodes or operands that contain letters are unavailable. On top of that, the first byte will never having a units digit different from 0. This makes the JMP opcode not possible (0x4C or 0x6C), however JSR is still available (0x20). This will make the Program Counter eventually return to $17FB, so "Current Score" ($17FC-$17FE) also has to be used to RTS back to safety.
The route is the following:
- Start the run by naming the second file to ....... - very important to use the second file to align the Program Counter properly. Also don't name any other file. The purpose of this is to simply allow the Program Counter to get past the save data without causing anything disruptive.
- Start the run and achieve a score of 038820 in level 4. Other slightly different scores might work too.
- Game over. This will allow the High Score to permanently hold 20 88 03.
- Collect 5800 points. A damage boost at the end will be needed to access the glitch screen which will award 200 more points, the objective is to have 6000 points by the end of Stage 10. The demonstration above collects the Holy Water to perform combos on enemies for extra points.
- Go back to the starting area and destroy a candle in a pixel-perfect spot to write X coordinate 0x52 at $38F. I think this is the X coordinate of the sparkle effect.
- Go further back and jump-whip in a pixel-perfect spot while facing left to write X coordinate 0x4C at $38E. It is important to whip in such a way that the animation finishes before landing so that $530 (some kind of property of Simon that advances by 0x24 any time he moves) will have a 0x01 written to it and contain values of 4n+1, which will come into play later. Also note that after this point, no attacks should be performed again, or else this memory value will change.
- Move to the area around the last moving platform and aim to have a splash animation object to despawn at a pixel-perfect spot to write X coordinate 0x79 at $0390.
- Move to the ending area and damage boost up to the top platform. This should set the score to 006000 and create the requirements to access Stage 11, Substage 255.
- If necessary, wiggle around a bit so that when you touch the stage exit, $530 is exactly 0x71.
- Make sure to touch the exit at the right time so that the area around $7C9-$7CF doesn't contain anything harmful to the setup (PLA, STP for example). This seems to change depending on the frame the exit is taken.
- Win.
This setup will allow execution to eventually get to $17F8, where a JSR $0388 will be performed. There, the following code will be executed:
BRK
BRK
RLA ($3C,x)
JMP $7952 -- jump to routine that starts the credits sequence
After the routine at $7952, execution will eventually return to $17FB, where after a BRK, the Current Score will RTS and allow the credits to start properly.
This setup can probably be better, but at least this officially makes it faster than any runs that have existed so far.
EDIT: input file - User movie #638512374616987382
Joined: 4/17/2010
Posts: 11495
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
Incredible!!!
(I started reading but couldn't finish because I needed to post so hard lol)
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Ah, no I haven't! I have checked the US PRG1, US PRG1, PAL, JP FC versions in terms of cart releases. None of them seemed to have an accessible screen that allowed execution to jump to RAM from what I saw.