Gaming GBA VC games possibly battery efficient?

DiscostewSM

Well-Known Member
OP
Member
Joined
Feb 10, 2009
Messages
5,484
Trophies
2
Location
Sacramento, California
Website
lazerlight.x10.mx
XP
5,501
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).
 

nathancnc

Well-Known Member
Member
Joined
Apr 24, 2010
Messages
174
Trophies
0
Age
33
XP
68
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
 

kevan

Imagination rules the world
Member
Joined
Dec 4, 2009
Messages
1,378
Trophies
0
Age
29
Location
Place
Website
Visit site
XP
496
Country
DiscostewSM said:
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).
Well with the case you put forward I reckon you may be right aswell.
 

Presto99

You slammin, bro?
Member
Joined
Feb 24, 2010
Messages
915
Trophies
1
Age
28
Location
Skyworld
Website
https
XP
320
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?
 

DiscostewSM

Well-Known Member
OP
Member
Joined
Feb 10, 2009
Messages
5,484
Trophies
2
Location
Sacramento, California
Website
lazerlight.x10.mx
XP
5,501
Country
United States
Presto99 said:
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?

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.
 

Weaselpipe

Erratic Temp user
Member
Joined
Nov 18, 2010
Messages
527
Trophies
0
Location
Somewhere Else
XP
320
Country
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
 

Spidey_BR

Well-Known Member
Member
Joined
Feb 1, 2008
Messages
217
Trophies
1
XP
1,078
Country
Netherlands
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.
 

koji2009

Well-Known Member
Member
Joined
Mar 13, 2009
Messages
1,193
Trophies
0
XP
197
Country
United States
DiscostewSM said:
Presto99 said:
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?

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.

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.
 

DiscostewSM

Well-Known Member
OP
Member
Joined
Feb 10, 2009
Messages
5,484
Trophies
2
Location
Sacramento, California
Website
lazerlight.x10.mx
XP
5,501
Country
United States
koji2009 said:
DiscostewSM said:
Presto99 said:
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?

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.

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.

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.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: I really don't want to buy this fap tab...