Hacking Can someone please explain why GBA doesn't work?

Janthran

Solarian
OP
Member
Joined
Sep 17, 2011
Messages
3,777
Trophies
0
Location
The Pacific Northwet
XP
1,146
Country
United States
Okay, so I have an Acekard 2i. (Don't start bugging me yet, read the whole thing.)
I just don't understand this. Acekard can run DS games perfectly fine, but GBA has issues?
am I right in saying DS takes more CPU to run than GBA? So why can't GBA games be played on the 3DS?
Also, would it be possible for someone to port some of the more popular games to .NDS format?
(Like Pokemon Emerald, Minish Cap, those ones.)
Is there any possible way that GBA games will be emulated on 3DS anytime soon?


If you could answer those questions, I'd appreciate it. Thanks.
 

Necron

Lurking~
Member
Joined
Dec 29, 2008
Messages
1,078
Trophies
1
Location
Mi casa
XP
2,351
Country
Chile
First, the DS plays the DS games natively, so no emulation or anything here. But to play GBA games the way you want, the DS needs to emulate them. In the DS mode, all the DS's don't have enough power to do that task by themselves.
Now you ask yourself, why the DS-Dslite can play gba games? Simply, the backwards compatibility is made through hardware, so it's like having a GBA itself.

About why the GBA games cannot be played on the 3DS atm, it is because the flashcarts are still running them on DS mode, so they don't have acces to the upgrades. Same case for the DSi

QUOTE said:
Also, would it be possible for someone to port some of the more popular games to .NDS format?
Nope, unless they have the source-code, and only the companies have them and they are not going to give it for free (not even sell it)

QUOTEIs there any possible way that GBA games will be emulated on 3DS anytime soon?
Probably not. When we see a fully-flaged 3DS flashcart/CFW, we could think of the possibility.

The only solution you have, is buy a DS flashcart with it's own on board ram. That will allow you to emulate gba.
 

s4mid4re

 
Member
Joined
Apr 2, 2011
Messages
1,669
Trophies
0
Website
v4.gbatemp.net
XP
267
Country
United States
Necron said:
*snip
QUOTE said:
Is there any possible way that GBA games will be emulated on 3DS anytime soon?
Probably not. When we see a fully-flaged 3DS flashcart/CFW, we could think of the possibility.

The only solution you have, is buy a DS flashcart with it's own on board ram. That will allow you to emulate gba.
SuperCard DSTwo can emulate GBA games on DS mode through its built-in CPU, but comsumes more battery than playing DS games.

For GBA/DS/DS lites, you can get slot-2 flashcarts instead of using slot-1 flashcarts (or a slot-2 flashcart that is compatible with the slot-1 flashcart). DSi/3DS don't have slot-2, so you can't use any slot-2 flashcarts.
 

Janthran

Solarian
OP
Member
Joined
Sep 17, 2011
Messages
3,777
Trophies
0
Location
The Pacific Northwet
XP
1,146
Country
United States

chaosdarkneo

Well-Known Member
Member
Joined
Sep 13, 2009
Messages
530
Trophies
0
XP
215
Country
United States
^Really? NO.

ALL THE REASONS WHY IT'S NOT POSSIBLE HAVE ALREADY BEEN OUTLINED IN THIS THREAD. (Yes, I'm talking about the emulator. It runs off the DS and the Flashcart's CPU, both of which are too weak to emulate GBA games properly.

Please, stop asking questions that you have the answer to.
 

Janthran

Solarian
OP
Member
Joined
Sep 17, 2011
Messages
3,777
Trophies
0
Location
The Pacific Northwet
XP
1,146
Country
United States
chaosdarkneo said:
^Really? NO.

ALL THE REASONS WHY IT'S NOT POSSIBLE HAVE ALREADY BEEN OUTLINED IN THIS THREAD. (Yes, I'm talking about the emulator. It runs off the DS and the Flashcart's CPU, both of which are too weak to emulate GBA games properly.

Please, stop asking questions that you have the answer to.

You're saying an emulator that exists can't exist?
 

ShadowSoldier

Well-Known Member
Member
Joined
Oct 8, 2009
Messages
9,382
Trophies
0
XP
3,843
Country
Canada
Janthran said:
Okay, so I have an Acekard 2i. (Don't start bugging me yet, read the whole thing.)
I just don't understand this. Acekard can run DS games perfectly fine, but GBA has issues?
am I right in saying DS takes more CPU to run than GBA? So why can't GBA games be played on the 3DS?
Also, would it be possible for someone to port some of the more popular games to .NDS format?
(Like Pokemon Emerald, Minish Cap, those ones.)
Is there any possible way that GBA games will be emulated on 3DS anytime soon?


If you could answer those questions, I'd appreciate it. Thanks.

I'm curious as to what makes you think we'd know anything more than you do.
 

Necron

Lurking~
Member
Joined
Dec 29, 2008
Messages
1,078
Trophies
1
Location
Mi casa
XP
2,351
Country
Chile
Janthran said:
chaosdarkneo said:
^Really? NO.

ALL THE REASONS WHY IT'S NOT POSSIBLE HAVE ALREADY BEEN OUTLINED IN THIS THREAD. (Yes, I'm talking about the emulator. It runs off the DS and the Flashcart's CPU, both of which are too weak to emulate GBA games properly.

Please, stop asking questions that you have the answer to.

You're saying an emulator that exists can't exist?

ichichfly said:
This is an gba emulator for DS(i) it can run gba homebrew up to 2 MB (14 MB in DSi mode) very slow. No gui it just starts the rom

QUOTE(ichichfly @ Mar 4 2011, 08:30 PM)
(only very very few homebrew work I think ~5-10 %) (most gba files must be patched)(speed normaly 50-200% of the original gba speed)
In terms of gameplay, that is almost the same as nonexistant
 

ichichfly

Well-Known Member
Member
Joined
Sep 23, 2009
Messages
619
Trophies
1
XP
1,075
Country
Gambia, The
Necron said:
Janthran said:
chaosdarkneo said:
^Really? NO.

ALL THE REASONS WHY IT'S NOT POSSIBLE HAVE ALREADY BEEN OUTLINED IN THIS THREAD. (Yes, I'm talking about the emulator. It runs off the DS and the Flashcart's CPU, both of which are too weak to emulate GBA games properly.

Please, stop asking questions that you have the answer to.

You're saying an emulator that exists can't exist?

ichichfly said:
This is an gba emulator for DS(i) it can run gba homebrew up to 2 MB (14 MB in DSi mode) very slow. No gui it just starts the rom

QUOTE(ichichfly @ Mar 4 2011, 08:30 PM)
(only very very few homebrew work I think ~5-10 %) (most gba files must be patched)(speed normaly 50-200% of the original gba speed)
In terms of gameplay, that is almost the same as nonexistant


yes the old version if have made many improovs I am currently working on the 32 MB support and after that I have a plan to get the compatibility of the hyperspeedup Version up to ~50% but well all that need time.

I will release the new hwspeedup version as soon as the 32 Mbyte support works
 

chaosdarkneo

Well-Known Member
Member
Joined
Sep 13, 2009
Messages
530
Trophies
0
XP
215
Country
United States
I'm not saying an emulator doesn't exist. All I'm saying is that any emulator for the GBA will never be good enough to play games well.

No hurt intended ichichfly, but your emulator will never be able to play GBA games at a good speed. Maybe at most 40-50% of the original speed, but that's all that i think could happen.
 

DanTheManMS

aka Ricochet Otter
Member
Joined
Jun 2, 2007
Messages
4,453
Trophies
1
Age
34
Location
Georgia
XP
751
Country
United States
Pretty much exactly what Rydian said. (yet I'm still going to add to it for no good reason >_>)

If you read nothing else I post, read this. The key issue here is the difference between natively running a program on the hardware it's designed for, and emulating in software because you *don't* have the hardware it needs. The GBA/DS situation is much closer to the second one than you might think, and that alone is the setback.

[further details]

The DS contains an ARM9 at 66 MHz and an ARM7 at 33 MHz. When in DS mode, it uses the two of them combined for full system operation. When in GBA mode, only the ARM7 is used, underclocked to 16 MHz. The thing is, that ARM7 operates *entirely* differently depending on which mode it's in. That's why even though the DS does technically have the hardware needed to run GBA files natively without software emulation, it can only be done from within GBA mode, and several technical reasons require that to be done from slot-2. If you want to run it from within DS mode, using the full power of both CPUs, you have to do software emulation, which is much much slower and requires much more power to do.

It is unlikely that we will ever get fullspeed software GBA emulation on the DS and DSLite using only the native on-board components. ichichfly is doing amazing work with his emulator, and quite honestly if you had told me 3 years ago that he would be even this far, I would have said you were insane. Currently the better option seems to be with the SCDS:TWO or any other future carts that arrive with the same idea. We can't make the DS any more powerful, but we can put a fast CPU on the cart itself and have that handle the emulation, simply using the DS for audio/video output and control input.

On the DSi, you no longer have a slot-2, and while you still have that 33 MHz ARM7 chip, my uneducated guess is that it can no longer function in GBA mode even if you could somehow get the data to it in the first place (not to mention all the other GBA-specific hardware they likely scrapped to save space). Thus, your only option is software emulation. But there too, the DSi is not very powerful overall, and I'm not too hopeful for it either. But hey, I could be wrong - SNES Advance shocked everybody when it first came out, after all. Even still, I still think that having the faster components on the slot-1 cart itself is the best option here.

Now the 3DS is a much beefier machine, looking at the specs. If and when we can actually *use* that processing power, then I could see it happening if someone bothered to write the emulator. Note however that your initial argument still doesn't work here. The 3DS is *designed* to run DSi and DS files - it has the hardware built-in. You can't say "If it can run DS then it can run GBA" because again those are entirely different modes of "running" the file.

EDIT: Actually, isn't Nintendo releasing some GBA titles to people who bought the 3DS when it was more expensive? That alone would be a software emulator made directly by Nintendo, meaning it would indeed be possible.

EDIT 2: Speaking of that distinction, also keep in mind that Nintendo is much more capable of creating a working software emulator than we hobbyists are. They know the system in and out rather than needing to reverse-engineer everything. This is why the Zelda Collector's Edition could exist. Normally I would have said "Flawless N64 emulation on the Gamecube? You're crazy!" And indeed, looking at the homebrew Cube64 emulator, it's not very good at running those games. But Nintendo had the resources to pull it off. You can actually remove the Ocarina of Time and Majora's Mask roms from the Gamecube ISO and replace them with other N64 games, and some of them will run (compatibility isn't the greatest because it's likely Nintendo took shortcuts since only those two games needed to run on it).
 

ichichfly

Well-Known Member
Member
Joined
Sep 23, 2009
Messages
619
Trophies
1
XP
1,075
Country
Gambia, The
DanTheManMS said:
Pretty much exactly what Rydian said. (yet I'm still going to add to it for no good reason >_>)

If you read nothing else I post, read this. The key issue here is the difference between natively running a program on the hardware it's designed for, and emulating in software because you *don't* have the hardware it needs. The GBA/DS situation is much closer to the second one than you might think, and that alone is the setback.

[further details]

The DS contains an ARM9 at 66 MHz and an ARM7 at 33 MHz. When in DS mode, it uses the two of them combined for full system operation. When in GBA mode, only the ARM7 is used, underclocked to 16 MHz. The thing is, that ARM7 operates *entirely* differently depending on which mode it's in. That's why even though the DS does technically have the hardware needed to run GBA files natively without software emulation, it can only be done from within GBA mode, and several technical reasons require that to be done from slot-2. If you want to run it from within DS mode, using the full power of both CPUs, you have to do software emulation, which is much much slower and requires much more power to do.

It is unlikely that we will ever get fullspeed software GBA emulation on the DS and DSLite using only the native on-board components. ichichfly is doing amazing work with his emulator, and quite honestly if you had told me 3 years ago that he would be even this far, I would have said you were insane. Currently the better option seems to be with the SCDS:TWO or any other future carts that arrive with the same idea. We can't make the DS any more powerful, but we can put a fast CPU on the cart itself and have that handle the emulation, simply using the DS for audio/video output and control input.

On the DSi, you no longer have a slot-2, and while you still have that 33 MHz ARM7 chip, my uneducated guess is that it can no longer function in GBA mode even if you could somehow get the data to it in the first place (not to mention all the other GBA-specific hardware they likely scrapped to save space). Thus, your only option is software emulation. But there too, the DSi is not very powerful overall, and I'm not too hopeful for it either. But hey, I could be wrong - SNES Advance shocked everybody when it first came out, after all. Even still, I still think that having the faster components on the slot-1 cart itself is the best option here.

Now the 3DS is a much beefier machine, looking at the specs. If and when we can actually *use* that processing power, then I could see it happening if someone bothered to write the emulator. Note however that your initial argument still doesn't work here. The 3DS is *designed* to run DSi and DS files - it has the hardware built-in. You can't say "If it can run DS then it can run GBA" because again those are entirely different modes of "running" the file.

EDIT: Actually, isn't Nintendo releasing some GBA titles to people who bought the 3DS when it was more expensive? That alone would be a software emulator made directly by Nintendo, meaning it would indeed be possible.

EDIT 2: Speaking of that distinction, also keep in mind that Nintendo is much more capable of creating a working software emulator than we hobbyists are. They know the system in and out rather than needing to reverse-engineer everything. This is why the Zelda Collector's Edition could exist. Normally I would have said "Flawless N64 emulation on the Gamecube? You're crazy!" And indeed, looking at the homebrew Cube64 emulator, it's not very good at running those games. But Nintendo had the resources to pull it off. You can actually remove the Ocarina of Time and Majora's Mask roms from the Gamecube ISO and replace them with other N64 games, and some of them will run (compatibility isn't the greatest because it's likely Nintendo took shortcuts since only those two games needed to run on it).

I am not emulating the cpu at all in hyperspeedup Version I disable the cache that lead to masive waitstats on the arm9 because of the bus and other things copy the code to the ram and jump to the code and only emulate the I/O regs swi and so on. That is also the reason why some homebrew run with 200 % speed but if I look at the code and calculate the speed I get only ~150% I don't know why it runs with ~200%.

ADD: Ok it runs with 200% because of the bus speed that is 200% faster than the one on the gba
 

GeekyGuy

Professional loafer
Former Staff
Joined
Jun 21, 2007
Messages
5,266
Trophies
2
XP
3,043
Country
United States
chaosdarkneo said:
^Really? NO.

ALL THE REASONS WHY IT'S NOT POSSIBLE HAVE ALREADY BEEN OUTLINED IN THIS THREAD. (Yes, I'm talking about the emulator. It runs off the DS and the Flashcart's CPU, both of which are too weak to emulate GBA games properly.

Please, stop asking questions that you have the answer to.

Perhaps he/she is unclear about the answer they've been given. This is a discussion forum. We...discuss things here.
 

DanTheManMS

aka Ricochet Otter
Member
Joined
Jun 2, 2007
Messages
4,453
Trophies
1
Age
34
Location
Georgia
XP
751
Country
United States
ichichfly said:
I am not emulating the cpu at all in hyperspeedup Version I disable the cache that lead to masive waitstats on the arm9 because of the bus and other things copy the code to the ram and jump to the code and only emulate the I/O regs swi and so on. That is also the reason why some homebrew run with 200 % speed but if I look at the code and calculate the speed I get only ~150% I don't know why it runs with ~200%.

ADD: Ok it runs with 200% because of the bus speed that is 200% faster than the one on the gba

I'm a bit confused about what you're saying here, but I will admit I have not followed your project fully. Are you saying that you're able to make the ARM7 work like it does in GBA mode even when you're running DS code?
 

ichichfly

Well-Known Member
Member
Joined
Sep 23, 2009
Messages
619
Trophies
1
XP
1,075
Country
Gambia, The
DanTheManMS said:
ichichfly said:
I am not emulating the cpu at all in hyperspeedup Version I disable the cache that lead to masive waitstats on the arm9 because of the bus and other things copy the code to the ram and jump to the code and only emulate the I/O regs swi and so on. That is also the reason why some homebrew run with 200 % speed but if I look at the code and calculate the speed I get only ~150% I don't know why it runs with ~200%.

ADD: Ok it runs with 200% because of the bus speed that is 200% faster than the one on the gba

I'm a bit confused about what you're saying here, but I will admit I have not followed your project fully. Are you saying that you're able to make the ARM7 work like it does in GBA mode even when you're running DS code?

no I use the arm9 (I need more patches but arm7 is not working because there is no PU) you must know the speed of the cpu is not the only thing that make a system fast. In this case I make things to make the system slow but well.

I configurate the CP15 to disable the cach (cpu now waits the most time and so result in 8-16 MHz the cpu is still faster but the bus is only ~33 MHz and has mutch waitstates so even the arm7 is faster now because the arm7 is slower (the same speed as the bus result in less waitstate) and has wram ) and to jump to my routin if I/O regs are accesed well there are more things to do but well I don't think most of you understand them.

ADD: The arm9 is s still faster than the gba arm7 because the arm9 use 2 buses
 

DanTheManMS

aka Ricochet Otter
Member
Joined
Jun 2, 2007
Messages
4,453
Trophies
1
Age
34
Location
Georgia
XP
751
Country
United States
You're right; I don't understand half of what you're saying.

I stand corrected.

EDIT: I wish I knew more German so I could understand you better. Ich brauche Deutschkenntnisse.
 

Janthran

Solarian
OP
Member
Joined
Sep 17, 2011
Messages
3,777
Trophies
0
Location
The Pacific Northwet
XP
1,146
Country
United States
DanTheManMS said:
EDIT: Actually, isn't Nintendo releasing some GBA titles to people who bought the 3DS when it was more expensive? That alone would be a software emulator made directly by Nintendo, meaning it would indeed be possible.

EDIT 2: Speaking of that distinction, also keep in mind that Nintendo is much more capable of creating a working software emulator than we hobbyists are.

So, with those two thoughts in mind, wouldn't it be possible to take one of said GBA games and replace the file like you said people did with the Zelda collector's edition?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: Look at you holding tiny things