Announcement

Collapse
No announcement yet.

[PS2] Monster Hunter HP-Display Hack [MultiVersion]

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [PS2] Monster Hunter HP-Display Hack [MultiVersion]

    Monster Hunter HP-Display Hack for PS2 v2.0

    Supported Games
    Code:
    [CENTER][SIZE=4]
    /============================================\
    |                                            |
    | GameID          Title              Region  |
    |                                            |
    |============================================|
    |                                            |
    | [SLPM-65495]    Monster Hunter     Japan   |
    |                                            |
    | [SLUS-20896]    Monster Hunter     U.S.A.  |
    |                                            |
    | [SLES-52707]    Monster Hunter     Europe  |
    |                                            |
    | [SLPM-65869]    Monster Hunter G   Japan   |
    |                                            |
    | [SLPM-66280]    Monster Hunter 2   Japan   |
    |                                            |
    \============================================/
    [/SIZE][/CENTER]
    Introduction
    What does it look like?

    (To get 'PauseGame' and/or 'SuperItemModifier' that were used in the video, check the video's description on youtube)
    What does it do?
    This Hack will display a List of all Monsters in the current map segment.
    (Monsters that can move between areas will always be displayed)
    How does it work?
    The Cheat Engine is used to dump the entire payload in RAM
    after that it will hook it into the Quest User Interface.
    Once this has been completed the Cheat Engine will only be used
    to switch themes.
    Why?
    Initially this Hack was brought to my attention because I was asked to port it from MHP2G to MHFUe.
    It surprised me to find a real code injection.
    I always knew this was possible but never saw someone actually doing it.
    Now I was quite curious. So I just had to fire up a disassembler.
    Eventually this led to the initial release of HPD for MHFUe and MHFUu.

    Usage
    Enable the Hack in your Cheat Device (after you've found a way to get it in there)
    Now while in a Quest the following controls become available:
    Code:
    [CENTER][SIZE=4]
    L2+Select      Activate/Deactivate the HPD                        
    
    L2+Left/Right  Change the active theme.[SIZE=2] (only if other themes are present)[/SIZE] [/SIZE][/CENTER]
    Installation

    Step 1:
    Choose the correct Region Specific Part
    Find the Code Block that matches your version
    and copy/paste it to a seperate file.
    (I've included a working MasterCode, just in case)

    Japanese Versions
    [MHj/MHG/MH2]
    Code:
    [CENTER]"Monster Hunter <SLPM 654.95>"
    Master Code (Must be on)
    901B7F70 0C0676DC
    HPD v2.0 (1/2) [MHj]
    E002FEFE 000F87E8
    20133BF0 0803E200
    200F87E8 1107D846
    E012BFAC 00133BF0
    200F87E8 FEFEFEFE
    200F8800 0C04BFAC
    200F881C 0C0589A8
    200F8828 0C085A24
    200F883C 0C085A2C
    200F8844 3C08003E
    200F8848 24010A10
    200F8854 810A82A2
    200F8860 29490023
    200F886C 3C09002F
    200F8874 8D2502E0
    200F8878 850685A2
    200F887C 85078A32
    200F8884 0C05865C
    200F8890 24010013
    200F88A4 3C090045
    200F88A8 85295562
    200F893C 0804CEFD
    
    "Monster Hunter G <SLPM 658.69>"
    Master Code (Must be on)
    9017AA30 0C058154
    HPD v2.0 (1/2) [MHG]
    E002FEFE 000F87E8
    20126CF0 0803E200
    200F87E8 1107D846
    E0128A74 00126CF0
    200F87E8 FEFEFEFE
    200F8800 0C048A74
    200F881C 0C04B26C
    200F8828 0C07561C
    200F883C 0C075624
    200F8844 3C080034
    200F8848 24010A00
    200F8854 810A0C42
    200F8860 29490053
    200F886C 3C090052
    200F8874 8D257A40
    200F8878 85060F42
    200F887C 850713D2
    200F8884 0C04AD60
    200F8890 24010013
    200F88A4 3C09003C
    200F88A8 85290A02
    200F893C 08049B3D
    
    "Monster Hunter 2 <SLPM 662.80>"
    Master Code (Must be on)psp version of
    F0100208 0000000E
    HPD v2.0 (1/2) [MH2]
    E002FEFE 000F87E8
    20352FB0 0803E200
    200F87E8 1107D846
    E01237A0 00352FB0
    200F87E8 FEFEFEFE
    200F8800 0C0D37A0
    200F881C 0C0DAB08
    200F8828 0C0B999C
    200F883C 0C0B99BC
    200F8844 3C08005F
    200F8848 240109D0
    200F8854 810AC582
    200F8860 2949004A
    200F886C 3C090044
    200F8874 8D255620
    200F8878 8506C842
    200F887C 8507CC5E
    200F8884 0C0DA71C
    200F8890 24010013
    200F88A4 3C090025
    200F88A8 8529BDE2
    200F893C 080D4BED[/CENTER]
    U.S. Version
    [MHu]
    Code:
    [CENTER]"Monster Hunter <SLUS 208.96>"
    Master Code (Must be on)
    90186BD0 0C05B1BC
    HPD v2.0 (1/2) [MHu]
    E002FEFE 000F87E8
    20124CC0 0803E200
    200F87E8 1107D846
    E01283C8 00124CC0
    200F87E8 FEFEFEFE
    200F8800 0C0483C8
    200F881C 0C04C030
    200F8828 0C079594
    200F883C 0C07959C
    200F8844 3C080040
    200F8848 24010A00
    200F8854 810AAF12
    200F8860 29490023
    200F886C 3C09005B
    200F8874 8D25F3A0
    200F8878 8506B212
    200F887C 8507B6A2
    200F8884 0C04BBE4
    200F8890 24010013
    200F88A4 3C090048
    200F88A8 852985E2
    200F893C 08049331[/CENTER]
    European Version
    [MHe]
    Code:
    [CENTER]
    "Monster Hunter <SLES 527.07>"
    Master Code (Must be on)
    9017E3E0 0C058F8A
    HPD v2.0 (1/2) [MHe]
    E002FEFE 000F87E8
    20125120 0803E200
    200F87E8 1107D846
    E1010001 003DB3E4
    200F8874 8D25CFE0
    E1010002 003DB3E4
    200F8874 8D257AB0
    E1010003 003DB3E4
    200F8874 8D2506A0
    E1010004 003DB3E4
    200F8874 8D250010
    E1010005 003DB3E4
    200F8874 8D25F1E0
    E0118494 00125120
    200F87E8 FEFEFEFE
    200F8800 0C048494
    200F881C 0C04C168
    200F8828 0C0ADA9C
    200F883C 0C0ADAA4
    200F8844 3C08003C
    200F8848 24010A00
    200F8854 810AF8E2
    200F8860 29490023
    200F886C 3C09008F
    200F8878 8506FBE2
    200F887C 85070072
    200F8884 0C04BCF8
    200F8890 24010013
    200F88A4 3C090044
    200F88A8 8529D862
    200F893C 08049449[/CENTER]
    Step 2:
    Complete the Payload
    Add the following CodeBlock to the first Part
    Code:
    [CENTER]
    HPD v2.0 (2/2)
    E03FFEFE 000F87E8
    200F8804 00000000
    200F8808 27BDFFE0
    200F880C 7FB10010
    200F8810 7FB00000
    200F8818 20110000
    200F8834 02212818
    200F884C 02014818
    200F8850 01094021
    200F8858 20090000
    200F885C 1940000C
    200F8864 1120000A
    200F8868 000A5080
    200F8870 012A4821
    200F888C 26310001
    200F8894 5601FFE6
    200F8898 26100001
    200F88AC 10290020
    200F88B0 24110001
    200F88B8 850A0000
    200F88BC 152A0018
    200F88C0 322B0001
    200F88C4 11600006
    200F88CC 51600002
    200F88D8 10000015
    200F88E0 15600013
    200F88E4 322B0004
    200F88F0 51600002
    200F88F4 24010001
    200F88F8 2001FFFF
    200F88FC 01816020
    200F8900 05820005
    200F8904 000D0821
    200F8908 01AC0822
    200F890C 04220002
    200F8910 20010000
    200F8914 000C0821
    200F8920 21080002
    200F8928 5621FFE3
    200F892C 00118840
    200F8934 7BB00000
    200F8938 7BB10010
    200F8940 27BD0020
    200F8880 3C04000F
    200F8888 34848944
    200F889C 3C100010
    200F88A0 860187F0
    200F88B4 220887F2
    200F88C8 920B8814
    200F88D0 8E0187F8
    200F88D4 8E0187FC
    200F88DC AE018814
    200F88E8 920C87EC
    200F88EC 920D87EE
    200F8918 10000005
    200F891C A20187EC
    200F8924 24010004
    200F8930 A60987F0
    200F87EC 00000000
    100F87F2 00000101
    200F87F4 80012001
    200F87F8 10000021
    200F87FC 20100000
    200F8814 10000021
    E0090000 000F87EC
    200F8820 24040000
    200F8824 24050012
    200F882C 24040012
    200F8830 2401000E
    200F8838 24A50078
    200F8840 24040018
    200F8944 253A7325
    200F8948 252F6435
    200F894C 00000064
    HPD Controls: L2+Select (On/Off), L2+Left/Right (Themes)
    [/CENTER]
    Step 2b:
    Optional: Fuse both code blocks together
    In the first block search for the following line.
    (located right above the FEFE Block)
    Code:
    [CENTER][SIZE=4]
    [B]E0[COLOR=blue]nn[/COLOR]xxxx 00xxxxxx[/B]   Now add [B][COLOR=blue]3F[/COLOR][/B] to the line amount. [SIZE=2](that's [B][COLOR=blue]50[/COLOR][/B] for EU and [B][COLOR=blue]51[/COLOR][/B] for the rest) [/SIZE]
    200F87E8 [COLOR=darkorange]F[/COLOR][COLOR=sandybrown]E[/COLOR][COLOR=darkorange]F[/COLOR][COLOR=sandybrown]E[/COLOR][COLOR=darkorange]F[/COLOR][COLOR=sandybrown]E[/COLOR][COLOR=darkorange]F[/COLOR][COLOR=sandybrown]E[/COLOR]                                                               
    [/SIZE]
    And finally remove the [B]E[/B]-line blocking the 2nd part and join both of them together[/CENTER]


    Step 3:
    Optional: Add the default ThemePack
    It adds 3 themes, giving you 2 display options and 2 colors for each
    Code:
    [CENTER]
    HPD v2.0 ThemePack [Ying & Yang]
    E0020001 000F87EC
    200F8820 24040001
    200F8948 252F6435
    E0020002 000F87EC
    200F8820 24040000
    200F8948 00006435
    E0020003 000F87EC
    200F8820 24040001
    200F8948 00006435
    E001FEFE 000F87E8
    30200003 000F87EE
    [/CENTER]
    (If other themes should get posted I will link to them here)

    Step 4:
    Get angry because after all this work...
    I tell you that there is also a "ready to use"-version
    for each game in the attachments of this post.

    Notes:
    Don't forget to check out the customization Tutorial in the next post.
    Also, if this version is too long too allow the use of all your other codes.
    You can also try out v1.1 found in the attachment.
    Finally, if you own a PSP that can use CWCheat, the psp version of HPD
    can be found at onehitgamer's "PSP Hacking Codes"-Section.



    Special Thanks
    This version would not have come to be without the help of
    viciousShadow: Memdump Supplier/BetaTester & Video creator

    Additional thanks go out to an unknown japanese coder,
    who first created a working HP Display for Monster Hunter.
    It has been fun to reDo & improve your work twice.

    Happy Cheating
    &
    Have Phun


    created by 4m8IoN
    (Does anyone remember where I parked my TARDIS?)
    Code:
    Changelog:
    v1.1
    + rewrote hack from scratch
    + added multiVersion support
    + added boundaries for the MonsterNameList (EU Version safetynet)
    + added maxHP Display
    v2.0
    + wrote control interface
    + added theme support
    + created default themePack
    Attached Files
    Last edited by 4m8IoN; 07-20-2011, 06:17:03 AM.

  • #2
    HPD v2.0 for PS2 Customization Corner

    HPD Customization Corner

    Introduction
    Before we begin a little test:
    20 equals 0x14,
    If we can agree on that let's continue.
    Otherwise you might want to familiarize yourself with the hexadecimal system first.


    Chapter 1
    Changing the default start-up behaviour.
    Near the end of the 2nd Part you can find the following lines.
    If you have trouble finding them search for the only line that starts with a 1
    Code:
    [CENTER][SIZE="4"]
    [COLOR="DimGray"][SIZE="1"][...][/SIZE][/COLOR]                                               
    [COLOR="Silver"][COLOR="DarkGreen"]1[/COLOR]00F87F2 00000101                                 
    200F87F4 80012001[/COLOR]                                 
    200F87F8 [COLOR="Blue"]10000021 [/COLOR]   [COLOR="Blue"]hackOff[/COLOR] (Never change this!) 
    200F87FC [COLOR="RoyalBlue"]20100000[/COLOR]    [COLOR="RoyalBlue"]hackOn[/COLOR]  (Never change this!) 
    200F8814 [COLOR="Red"]10000021[/COLOR]    [COLOR="Red"]default behaviour[/COLOR]            
    [COLOR="DimGray"][SIZE="1"][...][/SIZE][/COLOR]                                               
    [/SIZE][/CENTER]
    Now use the two blue parts as an example (don't change them)
    Instead change the red part in the last line to one of those values
    As you can see it currently is off by default.


    Chapter 2
    Changing the default button combos.
    Directly above the the lines from the last chapter you can find this
    Code:
    [CENTER][SIZE="4"]
    [SIZE="1"][COLOR="DimGray"][...][/COLOR][/SIZE]                                                        
    100F87F2 0000[COLOR="Purple"]0101[/COLOR]    ButtonCombo:  [COLOR="Purple"]De/activate Hack[/COLOR]        
    200F87F4 [COLOR="Blue"]8001[/COLOR][COLOR="Teal"]2001[/COLOR]    ButtonCombos: Scroll theme [COLOR="Blue"]left[/COLOR]/[COLOR="Teal"]right[/COLOR] 
    [COLOR="Silver"]200F87F8 10000021                                          
    200F87FC 20100000                                          
    200F8814 10000021[/COLOR]                                          
    [SIZE="1"][COLOR="DimGray"][...][/COLOR][/SIZE]                                                        
    [/SIZE][/CENTER]
    Change the colored values to the buttoncombos you prefer.
    You may use this picture as a reference if you don't know the
    appropriate values for each of the 16 available buttons.



    Chapter 3
    Creating a custom theme.
    A theme for this hack looks like this:
    Code:
    [CENTER][SIZE="4"]
    E00[COLOR="Blue"]9[/COLOR]00[COLOR="Green"]01[/COLOR] 000F87EC    if([COLOR="Green"]ID==1[/COLOR]){execute next [COLOR="Blue"]n[/COLOR] lines} 
    [COLOR="RoyalBlue"]200F8820 240400[COLOR="DarkOrange"]00[/COLOR]        [COLOR="DarkOrange"]txtColor (White)[/COLOR]            
    200F8824 240500[COLOR="DarkOrange"]12[/COLOR]        [COLOR="DarkOrange"]txtHeight[/COLOR]                   
    200F882C 240400[COLOR="DarkOrange"]12[/COLOR]        [COLOR="DarkOrange"]txtWidth[/COLOR]                    
    200F8830 240100[COLOR="DarkOrange"]0E[/COLOR]        [COLOR="DarkOrange"]txtPosY_offset[/COLOR]              
    200F8838 24A5[COLOR="DarkOrange"]0078[/COLOR]        [COLOR="DarkOrange"]txtPosY[/COLOR]                     
    200F8840 2404[COLOR="DarkOrange"]0018[/COLOR]        [COLOR="DarkOrange"]txtPosX[/COLOR]                     
    200F8944 [COLOR="DarkOrange"]253A7325[/COLOR]        [COLOR="Orange"]String:"[/COLOR][COLOR="DarkOrange"]%s:%5d/%d[/COLOR][COLOR="Red"]\0[/COLOR][COLOR="Orange"]"[/COLOR]        
    200F8948 [COLOR="DarkOrange"]252F6435[/COLOR]                                    
    200F894C 0000[COLOR="Red"]00[/COLOR][COLOR="DarkOrange"]64[/COLOR]        [COLOR="Red"]zero terminated!![/COLOR][/COLOR]           
    E001FEFE 000F87E8    if(initPhase)                   
    30200001 000F87EE        maxThemes++                 
    [/SIZE][/CENTER]
    Let's focus on the (green) themeID first: The ID must always be ascending.
    Meaning: The first Theme must be 1 unless you are also using a Theme Pack.
    In that case check the last ID of the Pack and continue from there.
    Next we have the blue lines. Each with a different purpose.
    Simply change the orange parts in each blue line you want to adjust.
    If you always keep/change all lines you will only have to adjust the line amount
    based on the string length. But there is also the possibility to shorten the theme.
    You can always reduce the theme to the actual lines that you made changes in.
    i.e.: if you just want to change the color:
    Code:
    [CENTER][SIZE="4"]
    E00[COLOR="Blue"]1[/COLOR]00[COLOR="Green"]01[/COLOR] 000F87EC    if([COLOR="Green"]ID==1[/COLOR]){execute next [COLOR="Blue"]n[/COLOR] lines} 
    [COLOR="RoyalBlue"]200F8820 240400[/COLOR][COLOR="DarkOrange"]02        txtColor (Red)[/COLOR]              
    E001FEFE 000F87E8    if(initPhase)                   
    30200001 000F87EE        maxThemes++                 
    [/SIZE][/CENTER]
    If you use multiple themes that change different aspects it might be
    a smart choice to include lines you change in one theme in all the other themes.
    (check how the default ThemePack modifies the string)


    Chapter 4
    Making your own Theme Pack.
    If you end up with a set of themes you might want to group them to a themePack
    In that case just add them together and remove all but the last init Phase Checkers
    The last maxTheme++ must then be changed to add the amount of themes in the pack.
    Code:
    [CENTER][SIZE="4"]
    E00[COLOR="Blue"]1[/COLOR]00[COLOR="Green"]01[/COLOR] 000F87EC    if([COLOR="Green"]ID==1[/COLOR]){execute next [COLOR="Blue"]n[/COLOR] lines} 
    [COLOR="RoyalBlue"]200F8820 240400[/COLOR][COLOR="DarkOrange"]01        txtColor (Black)[/COLOR]            
    E00[COLOR="Blue"]1[/COLOR]00[COLOR="Green"]02[/COLOR] 000F87EC    if([COLOR="Green"]ID==2[/COLOR]){execute next [COLOR="Blue"]n[/COLOR] lines} 
    [COLOR="RoyalBlue"]200F8820 240400[/COLOR][COLOR="DarkOrange"]02        txtColor (Red)[/COLOR]              
    E001FEFE 000F87E8    if(initPhase)                   
    302000[COLOR="Magenta"]02[/COLOR] 000F87EE        maxThemes+=[COLOR="Magenta"]2[/COLOR]                
    [/SIZE][/CENTER]


    Chapter 5
    Changing the default look.
    There is a very simple way to change the default look within a theme.
    You only need to modify the "initPhaseChecker".
    Let's take the example from above and change it so red will be the default color.
    Code:
    [CENTER][SIZE="4"]
    E0010001 000F87EC    if(ID==1)                           
    200F8820 24040001        txtColor (Black)                
    E0010002 000F87EC    if(ID==2)                           
    200F8820 24040002        txtColor (Red)                  
    E00[COLOR="DeepSkyBlue"]2[/COLOR]FEFE 000F87E8    if(initPhase){execute next [COLOR="DeepSkyBlue"]n[/COLOR] lines} 
    [COLOR="Red"]000F87EC 000000[/COLOR][COLOR="DarkOrange"]02[/COLOR]        [COLOR="Red"]currentTheme = [/COLOR][COLOR="DarkOrange"]2[/COLOR]                
    30200002 000F87EE        maxThemes+=2                    
    [/SIZE][/CENTER]


    Chapter 6
    Changing the actual default look.
    For those that have changed the look entirely it might be necessary, in order to keep the
    themePacks small, to adjust the default values the hack uses stored in theme 0.
    It is located at the end of the HPD, right below the parts from the first chapter of this guide.
    You can change this theme like you would change a full custom theme.
    But never try to remove any lines here. Unless you really want to crash your game.
    Actually changing anything else besides the stuff pointed out in this guide, will most likely end in a blackScreen.


    Chapter 7
    Answering the last open question.
    While reading Chapters 3-5 you might have asked yourself: "What is the initPhase?"
    Well, as you should've read in the releasePost above, the hack only gets dumped once.
    The moment the cheatEngine executes the region dependant part of HPD for the first time
    the initPhase is triggered. It starts with the hack being dumped to RAM.
    After this has happened the cheatEngine will go through each theme forcing them
    to count themselves. Next the cheatEngine will do a full cycle until it reaches the HPD again.
    This time the initPhase will be concluded by actually linking the hack into the gameCode.
    From this point onwards the cheatEngine can only execute the
    selected theme of the HPD in each cycle, the rest of the hack will be blocked by default.

    typed by 4m8IoN
    (That’s the second biggest monkey head I’ve ever seen!)

    Epilogue
    Sharing your customizations with others
    In case you want to publish the customizations you made to this hack, please do so here.
    And while doing so please refrain from reposting the entire hack.
    If you need to repost the last part because you decided to change one or all of the following:
    theme 0/default status or default buttons.
    Restrict it to the small piece that's start with the 1, (16bit write) [see Chapter 1]
    and add a note, that it needs to replace the last part in order for your theme to function as intended.

    And now after these walls of text and numbers:
    Have Phun & nJoy the HPD Hack for PS2
    Last edited by 4m8IoN; 07-17-2011, 09:49:13 PM.

    Comment

    Working...
    X