Editor, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
From my Rockman disassembly:
CurrentBeginScreen          = $27 ;In Rockman2, $14
        ; ^The screen that begins the current strip. Only updated in transitions.
CurrentEndScreen            = $28 ;In Rockman2, $15
        ; ^The screen where the current strip ends. Only updated in transitions.
CurrentOrderNum             = $29 ;In Rockman2, $38
        ; ^Pointer to the order table. Only updated in transitions.
So now we have techniques that write into $38 and $14. Can we get a technique that writes into $15? Then we don't need delay-scrolling to the right anymore. We can just march to the right...
Experienced player (699)
Joined: 2/19/2006
Posts: 742
Location: Quincy, MA
I don't know much about this. I hope you've found a way to stop screen scrolling animations!
Super Mario Bros. console speedrunner - Andrew Gardikis
Former player
Joined: 9/25/2008
Posts: 48
Do you think it would be possible to perform in another stage to save time? Possibly quickman stage? Edit1: Or airman? Edit 2: example: http://dehacked.2y.net/microstorage.php/info/1813958603/QuickmanNoSpoon.fcm somehow?
Active player (274)
Joined: 4/20/2004
Posts: 219
Location: Japan,Tokyo
I looked for the saving the time by changing $14 by using the cheat. I change $14 immediately after beginning the stage and die. I thought that it was the most effective that Mega Man revived in the next check point. However, I was not able to find the place of the saving time. Because $15 was not changed, this tech was not effective in the saving time. If other memory values change by NMI, it might be interesting. Though it has not been discovered yet. :)
Former player
Joined: 9/25/2008
Posts: 48
Playing Airman before Heatman is obsolete even if the screen scroll in Airman could be performed with M-Buster, is this correct? And finalfighter when you say "$15 was not changed" do you mean in that particular video; or that it is impossible to change $15?
Active player (274)
Joined: 4/20/2004
Posts: 219
Location: Japan,Tokyo
aglasscage wrote:
QuickmanNoSpoon.fcm
The delay death tech is already used also in the Woodman stage of our public TAS .
aglasscage wrote:
Playing Airman before Heatman is obsolete even if the screen scroll in Airman could be performed with M-Buster, is this correct?
You can pass Demon's cloud with the item1 faster than you pass Heat Man stage's block with item2. Even if you do not use the screen scrolling. Then Heat Man->Air Man is absolutely correct to get item1 from Heat Man.
aglasscage wrote:
And finalfighter when you say "$15 was not changed" do you mean in that particular video; or that it is impossible to change $15?
If we use the mechanism of rewriting $14 that uses the screen scrolling, rewriting $15 is impossible. It is such processing.
0:$15 is set.
1:$8EE9 or $8FAB calles $C7A1 
2:$C7A5 calles SwitchBank($C000) 
3:SwicthBank 
4:NMI occuerd.(C004 ≤ PC ≤ C01B) 
5:SoundCode returns $0B 
6:$14 is set.($14 is mad)
7:$14 and $15 is read
I hope for another mechanism to be found. :)
Active player (274)
Joined: 4/20/2004
Posts: 219
Location: Japan,Tokyo
http://dehacked.2y.net/microstorage.php/info/1070626243/delay_direction_change.fcm I discovered the new technique. It is "delay direction change". It is such processing. (I do not understand detail yet. ) It is considerably difficult to match NMI to a usual scrolling.
1:$829E or $8287 calles $C7A1 
2:$C7A5 calles SwitchBank 
3:SwicthBank 
4:NMI occuerd.(C004 ≤ PC ≤ C01B) 
5:SoundCode returns $1C etc.. 
6:RegisterY(=$FF) is mad then (AND $82D0,Y) is not zero. 
7:The scroll direction is filled. 
8:"The next screen" become "previous screen".
Active player (274)
Joined: 4/20/2004
Posts: 219
Location: Japan,Tokyo
I understood the scroll. The judgment of the scroll(up,down) starts every time twice. 1:Judgment of going to the previous screen 2:Judgment of going to the next screen The delay down scrolling(goto next screen)
Usually   Glitch
1:NG       NG
2:NG       OK(use NMI)
It is possible to go to the previous screen. The delay right scrolling(goto next screen)
Usually   Glitch
1:Always NG
2:NG       OK(use NMI)
It is impossible to go to the previous screen. The delay death
Usually   Glitch
1:NG       NG
2:OK       NG(use NMI)
The delay direction change(goto previous screen)
Usually   Glitch
1:NG       OK(use NMI)
2:OK
If you want to do the previous screen to the next screen? We hit on such an idea.
Usually   Glitch
1:OK       NG(use NMI)
2:NG       OK(use NMI)
It is only following 1000 instructions between the scroll judgment to the previous screen and the judgment to the next screen. NMI is generated at intervals of roughly 10000 instructions. In a word,It is impossible to go to "next screen" when you return to "previous screen".
Active player (274)
Joined: 4/20/2004
Posts: 219
Location: Japan,Tokyo
I understood the item1 rise. It is affected by $04C4(item1-1st) $04C3(item1-2nd) $04C2(item1-3rd). It is a test of taking changing $04C4 in putting by 1frame.
$8C->$4B->$0A->$C9(item1 up)->
$88->$47->$06->$C5(item1 up)->
$84->$43->$02->$C1(item1 up)->
$80->$3F->$FE(item1 up)
$BD->$7C->$3B->$FA(item1 up)
$B9->$78->$37->$F6(item1 up)
$B5->$74->$33->$F2(item1 up)
$41 is subtracted every frame, and the item1 rises when the boundary of $0 is exceeded. The arms that are influenced these address
$04C4 is affected by A,Q,M,1
$04C3 is affected by A,B,Q,M,1
$04C2 is affected by A,B,Q,M,C,1,2,3
The value of $04C4-$04C2 is not initialized. In a word, the coordination is possible according to other arms or item1 , etc.. Rising beginning
$FF~$81: Item1 rises after 4frame
$81~$41: Item1 rises after 3frame
$40~$00: Item1 rises after 2frame. 
Interval of rising frame
$FF~$81:rise:4-4-.....3-4-4..
$FF~$81:rise:3-4-.....3-4-4..
$40~$00:rise:2-4-.....3-4-4..
They are the rises of every 3 frames or 4 frames usually. But,the value of $40-$00 becomes a rise by 2 frames of the momentarily at the time of set up the item1. Though the jump might not reach when the rise is too fast :P It is one of the reasons why "copypastes" result in desync. Rising code of item1
EECD:SEC                        //set carry flag
EECE:LDA $04C0,X @ $04C4 = $67  //$04C4: It is a related value in coordinates of item1 or other arms.
EED1:SBC $0660,X @ $0664 = $41  //When the boundary of $0 is exceeded, clear carry flag. 
                                //$0664: It is fixed with $41. 
EED4:STA $04C0,X @ $04C4 = $26
EED7:LDA $04A0,X @ $04A4 = $5F  //$04A4: Y coordinates of item 1
EEDA:SBC $0640,X @ $0644 = $00  //When the carry flag is cleared, the value of A is subtracted.(-1)
EEDD:STA $04A4,X @ $04A4 = $5F
EEE0:CMP #$F0                   //Judgment outside screen
EEE2:BCC $EEE7
EEE4:JMP $EF6A
For the reference :)
Former player
Joined: 9/25/2008
Posts: 48
no discovery or anything I'm just wondering why there is a death here thanks http://dehacked.2y.net/microstorage.php/info/1646314053/whydeath.fcm
Joined: 4/25/2004
Posts: 498
Because you didn't scroll all the way to the left end. :p The game is programmed to count a drop off the screen as a screen transition if you've reached the limit of the scrolling, and a death if you haven't. This can also be done in Wily 2, immediately after the crusher gauntlet. Hang on the bottom of the ladder, hold left, and jump...if you did it from the right spot, the screen scrolls a tiny bit before you're off the bottom of the screen, turning an otherwise harmless screen change into DEATH. INSTANT DEATH. BWAHAHAHAHAHAHA *cough*
Former player
Joined: 9/25/2008
Posts: 48
icic yes this makes sense thank you ;)
Active player (274)
Joined: 4/20/2004
Posts: 219
Location: Japan,Tokyo
http://www.yuko2ch.net/rockman/nospoondscr.avi If you use delay CurrentBeginScreen changed -> delay downscrolling, you will go to next screen when you go to previously screen. What does this mean? This suggests the existence of the technique of this image. http://www.yuko2ch.net/rockman/crnewidea.jpg In the program, it can be possible. Though I have not understood whether to save the time yet. :)
Player (70)
Joined: 8/24/2004
Posts: 2562
Location: Sweden
Cool tech. Hope it get's useful. :)
Active player (274)
Joined: 4/20/2004
Posts: 219
Location: Japan,Tokyo
Former player
Joined: 9/25/2008
Posts: 48
Amazing. Great work finalfighter
Active player (274)
Joined: 4/20/2004
Posts: 219
Location: Japan,Tokyo
http://www.yuko2ch.net/rockman/delay_ladder_tech.avi http://www.yuko2ch.net/rockman/delay_ladder_tech.fcm I found the new tech for MM2! It is the "delay ladder tech". This technique can save time very much in ClashmanStage. 1:You jump outside the screen toward the ladder. 2:You cannot grip the ladder until becoming Y>244 and $F9=0xFF 3:You push "up" only by 1frame and the up scroll signal is deleted by delay at the moment! Y coordinates of MegaMan become about 10. 4:The fall starts (Y:10..20..30) outside the screen if you do not input anything at next frame. 5:When Y coordinates becomes 30-40, you push "up". 6:When Megaman goes to next screen,looks like the ladder tech :P
Banned User
Joined: 5/11/2004
Posts: 1049
ingenious, now if you could solve the mystery of metroid off-screen collision detection. or find way to extend human life-span one year per year.
"Great spirits have always found violent opposition from mediocrities. The latter cannot understand it when a man does not thoughtlessly submit to hereditary prejudices but honestly and courageously uses his intelligence."
Joined: 5/29/2004
Posts: 757
x.x;; As if this poor game hasn't been beaten into submission enough as it is.. then you just bend it over and really work it... Incredible find FF. Mr. Kelly R. Flewin
Mr. Kelly R. Flewin Just another random gamer ---- <OmnipotentEntity> How do you people get bored in the span of 10 seconds? Worst ADD ever.
Former player
Joined: 9/25/2008
Posts: 48
this is a good find. is it not possible to do this on the screen before? I guess you cannot get enough delay there? Because if you could, then you could vert zip the entire way up the tower if i'm not mistaken.
Experienced player (538)
Joined: 5/12/2005
Posts: 707
aglasscage wrote:
this is a good find. is it not possible to do this on the screen before? I guess you cannot get enough delay there? Because if you could, then you could vert zip the entire way up the tower if i'm not mistaken.
The main problmen lies in the lag, you have to notice there is only one enemy in the previous screen. But in "theory" your question is correct.
Active player (274)
Joined: 4/20/2004
Posts: 219
Location: Japan,Tokyo
I discovered the technique for copying the shutter. http://www.yuko2ch.net/rockman/gate_copy_ok.avi Too slow, but funny 1:The egg is erased outside the screen. 2:Because the object of the egg disappeared, another object is copied onto the position of the egg. (The shutter is copied at this time) 3:The shutter is prevented from falling by F of 2nd. (Because the shutter is changed into another object when the shutter falls) 4:MegaMan touched the shutter. :p http://www.yuko2ch.net/rockman/birdgate.avi When the shutter falls, MegaMan is damaged from the unknown object.
Editor, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
finalfighter wrote:
I discovered the technique for copying the shutter. http://www.yuko2ch.net/rockman/gate_copy_ok.avi Too slow, but funny 1:The egg is erased outside the screen. 2:Because the object of the egg disappeared, another object is copied onto the position of the egg. (The shutter is copied at this time) 3:The shutter is prevented from falling by F of 2nd. (Because the shutter is changed into another object when the shutter falls) 4:MegaMan touched the shutter. :p
Very interesting technique! Keep up the good work :)
Player (36)
Joined: 9/11/2004
Posts: 2623
It must be just me, but none of the yuko2ch.net links work at all for me.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Joined: 7/10/2007
Posts: 280
Just you.