Speeding up games.

Discussion in '3DS - Homebrew Development and Emulators' started by RustInPeace, Jan 2, 2016.

  1. RustInPeace
    OP

    RustInPeace Samurai Cop

    Member
    3,096
    2,468
    Oct 13, 2014
    United States
    You know how in emulators you can toggle the speed of a game? Specifically in Visual Boy Advance, being able to blaze through text and battles in a Pokemon game was nice. I'm wondering if it's possible to have that in 3DS? I'd like to speed through battles on XY/ORAS for training purposes, also for breeding.
     
  2. Rosselman

    Rosselman Spooky Skeleton

    Member
    453
    238
    Oct 29, 2015
    Cote d'Ivoire
    Santiago
    No, that trick relies on speeding up the emulated processor. You can't really speed up the 3DS CPU.
     
    Last edited by Rosselman, Jan 2, 2016
    Ammako and RustInPeace like this.
  3. swaggon

    swaggon Newbie

    You can do it in the Retroarch emulators for older games, but you can't do it in 3DS games.

    As for whether or not something like this would be possible, I highly doubt it but perhaps the New 3DS could speed up the rate of games intended to run on the Original 3DS.
     
    RustInPeace likes this.
  4. KingBlank

    KingBlank King of Nothing

    Member
    561
    218
    Sep 17, 2008
    New Zealand
    New Zealand
    Yeah, should be possible.
     
    RustInPeace likes this.
  5. Buttsnake

    Buttsnake "Mods please close this thread"

    Member
    207
    76
    Aug 23, 2015
    United States
    Inside your SD card
    but we can't emulate the 3DS fully right now
     
  6. dark_samus3

    dark_samus3 GBAtemp Addict

    Member
    2,326
    1,728
    May 30, 2015
    United States
    I mean there's HANS if you have an n3ds.... but it isn't the kind of speed increase you want, and you'll never get it until games are emulated
     
  7. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,696
    9,565
    Nov 21, 2005
    United Kingdom
    You do not need to be able to emulate the 3ds fully, just edit the binaries which we can do. You can even do it in hardware.

    It is a very annoying hack to do though, hence why there are so very few on any systems, let alone one as relatively new to hacking as the 3ds. The 3ds actually being a half modern computing device with a kernel and processes and such might get in the way a tiny bit and yeah the option to trick it into running at a higher speed on the n3ds if it is a 3ds game would possibly also be one somewhere

    I am lacking time right now so you would probably be better off hunting down a DS thread for similar questions. Generally speaking though there are three methods, assuming you do not just mean optimise the game which you do not here.

    1) vblank loops. Probably the easiest to attack but gains the most fallout. Screen updates tend to be tied to vblanks and that also accounts for various pieces of game logic that might happen. You disable some of the vblank loops and have them happen all the time (or some more frequent event) instead and you probably get some garbage on the screen and some speed increases too. Traditionally this was tied to the clock speed of a device which in turn went for the screen it went on hence bad PAL conversions, different clock speeds between regions and even old dos games being crazy fast on modern machines but newer devices often have a separate timer, hence PC games working just as fine on my P4 as they do on my oced i7 if they can keep up, or indeed the same on the PSP whether it was underclocked or clocked faster.

    2) animation based tweaks. If a game will wait for an animation to happen you force it towards the end state faster -- if it waits for an animation to happen over ten frames you have it happen over one. Works for 2d and 3d animations. Hopefully said animations are not a loading or calculation mask. I see pokemon in this instance is using a fairly well known 3d format and animations to match, good times. Similarly many years ago I played pokemon blue, it had a little experience sharing device. I took it off in the end because the thing made me press A a bunch of times at the end of battles, you shuffle all that into one line and you increase the speed...
    2a) crank it to 11. If a game has a setting for text speed and such then it might have an option to go to, if I am allowed to mix my films, ludicrous speed -- if you are familiar with cheats then you might have an 8 bit variable. That is a whole 255 combinations but high speed might only be value 90...

    3) Full blown hack. If you don't have anything nice to abuse like in 2) and 2a) you fully analyse the game code and make it happen, first step there though is to see if you can force something like 2) or 2a) to happen if there is a bounds check or upper limit put in place for whatever reason.

    Of course the other option is cheat -- if you are only grinding and grinding in this case takes no skill then skip the middleman.
     
    Rosselman and KingBlank like this.
  8. Buttsnake

    Buttsnake "Mods please close this thread"

    Member
    207
    76
    Aug 23, 2015
    United States
    Inside your SD card
    woah, thanks for the long reply
     
  9. Xenon Hacks

    Xenon Hacks GBAtemp Guru

    Member
    7,111
    3,410
    Nov 13, 2014
    United States
    Wouldn't it be easier to just dump your save open it in PKHeX find the target pokemon and change its lv,Nature,IV,EV,moveset?
     
    cearp likes this.
  10. RustInPeace
    OP

    RustInPeace Samurai Cop

    Member
    3,096
    2,468
    Oct 13, 2014
    United States
    I want to at least have some form of work and effort when it comes to training, breeding, what have you. Otherwise it's just cheating and not actually playing.
     
    Ammako likes this.
  11. Xenon Hacks

    Xenon Hacks GBAtemp Guru

    Member
    7,111
    3,410
    Nov 13, 2014
    United States
    Breeding is as simple as spinning in a circle in Lumiose city with a piece of paper and EV training is simple with hordes it's not like you're hacking in a pokemon with 999 HP/ATK/DEF/SA/SD/SPEED but I still breed for shinies even if I can just do 1 click for a shiny it's still fun to get an egg and hope it's a 6IV.
     
    Last edited by Xenon Hacks, Jan 3, 2016
  12. gudenau

    gudenau Largely ignored

    Member
    GBAtemp Patron
    gudenau is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    3,285
    1,252
    Jul 7, 2010
    United States
    /dev/random
    Setting up *hax is not enough for you?

    The only I way I see this working "well" would ether be messing with the wait for vblank calls or making a per-title cheat; of course on the n3DS with the higher clock speed set, and with games that are not exclusives. I have considered doing this myself, but at this time I lack the skill set.
     
  13. RustInPeace
    OP

    RustInPeace Samurai Cop

    Member
    3,096
    2,468
    Oct 13, 2014
    United States
    That's what I do, my main concern is just speeding up the battles. Say I battled a trio of Blisseys, which I do for EXP training. It takes a while for the leveling up, especially when I switch Pokemon and make it so as many as 4 pokemon get a full boost, the central pokemon is a hacked Deoxys. I just would like that faster.
     
  14. Ammako

    Ammako GBAtemp Guru

    Member
    6,424
    3,547
    Dec 22, 2009
    Canada
    I'm pretty sure it was possible to make older Nintendo handhelds run faster (NDS/L comes to mind, with GBAccelerator DS, and every model of Gameboy Advance with GBAccelerator), no idea if that's something that could be possible with the 3DS or if anyone would want to bother trying to do it.
    Requires hardware modding and extra hardware but it was possible.

    Unless that was never an actual thing and I've been fooled this whole time. :P