GBA VC games possibly battery efficient?

Discussion in '3DS - Games & Content' started by DiscostewSM, Aug 18, 2011.

Aug 18, 2011
  1. DiscostewSM
    OP

    Member DiscostewSM GBAtemp Psycho!

    Joined:
    Feb 10, 2009
    Messages:
    4,799
    Location:
    Sacramento, California
    Country:
    United States
    I was just thinking this today as I was driving home from work. We all have seen how much battery the GB/C VC games use up, but what about the upcoming GBA VC titles? People might think because it is more powerful hardware in comparison that it will drain it more. However, I am thinking they may actually drain the battery less.

    (This is just my opinion from what I understand on the matter. If there is anything incorrect, please inform me. Thank you)

    The main part of device emulation is emulating the CPU. The 3DS's CPU is ARM-based (possibly an ARM11). The GBC's CPU is a Zilog Z80. But, the GBA's CPU is ARM7. Based on data sheets, an ARM11 can run ARM7 code without having to emulate the instructions (with a general rule of 10:1 outside of dynamic recompilation). We've also seen that the 3DS plays DS games (which btw use code based on ARM9 and ARM7 instructions) under virtualization, which isn't emulation. Based on this, the 3DS could possibly execute GBA CPU instructions natively.

    Another part of device emulation is emulating the rest of the hardware. Looking at the DS system, the DS can play GBA games. It does this because it is structured with not just having hardware support for 3D graphics (not the 3D effect), but also 2D graphics in an extended fashion that the GBA uses (you can check the technical info here). In fact, the DS/L/i at the very least uses the extended GBA-like hardware (as well as the same ARM7 at 2x the frequency). For the 3DS to be able to play DS games, it would require being able to handle what the DS can (which it can), which in theory would mean it can more or less handle what the GBA can, all outside of emulation.

    Not to say GBA VC games won't incorporate any emulation at all, but more in a minimal fashion for parts that are not directly supported (which would include things like cart addressing since there is no GBA slot).
     
  2. nathancnc

    Member nathancnc GBAtemp Regular

    Joined:
    Apr 24, 2010
    Messages:
    174
    Country:
    United States
    You may be right on the subject, as Nintendo has already said there will be no save states for the GBA VC Games
     
  3. kevan

    Member kevan Imagination rules the world

    Joined:
    Dec 4, 2009
    Messages:
    1,378
    Location:
    Place
    Country:
    Australia
    Well with the case you put forward I reckon you may be right aswell.
     
  4. Presto99

    Member Presto99 You slammin, bro?

    Joined:
    Feb 24, 2010
    Messages:
    910
    Location:
    Skyworld
    Country:
    United States
    I don't really know any of this stuff, but from what you say I guess it could at least mean the battery life won't be totally bad when playing GBA games.

    And, I haven't really tested myself; do Game Boy (Color) games make the battery life really bad?
     
  5. DiscostewSM
    OP

    Member DiscostewSM GBAtemp Psycho!

    Joined:
    Feb 10, 2009
    Messages:
    4,799
    Location:
    Sacramento, California
    Country:
    United States
    I wouldn't say "really" bad, but noticeable. As was said, the general rule of thumb when it comes to CPU emulation, outside of dynamic recompilation, is that it takes roughly 10 CPU instructions to emulate 1 CPU instruction (or is it 10:1 CPU cycles?) of a differing CPU architecture. Then you've got the hardware to emulate, which varies depending on the complexity of the features.
     
  6. Weaselpipe

    Member Weaselpipe Erratic Temp user

    Joined:
    Nov 18, 2010
    Messages:
    527
    Location:
    Somewhere Else
    Country:
    United Kingdom
    I've found Link's Awakening uses the same amount of battery as having the 3d on full at all times, whereas GB games can give you a good 2-3 hours more. Not sure about the GBA thing, as there will be no sleep mode involved
     
  7. Spidey_BR

    Member Spidey_BR GBAtemp Regular

    Joined:
    Feb 1, 2008
    Messages:
    182
    Country:
    Brazil
    I don't think save states have anything to do with saving battery, but with saving the gameplay experience. Nowadays, games are much more easy then the older games, so the save state is some kind of handcap for today's children.
     
  8. koji2009

    Member koji2009 GBAtemp Maniac

    Joined:
    Mar 13, 2009
    Messages:
    1,193
    Country:
    United States
    Arbitrary bullshit thing that someone with no knowledge about anything came up with and people with no technical knowledge parrot.

    I doubt you'll even get zsnes running SNES games full speed at 35.8mhz.... and I know for a fact that I was playing 96mhz N64 games on my 450mhz PC via Ultra HLE...

    Also, without dynamic recompilation you're looking at a MUCH MUCH MUUUUUUUCH higher number... Compare Snes9x for example with bsnes... Snes9x runs most games full speed at 600mhz or so and uses a mostly accurate dynarec. bsnes uses a super accurate interpreter engine, it's recommended MINIMUM requirement is a 3ghz system. The 10:1 ratio thing is something that just needs to die.


    That said, on the subject of this in general... Yes GBA should be easier to emulate because the majority of the ARM7 op codes should still be a part of ARM11, though not necessarily all of them... That said, I'd honestly be VERY surprised if emulating GBÂ games on the 3DS actually impacts the battey negatively... The z80 processor is increeeeeeedibly easy to emulate, indeed there were full speed GBÂ emulators on GBA! Not games running through compatibility mode, but true emulation (the GBÂ hardware is completely locked off from the GBA when in GBA mode, hence GBA flashcarts being unable to even play GBÂ games)... If the 16mhz arm7 GBA processor could handle it, I don't see how the 3DS' processors could be in any way pushed... especially not as hard as full native 3DS games.
     
  9. DiscostewSM
    OP

    Member DiscostewSM GBAtemp Psycho!

    Joined:
    Feb 10, 2009
    Messages:
    4,799
    Location:
    Sacramento, California
    Country:
    United States
    Rule of Thumb - A rule of thumb is a principle with broad application that is not intended to be strictly accurate or reliable for every situation.

    Whether the 10:1 is BS or not, many emulator requirements tend to be around that ratio for the CPU alone, which is why it is/was known as a general rule of thumb. And, it isn't just the CPU that gets emulated, but all other functionality of the device's hardware which will require additional processing power.

    You mentioned Snes9X and BSnes, with the latter running under an interpreter engine and requiring a hefty CPU to run games at full speed. Yet, ZSnes also runs on an interpreter engine (not dynamic recompilation), and does not require nearly that amount of computation. The difference, as you pointed out, is accuracy, but just how accurate do these emulators really need to be?

    Emulator (computing) - In computing, an emulator is hardware and/or software that duplicates (or emulates) the functions of a first computer system in a different second computer system, so that the behavior of the second system closely resembles the behavior of the first system.

    To emulate is to mimic, or imitate, and imitation doesn't require being completely exact, but close enough to where you really can't tell the difference. BSnes, while probably the most accurate SNES emulator around, spends too much time of its time trying to be exact and not just interpreting the instructions. Most emulators don't worry so much about things like that.


    Now, regarding GB/C games, I don't know what Nintendo is doing with their emulators to actually drain the battery as such as people have mentioned here at GBATemp. I know of Goomba, the GB/C emulator on the GBA, and how it is running games at full speed on that 16Mhz processor using speedhacks as well as the 2D hardware and 4ch analog sound of the GBA. Is Nintendo not utilizing any hardware acceleration, and going straight software with their GB/C emulator for the 3DS? Are they focusing highly on accuracy? Those questions I can't answer.
     

Share This Page