Slowing Time in Harvest Moon 64

Discussion in 'Nintendo Game Development' started by Atma, Feb 22, 2017.

  1. Atma

    Atma Newly Registered

    Joined:
    Feb 22, 2017
    Messages:
    1
    Likes Received:
    0
    I have been trying for a long time now, and am absolutely lost, as to using memory readers, mainly Cheat Engine, to find where the minutes are stored in the game, and cannot figure it out. Someone in another forum did, but I was unable to use the codes I saw, so it must be specific for every environment since it's emulated.
    http://forum.cheatengine.org/viewtopic.php?p=5572311&sid=b840383dac0a68e7e1288d1a811afcd3

    I saw a different thread on here before where users used cheat engine to figure out specific variables in this same game, so I figured maybe those people or someone else who is similar sees this and can help me out.

    I already have the injection code I need from above, but I just can't figure out how to find the address to inject it.
     
  2. AtomizerZero

    AtomizerZero Intrepid Member

    Joined:
    Aug 13, 2013
    Messages:
    646
    Likes Received:
    117
    This is something I would like aswell actually. The days definitely are too short in hm64. If I get some time, I'll try and have a look.

    If anyone else can chime in, please do!
     
  3. Moiboi

    Moiboi Site Supporter 2015

    Joined:
    Feb 17, 2006
    Messages:
    67
    Likes Received:
    8
    The following all refers to the (U) ROM.
    The function you're after is at RAM address 800d7e2c during gameplay (at least when you start a new game it is, I haven't checked if it moves around).
    At 800D7E54 the seconds value is loaded, and 800D7E58 compares this value to 60, if it's less than 60, it just gets incremented, otherwise it is set to 0 and the minutes value gets incremented.
    Basically, the Byte at 800D7E5B is normally 0x3c. This is how many seconds are in an minute. So if you change it to 0x78, then time will pass at half speed, as there are now 120 seconds to the minute.
    So GameShark codes:
    800D7E5B 003c = 60 seconds to the minute (normal)
    800D7E5B 0078 = 120 seconds to the minute (minutes are twice as long)
    800D7E5B 00ff = 255 seconds to the minute (minutes are 4.25 times as long, this is the maximum without further trickery)

    Additionally the exact same thing is happening to minutes, with the compare at 800D7E88, so you could modify this as well to make hours even shorter/longer. The downside to this is that anything expecting there to be 60 minutes in an hour (e.g. the clock) will act screwy. There may be similar side-effects from modifying the seconds but who knows.
     
    AtomizerZero likes this.
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page