• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Which Pokémon Masters protagonist do you like most? Let us know by casting a vote in our Masters favorite protagonist poll here!
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

[ASM & Hex✓] Speed up fix in Fire Red

  • 352
    Posts
    8
    Years
    • Seen Mar 10, 2022
    Does anyone knows how to fix the gameplay time in Fire Fed while speeding up?

    While speeding up the game with an emulator (PC or mobile), it counts the game time depending on the game speed (12 sec = 1 min, in MyBoy max speed), but in Gen II games it needs to set the clock, then it never occurs. I'm looking to a way to make the gameplay time count the same while speeding or not, or a way to set a clock at the start of the game like in Gen II games.
     
    Last edited:
    I'm not expert about gen 3 rom hacking, but i think it's only possible for some emulators: different emulators have different ways of handling RTC, some of these sync the game clock with the system time, other emulators doesn't

    If you calculate the game time based on the RTC instead of frames (i don't know how it works on gen 3, but i suppose it works this way), it would work as intended only on the emulators which sync the RTC with the system time
     
    I'm not expert about gen 3 rom hacking, but i think it's only possible for some emulators: different emulators have different ways of handling RTC, some of these sync the game clock with the system time, other emulators doesn't

    If you calculate the game time based on the RTC instead of frames (i don't know how it works on gen 3, but i suppose it works this way), it would work as intended only on the emulators which sync the RTC with the system time

    It doesn't works on synced emulators, the RTC is enabled on VBA and I have DNS but it still counts the game time by frames, I think it needs some ASM coding.
     
    It doesn't works on synced emulators, the RTC is enabled on VBA and I have DNS but it still counts the game time by frames, I think it needs some ASM coding.
    the way rtc is currently could never really work for what you desire to do without editing a startup routine (or maybe not) to mark the init time/date and play time in some vars or a free ram space, or maybe just have the rtc routine at first point to that and check a flag to see if init has run or blah blah blah
    anyways, it would just be a matter of taking
    play time = init play time + (current time - init time) + 24(current date - init date)
    naturally, other calculations may have to be made within the (current time - init time) area to support minutes and other things
    i'd look into it a bit more but ap exams are right around the corner and i'm not supposed to be using my laptop </3
     
    the way rtc is currently could never really work for what you desire to do without editing a startup routine (or maybe not) to mark the init time/date and play time in some vars or a free ram space, or maybe just have the rtc routine at first point to that and check a flag to see if init has run or blah blah blah
    anyways, it would just be a matter of taking
    play time = init play time + (current time - init time) + 24(current date - init date)
    naturally, other calculations may have to be made within the (current time - init time) area to support minutes and other things
    i'd look into it a bit more but ap exams are right around the corner and i'm not supposed to be using my laptop </3

    I'm not sure I have a lot of understanding in the subject, but in the RTC routine, couldn't you use the area where it adds a second to the RTC and update the play time there?
     
    Back
    Top