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...
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?
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.
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).
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.
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??? )
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.
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.)
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.
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.
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?
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!
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/
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.