(Link to video)

Game objectives

  • Aims for fastest time
  • Manipulates luck
  • Uses game-breaking glitches
  • Achieves credits early

DelayFFObjectGlitch

DelayObject is taken out from bank2 (usually bank6, instead) when NMI interrupts the process of objectFF. Object 00-FF appears in the Iceman stage. FinalFighter discovered that $600 was executed, when DelayObject55 appeared. We increase the number of instructions executed in one frame by manipulating music, drop items and Rockman's action so that NMI interrupts the particular process in the frame.

Instructions

ObjectFireDelay is manipulated by DropItems. $23 increases every frame, and DelayObject55 may appear when $23 is 55.
$002355
$060054F8504D54F8F8
$065000AC21006B1700
$06F01B3C3E1B3D3C20
DelayObjects is taken out
$002356
$060054F8504D54F8F8
$06503CAD221F6C1800
$06F0033C3E013D3C55
DelayObject55 calls $600
0600: 54 F8 NOP F8,X               ; Y of Rockman = 54
0602: 50 4D BVC $0651              ; Y of Rockbuster1,2 = 50,4D
0650: 3C UNDEFINED (NO USE)        ; ObjectFireDelay of DelayObject3 = 3C
0651: AD 22 1F LDA $1F22 = #$0A    ; ObjectFireDelay of DropItems = AD,22
                                   ; ObjectFireDelay of DelayObject1 = 1F
0654: 6C 18 00 JMP ($0018) = $C460 ; (instruction of StageClear)
                                   ; ObjectFireDelay of DropItems = 6C,18
                                   ; ObjectFireDelay of DelayObject55 = 00
                                   ; Input of Controllers = $0018 = 60,C4
C45E: A9 00 lda #$00
C460: 85 31 sta $31(CurrentStage)  ; <-- Jumped here
C462: 4C 0C C1 jmp $C10C

History

  • 11/01/21 - FinalFighter found DelayObjectFFGlitch.
  • 14/04/29 - FinalFighter read about the article of SMB3 ACE TAS. [dead link removed]
  • 14/04/30 - FinalFighter remembered that some objects had called a RAM address. http://www.yuko2ch.net/rockman/JumpAddressList.txt
  • 14/05/01 - Creation of LuaScripts. FinalFighter and pirohiko confirmed by some cheats that DelayEnding in IceManStage was possible.
  • 14/05/08 - We began to work on a new TAS.
  • 14/05/13 - New TAS completed!

Detailed article with some pictures (written in Japanese)

[dead link removed]
こちらには日本語による詳細な解説・図説があります。

Special Thanks

  • Shinryuu - He looked at and encouraged our TAS.
  • cstrakm - He discovered the DelayWaterCurrent. It led to the discovery of DelayObjectGlitch.
  • Inzult - He verified DelayObjectGlitch with the real NES.
  • Tekepen - Explanation of 6502 was helpful.
  • Kureyuni - Explanation of undefined code of 6502 was helpful.
  • AlphaBeta, NinjyaSuperK, Vagla, Bisqwit - Rockman1's analysis data were helpful.
  • adelikat, Nach, Dwedit - The problem of Old PPU of FCEUX was solved by them.
And...
  • Thank you, everyone of TASVideos.

P.S.

Rockman went to the Iceman stage and felt like going back home. It'll come out after the credits that Rockman actually doesn't complete the game. Press start after the credits, and you'll see...
The next is renewal of Rockman2!

Nach: So this is quite a TAS to deal with. No matter how I handle it, someone is going to want to strap a bomb to my car. I'm surprised I even have the guts to judge this run, as some of the comments leave me feeling the heat of the fire and gasping for air. Hopefully, now you'll understand why I did not rush to judge this, and I'm sorry for the delay.
On the one hand, most of the gameplay is cut, and all we're left with is a quick jump to the ending credits. On the other hand, only a single icy level is played (with a different single level marked as completed). This run crashes part of the game mechanics as the previous run does, albeit a bit differently, and that run's glitch usage's doesn't beat the game in a flash.
Now, unless you were living under a rock, inside a bubble, or in a wood shed for the past few years, you saw the previous run, loved it, and don't want the previous movie obsoleted. The completion state is also controversial, as to whether the game is really completed or not, and possibly this run should be rejected.
I personally tango to my own metal, and like to handle things in a shocking and most electrifying manner, although fairly so. I find the cool thing to do in this situation would be to create a new branch, but being mindful of the issues, not the one you were thinking. This is setting a new precedent, one which may require further recategorization of existing movies, and that's okay.
I deem the following branches viable:
  • All levels completed using every technique available (the currently published run).
  • All levels completed without using the magnet beam, which incidentally is responsible for most of the glitches seen in the above branch, and is also deemed impossible by the creators.
  • A quick as possible run (this run).
This kind of branching also helps with other problematic games we've seen like Super Mario World, Super Mario Land 2, Super Metroid, and Kirby Super Star, which incidentally, all those games actually report some sort of completion percentage.
Accepting this run for the new low completion branch for this game (which also happens to be game-end glitch or whatever we're currently calling it).
Guga: Processing...

1 2
6 7
adelikat
He/Him
Emulator Coder, Site Developer, Site Owner, Expert player (3600)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
andypanther wrote:
But I know I'm in a minority here...
Actually according the to the poll we did (too lazy to link it) the community is pretty much evenly split, where almost exaclty half agree with you (for the record, I'm on this side as well).
It's hard to look this good. My TAS projects
Editor, Expert player (2316)
Joined: 5/15/2007
Posts: 3856
Location: Germany
Since this run has been published alongside the 12 minute run, I'd like to ask: How much can the 12 minute run be improved and what exactly is the difference between the two?
Banned User, Former player
Joined: 3/10/2004
Posts: 7698
Location: Finland
adelikat wrote:
1) Replacing a star movie with another star movie
I don't think this run should be starred. The purpose of stars is to showcase everything that's cool about TASing. It should be extremely visual, stunning, awesome, showing incredible superhuman tricks and amazing feats. Everything in this run, however, happens behind the scenes. The character runs on the first level for a bit, doing seemingly random things and then, suddenly, end credits. Other than the surprise of the end credits popping up, there isn't exactly anything visually stunning about this run. Definitely not like the "traditional" glitched megaman runs.
adelikat
He/Him
Emulator Coder, Site Developer, Site Owner, Expert player (3600)
Joined: 11/3/2004
Posts: 4739
Location: Tennessee
I wasn't talking about this movie. I was saying the 12 minute movie vs its predecessor.
It's hard to look this good. My TAS projects
Banned User, Former player
Joined: 3/10/2004
Posts: 7698
Location: Finland
adelikat wrote:
I wasn't talking about this movie. I was saying the 12 minute movie vs its predecessor.
I stand corrected.
Editor, Experienced player (608)
Joined: 11/8/2010
Posts: 4012
Nach wrote:
I think the following 3 logical movie classes should be added: Executes arbitrary code. Skips majority of the game via glitches (uses warp does not imply glitches, nor should it) Skips the final boss via glitches.
I also support these, especially "Executes arbitrary code", as that's notable and unique and several movies can be tagged with it. Like feos noted, the second one should probably be shortened to something like "major warp glitch". The third one could possibly be condensed to "skips final boss", as long as it's clear that the final boss isn't supposed to be skipped. (I don't know of any game where beating the game without fighting the final boss (assuming normal/best ending) is intended behavior.) The class might also have to cover cases like this, where the final boss fight is entered and exited early.
Site Admin, Skilled player (1237)
Joined: 4/17/2010
Posts: 11274
Location: RU
This seems to need some coordination. If final boss is the only thing that's skipped, we do need that tag. If it's already included in the major skip, we don't need it. What is major skip at all? It's skipping majority of the game. Are there games where all the majority is AFTER the final boss? I don't think so. So it's either majority skipped, or only final boss, or nothing notable. Let's divide it like that, or some publications blow for having too many classes. EDIT: Trying to put it more clear. Boss skip alone is a minor skip. Heavy glitch abuse is a minor skip. If we already have major skip, we don't need to mention all the minor, relative skips. Why skipping final boss is more notable than skipping all but last? Than skipping only the first two? They all deserve a mention! Seriously though, since these all are relative, let's only use the mention of glitch abuse that is the biggest.
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: 5/14/2007
Posts: 525
Location: Pisces-Cetus filament
Nach wrote:
Skips majority of the game via glitches (uses warp does not imply glitches, nor should it) Skips the final boss via glitches.
I think being consistent with SDA's terminology and going with "Uses large-skip glitches" would be a good idea. Also, I don't think the final boss of a game is special enough to warrant a movie class to inform the viewer it has been skipped in a run. Skipping the final boss of a game isn't much different from skipping the first or the third one.
Once we name each of these properly, I think we can then come up with proper branching names for each combination. Not saying to use any of these, but food for thought: Majority skip glitch, Final boss skip glitch, Skip to credits glitch, Massive skip glitch, etc...
I also suggest "large-skip glitches" for runs that skip big parts of a game via glitches. Anyway, shouldn't this discussion be split from this Rockman submission?
AzumaK wrote: I swear my 1 year old daughter's favorite TASVideo is your R4MI run :3 xxNKxx wrote: ok thanks handsome feos :D Help improving TASVideos!
Site Admin, Skilled player (1237)
Joined: 4/17/2010
Posts: 11274
Location: RU
Zeupar, it seems the tags were already added. And they are "Major skip glitch" (which is perfect in my eyes), "Executes arbitrary code" (same thing) and "Final boss skip glitch" (has questions I posted above). http://tasvideos.org/MovieMaintenanceLog.html
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.
Emulator Coder
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
feos wrote:
If final boss is the only thing that's skipped, we do need that tag. If it's already included in the major skip, we don't need it.
Post #376163
Zeupar wrote:
Nach wrote:
Skips majority of the game via glitches (uses warp does not imply glitches, nor should it) Skips the final boss via glitches.
I think being consistent with SDA's terminology and going with "Uses large-skip glitches" would be a good idea.
I don't believe that we should be defining anything some way because it's what someone else does, unless they have some kind of official standing. We can rename things, but only if our members think its an improvement, and the staff agrees that it's clear, and conveys what it needs to.
Zeupar wrote:
Also, I don't think the final boss of a game is special enough to warrant a movie class to inform the viewer it has been skipped in a run. Skipping the final boss of a game isn't much different from skipping the first or the third one.
I agree that it's not needed to identify when looking at a run in isolation. However, say you want to search the site for all the runs where the final boss is never fought? Here you go: Wiki: Movies-C3042Y
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Site Admin, Skilled player (1237)
Joined: 4/17/2010
Posts: 11274
Location: RU
Nach wrote:
Zeupar wrote:
Also, I don't think the final boss of a game is special enough to warrant a movie class to inform the viewer it has been skipped in a run. Skipping the final boss of a game isn't much different from skipping the first or the third one.
I agree that it's not needed to identify when looking at a run in isolation. However, say you want to search the site for all the runs where the final boss is never fought? Here you go: Wiki: Movies-C3042Y
And none of them has it as NOT part of a "major skip glitch"? Huh.
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.
Emulator Coder
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
There are many games which employ major skip or whatever we're going to call it which do NOT skip the final boss, so no the two lists are not the same. Wiki: Movies-C3041Y
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Site Admin, Skilled player (1237)
Joined: 4/17/2010
Posts: 11274
Location: RU
What I'm saying is, skipping particular bosses is either part of major skip already, or part of heavy glitch abuse. We don't label all kinds of particular cases of glitch abuse. And again, look at how this movie module looks. http://tasvideos.org/2600M.html What I keep calling really significant to become a tag (like a TAS-only application in most cases) is resource management.
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.
Emulator Coder
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
feos wrote:
What I'm saying is, skipping particular bosses is either part of major skip already, or part of heavy glitch abuse. We don't label all kinds of particular cases of glitch abuse. And again, look at how this movie module looks.
Heavy glitch abuse is nearly a super-set of major skip already, so lets delete major skip, since it's included. </sarcasm>
feos wrote:
http://tasvideos.org/2600M.html
This is a good example of why I need to implement the new movie module I'm envisioning, and not a reason why we should not be tagging runs with searchable tags that they deserve.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Site Admin, Skilled player (1237)
Joined: 4/17/2010
Posts: 11274
Location: RU
Yeah, so what about resource management?
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.
Emulator Coder
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
You mean like tagging runs which show an extreme level of resource management? I'm not against it. In fact, I love those kinds of runs when they're really extreme. So yeah, I'd love some kind of extreme resource management tag.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Site Admin, Skilled player (1237)
Joined: 4/17/2010
Posts: 11274
Location: RU
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.
Noxxa
They/Them
Moderator, Expert player (4142)
Joined: 8/14/2009
Posts: 4083
Location: The Netherlands
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.
Baka94
He/Him
Joined: 2/17/2014
Posts: 39
Location: Finland
Is there more detailed explanation of this glitch somewhere? It was still left a little unclear what DelayObjects, DelayFireObjects, etc are. Another thing is that how can this glitch be caused by NMI? Aren't NES games programmed such way that interrupts don't mess things up? Lastly, does this have any relations to the "wiggling" glitch that has been known a few years (?) now?
MainLoop: NOP LDX #$01 STX main_loop_done VBlankWait: LDX main_loop_done BNE VBlankWait JMP MainLoop
1 2
6 7