Switch 2 Uses Emulation :p

  • Thread starter Thread starter Skeet1983
  • Start date Start date
  • Views Views 13,175
  • Replies Replies 54
  • Likes Likes 5
Wii had native GC support. Wii U had a Wii inside for native support

Yup, and 3DS played DS games natively. It also played GBA games natively, which many people don't realize because Nintendo bafflingly never sold any.

The Iwata era used native compatibility wherever possible and emulation wherever necessary. Modern Nintendo has gone emulation-only, which isn't bad in itself, but the official options are a decade behind free community-driven ones. Their solution to this issue is to weaponize legality instead of working on their own functionality. That's really the problem.
 
  • Like
Reactions: SMNFXCN
Yup, and 3DS played DS games natively. It also played GBA games natively, which many people don't realize because Nintendo bafflingly never sold any.

The Iwata era used native compatibility wherever possible and emulation wherever necessary. Modern Nintendo has gone emulation-only, which isn't bad in itself, but the official options are a decade behind free community-driven ones. Their solution to this issue is to weaponize legality instead of working on their own functionality. That's really the problem.
In the Switch's case the method they have gone for here was their best choice. Cheaper since they don't need to include additional hardware and also allows for games to run better without patches. And when I say run better I mean hit original target framerates better and such.
 
In the Switch's case the method they have gone for here was their best choice. Cheaper since they don't need to include additional hardware and also allows for games to run better without patches. And when I say run better I mean hit original target framerates better and such.
It's understandable given their quest, however we each individually feel about it, to get their hardware closer to their competitors' specs.

What I'm wondering is: will Switch 1 games get any native boost to performance at all just by being played on Switch 2 normally, without any patches? Or has their confirmed method for backward compatibility pretty much debunked that possibility?
 
since Nintendo is so against Emulation :P

Your guy's thoughts on this?
Nintendo is against emulation leading to piracy. or else, even Nestopia/Messen/Ares and other emulators would not exist.

Yuzu being sued was a result of their dev's greed, "charging money" for the "up to date/nightly" versions.

If that's your argument, then you should include "Sunny of a Beach", and Microsucks.
 
Nintendo is against emulation leading to piracy. or else, even Nestopia/Messen/Ares and other emulators would not exist.

Yuzu being sued was a result of their dev's greed, "charging money" for the "up to date/nightly" versions.

If that's your argument, then you should include "Sunny of a Beach", and Microsucks.
Yeah the Yuzu team got what they deserved because there was very clearly a lot of shady stuff going on in the background. Though really when it comes to emulators Nintendo is really only one to take down emulators of their current platform or ones being a bit more shady.
Post automatically merged:

It's understandable given their quest, however we each individually feel about it, to get their hardware closer to their competitors' specs.

What I'm wondering is: will Switch 1 games get any native boost to performance at all just by being played on Switch 2 normally, without any patches? Or has their confirmed method for backward compatibility pretty much debunked that possibility?
Well if you read my initial comment I explained that quite well. Since this is a compatibility layer the games are running natively on the Switch 2 hardware. This means that even without a patch the games will at least hit their original framerate goals better, lower load times, and dependent on the game may have better dynamic resolution.
 
Yeah the Yuzu team got what they deserved because there was very clearly a lot of shady stuff going on in the background. Though really when it comes to emulators Nintendo is really only one to take down emulators of their current platform or ones being a bit more shady.
Your comment proves my point perfectly.

Nintendo is NOT against emulation "as-is", but against the piracy involved in them, (quoting you):

"[...] from their current platform [...]"

Which in the case of Yuzu, it was the Switch console.
 
Last edited by CMDreamer,
  • Like
Reactions: Tigran
Wii had native GC support. Wii U had a Wii inside for native support
Wow. You really have zero clue what you're talking about. lol. If the Wii had 'native' GC support, all GC games for that Wii's region would run flawlessly. They don't. lol.

Wii had MIOS and BC - MIOS read the disc and BC (literally 'backwards compatibility') acted as a translation layer for the CPU calls... exactly like the Switch 2 does for Switch games. On the other hand, the Wii U didn't need to rely on that, as, like you said, the Wii U had a section of it's motherboard layered exactly like a Wii (Wii inside a Wii U, literally), so the Wii support was indeed native. However, between the Wii and Wii U, one was a flop, so why would Nintendo repeat past mistakes?
 
  • Haha
Reactions: DuoForce
Hi guys. I read an article recently, and found it funny with what Nintendo did with the Switch 2: For Switch 1 games, the article stated that they don't run natively on the Switch 2 due to the Hardware, so the big N had to make their own Emulator inside the Switch 2 to be able to run Switch 1 games. I just found that funny since Nintendo is so against Emulation :P

Your guy's thoughts on this?
When they say not all Switch game can run on Switch 2 you should already know that there isn't a Switch inside Switch 2.

Would be nice if they also include Atmosphere since it has been licensed for free use for Nintendo.

PS: Nintendo wanted Yuzu code is also kind of obvious.
 
Yup, and 3DS played DS games natively. It also played GBA games natively, which many people don't realize because Nintendo bafflingly never sold any.

The Iwata era used native compatibility wherever possible and emulation wherever necessary. Modern Nintendo has gone emulation-only, which isn't bad in itself, but the official options are a decade behind free community-driven ones. Their solution to this issue is to weaponize legality instead of working on their own functionality. That's really the problem.
Okay, wow. No. the 3DS absolutely did NOT run GBA games 'natively', not even the DS Lite did. The 3DS used a SoC that had 2 processor cores: one was ARM9, and the other was ARM7. The DS/DS Lite/DSi used a similar setup that involved ARM7 and ARM5, and the GBA used ARM5 and ARM3. These 4 cores used entirely different instruction sets, and were night and day. The DSi's ARM7 and the 3DS' ARM7 were not exactly identical. The DS Lite/DS's ARM7 and the DSi's ARM7 were slightly different. The DS's emulated ARM5 BIOS was not the exact same as the GBA's ARM5 BIOS. The DS/DS Lite/DSi used a compatibility layer for the ARM5 BIOS in the GBA, and used a heavily-modified ARM3 BIOS file for the ARM3 portion. DS mode firmware on the 3DS, TWLFIRM, was inaccessible from within 3ds software without exploits, so the GBA games used a special emulated GBA, called AGB_FIRM, which could actually be launched via special software. The DS Lite used a compatibility layer for the ARM3 BIOS as well, and used the DS Lite's ARM5 BIOS for the GBA cartridges' ARM5 functionality. Wow, a lot of people on here are spouting nonsense. I hate that.
 
Yuzu uses HLE, so no surprise there. Ryujinx is suppose to be more LLE but it seem to use HLE as well.
Using HLE for certain functions is expected yeah since console hardware is getting closer and closer to PC hardware. But it appears in the Switch 2 case they arent using any LLE. CPU instructions are able to natively run on the hardware whilst the GPU is where the HLE comes in.
 
Okay, wow. No. the 3DS absolutely did NOT run GBA games 'natively', not even the DS Lite did. The 3DS used a SoC that had 2 processor cores: one was ARM9, and the other was ARM7. The DS/DS Lite/DSi used a similar setup that involved ARM7 and ARM5, and the GBA used ARM5 and ARM3. These 4 cores used entirely different instruction sets, and were night and day. The DSi's ARM7 and the 3DS' ARM7 were not exactly identical. The DS Lite/DS's ARM7 and the DSi's ARM7 were slightly different. The DS's emulated ARM5 BIOS was not the exact same as the GBA's ARM5 BIOS. The DS/DS Lite/DSi used a compatibility layer for the ARM5 BIOS in the GBA, and used a heavily-modified ARM3 BIOS file for the ARM3 portion. DS mode firmware on the 3DS, TWLFIRM, was inaccessible from within 3ds software without exploits, so the GBA games used a special emulated GBA, called AGB_FIRM, which could actually be launched via special software. The DS Lite used a compatibility layer for the ARM3 BIOS as well, and used the DS Lite's ARM5 BIOS for the GBA cartridges' ARM5 functionality. Wow, a lot of people on here are spouting nonsense. I hate that.
I get what you're going for here. But they do run with greater accuracy than "software emulation." It's not as exact as true native playback, yes, but it IS more exact than what most people think of as "emulation." That's an important distinction here.

People trying to read all that will think you're talking about software emulation. On 3DS, the DS CPU clocks down to GBA speed, which works because the architecture is so similar. Special software is needed to access it, but all the pieces are already there for HARDWARE emulation. It's a simulated GBA, basically, as opposed to an external emulator.

It's very commonly reported by curated wikis and tech support stuff that this counts as "running natively." Maybe you disagree with the terminology, that's fine, but this isn't something I randomly came up with on my own. It's common community knowledge.
 
I feel I need to fill in a bit here as this is rather misleading. It's not the full kind of emulation we are seeing on PC. According to their website they are basically using what is known as HLE or High Level Emulation.

See most emulators use LLE or Low Level Emulation, which is the process of creating software that mimics the functionality of hardware. The major downside of LLE is it requires significantly more powerful hardware to run than what you are trying to emulate. But iut has the positive of being much more accurate.

However if you read their website (which it seems nobody did) they clearly state they are 'translating" them on a software level which is basically what HLE is. HLE instead of mimicking the original hardware is basically translating the instruction sets to something that the new hardware can understand. This results in less accurate emulation and requires a lot more game specific work but takes significantly less processing power.

And for those who want proof... they quite literally say it on their website and go rather in-depth on the topic:
https://www.nintendo.com/us/whatsnew/ask-the-developer-vol-16-nintendo-switch-2-part-4/

View attachment 497198View attachment 497199
While im pretty well educated in this kind of thing im not educated on LLE s well as HLE however i know it's often used when talking about N64 emulation, is it like a different kind of emulation sorta like how, hypervisors, etc are different from an emulator? im asking purely for curiosity because ive never looked into this kind of thing
 
While im pretty well educated in this kind of thing im not educated on LLE s well as HLE however i know it's often used when talking about N64 emulation, is it like a different kind of emulation sorta like how, hypervisors, etc are different from an emulator? im asking purely for curiosity because ive never looked into this kind of thing
Truthfully calling it high-level emulation isn't even a great term for it it's just the term that was given to it. Technically you aren't emulating anything. You are just live translating instructions for one system into something another can understand. This is identical to how things like Proton/Wine work or another major example how the PS4 to PS5 compatibility works. Though the origin of the term HLE I believe dates back to 1999 with the release of UltraHLE a very short lived N64 emulator.
 
Wii had native GC support. Wii U had a Wii inside for native support
They had native support because the hardware needed to run them was there. The Wii had GC's CPU and an upgraded GPU still capable of handling GC's scenario. The Wii U had a tri-core CPU that was compatible as Wii's CPU (using one core of course), and it technically had 2 GPUS. The one for Wii U's native mode handling programmable shaders, and the other that was taken from Wii. This is generally how BC was handled with their portable line, though with that, the use of the predecessor chips also acted as co-processors for the native modes. The DS, for instance, used the GBA's CPU, clocked as 2x, handled DS's audio processing, WiFi processing, some of the inputs, etc.

The Switch 2 is not using any of Switch's chips. The CPU, for what is known, is very likely 100% compatible thanks to ARM's design of having architectural profiles starting at ARMv7, allowing CPUs that followed to run code natively down to that same ARMv7, albeit requiring certain things for full support, like having 32-bit mode to run 32-bit code. Switch is ARMv8. Switch 2 is likely ARMv8 with some additional extensions. 3DS is ARMv6, making it not possible to run that code natively from either Switch or Switch 2.

The GPU on the other hand is the puzzle. Unlike AMD that typically tries to support older architectures for a few generations in terms of instructions and shaders, Nvidia does not. It's estimated that Ampere used in Switch 2 has only about 75% compatibility with Maxwell used in Switch in terms of instructions. A translation layer could handle that most likely. Shaders, on the other hand, are completely incompatible because of Nvidia's design and the shaders being pre-compiled binaries like how it is with all consoles using shaders. This probably requires emulation, but a direct kind. With emulators on PC, handling shaders requires decompiling the binaries into a form that can then be recompiled with the PC's GPU drivers. This allows numerous configurations to handle the shaders in their own way. But Switch to Switch 2 doesn't need to make that many steps. It's one to one, not one to many. They don't need to worry about any other configuration than what Switch 2 has. So it could be closer to a direct translation.
Post automatically merged:

Okay, wow. No. the 3DS absolutely did NOT run GBA games 'natively', not even the DS Lite did. The 3DS used a SoC that had 2 processor cores: one was ARM9, and the other was ARM7. The DS/DS Lite/DSi used a similar setup that involved ARM7 and ARM5, and the GBA used ARM5 and ARM3. These 4 cores used entirely different instruction sets, and were night and day. The DSi's ARM7 and the 3DS' ARM7 were not exactly identical. The DS Lite/DS's ARM7 and the DSi's ARM7 were slightly different. The DS's emulated ARM5 BIOS was not the exact same as the GBA's ARM5 BIOS. The DS/DS Lite/DSi used a compatibility layer for the ARM5 BIOS in the GBA, and used a heavily-modified ARM3 BIOS file for the ARM3 portion. DS mode firmware on the 3DS, TWLFIRM, was inaccessible from within 3ds software without exploits, so the GBA games used a special emulated GBA, called AGB_FIRM, which could actually be launched via special software. The DS Lite used a compatibility layer for the ARM3 BIOS as well, and used the DS Lite's ARM5 BIOS for the GBA cartridges' ARM5 functionality. Wow, a lot of people on here are spouting nonsense. I hate that.
Um, the GB/C use a Sharp SM83. The GBA adds an ARM7 (ARM7TDMI to be exact) to that for its main processor, using what the GB/C had for its 4 channel sound generators (outside of GBA's 2 8-bit DACs) as well as for GB/C BC. The DS removes the SM83, and used an ARM9 (ARM946E-S) as the main processor with the ARM7 (at 2x the clock) as a co-processor to also handle audio processing, WiFi, and a few other things, besides being clocked back down for GBA BC. The 3DS added an ARM11 (ARM11MPCore) on top of all that, using the ARM9 for the filesystem and various encryption stuff. DS games on the 3DS are using the ARM9 + ARM7. GBA games on the 3DS are using that ARM7.
 
Last edited by DiscostewSM,
  • Like
Reactions: SMNFXCN and Flame
Truthfully calling it high-level emulation isn't even a great term for it it's just the term that was given to it. Technically you aren't emulating anything. You are just live translating instructions for one system into something another can understand. This is identical to how things like Proton/Wine work or another major example how the PS4 to PS5 compatibility works. Though the origin of the term HLE I believe dates back to 1999 with the release of UltraHLE a very short lived N64 emulator.
thank you for educating me on this, i remember ultraHLE it was pretty impressive for the time
 
  • Like
Reactions: RyanTheArchivist
Yeah, Modern Vintage Gamer did a video on it, it will likely use an abstraction or "translation" layer and real-time recompiling to get the job done.
I wouldn't even say recompilation is required because, to my knowledge and as I noted earlier, that requires a step of decompilation before compiling again. This is something done with emulators on PC because of the vast range of configurations having different architectures, using their own drivers to handle that compilation, but with going strictly from Switch to Switch 2, it is much more <<brings hand ups before lowering them forward>> direct in translation.
 
Yeah, Modern Vintage Gamer did a video on it, it will likely use an abstraction or "translation" layer and real-time recompiling to get the job done.
I still hate that he referred to it as emulation when literally nobody refers to a translation layer as emulation.
 
  • Like
Reactions: Tigran
I wouldn't even say recompilation is required because, to my knowledge and as I noted earlier, that requires a step of decompilation before compiling again. This is something done with emulators on PC because of the vast range of configurations having different architectures, using their own drivers to handle that compilation, but with going strictly from Switch to Switch 2, it is much more <<brings hand ups before lowering them forward>> direct in translation.
Well I'm by no means an expert, but I know that the two SoCs are not binary compatible, so there's definitely going to be some kind of low-level tech going on to keep performance going strong in Switch 1 games.
 

Site & Scene News

Popular threads in this forum