Hacking the ST rom...

179111213

Comments

  • felinekifelineki Joined: Posts: 981
    edited October 2013
    We still need to come up with an effective and reliable way to actually edit the graphic data. I managed to (just barely) figure out how to combine the ROMS in a way that they'll open properly in Tile Molester (for the 16x16 tiles, at least), but I have yet to actually try to modify something, split it back into the base ROMs, then see if it will work in MAME or whatever. We probably ought to get someone to write some sort of tool for combining and resplitting the graphics ROMs.
    "The Hammer Bros. Suit was more broken than O. Sagat, AHVB, and CotA Magneto put together." -specs

    "I always thought that O. Sagat, AHVB, and CotA Magneto were just aspects of the Hammer Bros. Suit, broken down in several pieces in order to keep the universe from breaking." -Wellman
  • jedpossumjedpossum Ok, Darling Joined: Posts: 4,227
    If you do edit I'm sure you know how to set up a batch file for it.

    8x8 shouldn't need joining.

    32x32 - 11AA22BB33CC44DD.

    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

  • Jion_WansuJion_Wansu Joined: Posts: 5,119
    So what's the code to select shin gouki? Is it hold start plus KKK and PPP at the same time...
  • Jion_WansuJion_Wansu Joined: Posts: 5,119
    Is it hold start+PPP+KKK?
  • jedpossumjedpossum Ok, Darling Joined: Posts: 4,227
    A few days ago I just thought of doing something similar to Vampire and use the sprite instead.
    Mpvxufp.png

    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

  • jedpossumjedpossum Ok, Darling Joined: Posts: 4,227
    I can see doing this in HSF2 with ease as each block of the old portrait is written so I don't have to code.
    uQzdMw7.png

    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

  • Jion_WansuJion_Wansu Joined: Posts: 5,119
    Did you know that the CPU can use Super versions of the characters in HSF2?
  • Jion_WansuJion_Wansu Joined: Posts: 5,119
    q9qy.jpg
  • Jion_WansuJion_Wansu Joined: Posts: 5,119
    yup
  • JitterdoomerJitterdoomer Joined: Posts: 1
    edited November 2013
    I would like to thank Felineki and Jedpossum for finding such unused content hidden in ST Rom. BTW, I'm the one made the TCRF page about this game because I had a permission from Rage Quitter 87. Now let's back to my topic, is anybody got access to Tournament Battle Mode? Because ST used to have a sequel to TB called "League Battle" the graphics about this unrealized game were inside the ROM itself complete with Japanese text explaining the rules of the "League Battle" mode and this was the only time we see the "TURBO" font from the game's title screen to be used during the game.
  • jedpossumjedpossum Ok, Darling Joined: Posts: 4,227
    edited November 2013
    Tournament battle is real buggy in ST especially that all the network checks always pass when they shouldn't so the game will semi-lock up after a check looking for data from another board.

    As for League battle I see nothing pointing to those graphics when I edited the title screen. So they're either completely unused or located some where else far from the title screen graphics.

    Edit:
    Also If you start working on a TCRF page for Hyper Street Fighter 2 most of graphics from the old games are in the roms Stages, Character Select, Versus screens.

    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

  • yogaboyyogaboy Joined: Posts: 65
    I know I am suuuper late to the party but I had no idea that pugsy's mame cheat for ST lets you select initial stage, select old colors for new characters and viceversa, change special input motions, etc
    Easiest solution that would please almost everyone -> a decent port. That is, the DC version of ST running on a PS4/XBOX.
    Difficult part -> get capcom involved. Whoever achieves that gets the golden egg and solves the problem for once and for all. Period ;)
  • JizzonJizzon ...or Thenarus, whichever. Joined: Posts: 650
    I wish I had the talent to make Zangief do the ending Russian dance every time he wins by time over =p
  • jedpossumjedpossum Ok, Darling Joined: Posts: 4,227
    edited February 2014


    Patch for SSF2XJ set
    http://www.mediafire.com/download/4bb15k0oajtbz5b/SSF2JX_Patcher.EXE
    Put roms 3 and 4 of ssf2xj in the same folder as the exe and run the exe
    Post edited by jedpossum on

    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

  • yogaboyyogaboy Joined: Posts: 65
    Now I need some hardware expert that explains to me how to rewrite the eeproms of my b-board with these modified ROMs :)
    Easiest solution that would please almost everyone -> a decent port. That is, the DC version of ST running on a PS4/XBOX.
    Difficult part -> get capcom involved. Whoever achieves that gets the golden egg and solves the problem for once and for all. Period ;)
  • FaithLesFaithLes Joined: Posts: 4
    edited March 2014
    I have a request for SSF2T rom set.
    1: Being able to select original outfit collars from SSF2.
    2: Make games difficulty adjustable so its not just on extremely hard regardless of the setting used.
    3: Free Play.
  • eltroubleeltrouble Joined: Posts: 5,707
    edited March 2014
    FaithLes wrote: »
    I have a request for SSF2T rom set.
    1: Being able to select original outfit collars from SSF2.
    2: Make games difficulty adjustable so its not just on extremely hard regardless of the setting used.
    3: Free Play.

    1. That would neat.
    2. You already can. Go into the test menu. CPU is pretty easy to beat on the lowest setting.
    3. Only available on JP board. That, or get it phoenixed.
    Post edited by eltrouble on
  • undamnedundamned Wake up! Time to die! Joined: Posts: 1,677
    I suggest before we target changes colors, we focus on core technical changes like selectable CPU opponent (right now you are stuck with whatever random character you fight first) and possibly stage select (as I've heard there are a few stages that actually affect game speed).
    eltrouble wrote: »
    FaithLes wrote: »
    3: Free Play.
    3. Only available on JP board. That, or get it phoenixed.
    There's a version of "Clean" ROMs with free play on JP region. If you are not familiar with "Clean" ROMs they are an alternative to Phoenix ROMs. They revive dead boards, but are "clean" because they don't have all the extra features that Razoola put in (region change, jukebox, etc.). Official site here:

    http://cps2.avalaunch.net

    -ud
  • FaithLesFaithLes Joined: Posts: 4
    edited March 2014
    eltrouble wrote: »
    FaithLes wrote: »
    I have a request for SSF2T rom set.
    1: Being able to select original outfit collars from SSF2.
    2: Make games difficulty adjustable so its not just on extremely hard regardless of the setting used.
    3: Free Play.

    1. That would beat.
    2. You already can. Go into the test menu. CPU is pretty easy to beat on the lowest setting.
    3. Only available on JP board. That, or get it phoenixed.

    I stand no chance on easy setting and im an experienced SF player. I can maby get to the 2nd or 3rd fight and i will be dead. Changing the difficulty makes no diffrens.
    I know that SSF2X is easyer but i dont want JAP text and im accustomed to diktator name as M.Bison and so on. Thats why i would love a proper version of SSF2T.
    Prehaps it would be easyer to hack SSF2X and translate every thing from SSF2T? Then all im missing would be original collars :-)
    BTW im using MAME.

    PS: not sure what you mean about: 1. That would beat?

    Post edited by FaithLes on
  • eltroubleeltrouble Joined: Posts: 5,707
    FaithLes wrote: »
    I stand no chance on easy setting and im an experienced SF player. I can maby get to the 2nd or 3rd fight and i will be dead. Changing the difficulty makes no diffrens.
    I know that SSF2X is easyer but i dont want JAP text and im accustomed to diktator name as M.Bison and so on. Thats why i would love a proper version of SSF2T.
    Prehaps it would be easyer to hack SSF2X and translate every thing from SSF2T? Then all im missing would be original collars :-)
    BTW im using MAME.

    PS: not sure what you mean about: 1. That would beat?

    I think a lot of it is learning how to abuse AI glitches. Like being able to spam spin kick with Ryu and beat Deejay for free, or constantly doing jb.roundhouse to beat Zangief.

    The first point was an error. I've had a weird problem lately where I tend to combine or omit certain words together and type out weird sentences. It's annoying.
  • undamnedundamned Wake up! Time to die! Joined: Posts: 1,677
    eltrouble wrote: »
    The first point was an error. I've had a weird problem lately where I tend to combine or omit certain words together and type out weird sentences. It's annoying.
    Sux being robot :(
    -ud

  • jedpossumjedpossum Ok, Darling Joined: Posts: 4,227
    edited March 2014
    Here is my to do list in priority. And they're not on the same level either.

    High (Won't be another release until fixed one of these is fixed)
    KO Slow Down Removed(On everything)
    Fix Throws to behave properly at low health (No standing)

    Med
    Player 2 character is the stage*

    Low
    Select AI*
    Any Debug features(If I find them, might have to remove sprites either background to prevent flickering and more slowdown)*

    Really Low
    Remove timer graphics
    Allows Supers to be done any time
    Add Free Play on non-phoenixed sets

    * If it requires 10th rom won't bother with it for awhile. When I'll attempt a more proper training mode.
    Post edited by jedpossum on

    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

  • coNcoN Joined: Posts: 840 ✭✭✭✭✭ OG
    I love you jed.
    Tee-Fucking-Hee...
  • hanasuhanasu Joined: Posts: 130
    edited March 2014
    eltrouble wrote: »
    FaithLes wrote: »
    3: Free Play.
    3. Only available on JP board. That, or get it phoenixed.

    Freeplay only on US board.

    Also thanks jed, doing great work.
    _______________________________________________________________
    STRevival

    Twitter | Twitch | Youtube
  • papasipapasi N Ken is the truth Joined: Posts: 1,568
    jedpossum wrote: »
    Here is my to do list in priority. And they're not on the same level either.

    KO Slow Down Removed(On everything)
    Fix Throws to behave properly at low health (No standing)

    Slow down fix would make it very usable for training!
    Thanks for the Amazing hack
    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/
  • jedpossumjedpossum Ok, Darling Joined: Posts: 4,227
    Nice, You could of looked at or talked about the memory map of the cps2 to help decide what needed to be changed instead of guessing.
    0x000000 - 0x3FFFFF Main Program
    
    0x400000 - 0x40000A - Encryption(aka the battery memory on pheonixed roms it's 0xFFFFF0 - 0xFFFFFA)
    
    0x618000 - 0x619FFF Shared ram for the Z80 aka tells what sfx or music to play.
    
    0x660000 - 0x663FFF Network Memory
    
    0x900000 Start of Graphic memory can change with each game.
    
    ST
    0x900000 - 0x903FFF Palette
    0x904000 - 0x907FFF 16x16
    0x908000 - 0x90BFFF 32x32
    0x90C000 - 0x90FFFF 8x8
    0x910000 - 0x913FFF 16x16 mainly hud and character names on select screen
    
    0xFF0000 - 0xFFFFFF - Main Memory
    
    

    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

  • oldschool_BRoldschool_BR Projectile spammer Joined: Posts: 2,442
    Playing as CPU in GGPO might be fun. You pick Guile, people spectate and wonder how the fuck you walk up Boom or Flash Kick. But, I suppose, people would need the hacked ROM to see matches.
  • jedpossumjedpossum Ok, Darling Joined: Posts: 4,227
    You don't have to do a rom hack it's a simple flag in the memory.

    Got bored and decided to do some projectile hacking.




    For St I've only started found the projectile speed table.

    Every one uses the same table and just reads at different places.
    Start 0x2F8800
    
    XSPP YS## XSPN YS##
    


    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

  • Axel KellyAxel Kelly Joined: Posts: 1,477
    Would it be possible to edit ST to allow characters to move before and after the round? That's my favorite feature in some CE hacks
    largemann.com
  • papasipapasi N Ken is the truth Joined: Posts: 1,568
    awesome hack jedpossum, n ken needs that fb buff!
    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/
  • jedpossumjedpossum Ok, Darling Joined: Posts: 4,227
    edited April 2014
    papasi wrote: »
    awesome hack jedpossum, n ken needs that fb buff!

    Well the table is shared with most characters I haven't tested all the characters even old characters.

    So, if I edit speed 300 and 400 it would apply to both N.Ryu's and N.Ken's Light and Medium Fireball speed.

    Fireballs work differently in this engine compared to alpha engine. In the alpha engine each projectile was separately programmed with it's own table in the later games that even change how it moves. Like Lilith's Soul Spark has amount of hits, X speed, and a timer. While Lei lei's item projectile is just four jump parabolas. And Anak's curse only has x speed and y speed.

    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

  • pofpof Joined: Posts: 28
    New post on my blog, presenting a new training mode using MAME cheats.
  • jedpossumjedpossum Ok, Darling Joined: Posts: 4,227
    You know, you could of easily asked for the addresses instead of comparing the roms.

    My notes for the hack
    --------------------------------
    --Rom3----Rom3----Rom3----Rom3--
    --------------------------------
    -------------
    ----Timer----
    -------------
    Mid Match
    Adr - FE8E
    Hex - 1B40 0DD0
    
    Character Select
    Adr - ECDA
    Hex - 637C
    
    -------------
    ----Super----
    -------------
    Doesn't drain
    Adr - 27FA8
    Hex - 422E 02C4
    
    ----------
    --Throws--
    ----------
    Addresses
    4A76
    4DAE
    Hex
    377C 0090 
    
    Throw 1
    Ko Slow Down
    Adr - 4A96
    Hex - 4EB9 0007F2B2
    
    -------------
    ---Throw 3---
    -------------
    Adr - 49C2
    Hex - 377C 0090 
    
    Remove KO knock down
    Adr - 49E6 
    Hex - 177C 0002
    
    -------------
    ----Music---- 
    -------------
    Character Select
    Adr - E2FC | ECBE | ECCA
    Hex - 303C 0034
    
    
    --------------------------------
    --Rom4----Rom4----Rom4----Rom4--
    --------------------------------
    -----------
    Projectiles
    -----------
    Adr - BEBAC (3EBAC)
    Hex - 357C 0090
    
    Ko Slow Down
    Adr - 
    Hex - 
    
    ------------
    Regular Hits
    ------------
    Life Refill
    ADR - BE64C (3E64C)
    Hex - 357C 0090
    
    Ko Slow Down
    
    
    ------------
    Random Notes
    ------------
    P1 -- p2 + 400 
    ADR = FF844E
    LIFE = ADR + 2A
    
    
    
    How long push box is gone after a throw
    4E30
    Original ASM
    move.b #$1C,($DE0, A5)
    Binary
    1B7C 001C 0DE0
    

    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

  • pofpof Joined: Posts: 28
    Thanks jedpossum! Updated the cheat file with your notes.
  • jedpossumjedpossum Ok, Darling Joined: Posts: 4,227
    Vampire Savior Stage Selection
    A5 = 0xFF8000 -- Settings,various timers you know global data.
    
    0x020704
    jsr     $ae7c.l
    	lea     ($400,A5), A0 --Loading p1 slot
    	lea     ($800,A5), A1 --Loading p2 slot
    
    --If versus
    tst.b   ($131,A5)
    bne     $aea8
    
    lea     ($15be,PC), A2; ($c468) --Stage table pointer being loaded
    
    jsr     $14e8a.l -- This sub routine is everywhere but here it aids in the randomization of stages.
    	move.w  ($d4,A5), D0 
    	move.w  D0, D1
    	add.w   D0, D0
    	add.w   D1, D0
    	lsr.w   #8, D0
    	add.b   D0, ($d5,A5)
    	move.b  D0, ($d4,A5)
    	move.b  ($d5,A5), D0
    	rts
    
    andi.w  #$f, D0
    moveq   #$0, D1
    move.b  ($382,A1), D1
    lsl.w   #4, D1
    add.w   D0, D1
    
    move.b  (A2,D1.w), D0 --Stage has been selected
    
    move.w  D0, ($100,A5) --and now part of the main memory
    

    I know this isn't ST, but some one could potentially add a weighted randomization to stages. It needs some reworking as stage values in Vsav are always even. Also, finding a nice place in the code to add this routine.

    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

  • ShariShari Overestimated. Joined: Posts: 2,614
    edited April 2014
    I haven't been following this thread so i don't know if anyone has gone over this yet and if so im sorry but im wondering how hard it would be to normalize the speed of all the stages and if so to release a rom with only that change ?

    Edit: Actually as an addition to that if such a change were to be made what would be considered the baseline stage that all the others would be changed to follow ?
    Haunts: Is it lag or just impeccable footsies and spacing, I don't know.
    MiloDC: I beat YuuVega -- yes, that YuuVega -- the first time I played Claw seriously in my entire life.
  • jedpossumjedpossum Ok, Darling Joined: Posts: 4,227
    As a way to normalize speed would be getting rid of the sprites in the background like I did in Birdie's A2 stage a long time ago.

    A true base line would be absolutely nothing no bg layers, no bg sprites, no raster effects, no palettes, even getting rid of the slowdown mechanic from fireballs on the stage were the cpu is just processing the characters and maybe the hud.

    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

  • jedpossumjedpossum Ok, Darling Joined: Posts: 4,227
    edited May 2014


    A step closer to random stages.

    It's not much so far since the character select timer doesn't move in my training mode hack.
    Address 39A6 
    jsr $ccc10.l
    
    Address CCC10 
    move.w($61d2,A5), D0
    andi.w #$f, D0
    move.w d0 ($c4e,A5)
    add.w d0,d0
    rts
    
    Address 39A6 (rom 3)
    4EB9 000CCC10
    
    Address CCC10 (4CC10 rom 4 )
    302D 61D2
    0240 000F
    3B40 0C4E
    D040
    4E75
    

    Edit:
    I found a place to add the code in the roms.

    Now with the code added in full with the character select timer enabled.


    edit 2
    GGPO test and jsr change 2
    Look at that Battle Number
    PP1VITU.png
    Post edited by jedpossum on

    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

  • jedpossumjedpossum Ok, Darling Joined: Posts: 4,227
    edited May 2014
    Nothing to do with stages,but I seen this branch when trying to edit ryu's jab dp.
    A5 = FF8000
    
    077FE2: bsr     $78132 
    078132: lea     ($44e,A5), A6		;Setting player Player 1
    078136: bsr     $7813e			;Branch so it A6 doesn't become player 2's address yet
    	07813E: move.l  ($6,A6), D0		;Loading the actual X Position
    	078142: sub.l   ($1cc,A6), D0	;Subtracting old position with new
    	078146: move.l  D0, ($1c4,A6)	;Supposed X Movement
    	07814A: move.l  ($a,A6), D0		;Loading the actual Y position
    	07814E: sub.l   ($1d0,A6), D0	;Subtracting old position with new
    	078152: move.l  D0, ($1c8,A6)	;Supposed Y Movement
    	078156: rts						;Return
    
    07813A: lea     ($84e,A5), A6		;Setting player Player 2
    07813E: move.l  ($6,A6), D0			;Loading the actual X Position
    078142: sub.l   ($1cc,A6), D0		;Subtracting old position with new
    078146: move.l  D0, ($1c4,A6)		;Supposed X Movement
    07814A: move.l  ($a,A6), D0			;Loading the actual Y position
    07814E: sub.l   ($1d0,A6), D0		;Subtracting old position with new
    078152: move.l  D0, ($1c8,A6)		;Supposed Y Movement
    078156: rts							;Return
    

    The thing is there is nothing reading those movement values which what this branch is making. So in normal play this branch useless and just a left over of a debug display.

    The reason I note this is that it's a nice place to hook into since this isn't really used.

    Edit:
    Added the all of it.

    Also looking into it more this branch does have it's use does have a use in normal play sorta. Only when players push boxes are touching each other does it get read but it's not used to calculate which one moves either. Removing the above to not write a value seems to do nothing.
    As always A5 = FF8000
    0BF6E2: bpl     $bf6e8
    0BF6E8: move.l  ($612,A5), D2 ;Reading P1 "X Speed" and putting it on D2
    0BF6EC: lsr.l   #8, D2
    0BF6EE: tst.w   D2
    0BF6F0: bpl     $bf6f4 ;Yes, there is a neg.w command after this branch if value negative.
    0BF6F4: move.l  ($a12,A5), D3 ;Reading P2 "X Speed" and putting it on D3
    0BF6F8: lsr.l   #8, D3
    0BF6FA: tst.w   D3
    0BF6FC: bpl     $bf700 ;Same as above
    0BF700: cmp.w   D2, D3
    0BF702: beq     $bf75a ;Branch past the rts if D2 and D3 are equal
    0BF704: bcs     $bf730
    0BF730: sub.w   D6, ($454,A5) ;Where did D6 get written? Why is it needed? What the fuck?
    0BF734: sub.w   D0, ($454,A5)
    0BF738: add.w   D6, ($854,A5) ;Where did D6 get written? Why is it needed? What the fuck?
    0BF73C: move.b  #$1, ($5ae,A5)
    0BF742: move.b  #$0, ($9ae,A5)
    0BF748: tst.b   D6
    0BF74A: bmi     $bf72e
    0BF74C: move.b  #$0, ($5ae,A5)
    0BF752: move.b  #$1, ($9ae,A5)
    0BF758: rts
    
    
    the if equal part
    BF75A: sub.w   D6, ($454,A5) ;Where did D6 get written? Why is it needed? What the fuck?
    BF75E: add.w   D6, ($854,A5) ;Where did D6 get written? Why is it needed? What the fuck?
    BF762: move.b  #$1, ($5ae,A5)
    BF768: move.b  #$0, ($9ae,A5)
    
    

    Post edited by jedpossum on

    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

  • jedpossumjedpossum Ok, Darling Joined: Posts: 4,227
    edited May 2014
    0019D8: jsr $10efc.l
    0019DE: jsr $10efc.l

    Wonder why I post that?
    010EFC: rts;

    And this jsr is everywhere. and is only used in mid match.
    Post edited by jedpossum on

    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

  • jedpossumjedpossum Ok, Darling Joined: Posts: 4,227
    edited May 2014
    Old Character code
    Edit: Added more comments
    00E9B0: jmp     $14eae.l
    	014EAE: tst.b   ($2a5,A4); Testing if code has been entered already.
    	014EB2: bne     $14ec4; Branch if code has been entered before.
    
    	014EB4: moveq   #$0, D0 ; Clearing D0
    	014EB6: move.b  ($391,A4), D0 ; Selected Character moved to D0
    	014EBA: add.w   D0, D0; Making the number even
    	014EBC: move.w  ($8,PC,D0.w), D0
    	014EC0: jmp     ($4,PC,D0.w); Jump to Old Character Code
    	
    	;Old Ken code cause that's who I was using making this trace.
    	015106: moveq   #$0, D0
    	015108: move.b  ($90,A4), D0
    	01510C: move.w  ($6,PC,D0.w), D0
    	015110: jmp     ($2,PC,D0.w); jumps to $15766 no matter which character
    	;end of old ken code
    
    	015766: move.w  ($394,A4), D0
    	01576A: andi.w  #$50, D0
    	01576E: beq     $15772; Branch if direction inputs are right
    		015772: move.w  ($392,A4), D0
    		015776: andi.w  #$50, D0
    		01577A: beq     $15786; branch if jab wasn't pressed
    		01577C: move.b  #$0, ($90,A4)
    		015782: bra     $15788 ;Old Character has been selected.
    
    Post edited by jedpossum on

    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

  • jedpossumjedpossum Ok, Darling Joined: Posts: 4,227
    edited May 2014
    Past few days I went back to hacking Vsav.

    But for today's experiment.
    See how much I can delete in the bus with out crashing.
    With the useless jumps I found

    0019D8: jsr $10efc.l
    0019DE: jsr $10efc.l

    I made them jump to FFF000 where I wrote code.
    0019d8: jsr $FFF000.l 
    0019DE: jsr $FFF000.l
    

    DeiuVK1.png

    As for the answer you can get rid of most of it except for A7.

    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

  • Born2SPDBorn2SPD SPD Fanatic Joined: Posts: 276
    edited May 2014
    So it didn't crashed, but how the game behaved after it?
    Also, in which address of which rom filedid you placed your custom code?
    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.
  • jedpossumjedpossum Ok, Darling Joined: Posts: 4,227
    edited May 2014
    Born2SPD wrote: »
    So it didn't crashed, but how the game behaved after it?
    Also, in which address of which rom filedid you placed your custom code?

    It won't crash as long I don't touch A7 cause the command after the Jump subroutines rewrites all the data and adresses.
    At 0x19E4: movem.l (A7)+, D0-D7/A0-A6; This is why you can't touch A7 unless you store it somewhere and then rewrite it before this command.

    Where my custom code is written in a blank space in the actual memory similar Pasky's Health Cheat(Specifically 0xFFF000). Since it's more of experimentation it doesn't matter if I where wrote it as long it's valid code.

    edit: As long as the code is more valid than my English in this post.
    Post edited by jedpossum on

    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

  • jedpossumjedpossum Ok, Darling Joined: Posts: 4,227


    Byte Code
    41F9 0090 018A
    3010
    3200
    3400
    
    0240 0f00
    0241 00f0
    0242 000f
    
    0640 0100
    0641 0010
    0642 0001
    
    0040 F000
    8041
    8042
    3080
    4E75
    

    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

  • Born2SPDBorn2SPD SPD Fanatic Joined: Posts: 276
    impressive!
    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.
  • jedpossumjedpossum Ok, Darling Joined: Posts: 4,227
    edited May 2014
    Fucked up the y camera but another example what you could do with with jsr $10efc.l

    P1 Position
    Byte code
    41F9 00FF844E
    4DF9 00FFF000
    3028 0006
    322D 0ED4
    9041
    3D40 0100
    3028 000A
    322D 0ED8
    9041
    3D40 0102
    
    49F9 00910000
    302E 0100
    322E 0102
    
    D07C 0020
    D27C 00A9
    0040 E000
    
    3940 0230
    3941 0232
    397C 81CA 0234
    397C 030A 0236
    
    4E75
    
    
    Motorola 68000 Assembly
    lea $ff844e.l, A0 ; Load P1 Address to A0
    lea $fff000.l, A6 ; Load My memory Address
    move.w ($6,A0), D0 ; Load player x position to D0
    move.w ($ed4,A5), D1 ; load camx to D1
    sub.w D1,D0 ; camx - px
    move.w D0, ($100,A6) ; x loaded to $fff100 
    move.w ($a,A0), D0 ; overwriting x data with player y
    move.w ($ed8,A5), D1 ; overwriting camx with camy
    sub.w D1,D0 ; Probably should switch this to an add
    move.w D0,($102,A6) ; move y value to $fff102
    lea $910000.l, A4 ; loading 16x16 bank 2 address to A4
    move.w ($100,A6), D0 ; moving x to D0
    move.w ($102,A6), D1 ; moving y to D1
    add.w #$20, D0 ; adding the x offset to D0
    add.w #$a9, D1 ; adding the y offset to d1
    ori.w #$e000, D0 ; This is to make the graphic visible
    move.w D0, ($230,A4) ; Writing x location and graphic priority(0xPXXX)
    move.w D1, ($232,A4) ; Writing x location and graphic bank(0xBYYY)
    move.w #$81ca, ($234,A4) ;Location of the graphic I want to use
    move.w #$30a, ($236,A4) ; How many 16 x 16 up and right do i want, flip, and palette
    rts
    
    

    Post edited by jedpossum on

    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

  • undamnedundamned Wake up! Time to die! Joined: Posts: 1,677
    Oh, man I can't wait to see where you go with this new found program space! :D
    -ud
Sign In or Register to comment.