Site Admin, Skilled player (1250)
Joined: 4/17/2010
Posts: 11473
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
First, IIRC it's FDS. Then, whether it has ACE potential depends of whether execution jumps to RAM (or similar locations that user can affect). And yes, very often it looks like crashes. Maybe SMB is too simple to crash. One would need to record the most glitched movie he can get and just show it to the experts.
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.
Joined: 12/29/2007
Posts: 47
It is also possible to freeze in a glitch that has been used in the movie. 1-2 crash fm2 file And it also made 35F fast optimized version. fm2 file Glitch did not cause anything thing other than graphics errors and crashes.
Masterjun
He/Him
Site Developer, Skilled player (1986)
Joined: 10/12/2010
Posts: 1185
Location: Germany
I didn't yet figure out why exactly the status bar is glitching up (it has something to do with getting wrong values in the buffer, probably caused by lag), but I did find out why exactly the game locks up (yes, this is only a softlock not a crash). If you quickly want to recreate the glitch with a memory editor, just change the nametable (background) tile at X:0x0B and Y:0x03 to a transparent tile (for example 0x24). (This means offset 0x006B in BizHawk's CIRAM and offset 0x206B in FCEUX's PPU Memory) The critical point here is the coin symbol in the status bar, because it intentionally overlaps with the OAM sprite #0. This is a special sprite because it sets the Sprite #0 Hit bit of a PPU status register ($2002) meaning it can be used to make code execute while specific pixels are being drawn. It is used to differentiate the status bar from the rest of the game (you wouldn't want to make the status bar scroll with the camera, would you?). This however only works if there is actually something that overlaps it, meaning that if the status bar gets glitched up and the coin symbol gets replaced by some transparent tile (0x24) it won't set the bit in the register and it softlocks in an infinite loop waiting for something to happen (also, while checking for the bit all interrupts are disabled, so there is nothing that can happen). tl;dr: The freeze is a simple softlock, nothing special. Rather try figuring out why the glitchy status bar occurs in the first place.
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Active player (335)
Joined: 1/19/2010
Posts: 383
Location: Texas
If Mario were to die, do the grapical errors stay active at respawn? If they do, perhaps the errors can just keep piling up by playing that part of the level over and over until something interesting happens.
Joined: 12/29/2007
Posts: 47
I found a little glitch in the 4-2 during a search of the crash. fm2 file The position of the invisible enemy is also on the front. Other, invisible fire hit and scroll lock would also be interesting.
Expert player (2554)
Joined: 12/23/2007
Posts: 829
I found that glitch during the Maximum Coins run, and don't know how to name it. I've tested it with various kinds of common enemies, and only Pirana Plants and the flagpole can be hit this way. It has something to do with the dead bodies of the previous enemies. Would be very interesting if someone figures out a way to use it. Link to video
Recent projects: SMB warpless TAS (2018), SMB warpless walkathon (2019), SMB something never done before (2019), Extra Mario Bros. (best ending) (2020).
Editor, Expert player (2328)
Joined: 5/15/2007
Posts: 3929
Location: Germany
MarbleousDave
He/Him
Player (13)
Joined: 9/12/2009
Posts: 1559
Ah, the flip screen kill glitch on the Game Boy. The Game Boy is 160x144. The glitch happens roughly 40 pixels off screen. Just about the width of the GBA.
MarbleousDave
He/Him
Player (13)
Joined: 9/12/2009
Posts: 1559
Link to video Link to video Super Mario Bros. Master Quest is a twisted remix of the original. It's no Air or Kaizo, but it's rather challenging. They were so generous of having a warp to world 8 at the beginning. Super Mushroom is another difficult hack including changes to enemy physics. There's that one jump that's impossible to reach. You can't release a game with an unbeatable stage. Check out Fuzz Power on Action 52 to see what I mean. There are some outdated Mario 1 hacks that refuse to play on newer emulators probably due to a design flaw in those hacks. They could still be played on obsolete emulators like NESticle.
Experienced player (702)
Joined: 2/19/2006
Posts: 742
Location: Quincy, MA
Posting this because it is one of the only things I've found in this game that I haven't been able to duplicate nor understand. https://www.youtube.com/watch?v=V_we_fVYxO4
Super Mario Bros. console speedrunner - Andrew Gardikis
Editor, Expert player (2328)
Joined: 5/15/2007
Posts: 3929
Location: Germany
Did you play on NES or VC? I have seen people trying to get their games to run and fail/or get glitchy graphics on NES. I think that pause thing is related to that. In other words, a hardware failure. ----- someone on youtube complained about my PAL TAS that I was inside a piranha plant. And it seems hitboxes did overlap, so why did I survive?
Editor, Skilled player (1438)
Joined: 3/31/2010
Posts: 2107
MUGG wrote:
Did you play on NES or VC? I have seen people trying to get their games to run and fail/or get glitchy graphics on NES. I think that pause thing is related to that. In other words, a hardware failure. ----- http://i.imgur.com/mgCLhXL.gif someone on youtube complained about my PAL TAS that I was inside a piranha plant. And it seems hitboxes did overlap, so why did I survive?
I've taken a quick peek at the SMB disassembly, and it seems the answer is really simple: The game only checks for collision on even frames.
FrameCounter = $09

;[...]

EnemiesCollision:
        lda FrameCounter            ;check counter for d0 set
        lsr
        bcc ExSFN                   ;if d0 not set, leave
In fact, freezing $09 on an even value will make Mario invulnerable to enemies. Your hitbox probably intersected with the piranha plant while this was the case.
Personman
Other
Joined: 4/20/2008
Posts: 465
Is that true in NTSC as well? It is kind of baffling to me that this is only being discovered now! This has to be useful for something, right?
A warb degombs the brangy. Your gitch zanks and leils the warb.
Editor, Skilled player (1438)
Joined: 3/31/2010
Posts: 2107
Personman wrote:
Is that true in NTSC as well? It is kind of baffling to me that this is only being discovered now! This has to be useful for something, right?
This is from the NTSC disassembly. I don't think there is any reason why PAL and NTSC should differ in this area.
Amaraticando
It/Its
Editor, Player (159)
Joined: 1/10/2012
Posts: 673
Location: Brazil
Suggestion> on even frames, draw the box fully, or with less transparency. I do it in SMW (where the sprite id determines the parity) and it`s really useful. And having a different color for Mario would be nice too, and pretty easy to edit.
Editor, Expert player (2328)
Joined: 5/15/2007
Posts: 3929
Location: Germany
Amaraticando wrote:
Suggestion> on even frames, draw the box fully, or with less transparency. I do it in SMW (where the sprite id determines the parity) and it`s really useful. And having a different color for Mario would be nice too, and pretty easy to edit.
The lua is from FCEUX from 2008, not mine. If you want it improved, you can post here I guess.
Experienced player (702)
Joined: 2/19/2006
Posts: 742
Location: Quincy, MA
MUGG wrote:
Did you play on NES or VC? I have seen people trying to get their games to run and fail/or get glitchy graphics on NES. I think that pause thing is related to that. In other words, a hardware failure.
NES. All I know is that I was pausing as I reset and the game started up with no music, and no sound effects. Upon completing the first stage, it did not progress to 1-2 until I paused and unpaused, and that made it go back to normal.
Super Mario Bros. console speedrunner - Andrew Gardikis
Joined: 7/29/2009
Posts: 55
I had a glitch happen once, where the game lagged in 6-4 just as I reached Bowser and his two halves weren't aligned. I didn't think to test, if his hitboxes were actually shifted or if it was just graphical though. If someone can recreate this and it is the first case, it would confirm that lag can cause more than just graphical glitches at least.
Tompa
Any
Editor, Expert player (2213)
Joined: 8/15/2005
Posts: 1941
Location: Mullsjö, Sweden
https://www.twitch.tv/pmniac/v/81711394 Posted this in IRC, but might as well post it here. Why and how does this work?
Joined: 12/29/2007
Posts: 489
Of note it looks like only one block lost its collision (the second block of the ceiling). You can see that Mario bumps into the side of the third block as he's falling and loses forward momentum.
Joined: 7/29/2009
Posts: 55
That is the PAL version and it's known to have glitchy floor collision detection although I only saw it after hitting a block before. A PAL TAS could maybe use this in 4-2 to speed up the warp zone section.
Editor, Expert player (2328)
Joined: 5/15/2007
Posts: 3929
Location: Germany
Tompa wrote:
https://www.twitch.tv/pmniac/v/81711394 Posted this in IRC, but might as well post it here. Why and how does this work?
Did you play on the PAL version? If so, then this was already a known bug.
Potato Stomper wrote:
That is the PAL version and it's known to have glitchy floor collision detection although I only saw it after hitting a block before. A PAL TAS could maybe use this in 4-2 to speed up the warp zone section.
I investigated that bug a long time ago. It happens when Y-speed is higher than it should be (7+ pixels instead of 6 or something), which happens at certain jump heights. I had tested it thoroughly in 4-2 and couldn't do it through the stairs. But I think it could be done in other levels such as 1-2 at the end but I don't know if it's faster than going through the wall.
Joined: 7/29/2009
Posts: 55
MUGG wrote:
I had tested it thoroughly in 4-2 and couldn't do it through the stairs. But I think it could be done in other levels such as 1-2 at the end but I don't know if it's faster than going through the wall.
I guess you mean this: But why would this work in 1-2 but not in 4-2? EDIT: Is it maybe that you need a moving platform to get the right jump height?
Editor, Expert player (2328)
Joined: 5/15/2007
Posts: 3929
Location: Germany
The level layout doesn't allow it in 4-2. I don't know if it works at all on an "every 16 pixels" basis. But if you can bounce off of enemies or use a platform, you gain more possibilities of doing the bug. Instead of every 16 pixels you can do it on every single pixel and some of them allow the bug to happen.
Joined: 4/25/2004
Posts: 498
The top row of blocks, in the NTSC version as well, has buggy collision in general. :p I've had big Mario jump through the left end of the line of bricks before the 1-2 exit pipe. Like, from the left side. o_O