Announcement

Collapse
No announcement yet.

Replacing data in NES ROMS

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

  • Replacing data in NES ROMS

    I played a bit with Destiny of an Emperor (U) [!] {NES}.
    I managed to hack it in the following way:


    First I'll post the RAM Addresses of the game I used to hack it:
    Code:
    ; [COLOR="RoyalBlue"]Destiny of an Emperor (U)
    #1 6076-03-98967F	Money
    #1 6079-03-98967F	Food
    #1 60D0-03-01869F	General 1 - Max Soldiers
    #1 6160-03-01869F	General 1 - Current Soldiers
    #1 619C-01-FF		General 1 - Strength
    #1 61A8-01-FF		General 1 - Intelligence
    #1 60D4-03-01869F	General 2 - Max Soldiers
    #1 6164-03-01869F	General 2 - Current Soldiers
    #1 619D-01-FF		General 2 - Strength
    #1 61A9-01-FF		General 2 - Intelligence
    #1 60D8-03-01869F	General 3 - Max Soldiers
    #1 6168-03-01869F	General 3 - Current Soldiers
    #1 619E-01-FF		General 3 - Strength
    #1 61AA-01-FF		General 3 - Intelligence
    #1 60DC-03-01869F	General 4 - Max Soldiers
    #1 616C-03-01869F	General 4 - Current Soldiers
    #1 619F-01-FF		General 4 - Strength
    #1 61AB-01-FF		General 4 - Intelligence
    #1 60E0-03-01869F	General 5 - Max Soldiers
    #1 6170-03-01869F	General 5 - Current Soldiers
    #1 61A0-01-FF		General 5 - Strength
    #1 61AC-01-FF		General 5 - Intelligence
    #1 60E4-03-01869F	General 6 - Max Soldiers
    #1 6174-03-01869F	General 6 - Current Soldiers
    #1 61A1-01-FF		General 6 - Strength
    #1 61AD-01-FF		General 6 - Intelligence
    #1 60E8-03-01869F	General 7 - Max Soldiers
    #1 6178-03-01869F	General 7 - Current Soldiers
    #1 61A2-01-FF		General 7 - Strength
    #1 61AE-01-FF		General 7 - Intelligence
    #1 61F8-02-FFFF		Tactic Points - Max
    #1 61FB-02-FFFF		Tactic Points - Current
    #1 61FE-02-0000		Tactic Points - Used
    #1 65A0-01-05		General 1 - Tactic 1
    #1 65A1-01-0A		General 1 - Tactic 2
    #1 65A2-01-0F		General 1 - Tactic 3
    #1 65A3-01-13		General 1 - Tactic 4
    #1 65A4-01-1E		General 1 - Tactic 5
    #1 65A5-01-1A		General 1 - Tactic 6
    #1 65A6-01-05		General 2 - Tactic 1
    #1 65A7-01-0A		General 2 - Tactic 2
    #1 65A8-01-0F		General 2 - Tactic 3
    #1 65A9-01-13		General 2 - Tactic 4
    #1 65AA-01-1E		General 2 - Tactic 5
    #1 65AB-01-1A		General 2 - Tactic 6
    #1 65AC-01-05		General 3 - Tactic 1
    #1 65AD-01-0A		General 3 - Tactic 2
    #1 65AE-01-0F		General 3 - Tactic 3
    #1 65AF-01-13		General 3 - Tactic 4
    #1 65B0-01-1E		General 3 - Tactic 5
    #1 65B1-01-1A		General 3 - Tactic 6
    #1 65B2-01-05		General 4 - Tactic 1
    #1 65B3-01-0A		General 4 - Tactic 2
    #1 65B4-01-0F		General 4 - Tactic 3
    #1 65B5-01-13		General 4 - Tactic 4
    #1 65B6-01-1E		General 4 - Tactic 5
    #1 65B7-01-1A		General 4 - Tactic 6
    #1 65B8-01-05		General 5 - Tactic 1
    #1 65B9-01-0A		General 5 - Tactic 2
    #1 65BA-01-0F		General 5 - Tactic 3
    #1 65BB-01-13		General 5 - Tactic 4
    #1 65BC-01-1E		General 5 - Tactic 5
    #1 65BD-01-1A		General 5 - Tactic 6
    #1 65BE-01-05		General 6 - Tactic 1
    #1 65BF-01-0A		General 6 - Tactic 2
    #1 65C0-01-0F		General 6 - Tactic 3
    #1 65C1-01-13		General 6 - Tactic 4
    #1 65C2-01-1E		General 6 - Tactic 5
    #1 65C3-01-1A		General 6 - Tactic 6
    #1 65C4-01-05		General 7 - Tactic 1
    #1 65C5-01-0A		General 7 - Tactic 2
    #1 65C6-01-0F		General 7 - Tactic 3
    #1 65C7-01-13		General 7 - Tactic 4
    #1 65C8-01-1E		General 7 - Tactic 4
    #1 65C9-01-1A		General 7 - Tactic 6[/COLOR]



    Infinite & Max Soldiers,
    $C00F: E8 E8 E8 => 20 8C FE
    3C01F E8 E8 E8 => 20 8C FE

    Code:
    $FE8C
    3FE9C
    
    E8 E8 E8
    8A
    48
    A2 00
    A9 9F
    9D D0 60
    9D 60 61
    A9 86
    9D D1 60
    9D 61 61
    A9 01
    9D D2 60
    9D 62 61
    8A
    C9 18 
    D0 03
    68
    AA
    60
    18 69 04
    AA
    90 DA
    60



    Max Stats,
    $EEF9: CA CA CA => 20 70 FF
    3EF09 CA CA CA => 20 70 FF

    Code:
    $FF70:
    3FF80
    CA CA CA
    8A
    48
    A2 00
    A9 FF
    9D 9C 61
    9D A8 61
    8A
    C9 06 
    D0 03
    68
    AA
    60
    18 69 01
    AA
    90 EA
    60


    Infinite Money and Food,

    $EECB 20 FF C2 => 20 50 FE
    3EEDB 20 FF C2 => 20 50 FE

    Code:
    $FE50:
    3FE60
    
    A9 7F
    8D 76 60
    8D 79 60
    A9 96
    8D 77 60
    8D 7A 60
    A9 98
    8D 78 60
    8D 7B 60
    20 FF C2
    60


    All the Best Tactics,

    $C07C 20 99 C0 => 20 00 FB
    3C08C 20 99 C0 => 20 00 FB


    Code:
    $FB00:
    3FB10
    
    8A
    48
    A2 00
    A9 05
    9D A0 65
    A9 0A
    9D A1 65
    A9 0F
    9D A2 65
    A9 13
    9D A3 65
    A9 1E
    9D A4 65
    A9 1A
    9D A5 65
    8A
    C9 24 
    D0 06
    68
    AA
    20 99 C0
    60
    18 69 06
    AA
    90 D1
    20 99 C0
    60


    Infinite & Max Tactic Points,

    $EEDD 20 FC C0 => 20 37 FB
    3EEED 20 FC C0 => 20 37 FB

    Code:
    $FB37:
    3FB47
    
    A9 9F
    8D F8 61
    8D FB 61
    A9 86
    8D F9 61
    8D FC 61
    A9 01
    8D FA 61
    8D FD 61
    A9 00
    8D FE 61
    8D FF 61
    8D 00 62
    20 FC C0
    60


    I want to give my thanks to Pugsy and Ugetab. Without their help this hack would not exist .

    Now to the question:

    How can I recognize parts of any NES rom (I understand I must search addresses between $8000 and $FFFF) that are safe to replace with my own code injection?.
    Destiny of an Emperor has not lots of FFs or 00s. The only part I found with dozens of them was not usefull because that part of the rom changes a lot in game. So using it crashed the game. So I had to arbitrary replace parts of the rom. I played the game past the middle of it and I can't found any bugs or crashes.

    Thanks in advance n_n.

    Whipon.
    Last edited by Whipon; 11-07-2007, 09:29:24 PM.

  • #2
    A good place for researching romhacking would be romhacking.net. Maybe they might have the answer to the question in their forums too.

    Comment


    • #3
      =)

      I didnt' searched the forums at RHDN. I'll give it a try.
      Anyway, I posted the question here, because all I know about rom hacking comes from the nice people here ñ_ñ. Just wanted to know wich areas of the rom are safe to replace with my own code.
      Thank you.
      Whipon.

      Comment

      Working...
      X