Super Turbo HUD

12346

Comments

  • oldschool_BRoldschool_BR Projectile spammer Joined: Posts: 2,442
    Is not there a table with stage sizes? Also, how can one explain the different stage speeds? Can Vega be made to grab his stage fence like in older games? Can Blanka activate the handle in Gief's stage? Can Ryu uppercut Cammy and make her fall in the pit? Is djf the guy caught doing real life SRKs while a girl waits to get banged?
  • PaskyPasky Ninja with pistol! Joined: Posts: 1,863
    lol...no idea on vega grabbing the fence. Stage speeds is probably a cpu/graphic issue since it's so miniscule. I'm sure it was unintended. I'm sure stage size is stored somewhere.
    <Pasky> so you can go extra fast by just holding it?
    <bookah> turbo handjob
    <baklakiller> sure if had a penis
    <baklakiller> im a beginner gief
  • JizzonJizzon ...or Thenarus, whichever. Joined: Posts: 650
    I'd love to have access to a CPS2 version of HDR, if for no other reason than to preserve it as an option once this generation's consoles go out of style.

    Adding dipswitch-type options in the service menu, a tournament mode of sorts with included brackets...those are other changes that would be nice to have, if possible.

    Back to the subject at hand, thanks again for your hard work, Pasky. What other real mysteries are there left to crack in the game?
  • PaskyPasky Ninja with pistol! Joined: Posts: 1,863
    Ewe.
    <Pasky> so you can go extra fast by just holding it?
    <bookah> turbo handjob
    <baklakiller> sure if had a penis
    <baklakiller> im a beginner gief
  • papasipapasi N Ken is the truth Joined: Posts: 1,568
    I'd love to have access to a CPS2 version of HDR, if for no other reason than to preserve it as an option once this generation's consoles go out of style.

    Adding dipswitch-type options in the service menu, a tournament mode of sorts with included brackets...those are other changes that would be nice to have, if possible.

    Back to the subject at hand, thanks again for your hard work, Pasky. What other real mysteries are there left to crack in the game?

    I'm not a great fan of keeping every HDR changes.
    It would be much better than HDR though given that it will not have ugly graphics, sound effects and additional input lags.

    The change of motions for sim/gief/fei etc have to go.

    Probably the only thing worth doing is make claw dive not knocking down and add 1 frame of start up to low RH tiger.

    OTOH if anyone is talented enough to make a true remix like giving some characters new moves for those 2-8 matchup, that would be cool to play around with.

    honda can use a absorb fireball move :P
    eltrouble "I doubt that ST will be on the main stream ever again."
    OhNuki: Real men play ST!!
    James Chen: there is something special about playing ST on a cab. It just feels so goooooood.
    Super Turbo Hitbox & safe jump guide http://www.strevival.com/hitbox/
  • PaskyPasky Ninja with pistol! Joined: Posts: 1,863
    Only good change in hdr was crazy kick change...lol
    <Pasky> so you can go extra fast by just holding it?
    <bookah> turbo handjob
    <baklakiller> sure if had a penis
    <baklakiller> im a beginner gief
  • JizzonJizzon ...or Thenarus, whichever. Joined: Posts: 650
    I'm more than happy to discuss HDR stuff at length in the proper forum. The last I'll say about it here is that it has a lot of good innovation, but it also has some real head-scratchers and not enough good purist options for graphics and sound effects. It's still at least 90% ST, and 100% SFII. Whichever you prefer, more power to you, so long as you're actively playing it in a community.

    Pasky, there are no sheep here, and you didn't address the one point that actually mattered to your topic regarding mysteries.
  • oldschool_BRoldschool_BR Projectile spammer Joined: Posts: 2,442
    +1 to discussing HDR and other "possible" changes in the appropriate topic.
  • ultracomboultracombo Weakest Loser Joined: Posts: 741
    Probably the only thing worth doing is make claw dive not knocking down and add 1 frame of start up to low RH tiger.
    Boxer's headbutt
    Boxer's super
    Dhalsim's super
    Ryu's super
    Walk up super
    Sim's j.mk
    old shotos.

    Also I think wall dive hitbox's property is more important than it knocking down, and I think adding recovery and lowering the dizzy on medium and roundhouse tiger would be better.

    But yeah I don't think changing anything would actually help, look at Brawl+.
    "If ultracombo misses a low roundhouse, he is likely to continue doing it." - TheMuffinMan
  • Coth_XCoth_X G(x) = (3/(1-3x)) - 3 - 3x - 27x^2 Joined: Posts: 4,340
    Pasky, do you think you can explain how old gief's glitch grabs at full screen? I understand its a reversal bug and all, but how does the throw box on it reach the opponent?

    -trolls suck-
    "The purpose of proof is to understand, not to verify." - Arnold Ross
    http://www.newgrounds.com/portal/view/534416 <--- Coolest Game Ever!
  • JizzonJizzon ...or Thenarus, whichever. Joined: Posts: 650
    Pasky, do you think you can explain how old gief's glitch grabs at full screen? I understand its a reversal bug and all, but how does the throw box on it reach the opponent?

    -trolls suck-

    Dammit displayed that the glitched frame involves the throw box covering the entire screen.
  • PaskyPasky Ninja with pistol! Joined: Posts: 1,863
    The throwbox is the entire screen.
    <Pasky> so you can go extra fast by just holding it?
    <bookah> turbo handjob
    <baklakiller> sure if had a penis
    <baklakiller> im a beginner gief
  • -TheBastard--TheBastard- FAB u LOSE! Joined: Posts: 1,276
    Dammit already did it
    Stage speeds is probably a cpu/graphic issue since it's so miniscule. I'm sure it was unintended

    Not so miniscule since UC hates to play in "faster" stages than the "normal" ones, he goes as far as banning certain stages LOL
    <blitzfu> cool, and bastard is a loser, screen shot that
    <Pasky> he's always trolling, he has a macro button that troll
    <Kyouya>LoL Bastard, best post evah! But you forgot the tiger uppercut!!
    Imagine a snail being able to play fgs, and being a noob in it, it would sure be a salty snail, oh the tragedy of a snail!
  • ultracomboultracombo Weakest Loser Joined: Posts: 741
    That's just a GGPO issue on those stages, mr. Duck King. I'm sure someone who has a half brain would bother explaining it to you, if you weren't such a blabbering fool.
    "If ultracombo misses a low roundhouse, he is likely to continue doing it." - TheMuffinMan
  • DNGR S PAPERCUTDNGR S PAPERCUT Joined: Posts: 1,608
    O geif? you guys must be talking about that amazing player from ggpo, MaxAuto. That guy is really on another level.
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    Ah shit..    
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
  • Coth_XCoth_X G(x) = (3/(1-3x)) - 3 - 3x - 27x^2 Joined: Posts: 4,340
    HOLY FUCK.

    How the hell did that get fucked up like that!? Wow at the whole screen.
    "The purpose of proof is to understand, not to verify." - Arnold Ross
    http://www.newgrounds.com/portal/view/534416 <--- Coolest Game Ever!
  • oldschool_BRoldschool_BR Projectile spammer Joined: Posts: 2,442
    HOLY FUCK.

    How the hell did that get fucked up like that!? Wow at the whole screen.
    That's Capcom for you. ST is actually just a hacked and rushed version of SX:GMC.

    That was actually when Capcom was good. Hell, look at SF4, or even better, what SFvT is turning to...
  • GanelonGanelon Joined: Posts: 1,101
    Note that only the world version of ST allows those o.Zangief 360+HK glitch properties (which originated from US SSF2's 360+MK). US ST doesn't have this issue. That said, I agree that JP X is a good standard to stick with when available.
  • JizzonJizzon ...or Thenarus, whichever. Joined: Posts: 650
    I agree that JP X is a good standard to stick with when available.

    O.Gief approves! At the very least, it's got the best logo of any of the SFII games. If anyone were to sell a black t-shirt with that big "X" on it, they'd make a killing :D
  • MalvadiscoMalvadisco Marambio Joined: Posts: 2,967
    Super_Street_Fighter_2_X_Turbo_%28Car%29_001.jpg

    dat cover
    CARACOLES
  • PaskyPasky Ninja with pistol! Joined: Posts: 1,863
    BTW, here is the hyper grab table:

    tablelb.png

    F7 = Speed 7 (fastest)
    FA = Speed 6
    FD = Speed 5
    00 = Speed 4
    03 = Speed 3
    06 = Speed 2
    09 = Speed 1 (Slowest)
    09 x2
    06 x3
    03 x4
    00 x14
    FD x4
    FA x3
    F7 x2
    

    So the chances for grab speeds are:
    Speed 1 (0x09) =  6.25%       [Slowest]
    Speed 2 (0x06) =  9.375%
    Speed 3 (0x03) =  12.50%
    Speed 4 (0x00) =  43.75%      [Default]
    Speed 5 (0xFD) =  12.50%
    Speed 6 (0xFA) =  9.375%
    Speed 7 (0xF7) =  6.25%       [Fastest]
    
    <Pasky> so you can go extra fast by just holding it?
    <bookah> turbo handjob
    <baklakiller> sure if had a penis
    <baklakiller> im a beginner gief
  • Coth_XCoth_X G(x) = (3/(1-3x)) - 3 - 3x - 27x^2 Joined: Posts: 4,340
    So a lot of the randomness is actually just a normal distribution? Wasn't this the same for wakeup throw invul?

    -trolls suck-
    "The purpose of proof is to understand, not to verify." - Arnold Ross
    http://www.newgrounds.com/portal/view/534416 <--- Coolest Game Ever!
  • PaskyPasky Ninja with pistol! Joined: Posts: 1,863
    No idea, never paid attention to that table. Most of the randomness comes from the number generator that is constantly cycling through numbers that determines which portion of the table is used.
    <Pasky> so you can go extra fast by just holding it?
    <bookah> turbo handjob
    <baklakiller> sure if had a penis
    <baklakiller> im a beginner gief
  • Coth_XCoth_X G(x) = (3/(1-3x)) - 3 - 3x - 27x^2 Joined: Posts: 4,340
    No idea, never paid attention to that table. Most of the randomness comes from the number generator that is constantly cycling through numbers that determines which portion of the table is used.

    Well the probabilites of a given grab show a normal distribution.

    It is hashing the random number to get the hyper grab?

    -trolls suck-
    "The purpose of proof is to understand, not to verify." - Arnold Ross
    http://www.newgrounds.com/portal/view/534416 <--- Coolest Game Ever!
  • jedpossumjedpossum Ok, Darling Joined: Posts: 4,227
    I'm sure stage size is stored somewhere.
    Every stage is 2B2 pixels wide. Your eyes are playing tricks on you.

    I occasionally stream so you can see how boring poking around in the memory is. www.hitbox.tv/jedpossum

    [8/6/2014 8:19:53 PM] Pasky: jedpossum, hacker of the obscure fighting games

  • PaskyPasky Ninja with pistol! Joined: Posts: 1,863
    Updated the script. Fixed the issue with the sprites not matching the hitbox. Apparently the emulator lua functions aren't universal, so removing the loop which relied on emu.frameadvance to pause the script fixes the issue. Instead of using emu.registerfunction, it uses emu.registerbefore. This fixed the issue of the hitboxes being one frame ahead.

    So now hitboxes should be displayed properly during their correct frame. This still doesn't fix throw boxes not showing when they are clearly present on some moves, or at least on the startup of SRK for ken and ryu, didn't test anything else, not sure what the issue with that is.

    Either way, sprites should match hitboxes correctly now.

    Removed the Axis toggle hotkey and it is now replaced with a enable/disable frameskip option.

    Lua hotkey 4 will now disable or enable the frameskipping.

    EDIT: Just tested, the script works fine in fba-rr. You must use the SoftFX Blitter. If you use the Basic the emulator will lag. If you use experimental the emulator will crash. Although there is no longer a reason to use FBA-rr because the hitboxes show on the correct frames now.

    v1.6 is the latest.

    http://code.google.com/p/ssf2thud/downloads/list
    <Pasky> so you can go extra fast by just holding it?
    <bookah> turbo handjob
    <baklakiller> sure if had a penis
    <baklakiller> im a beginner gief
  • PaskyPasky Ninja with pistol! Joined: Posts: 1,863
    Figured out where Block/Hit stun are located. It's actually a combination of two memory addresses. The first address gets a value that when is decremented to zero both dummies move apart (this is when you hit someone and you are a pushed back a little). After that reaches zero another counter increments up until a specific point determined by the button pressed and when it reaches the peak you're out of block stun.

    May add this to the HUD if I have time. I actually wanna rewrite the whole thing with some new stuff I found and re-do the hitboxes myself. We'll see if I get some time.
    <Pasky> so you can go extra fast by just holding it?
    <bookah> turbo handjob
    <baklakiller> sure if had a penis
    <baklakiller> im a beginner gief
  • oldschool_BRoldschool_BR Projectile spammer Joined: Posts: 2,442
    snip
    Do you think it will be possible to eventually fix the training mode lua with this knowledge? Or maybe just add such an option to your HUD. I have the impression that different hit and blockstun are the only issues at the moment.
  • PaskyPasky Ninja with pistol! Joined: Posts: 1,863
    What's the current problem with it? I have no issues with it other than throws.
    <Pasky> so you can go extra fast by just holding it?
    <bookah> turbo handjob
    <baklakiller> sure if had a penis
    <baklakiller> im a beginner gief
  • oldschool_BRoldschool_BR Projectile spammer Joined: Posts: 2,442
    Hey, man: sorry for the late reply. The issue is what made it possible for skinny DSP to link cr.short into st.fierce or cr.RH - which is also possible in HDR, and not in VST. That is, in the very least, either hitstun is off by one frame or impact freeze is wrong.

    The other mystery which I believe you would be able to elucidate is what the exact conditions for 4-hit MGU are. B2SPD's hitbox images (in the wiki) show that after each hit, Dee Jay may enter some flashy animation which has a hitbox that causes a combo, or a more standard one that does not cause a combo, e.g., such as Ryu's close/crouching Fierce, which never hit twice. Turbo and some particular piano sequences give the 4 hits, but I have always guessed you simply needed to press the button at the exact time. I am not sure, though: it might be a more complex scheme.
  • JizzonJizzon ...or Thenarus, whichever. Joined: Posts: 650
    I've always been curious about what in the game's engine allows for the reversal bugs for characters like T.Hawk and O.Dic. What kind of programming does one need to learn to dig into the system the way you guys do?
  • Born2SPDBorn2SPD SPD Fanatic Joined: Posts: 276
    O.Dic bug? Never heard bout that. Which bug he has exactly?
    I keep reading stuff about ST revival, about bringing this game back to life...
    Its nice to see big tourneys happening and old top players giving this game a chance again...
    But what we really need is new players... And having a strong scene obviously helps...
    But in my opinion what will really bring new players to our community is good tutorials/character guides so they can learn easily and have something to start... So, actually good players, stop being selfish and write stuff about the chars you know! The wiki is lacking so much basic content... Stop being lazy and do something about it.
  • JizzonJizzon ...or Thenarus, whichever. Joined: Posts: 650
    If you use O.Dic's Devil's Reverse as a reversal, he will instead execute the last special you used.
  • PaskyPasky Ninja with pistol! Joined: Posts: 1,863
    I've always been curious about what in the game's engine allows for the reversal bugs for characters like T.Hawk and O.Dic. What kind of programming does one need to learn to dig into the system the way you guys do?
    It's by no means a speedy process. It can take hours to just get minor progress on reversing functions, especially for newer systems. My favorite is reversing x86, probably because there are far more tools available which gives you a lot more control and I'm most familiar with x86.

    It can take quite a while, but it's very rewarding in the sense that you figured out how someone did something without them ever meaning to tell you. It's like putting a puzzle together, one of the reasons I enjoy it as a hobby. I'm currently checking out Earthbound on the SNES since I've been playing through it when I found my cart last Wednesday.

    If you want an example of how I usually start the process, I just found the damage function in Earthbound last night during my free time.

    I started by initiating a battle and finding the enemies life. I used BSNES's debugger (I love this emu, it's so accurate), I then set a breakpoint when the enemies life was written to (i.e. took damage), before I set my last command to my party, I hit the tracer and attacked the enemy, the game paused when it's life was written to and so did the tracing.

    Now I have a 160MB text file of cpu instructions everywhere, however, I know that the very last one executed wrote to the enemies life because this is where the emulator paused (hit the breakpoint) so I know the decision for the game to determine if a critical hit was made is very close by, so I start at the end of the file and work my way back until I find it (it's usually a jump statement, basically the assembly version of an IF statement in C/C++).

    I usually make notes in the output so I can come back to it at a later date because I normally don't have time for this during the week.
    c281a6 jsr $698b    [c2698b] A:0004 X:9ffa Y:00ff S:1fde D:1e63 DB:7e nvmxdIzc V:160 H: 334
    c2698b rep #$31              A:0004 X:9ffa Y:00ff S:1fdc D:1e63 DB:7e nvmxdIzc V:160 H: 374
    c2698d phd                    A:0004 X:9ffa Y:00ff S:1fdc D:1e63 DB:7e nvmxdIzc V:160 H: 392
    c2698e pha                    A:0004 X:9ffa Y:00ff S:1fda D:1e63 DB:7e nvmxdIzc V:160 H: 420
    c2698f tdc                    A:0004 X:9ffa Y:00ff S:1fd8 D:1e63 DB:7e nvmxdIzc V:160 H: 448
    c26990 adc #$fff2            A:1e63 X:9ffa Y:00ff S:1fd8 D:1e63 DB:7e nvmxdIzc V:160 H: 460
    c26993 tcd                    A:1e55 X:9ffa Y:00ff S:1fd8 D:1e63 DB:7e nvmxdIzC V:160 H: 478
    c26994 pla                    A:1e55 X:9ffa Y:00ff S:1fd8 D:1e55 DB:7e nvmxdIzC V:160 H: 490
    c26995 sta $04      [001e59] A:0004 X:9ffa Y:00ff S:1fda D:1e55 DB:7e nvmxdIzC V:160 H: 524
    c26997 asl a                  A:0004 X:9ffa Y:00ff S:1fda D:1e55 DB:7e nvmxdIzC V:160 H: 598
    c26998 adc $04      [001e59] A:0008 X:9ffa Y:00ff S:1fda D:1e55 DB:7e nvmxdIzc V:160 H: 610
    c2699a asl a                  A:000c X:9ffa Y:00ff S:1fda D:1e55 DB:7e nvmxdIzc V:160 H: 644
    c2699b asl a                  A:0018 X:9ffa Y:00ff S:1fda D:1e55 DB:7e nvmxdIzc V:160 H: 656
    c2699c tax                    A:0030 X:9ffa Y:00ff S:1fda D:1e55 DB:7e nvmxdIzc V:160 H: 668
    c2699d inx                    A:0030 X:0030 Y:00ff S:1fda D:1e55 DB:7e nvmxdIzc V:160 H: 680
    c2699e inx                    A:0030 X:0031 Y:00ff S:1fda D:1e55 DB:7e nvmxdIzc V:160 H: 692
    c2699f lda $d57b68,x [d57b9a] A:0030 X:0032 Y:00ff S:1fda D:1e55 DB:7e nvmxdIzc V:160 H: 704
    c269a3 and #$00ff            A:0001 X:0032 Y:00ff S:1fda D:1e55 DB:7e nvmxdIzc V:160 H: 740
    c269a6 pld                    A:0001 X:0032 Y:00ff S:1fda D:1e55 DB:7e nvmxdIzc V:160 H: 758
    c269a7 rts                    A:0001 X:0032 Y:00ff S:1fdc D:1e63 DB:7e nvmxdIzc V:160 H: 792
    c281a9 cmp #$0001            A:0001 X:0032 Y:00ff S:1fde D:1e63 DB:7e nvmxdIzc V:160 H: 832
    c281ac bne $81cd    [c281cd] A:0001 X:0032 Y:00ff S:1fde D:1e63 DB:7e nvmxdIZC V:160 H: 850
    c281ae ldx $a972    [7ea972] A:0001 X:0032 Y:00ff S:1fde D:1e63 DB:7e nvmxdIZC V:160 H: 862
    c281b1 lda $0023,x  [7ea23f] A:0001 X:a21c Y:00ff S:1fde D:1e63 DB:7e NvmxdIzC V:160 H: 896
    c281b4 and #$00ff            A:0000 X:a21c Y:00ff S:1fde D:1e63 DB:7e nvmxdIZC V:160 H: 936
    c281b7 cmp #$0003            A:0000 X:a21c Y:00ff S:1fde D:1e63 DB:7e nvmxdIZC V:160 H: 954
    c281ba beq $81c1    [c281c1] A:0000 X:a21c Y:00ff S:1fde D:1e63 DB:7e NvmxdIzc V:160 H: 972
    c281bc cmp #$0004            A:0000 X:a21c Y:00ff S:1fde D:1e63 DB:7e NvmxdIzc V:160 H: 984
    c281bf bne $81cd    [c281cd] A:0000 X:a21c Y:00ff S:1fde D:1e63 DB:7e NvmxdIzc V:160 H:1002
    c281cd lda $02      [001e65] A:0000 X:a21c Y:00ff S:1fde D:1e63 DB:7e NvmxdIzc V:160 H:1020
     
    //63 damage in accumulator on next line
    c281cf bne $81d6    [c281d6] A:003f X:a21c Y:00ff S:1fde D:1e63 DB:7e nvmxdIzc V:160 H:1054
    c281d6 rep #$10              A:003f X:a21c Y:00ff S:1fde D:1e63 DB:7e nvmxdIzc V:160 H:1072
    c281d8 ldx $02      [001e65] A:003f X:a21c Y:00ff S:1fde D:1e63 DB:7e nvmxdIzc V:160 H:1090
    c281da lda $a972    [7ea972] A:003f X:003f Y:00ff S:1fde D:1e63 DB:7e nvmxdIzc V:160 H:1172
    c281dd jsr $7eaf    [c27eaf] A:a21c X:003f Y:00ff S:1fde D:1e63 DB:7e NvmxdIzc V:160 H:1206
    c27eaf rep #$31              A:a21c X:003f Y:00ff S:1fdc D:1e63 DB:7e NvmxdIzc V:160 H:1246
    c27eb1 phd                    A:a21c X:003f Y:00ff S:1fdc D:1e63 DB:7e NvmxdIzc V:160 H:1264
    c27eb2 pha                    A:a21c X:003f Y:00ff S:1fda D:1e63 DB:7e NvmxdIzc V:160 H:1292
    c27eb3 tdc                    A:a21c X:003f Y:00ff S:1fd8 D:1e63 DB:7e NvmxdIzc V:160 H:1320
    c27eb4 adc #$ffe4            A:1e63 X:003f Y:00ff S:1fd8 D:1e63 DB:7e nvmxdIzc V:160 H:1332
    c27eb7 tcd                    A:1e47 X:003f Y:00ff S:1fd8 D:1e63 DB:7e nvmxdIzC V:160 H:1350
    c27eb8 pla                    A:1e47 X:003f Y:00ff S:1fd8 D:1e47 DB:7e nvmxdIzC V:160 H:1362
    c27eb9 stx $04      [001e4b] A:a21c X:003f Y:00ff S:1fda D:1e47 DB:7e NvmxdIzC V:161 H:  32
    c27ebb tay                    A:a21c X:003f Y:00ff S:1fda D:1e47 DB:7e NvmxdIzC V:161 H:  66
    c27ebc sty $1a      [001e61] A:a21c X:003f Y:a21c S:1fda D:1e47 DB:7e NvmxdIzC V:161 H:  78
    c27ebe stz $18      [001e5f] A:a21c X:003f Y:a21c S:1fda D:1e47 DB:7e NvmxdIzC V:161 H: 112
    c27ec0 lda $04      [001e4b] A:a21c X:003f Y:a21c S:1fda D:1e47 DB:7e NvmxdIzC V:161 H: 146
    c27ec2 bne $7ed8    [c27ed8] A:003f X:003f Y:a21c S:1fda D:1e47 DB:7e nvmxdIzC V:161 H: 180
    c27ed8 lda $000e,y  [7ea22a] A:003f X:003f Y:a21c S:1fda D:1e47 DB:7e nvmxdIzC V:161 H: 198
    c27edb and #$00ff            A:0001 X:003f Y:a21c S:1fda D:1e47 DB:7e nvmxdIzC V:161 H: 238
    c27ede cmp #$0001            A:0001 X:003f Y:a21c S:1fda D:1e47 DB:7e nvmxdIzC V:161 H: 256
    c27ee1 bne $7f48    [c27f48] A:0001 X:003f Y:a21c S:1fda D:1e47 DB:7e nvmxdIZC V:161 H: 274
    c27ee3 lda $0000,y  [7ea21c] A:0001 X:003f Y:a21c S:1fda D:1e47 DB:7e nvmxdIZC V:161 H: 286
    c27ee6 cmp #$00da            A:0004 X:003f Y:a21c S:1fda D:1e47 DB:7e nvmxdIzC V:161 H: 326
    c27ee9 bne $7f48    [c27f48] A:0004 X:003f Y:a21c S:1fda D:1e47 DB:7e NvmxdIzc V:161 H: 344
    c27f48 ldy $1a      [001e61] A:0004 X:003f Y:a21c S:1fda D:1e47 DB:7e NvmxdIzc V:161 H: 362
    c27f4a lda $0013,y  [7ea22f] A:0004 X:003f Y:a21c S:1fda D:1e47 DB:7e NvmxdIzc V:161 H: 396
    c27f4d sta $02      [001e49] A:00c8 X:003f Y:a21c S:1fda D:1e47 DB:7e nvmxdIzc V:161 H: 436
    c27f4f lda $000e,y  [7ea22a] A:00c8 X:003f Y:a21c S:1fda D:1e47 DB:7e nvmxdIzc V:161 H: 470
    c27f52 and #$00ff            A:0001 X:003f Y:a21c S:1fda D:1e47 DB:7e nvmxdIzc V:161 H: 510
    c27f55 beq $7f78    [c27f78] A:0001 X:003f Y:a21c S:1fda D:1e47 DB:7e nvmxdIzc V:161 H: 528
    c27f57 lda $0000,y  [7ea21c] A:0001 X:003f Y:a21c S:1fda D:1e47 DB:7e nvmxdIzc V:161 H: 580
    c27f5a cmp #$005d            A:0004 X:003f Y:a21c S:1fda D:1e47 DB:7e nvmxdIzc V:161 H: 620
    c27f5d beq $7f7e    [c27f7e] A:0004 X:003f Y:a21c S:1fda D:1e47 DB:7e NvmxdIzc V:161 H: 638
    c27f5f cmp #$00c0            A:0004 X:003f Y:a21c S:1fda D:1e47 DB:7e NvmxdIzc V:161 H: 650
    c27f62 beq $7f7e    [c27f7e] A:0004 X:003f Y:a21c S:1fda D:1e47 DB:7e NvmxdIzc V:161 H: 668
    c27f64 cmp #$00da            A:0004 X:003f Y:a21c S:1fda D:1e47 DB:7e NvmxdIzc V:161 H: 680
    c27f67 beq $7f7e    [c27f7e] A:0004 X:003f Y:a21c S:1fda D:1e47 DB:7e NvmxdIzc V:161 H: 698
    c27f69 cmp #$00db            A:0004 X:003f Y:a21c S:1fda D:1e47 DB:7e NvmxdIzc V:161 H: 710
    c27f6c beq $7f7e    [c27f7e] A:0004 X:003f Y:a21c S:1fda D:1e47 DB:7e NvmxdIzc V:161 H: 728
    c27f6e cmp #$00dd            A:0004 X:003f Y:a21c S:1fda D:1e47 DB:7e NvmxdIzc V:161 H: 740
    c27f71 beq $7f7e    [c27f7e] A:0004 X:003f Y:a21c S:1fda D:1e47 DB:7e NvmxdIzc V:161 H: 758
    c27f73 cmp #$00e5            A:0004 X:003f Y:a21c S:1fda D:1e47 DB:7e NvmxdIzc V:161 H: 770
    c27f76 beq $7f7e    [c27f7e] A:0004 X:003f Y:a21c S:1fda D:1e47 DB:7e NvmxdIzc V:161 H: 788
    c27f78 ldx $04      [001e4b] A:0004 X:003f Y:a21c S:1fda D:1e47 DB:7e NvmxdIzc V:161 H: 800
    c27f7a tya                    A:0004 X:003f Y:a21c S:1fda D:1e47 DB:7e nvmxdIzc V:161 H: 834
    c27f7b jsr $71f0    [c271f0] A:a21c X:003f Y:a21c S:1fda D:1e47 DB:7e NvmxdIzc V:161 H: 846
    c271f0 rep #$31              A:a21c X:003f Y:a21c S:1fd8 D:1e47 DB:7e NvmxdIzc V:161 H: 886
    c271f2 phd                    A:a21c X:003f Y:a21c S:1fd8 D:1e47 DB:7e NvmxdIzc V:161 H: 904
    c271f3 pha                    A:a21c X:003f Y:a21c S:1fd6 D:1e47 DB:7e NvmxdIzc V:161 H: 932
    c271f4 tdc                    A:a21c X:003f Y:a21c S:1fd4 D:1e47 DB:7e NvmxdIzc V:161 H: 960
    c271f5 adc #$fff0            A:1e47 X:003f Y:a21c S:1fd4 D:1e47 DB:7e nvmxdIzc V:161 H: 972
    c271f8 tcd                    A:1e37 X:003f Y:a21c S:1fd4 D:1e47 DB:7e nvmxdIzC V:161 H: 990
    c271f9 pla                    A:1e37 X:003f Y:a21c S:1fd4 D:1e37 DB:7e nvmxdIzC V:161 H:1002
    c271fa stx $02      [001e39] A:a21c X:003f Y:a21c S:1fd6 D:1e37 DB:7e NvmxdIzC V:161 H:1036
    c271fc tay                    A:a21c X:003f Y:a21c S:1fd6 D:1e37 DB:7e NvmxdIzC V:161 H:1070
    c271fd lda $0013,y  [7ea22f] A:a21c X:003f Y:a21c S:1fd6 D:1e37 DB:7e NvmxdIzC V:161 H:1082
    //Enemy life is loaded into accumulator (0xc8)
    c27200 sta $0e      [001e45] A:00c8 X:003f Y:a21c S:1fd6 D:1e37 DB:7e nvmxdIzC V:161 H:1170
    c27202 sta $04      [001e3b] A:00c8 X:003f Y:a21c S:1fd6 D:1e37 DB:7e nvmxdIzC V:161 H:1204
    c27204 lda $02      [001e39] A:00c8 X:003f Y:a21c S:1fd6 D:1e37 DB:7e nvmxdIzC V:161 H:1238
    c27206 cmp $04      [001e3b] A:003f X:003f Y:a21c S:1fd6 D:1e37 DB:7e nvmxdIzC V:161 H:1272
    c27208 bcc $7211    [c27211] A:003f X:003f Y:a21c S:1fd6 D:1e37 DB:7e NvmxdIzc V:161 H:1306
    c27211 lda $0e      [001e45] A:003f X:003f Y:a21c S:1fd6 D:1e37 DB:7e NvmxdIzc V:161 H:1324
    c27213 sec                    A:00c8 X:003f Y:a21c S:1fd6 D:1e37 DB:7e nvmxdIzc V:161 H:1358
    //Subtraction occurs next line (0xC8 - 0x3F == 0x89), accumulator holds result
    c27214 sbc $02      [001e39] A:00c8 X:003f Y:a21c S:1fd6 D:1e37 DB:7e nvmxdIzC V:162 H:  6
    c27216 tax                    A:0089 X:003f Y:a21c S:1fd6 D:1e37 DB:7e nvmxdIzC V:162 H:  40
    c27217 tya                    A:0089 X:0089 Y:a21c S:1fd6 D:1e37 DB:7e nvmxdIzC V:162 H:  52
    c27218 jsr $7126    [c27126] A:a21c X:0089 Y:a21c S:1fd6 D:1e37 DB:7e NvmxdIzC V:162 H:  64
    c27126 rep #$31              A:a21c X:0089 Y:a21c S:1fd4 D:1e37 DB:7e NvmxdIzC V:162 H: 104
    c27128 phd                    A:a21c X:0089 Y:a21c S:1fd4 D:1e37 DB:7e NvmxdIzc V:162 H: 122
    c27129 pha                    A:a21c X:0089 Y:a21c S:1fd2 D:1e37 DB:7e NvmxdIzc V:162 H: 150
    c2712a tdc                    A:a21c X:0089 Y:a21c S:1fd0 D:1e37 DB:7e NvmxdIzc V:162 H: 178
    c2712b adc #$ffee            A:1e37 X:0089 Y:a21c S:1fd0 D:1e37 DB:7e nvmxdIzc V:162 H: 190
    c2712e tcd                    A:1e25 X:0089 Y:a21c S:1fd0 D:1e37 DB:7e nvmxdIzC V:162 H: 208
    c2712f pla                    A:1e25 X:0089 Y:a21c S:1fd0 D:1e25 DB:7e nvmxdIzC V:162 H: 220
    c27130 txy                    A:a21c X:0089 Y:a21c S:1fd2 D:1e25 DB:7e NvmxdIzC V:162 H: 254
    c27131 sty $10      [001e35] A:a21c X:0089 Y:0089 S:1fd2 D:1e25 DB:7e nvmxdIzC V:162 H: 266
    c27133 tax                    A:a21c X:0089 Y:0089 S:1fd2 D:1e25 DB:7e nvmxdIzC V:162 H: 300
    c27134 lda $0015,x  [7ea231] A:a21c X:a21c Y:0089 S:1fd2 D:1e25 DB:7e NvmxdIzC V:162 H: 312
    c27137 sta $0e      [001e33] A:0155 X:a21c Y:0089 S:1fd2 D:1e25 DB:7e nvmxdIzC V:162 H: 352
    c27139 sta $02      [001e27] A:0155 X:a21c Y:0089 S:1fd2 D:1e25 DB:7e nvmxdIzC V:162 H: 386
    c2713b tya                    A:0155 X:a21c Y:0089 S:1fd2 D:1e25 DB:7e nvmxdIzC V:162 H: 420
    c2713c cmp $02      [001e27] A:0089 X:a21c Y:0089 S:1fd2 D:1e25 DB:7e nvmxdIzC V:162 H: 432
    c2713e bcc $7147    [c27147] A:0089 X:a21c Y:0089 S:1fd2 D:1e25 DB:7e NvmxdIzc V:162 H: 466
    c27147 lda $000e,x  [7ea22a] A:0089 X:a21c Y:0089 S:1fd2 D:1e25 DB:7e NvmxdIzc V:162 H: 484
    c2714a and #$00ff            A:0001 X:a21c Y:0089 S:1fd2 D:1e25 DB:7e nvmxdIzc V:162 H: 524
    c2714d bne $7187    [c27187] A:0001 X:a21c Y:0089 S:1fd2 D:1e25 DB:7e nvmxdIzc V:162 H: 582
    c27187 tya                    A:0001 X:a21c Y:0089 S:1fd2 D:1e25 DB:7e nvmxdIzc V:162 H: 600
    //Store the result at the enemies life address
    c27188 sta $0011,x  [7ea22d] A:0089 X:a21c Y:0089 S:1fd2 D:1e25 DB:7e nvmxdIzc V:162 H: 612
     
    //damage done to enemy was 63
    //Life remaining for enemy was 137
    

    You can see a couple of notes I made (denoted by '//'). I'm fairly certain the decision the game makes on whether a critical hit is made is in that area. But basically that's roughly how I start off. The next step is to pick an instruction and start stepping through the code (executing 1 line at a time) to determine where it is, this is the tedious part, especially if the game makes a lot of jumps or loops.

    One of these days I'll stream my desktop with me reverse engineering a game of the audiences choice to search for an item of their choice. I think that would be pretty fun.
    <Pasky> so you can go extra fast by just holding it?
    <bookah> turbo handjob
    <baklakiller> sure if had a penis
    <baklakiller> im a beginner gief
  • Coth_XCoth_X G(x) = (3/(1-3x)) - 3 - 3x - 27x^2 Joined: Posts: 4,340
    Damn pasky how much spare time do you have?
    "The purpose of proof is to understand, not to verify." - Arnold Ross
    http://www.newgrounds.com/portal/view/534416 <--- Coolest Game Ever!
  • jdmjdm skillz Joined: Posts: 178
    blah too much to read.
    GGPO: jdmskillz

    Super Turbo all day.
  • PaskyPasky Ninja with pistol! Joined: Posts: 1,863
    Damn pasky how much spare time do you have?

    Not a lot actually. lol

    That took me about 5 minutes total to find and wrote that during lunch (while moving check stubs :P)
    <Pasky> so you can go extra fast by just holding it?
    <bookah> turbo handjob
    <baklakiller> sure if had a penis
    <baklakiller> im a beginner gief
  • Coth_XCoth_X G(x) = (3/(1-3x)) - 3 - 3x - 27x^2 Joined: Posts: 4,340
    Wow.

    Does your job require assembly or is that just your hobby?
    "The purpose of proof is to understand, not to verify." - Arnold Ross
    http://www.newgrounds.com/portal/view/534416 <--- Coolest Game Ever!
  • PaskyPasky Ninja with pistol! Joined: Posts: 1,863
    Hobby. People are passionate about what they enjoy.
    <Pasky> so you can go extra fast by just holding it?
    <bookah> turbo handjob
    <baklakiller> sure if had a penis
    <baklakiller> im a beginner gief
  • Coth_XCoth_X G(x) = (3/(1-3x)) - 3 - 3x - 27x^2 Joined: Posts: 4,340
    I discovered blender and unity recently.

    X86 is the common intel assembly isn't it? What does amd use?
    "The purpose of proof is to understand, not to verify." - Arnold Ross
    http://www.newgrounds.com/portal/view/534416 <--- Coolest Game Ever!
Sign In or Register to comment.