Patashu
He/Him
Joined: 10/2/2005
Posts: 4045
http://tasvideos.org/MovieRules.html#MovieMustBeComplete I think the specific ruling you're looking for is: 'Where applicable, the movie must reach an ending screen that positively signifies a game is finished successfully.' and 'It must be able to reach the credits or end screen without requiring any further interaction.' Not that you're likely to find ACE in SMB1 specifically, mind you...
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Post subject: I'm so ignorant
Joined: 6/4/2020
Posts: 42
Thanks for your response. But I have another question: Let's say I have ACE(although it is fanciful to assume that, like you said). Then am I allowed to manipulate the screen in such a way that it would look identical to the princess's speech in 8-4, without continuously mashing buttons without "actually beating the game" and call that the game's end screen?
Noxxa
They/Them
Moderator, Expert player (4128)
Joined: 8/14/2009
Posts: 4090
Location: The Netherlands
redatchyon2098 wrote:
Thanks for your response. But I have another question: Let's say I have ACE(although it is fanciful to assume that, like you said). Then am I allowed to manipulate the screen in such a way that it would look identical to the princess's speech in 8-4, without continuously mashing buttons without "actually beating the game" and call that the game's end screen?
Yes. By the point you have this level of full ACE control over a video game (hypothetically), you can do essentially anything you want, so conjuring up a custom ending screen is fair game. Per the movie rules:
• Playarounds making use of arbitrary code must still appear to complete the game, showing the end credits or ending screen at the end. ◦ Replacing the end credits or ending screen with your own is allowed as long as it appears to fit the game.
See also for example: [2513] SNES Super Mario World "arbitrary code execution" by Masterjun in 02:25.19
http://www.youtube.com/Noxxa <dwangoAC> This is a TAS (...). Not suitable for all audiences. May cause undesirable side-effects. May contain emulator abuse. Emulator may be abusive. This product contains glitches known to the state of California to cause egg defects. <Masterjun> I'm just a guy arranging bits in a sequence which could potentially amuse other people looking at these bits <adelikat> In Oregon Trail, I sacrificed my own family to save time. In Star trek, I killed helpless comrades in escape pods to save time. Here, I kill my allies to save time. I think I need help.
Joined: 6/4/2020
Posts: 42
okay, I am satisfied with this response.
Joined: 6/4/2020
Posts: 42
Michael Fried wrote:
I'm pretty sure perfection has already been reached in Super Mario Bros.
They were saying this in 2004. Can you imagine?
Joined: 12/30/2020
Posts: 7
Back in 2004, sub 5 minutes was thought as impossible. Now 4:53 is thought as impossible. But no one knows the limits...
Joined: 6/4/2020
Posts: 42
indeed.
Post subject: Super Mario Bros. "no Left" TAS in 10:47.93
Expert player (2574)
Joined: 12/23/2007
Posts: 831
Super Mario Bros. "no Left" TAS in 10:47.93 by HappyLee, Kriller37, Mars608 & KFCMario Link to video SMB can be completed without ever pressing Left. This TAS demonstrates the fastest way possible. It's interesting that the fastest route happens to show entering 5-1 through 1-2 wrong warp glitch. Authors (who have their Left button broken): HappyLee, Kriller37, Mars608 & KFCMario HappyLee: I started this project back in 2009. Mars608 and KFCMario joined the project mostly during 2012 to 2015. We've made several demo runs, but the project was postponed many times simply because a Firebar in 6-4 always gets in our way. I felt that there should be a way to avoid that. I restarted this project in 2020 with Kriller37. The 6-4 Firebar problem was solved with 5-1 Bullet Bill glitch ending, which is the hardest and the last piece of the puzzle. Killer37 finished many stages like 5-3, 7-1, 8-1 and 8-2, and his great skills and high efficiency make this TAS finally see the light of the day in 2020. Q: Why do you slow down in many places? A: Most of the slow downs are for entertainment, and some to avoid certain timer. This game has 21 frame rule, so slowing down doesn't necessarily mean time loss. Q: Can this be done by real-time speedrunners? A: I believe YES, because SMB speedrunners nowadays have done crazier things. There's no super-hard glitch involved in this route. I'd certainly love to see a "no Left" real-time speedrun someday. :) http://tasvideos.org/userfiles/info/69015692389962788
Recent projects: SMB warpless TAS (2018), SMB warpless walkathon (2019), SMB something never done before (2019), Extra Mario Bros. (best ending) (2020).
Post subject: left press
Joined: 6/4/2020
Posts: 42
Oh come on! I was working on that recently!
Post subject: Sprite Zero
Joined: 6/4/2020
Posts: 42
I don't know where to ask this, so I'll just put it here: Is there a RAM address that can modify the location of sprite zero?
Editor, Skilled player (1441)
Joined: 3/31/2010
Posts: 2113
redatchyon2098 wrote:
I don't know where to ask this, so I'll just put it here: Is there a RAM address that can modify the location of sprite zero?
If you mean modifying its position on screen, you can directly change $200 - $203 to change its properties. Be aware that there's certain conditions to triggering a sprite 0 hit, so not many positions will actually work. NESDev Wiki on PPU sprites and Sprite 0 hits.
Joined: 6/4/2020
Posts: 42
I'm writing this before actually experimenting, but thanks. I asked because one time the game crashed, but as it turns out it wasn't a "real" crash(The poor thing trying to execute a bad opcode), but rather it was a softlock: it was perpetually waiting for a sprite zero hit, but it didn't detect it. So, I am trying to replicate that.(EDIT: What? The crash happens even when I freeze those addresses?(It does crash when I tamper with the values though, you were right.) It must not be a spinning loop then. Then what is it?? I'm not good at this. It loops LDA $2002; AND #$40; BEQ $8150(Which is LDA $2002). Second edit: But when I set $0200 to 09 it gets in the same loop! What is going on??? )
Post subject: Re: Thank you
Editor, Skilled player (1441)
Joined: 3/31/2010
Posts: 2113
redatchyon2098 wrote:
I'm writing this before actually experimenting, but thanks. I asked because one time the game crashed, but as it turns out it wasn't a "real" crash(The poor thing trying to execute a bad opcode), but rather it was perpetually waiting for a sprite zero hit, but it didn't detect it. So, I am trying to replicate that.(EDIT: What? The crash happens even when I freeze those addresses?(It does crash when I tamper with the values though, you were right.) It must not be a spinning loop then. Then what is it?? I'm not good at this. It loops LDA $2002; AND #$40; BEQ $8150(Which is LDA $2002). Second edit: But when I set $0200 to 09 it gets in the same loop! What is going on??? )
It totally is a loop that spins forever on a sprite zero hit that never happens. Remember that a non-transparent pixel of sprite 0 must overlap an "opaque" pixel of the background. For SMB, the sky is not considered opaque. I'm not sure you are trying to do exactly.
Joined: 6/4/2020
Posts: 42
Thanks. When it softlocked sprite zero was in the middle of the sky. Solving one mystery at a time. I'm just having fun, I guess. But how did the HUD get messed up like that? I was trying to perform a glitch like this video: Link to video I eventually succeeded, but in one of my attempts the game crashed. The glitch seems to corrupt $0300 and afterwards, but I don't know how it happened. I once commented under the video, and it looks like happylee doesn't know why the glitch happens either.(EDIT: I checked, other comments explained it, but I didn't understand a word of it.)
Joined: 6/4/2020
Posts: 42
Here is a screenshot.https://imgur.com/lSXVa1S
negative_seven
She/Her
Active player (429)
Joined: 11/25/2012
Posts: 103
Location: Europe
It's just when there's a lot of PPU data updates queued up (like a new row of blocks getting loaded, an update to the blinking palette, score/coins change). The buffer reserved for these updates is not always big enough, so some corruption happens beyond it.
Post subject: Another question
Joined: 6/4/2020
Posts: 42
Then why the pattern in the corruption? Does it have anything to do with the fact that almost all of these "events" are related to score changes? And are there other locations where this can occur? Also, theoretically, how far can the corruption go? And, why did it crash in my case?http://tasvideos.org/userfiles/info/70733209713475564 Console verification by ViGreyTech: Link to videoI made this thing without knowing how it worked.
Post subject: Another question
Joined: 6/4/2020
Posts: 42
And why the inconsistency? The length of the corruption is extremely inconsistent, although seemingly I'm doing the same thing. And even when the corruption length is the same, I get different results! It seems random. Is it tied to the sub-pixel position or something?
Post subject: Super Mario Bros. (E) TAS, 16588 frames
Joined: 6/16/2021
Posts: 2
First TAS! Anyways, I'm pretty proud of this ^^; I think you submit it like this? User movie #72185777126352460 Please tell me if I did anything wrong!
h lol
Post subject: Re: Super Mario Bros. (E) TAS, 16588 frames
Amaraticando
It/Its
Editor, Player (162)
Joined: 1/10/2012
Posts: 673
Location: Brazil
YeahYeahBeebiss1 wrote:
Please tell me if I did anything wrong!
You shared the whole TAS Studio project. You only need to share the actual movie file (.bk2). You can also upload it here and ask for review http://tasvideos.org/userfiles/
Post subject: Re: Super Mario Bros. (E) TAS, 16588 frames
Joined: 6/16/2021
Posts: 2
Amaraticando wrote:
YeahYeahBeebiss1 wrote:
Please tell me if I did anything wrong!
You shared the whole TAS Studio project. You only need to share the actual movie file (.bk2). You can also upload it here and ask for review http://tasvideos.org/userfiles/
Ok, changed.
h lol
Patashu
He/Him
Joined: 10/2/2005
Posts: 4045
Link to video This improvement is 2 subpixels off of an improvement to a main category (Minus World Ending with L+R).
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Player (246)
Joined: 9/26/2020
Posts: 36
Unfortunately, I had tried my best to optimize that strategy but still came up 2 subpixels short.
Joined: 6/9/2020
Posts: 2
Location: Somewhere
Is there a Lua script for FCEUX that shows your subpixels like the Sockfolder ROM hack?
Joined: 6/4/2020
Posts: 42
You can do the following to display any memory address anywhere on the emulator window(Although you probably already know this):
address = 0x0000 --This is the address you're displaying.
x = 100 --This is the x coordinate of the number on the screen.
y = 100 --This is the y coordinate of the number on the screen.
while true do
    gui.text(x, y, tostring(memory.readbyte(address)))
    emu.frameadvance()
end
Now you just need to know the address of Mario's sub-pixel position......which I don't actually know. This makes wall clipping basically a tedious brute-force for me.