# Could the Switch run a (N)3DS emulator in the future?



## zacchi4k (Mar 10, 2017)

I know that the Switch hasn't been hacked yet, but when it will, could it run a (N)3DS emulator (yes, I know the Switch hasn't got a 3D screen or two screens, but could it _theoretically _run)?


----------



## StarTrekVoyager (Mar 10, 2017)

In short: Nope, would be too slow. You need a pretty high-end PC to get your constant 30 or 60fps on Citra, and the Switch is not as powerful.


----------



## zacchi4k (Mar 10, 2017)

StarTrekVoyager said:


> In short: Nope, would be too slow. You need a pretty high-end PC to get your constant 30 or 60fps on Citra, and the Switch is not as powerful.


Isn't Citra just not optimized enough yet?


----------



## spiderman1216 (Mar 10, 2017)

Probably not, unless we get Citra running on a Tegra X1


----------



## osaka35 (Mar 10, 2017)

StarTrekVoyager said:


> In short: Nope, would be too slow. You need a pretty high-end PC to get your constant 30 or 60fps on Citra, and the Switch is not as powerful.


Very true, but that's assuming complete emulation. The switch runs on arm, just like 3ds, just a newer version. I don't know nearly enough about how many calls and the like are similar enough, but maaaaaybe partial emulation might be possible? I doubt anyone except nintendo would be able to pull it off though.


----------



## StarTrekVoyager (Mar 10, 2017)

osaka35 said:


> Very true, but that's assuming complete emulation. The switch runs on arm, just like 3ds, just a far newer version. I don't know nearly enough about how many calls and the like are similar enough, but maaaaaybe partial emulation might be possible? I doubt anyone except nintendo would be able to pull it off though.



Yeah... But very unlikely. For example, vWii and TWL_FIRM rely back on the console (3DS/Wii U) switching either on a smlaller number of cores, or on a secondary processor. The Switch hasn't anything like that, just its own CPU. Even though it's an ARM architecture, that's still quite different. And anyways, it would certainly be unpractical and useless, unless Nintendo would like to kill early a console that was quite success and still works.


----------



## zacchi4k (Mar 10, 2017)

StarTrekVoyager said:


> Yeah... But very unlikely. For example, vWii and TWL_FIRM rely back on the console (3DS/Wii U) switching either on a smlaller number of cores, or on a secondary processor. The Switch hasn't anything like that, just its own CPU. Even though it's an ARM architecture, that's still quite different. And anyways, it would certainly be unpractical and useless, unless Nintendo would like to kill early a console that was quite success and still works.


Aren't the ARM9 3DS CPU and TWL_FIRM only used for NDS games?


----------



## DinohScene (Mar 10, 2017)

osaka35 said:


> Very true, but that's assuming complete emulation. The switch runs on arm, just like 3ds, just a far newer version. I don't know nearly enough about how many calls and the like are similar enough, but maaaaaybe partial emulation might be possible? I doubt anyone except nintendo would be able to pull it off though.



Remember the N64 using MIPS?
Remember N64 being emulated on the PSP which happens to also run on MIPS?

Partial emulation/full emulation of some games may happen if the Switch does run on an ARM architecture.
Less translation in code, cause basically, that's all an emulator is.


----------



## GerbilSoft (Mar 10, 2017)

DinohScene said:


> Remember the N64 using MIPS?
> Remember N64 being emulated on the PSP which happens to also run on MIPS?


That doesn't matter. N64 emulators on PSP usually use either an interpreted CPU emulator or dynamic recompilation. They don't run the code directly. Besides that, the hardest part to emulate for N64 isn't the CPU; it's the GPU (RSP).

For 3DS games on Switch, even if you did manage to use an actual virtualization system (which would be necessary because Switch runs in 64-bit mode, not 32-bit like 3DS), you'd still need to emulate the GPU, since IIRC 3DS games access it directly, aside from some basic setup functions.



Zacchi4k said:


> Aren't the ARM9 3DS CPU and TWL_FIRM only used for NDS games?


TWL_FIRM is used for DS(i) games. The ARM9 is also used for DS(i) games, but in 3DS mode, it's used for "security" functionality as well. (ARM11 can't access eMMC, SD, or Slot-1 directly; it has to go through ARM9.)


----------



## duffmmann (Mar 10, 2017)

I'd like to see Nintendo release a new player for their handheld.  Something like the Super Game Boy or Game Boy Player for the Super Nintendo and the Gamecube respectively.  Thing is, if any of  Nintendo's systesm was ever going to have an adapter to play their latest handhelds, the Wii U was much more well equipped for that than the Switch is.  The Wii U has the two screens with the screen in your hand even being a touch screen.  Seemed like the perfect set up to play your 3DS (or at the very least DS) games on our home TVs.  And I guess we kind of got that with the DS VC titles, but it'd be so much nicer if we could just use our physical games and plug them into an adapter so that you don't have to buy the games again (or hack the system so you don't have to pay for the titles again).

With the Switch, while its more powerful, it lacks a true second screen, making the idea of playing many DS and 3DS games pretty unappealing.  At best you could emulate both screens on the Switch which would leave a lot of empty black space on the screen due to the screen size ratios, or you'd just have to play the games that made little to no real use of one of the screens.


----------



## Xenon Hacks (Mar 10, 2017)




----------



## Roomsaver (Mar 10, 2017)

duffmmann said:


> With the Switch, while its more powerful, it lacks a true second screen, making the idea of playing many DS and 3DS games pretty unappealing.  At best you could emulate both screens on the Switch which would leave a lot of empty black space on the screen due to the screen size ratios, or you'd just have to play the games that made little to no real use of one of the screens.


Or flip the handheld sideways...?


----------



## TheRedfox (Mar 10, 2017)

GerbilSoft said:


> For 3DS games on Switch, even if you did manage to use an actual virtualization system (which would be necessary because Switch runs in 64-bit mode, not 32-bit like 3DS), you'd still need to emulate the GPU, since IIRC 3DS games access it directly, aside from some basic setup functions.



That doesn't matter; the switch uses armv8 which can run 32bit armv7 code natively.
The 3DS is armv6k but afaik there are no conversions needed for armv6 code on armv8. (only armv5 is really different)

+ it's not like the DS emulation on the 3DS, DS games depended on the clock speed of the CPU. The 3DS is more modern like and games don't suffer from a higher clock speed.

Only the GPU needs to be emulated, but seeing how citra uses opengl efficiently and doesn't waste CPU cycles on graphics i'm sure that won't be a big issue.


----------



## duffmmann (Mar 10, 2017)

Roomsaver said:


> Or flip the handheld sideways...?



Yeah, but do the measurements, unless you stretch the screens and lose their proper aspect ratio, you're gonna have a lot of black empty space, no matter how you look at it, it would be ugly and not ideal.


----------



## Roomsaver (Mar 10, 2017)

duffmmann said:


> Yeah, but do the measurements, unless you stretch the screens and lose their proper aspect ratio, you're gonna have a lot of black empty space, no matter how you look at it, it would be ugly and not ideal.


Stretch them vertically and horizontally by a factor of like 2, have black bars at the top and bottom (perhaps space for emulator buttons).


----------



## dubbz82 (Mar 11, 2017)

Xenon Hacks said:


>



This so much.  Way too many speculative threads.  How about we wait till we have some access to have a better idea of what it can/can't do?


----------



## zacchi4k (Mar 11, 2017)

duffmmann said:


> Yeah, but do the measurements, unless you stretch the screens and lose their proper aspect ratio, you're gonna have a lot of black empty space, no matter how you look at it, it would be ugly and not ideal.


Yes, of course you will. But I personally wouldn't care.



Roomsaver said:


> (perhaps space for emulator buttons).


The Switch has already got all the buttons you need.


----------



## Alkéryn (Mar 11, 2017)

GerbilSoft said:


> That doesn't matter. N64 emulators on PSP usually use either an interpreted CPU emulator or dynamic recompilation. They don't run the code directly. Besides that, the hardest part to emulate for N64 isn't the CPU; it's the GPU (RSP).
> 
> For 3DS games on Switch, even if you did manage to use an actual virtualization system (which would be necessary because Switch runs in 64-bit mode, not 32-bit like 3DS), you'd still need to emulate the GPU, since IIRC 3DS games access it directly, aside from some basic setup functions.
> 
> ...


Switch is arm not 64 butts! But no a 3ds emulator for switch won't happen


----------



## zacchi4k (Mar 11, 2017)

Alkéryn said:


> Switch is arm not 64 butts! But no a 3ds emulator for switch won't happen


Uhm... Yes it it.


----------



## Alkéryn (Mar 11, 2017)

Zacchi4k said:


> Uhm... Yes it it.


Nvidia tegra is an arm cpu ...
And 3DS is arm not 32 bit like @GerbilSoft suggested


----------



## zacchi4k (Mar 11, 2017)

Alkéryn said:


> Nvidia tegra is an arm cpu ...
> And 3DS is arm not 32 bit like @GerbilSoft suggested


"32 bit" and "64 bit" aren't the same thing as x86 and x64 (aka Intel and AMD CPUs). ARM can be 32 or 64 bit. And the Switch is ARM64:


----------



## GerbilSoft (Mar 11, 2017)

Alkéryn said:


> Nvidia tegra is an arm cpu ...
> And 3DS is arm not 32 bit like @GerbilSoft suggested


...3DS's primary CPU is in fact a 32-bit ARM11 (ARMv6 MPCore). The architecture is ARMv6; "32-bit" is shorthand for the fact that it uses 32-bit addressing.

https://3dbrew.org/wiki/Hardware


----------



## zacchi4k (Mar 11, 2017)

GerbilSoft said:


> ...3DS's primary CPU is in fact a 32-bit ARM11 (ARMv6 MPCore). What did you think it was?
> 
> https://3dbrew.org/wiki/Hardware


Apparently, it's really hard to understand the difference between "x86/x64" and "32 bit/64 bit". Many, *MANY* people do this.


----------



## GerbilSoft (Mar 11, 2017)

Zacchi4k said:


> Apparently, it's really hard to understand the difference between "x86/x64" and "32 bit/64 bit". Many, *MANY* people do this.


I blame Microsoft. :V

Fun fact: The first 64-bit Windows wasn't for amd64; it was for Itanium. (And Itanium sucked.)


----------



## Alkéryn (Mar 11, 2017)

Zacchi4k said:


> Apparently, it's really hard to understand the difference between "x86/x64" and "32 bit/64 bit". Many, *MANY* people do this.


No i don't have issue seing the difference between 32 /64 and x86/x64 bit and yes microsoft x86 = 32 naming was dumb
I just didn't knew the 3ds was using ARMv6
I am the one to blame since i should have informed myself a bit more before posting
but usually when people say 64 bit they mean intel / amd 's x86/x64 bit and i though he was speaking about this one which would have had been wrong
He should have mention arm 32 /64 bit cpu
and due to me being tired i red an x in this so sorry


----------



## Subtle Demise (Mar 11, 2017)

Alkéryn said:


> No i don't have issue seing the difference between 32 /64 and x86/x64 bit and yes microsoft x86 = 32 naming was dumb


It wasn't Microsoft who came up with the name, and x86 can include 16, 32, and 64-bit processors:
https://en.m.wikipedia.org/wiki/X86


----------



## Alkéryn (Mar 11, 2017)

Subtle Demise said:


> It wasn't Microsoft who came up with the name, and x86 can include 16, 32, and 64-bit processors:
> https://en.m.wikipedia.org/wiki/X86


x86 don't include 64, for 64 it is x64 which include 16 32 and 64 afaik
EDIT : after some searching x86 wasn't 64 bit at the begining but later it was
well at least i learnt something more today

And for the naming missmatch, it isn't microsoft but windows users who generally made the mistake
Though I'm more used to read AMD64 than x86-64


----------



## Master Dimentio (Mar 12, 2017)

Absolutely.... nah I'm just fucking with you.


----------



## Mirage1990 (Aug 19, 2018)

It's so funny, how many people just say straight no. It's the same kind of people who would have said that touch screens are impossible, back in 1980. Wait for you mind to blow up. Might take a while but it will happen sooner or later.


----------

