Hacking 3DS Mode Homebrew

  • Thread starter Thread starter Xexyz
  • Start date Start date
  • Views Views 10,441
  • Replies Replies 48
Don't expect anything above Genesis/SNES/NeoGeo.

To my knowledge, NeoGeo is an insanely complex platform to emulate with very advanced 2D hardware - I'd sooner expect a PSX emulator than a NeoGeo one, but I have been out of the loop for some time so I may be wrong.
 
That's actually as good of an idea as you may think. The new Tegra is quite an exotic CPU/GPU combination, not to mention that Tegra's are rare in general. They don't see a whole lot of support and software developers rarely optimize specifically for them.
Um it seems like that's exactly what most developers do. And tegras are not rare, troll moar.
 
  • Like
Reactions: yuyuyup
To my knowledge, NeoGeo is an insanely complex platform to emulate with very advanced 2D hardware - I'd sooner expect a PSX emulator than a NeoGeo one, but I have been out of the loop for some time so I may be wrong.

Not related, but you reckon the 3DS dual Arm11 chips are be overclocked? Stock is 268mhz, my old phone used an Arm11 around 600mhz. Now if both cores can reach that, perhaps we can get decent psx and n64 emulator. Although my phone emulated the psx on a single core just fine.

Perhaps a slight overclock will help, 268mhz seems very low for emulation for psx. N64 is deffo not possible, not at playable speeds. The GPU is decent, not sure how that will help out in the emulation process.
 
Um it seems like that's exactly what most developers do. And tegras are not rare, troll moar.

I can't name a single Tegra-based handset off the top of my head and the only three devices that immediately come to mind are the WikiPad, the OUYA and the Shield, the Shield being the only one that uses this particular GPU. No offense, but Tegra-based devices drown in the sea of Snapdragons and others. ;)
Not related, but you reckon the 3DS dual Arm11 chips are be overclocked? Stock is 268mhz, my old phone used an Arm11 around 600mhz. Now if both cores can reach that, perhaps we can get decent psx and n64 emulator. Although my phone emulated the psx on a single core just fine.

Perhaps a slight overclock will help, 268mhz seems very low for emulation for psx. N64 is deffo not possible, not at playable speeds. The GPU is decent, not sure how that will help out in the emulation process.
MHz Myth and whatnot - the CPU can push PSX just fine. As far as the N64 is concerned, I expect a degree of compatibility and I think some games may be playable, but again, the average smartphone will do a way better job so why even bother? ;)
 
The 3DS is a joke specs-wise - the average smartphone gives it a run for its money. If you're into emulation of any kind, you're better off waiting for the PSVita to get hacked or buying yourself a mid-to-high-end smartphone and a controller.

But smartphones are also a joke specs-wise - the average gaming PC gives it a run for its money. If you're into emulation of any kind, you're better off building yourself a mid-to-high-end gaming PC and buying a controller.

Although the specs of the 3DS are lacking compared to modern smartphones, but they're not so bad that they won't run N64 games. It's CPU/GPU is on par with the GameCube and it has more RAM than the Wii.
 
But smartphones are also a joke specs-wise - the average gaming PC gives it a run for its money. If you're into emulation of any kind, you're better off building yourself a mid-to-high-end gaming PC and buying a controller.
You're comparing a portable device and a desktop - I'm comparing two portable devices out of which one does a better job than the other. You're not exactly going to trot around with your desktop strapped to your back so clearly the devices you're comparing are not even in the same league, making your point moot.
Although the specs of the 3DS are lacking compared to modern smartphones, but they're not so bad that they won't run N64 games.
Yes, they are - most games won't run at the system with playable speeds.
It's CPU/GPU is on par with the GameCube and it has more RAM than the Wii.
Okay. :lol:
 
  • Like
Reactions: NEP

The Pica 200 GPU of the 3DS produces 4.8 GFLOPS, which is close to the ATI Flipper GPU in the gameCube's computation power of 6.5 GFLOPS.

The 3DS's CPU is a dual-core ARM11. There are conflicting reports of it's clock speed, ranging from 226 MHz to 726 MHz. Therefore, it might be clocked lower or higher than the GameCube's 486 MHz PPC processor. However, the the 3DS's CPU is a newer architecture (90 nm lithography vs 180 nm lithography) and a dual core chip. Even if we assume the 3DS is clocked at 226 MHz, the newer architecture and higher core count should mean the 3DS's CPU is at least as powerful as the GameCube's CPU.

The GameCube has 43 MB of RAM, the 3DS has 128 MB of RAM. You really can't argue this one.
 
I can't name a single Tegra-based handset off the top of my head and the only three devices that immediately come to mind are the WikiPad, the OUYA and the Shield, the Shield being the only one that uses this particular GPU. No offense, but Tegra-based devices drown in the sea of Snapdragons and others. ;)
HTC One X/X+ uses a Tegra 3, and while not a handset, the original Nexus 7 and a ton of other tablets do as well. I really hope you're not claiming the Nexus 7 has poor developer support. There isn't much Tegra 4 stuff only because it hasn't been out for very long.

And it's all ARM/Android anyway, so what difference does it make? It's not like Nvidia ships the things without drivers. It's like saying AMD CPUs have poor support because most PCs use Intel.
 
The Pica 200 GPU of the 3DS produces 4.8 FLOPS, which is close to the ATI Flipper GPU in the gameCube's computation power of 6.5 GFLOPS.
It's not close, it's 2/3rd's the power. That, and GPU's do f*ck-all during emulation 9 out of 10 times - you can't just pass instructions from one platform on another, you waste a lot of resources on merely emulating the environment.
The 3DS's CPU is a dual-core ARM11. There are conflicting reports of it's clock speed, ranging from 226 MHz to 726 MHz.
The problem no.1 is that whatever conflicting reports you read, they're wrong. The oscillator doesn't lie - it's 266MHz, more or less. The problem no.2 is that it's dual core, meaning that some operations have to be performed by one core and some by another and they have to do that in unison - this poses coding difficulties right off the bat.
Therefore, it might be clocked lower or higher than the GameCube's 486 MHz PPC processor. However, the the 3DS's CPU is a newer architecture (90 nm lithography vs 180 nm lithography) and a dual core chip.
First read up about the MHz Myth because you seem to be equating MHz to processing power which is bollocks - the 3DS's CPU is a low-power ARM, the Gamecube's CPU is a full-blown PowerPC CPU, they're not in the same league of processors. Even at dual core they don't have nearly the same efficiency. A smaller lithography allows for less power consumption and easier heat dissipation but doesn't have much to do with performance per se.
Even if we assume the 3DS is clocked at 226 MHz, the newer architecture and higher core count should mean the 3DS's CPU is at least as powerful as the GameCube's CPU.
No, we can't say that before we see an actual benchmark.
The GameCube has 43 MB of RAM, the 3DS has 128 MB of RAM. You really can't argue this one.
Because more is always better right? What about bandwidth? What about all the other factors? And how does more RAM help you in emulating again? Are you going to ask the RAM nicely to do some processing for you? :unsure:
HTC One X/X+ uses a Tegra 3, and while not a handset, the original Nexus 7 and a ton of other tablets do as well. I really hope you're not claiming the Nexus 7 has poor developer support. There isn't much Tegra 4 stuff only because it hasn't been out for very long.

And it's all ARM/Android anyway, so what difference does it make? It's not like Nvidia ships the things without drivers. It's like saying AMD CPUs have poor support because most PCs use Intel.
We're not talking about whether it'll work or not - it will. We're talking about Tegra-specific optimization with Tegra-specific features and yes, there are some things AMD CPU's do that Intel ones don't and the other way around, same with Radeons and GeForces which is why PC programs often come with amd64 and intel revisions of the files as well as take advantage of Catalyst/NVidia-specific display driver features instead of using standard ones offered in OS'es to squeeze the most out of what's offered.
 
  • Like
Reactions: NEP
We're not talking about whether it'll work or not - it will. We're talking about Tegra-specific optimization with Tegra-specific features and yes, there are some things AMD CPU's do that Intel ones don't and the other way around, same with Radeons which is why PC programs often come with amd64 and intel revisions of the files.
Yeah, and optimizing for either architecture usually involves a simple flag set at compile time and typically doesn't make a huge difference. The Shield is a beefy enough piece of hardware that it should be more than capable of PS1/N64 emulation even without extreme performance tweaking.
 
Yeah, and optimizing for either architecture usually involves a simple flag set at compile time and typically doesn't make a huge difference. The Shield is a beefy enough piece of hardware that it should be more than capable of PS1/N64 emulation even without extreme performance tweaking.
Again, re-read what I said - I never said that it won't, I said that Tegra-specific features will not be used and it won't get the "boost" it could, meaning it will perform just as well as other CPU's within the same range - not incredibly better as was originally implied.
 
The problem no.2 is that it's dual core, meaning that some operations have to be performed by one core and some by another and they have to do that in unison - this poses coding difficulties right off the bat.

Any half-competent programmer will know how to write multi-threaded code. Parallelism is the future of computing. Unless you're saying everyone who writes emulators are first-year computer science students or lower, I don't think difficulty is an issue. If the programmer is competent, multi-threaded code can perform way better than single-threaded code on the same CPU.

First read up about the MHz Myth because you seem to be equating MHz to processing power which is bollocks - the 3DS's CPU is a low-power ARM, the Gamecube's CPU is a full-blown PowerPC CPU, they're not in the same league of processors. Even at dual core they don't have nearly the same efficiency. A smaller lithography allows for less power consumption and easier heat dissipation but doesn't have much to do with performance per se.

Yeah, a full blown PowerPC with 180 nm lithography. Lithography does have an effect of performance as they allow you to pack more transistors into the chip. More transistors, more FLOPS per clock cycle.

Because more is always better right? What about bandwidth? What about all the other factors? And how does more RAM help you in emulating again?

Not sure what the GameCube has, but the 3DS has FCRAM, which has very high read and write speeds. And yes, programmers tend to like more memory to work with. You always want significantly more RAM than the system you're emulating, as you need to simulate the emulated system's hardware in RAM.
 
Again, re-read what I said - I never said that it won't, I said that Tegra-specific features will not be used and it won't get the "boost" it could, meaning it will perform just as well as other CPU's within the same range - not incredibly better as was originally implied.
Your post implied that getting the Shield wasn't a good idea for emulation due to lack of developer support, but that's flat out wrong. If you can afford it, it would make a great choice. Its advantage isn't in power, which is on par with a typical high-end Android phone, but rather the fact that it has a real controller built in.
 
N64 emulator yes why because of the Super Mario 64 Ds GBA & NES yes because of the ambassador program but I want to see a PS1 emulator or something we haven't seen done yet
 
I can't name a single Tegra-based handset off the top of my head and the only three devices that immediately come to mind are the WikiPad, the OUYA and the Shield, the Shield being the only one that uses this particular GPU. No offense, but Tegra-based devices drown in the sea of Snapdragons and others. ;)

MHz Myth and whatnot - the CPU can push PSX just fine. As far as the N64 is concerned, I expect a degree of compatibility and I think some games may be playable, but again, the average smartphone will do a way better job so why even bother? ;)
HTC One X, Nexus 7, I could name more but those are two very popular devices, both use Tegra 3. Anyway, they might not be as common as snapdragons but they are still very common.

I agree, PSX should be possible, N64 never ran very well on the PSP so that's probably not going to run fullspeed, but some games might.
 
Your post implied that getting the Shield wasn't a good idea for emulation due to lack of developer support, but that's flat out wrong. If you can afford it, it would make a great choice. Its advantage isn't in power, which is on par with a typical high-end Android phone, but rather the fact that it has a real controller built in.
A real controller can be attached to any standard phone (which most users are likely to already have) - have a look at Moga controllers for example. Shape-wise they're practically Shield equivalents and they cost $30-$80 depending on the model.
Any half-competent programmer will know how to write multi-threaded code. Parallelism is the future of computing. Unless you're saying everyone who writes emulators are first-year computer science students or lower, I don't think difficulty is an issue. If the programmer is competent, multi-threaded code can perform way better than single-threaded code on the same CPU.
I said it poses an additional challenge, not that it makes it impossible. :rolleyes:
Yeah, a full blown PowerPC with 180 nm lithography. Lithography does have an effect of performance as they allow you to pack more transistors into the chip. More transistors, more FLOPS per clock cycle.
Correlation doesn't mean causation - you're assuming that the die would be the same size in both cases and it's not. Moreover you apply the performance boost coming from a larger number of transistors to a smaller lithography when the boost comes not from the lithography but... from a larger number of transistors. :lol:

There is a degree of increased performance coming from a smaller lithography but it has nothing to do with transistors per se, rather than the resistance of individual threads which decreases with their decreasing width and again, allows for lower power consumption, better heat dissipation and a smaller die size.

In any case, my point is that smaller lithography and a higher clock do not necessarily make once CPU faster than another - before making such a claim you need to perform actual benchmarks and until you do, you can only speculate on the basis of the specs you know and those are hardly inspiring.

By the way, FLOPS = Floating Point Operations per Second, IPS = Instructions per Second. Although FLOPS is the more commonly used measurement these days, it's IPS you're actually more interested in as it encompasses Integer instructions - floating point is mostly used with graphics and physics and those calculations can be passed to the GPU in some form, taking the toll off the CPU.

It's entirely possible that the CPU's may have similar performance, but that remains to be measured. That, and even once we have that measurement, we don't know how much resources is actually allocated to keeping the system stable (OS, background processes and whatnot).

tl;dr N64 emulation on the Wii is hit-and-miss with a lot of glitching, it's not full speed and it's not compatible with all games so don't expect it to work well on the 3DS, a weaker platform. I never said that it flat out won't work, I said that it won't work well. Some titles may very well be playable, but a lot won't.
Not sure what the GameCube has, but the 3DS has FCRAM, which has very high read and write speeds. And yes, programmers tend to like more memory to work with. You always want significantly more RAM than the system you're emulating, as you need to simulate the emulated system's hardware in RAM.
I never said that you don't want to have more RAM when programming an emulator, I said that its abundance won't make the task easier.
N64 emulator yes why because of the Super Mario 64 Ds GBA & NES yes because of the ambassador program but I want to see a PS1 emulator or something we haven't seen done yet
Super Mario 64 DS was not a title running on an emulator if that's what you're implying - the game was re-coded from the ground up to work on the system. ;)
 
  • Like
Reactions: Cyberdrive
Gamecube CPU is better than 3DS one. It's even used in Wii U. :lol:
335 dmips vs 1125. Also second core in 3DS is not used by games afaik.
Modern Cortex A15 ARM cores with NEON are faster than Wii U CPU however.
 
Gamecube CPU is better than 3DS one. It's even used in Wii U. :lol:
I know that was a joke, but just not to spread misinformation, the same architecture is, not the exact same CPU. :P
335 dmips vs 1125. Also second core in 3DS is not used by games afaik.
The second core has been unlocked to developers to some extent some time ago.
Modern Cortex A15 ARM cores with NEON are faster than Wii U CPU however.
I don't think so. :P The WiiU's CPU is about as proficient as one and a half CELL. To be fair though, modern Cortex are indeed stronger than the Gamecube's CPU and I have seen PoC Gamecube emulation being performed on smartphones with the latest chips on-board. ;)
 

Site & Scene News

Popular threads in this forum