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
Your guy's thoughts on this?
lmfao.... they do not run on emulation...lmfao... more like they run by "spoofing" the hardware values to that of a switch 1.... the firmware/ecosystem/architecture is the very same though... it just uses updated hardware components... but the cpu is the same... its the same exact broadcomm cpu, only its the updated version and this time all 8 cpu cores are available are wired up and working, compared to the switch 1, which ACTUALLY had 8 cores... only nintendo had broadcomm essentially "shut off" one of the core clusters (the missing 4 cpu cores) and drastically underclock the core clock speeds (from the stock 1.5ghz clear down to the 750mhz range in handheld low power mode, boosting upwards of 1.1-1.2ghz in docked quality mode if running at 1080p 60fps target rate and you have manually overclocked the siwtch 1 with a moddded switch exploit payload/app... unmodded stock switch 1 consoles usually only ever hit 1ghz to maybe 1.1ghz despite being able to be overclocked if modded, higher, because of the thermal throttling profiiles nintendo has built in... thats also why they supposedly essentially shut down the four cpu cores, for thermal constraints.... but i mean phones handle much higher clock speeds (even at that point in time, when the switch 1 was being first developed and created) with less space and higher thermal restrictions than the switch 1 had... and the sad thing is, even if you were to be able to somehow hardware mod and soft mod the 4 shut off cores to be turned back on and included, it wouldn't work because the firmware is compiled and built to only utilize the four cores, even if 8 are available...yes the gpu was technically a bit beefier than other arm64 chips had at that time but it wasnt by THAT much...that tegra chip was actually ALSO used in the nvidia shield pro devices, i believe they still are... they just have less available memory and i believe a slight few less gpu/shader cores.
Anyays the point is, they run on the same system firmware... its just been updated for the switch 2.. there are device checks... thats what determines what the nintendo eshop uses to determine what games to show you and what games to mark as "available". The switch 2 simply spoofs its hardware values to access switch 1 eshop items and games... thats not emulation....lmfao
emulation is real time translation of native code to the host hardware architectures code... and emulation for device types on the same architecture type is still doing trasnlation because its working because people dont know how nintendo or the desired emulation target natively built their code base that works with diff hardware, so they use cross compilation methods (like jit) to turn that code (even though its still arm64 code) into something the unspoorted arm64 hardware can understand and use...
The second sexample i provided is similiar to for example, doing switch emulation on other arm64 android or ios/MacOs devices... technically, these devices still have the best emulation performance and performance per dollar/watt compared to x64 hardware... the performance hits you see is simply due to the fact that nintendo built the switch firmware to support essentially only its tegra/broadcom custom chips. And nivdia's drivers and programming/software isnt made available for the most part.. its closed source... so even though your phonemay be arm64 and spec/wise, way more powerful than the now very dated switch 1 hardware... its not going to run as well or as fast because the switch firmware wasnt built for snapdragon chips or dimensity chips or exynos chips, etc... they dont have built in driver support for it... and code cmpilation uses a different unavailble method, so we have to sitill transalte (emulate) everything in real time to make it work....there just is MUCH less translating to do compared to x64 hardware where essentially the ENITRE things needs ot be translated, not just specific things like drivers, the entire code base needs to be translated from the native arm64v8 base to the x64-x86 architecure base laguage.... which is why you can often find you can play certain titles on a android switch emulator just as well, if not sometimes better, thatthe VASTLY superior x64 hardware available on the market in terms of raw overall pwoer and performance... for example, i often found that in some titles (for example, Arceaus, Sword and Shield and Mario Odyssey for me) i found that i could play these titles on my samsung galaxy s23+ with a Adreno 740 gpu at higher frames and better quality than my desktop pc with 64gb of ddr4 3600 ram, a 16 core ryzen 3950x overclocked to 4.2ghz and a RTX 2060 Super GPU paired with a pcie gen 4 nvme drive.
Technically my pc blows my galaxy s23+ out of the water in term of pure performance/juice. 8 more cores, muhc higher overall core speeds. But the ram and the gpu and the nvme drive is where it really blows away the arm64 phone... essentially, the 2060 super is like 650% of what the adreno 74-0 is... is has like 1000% more cores, has expontentially more available memory/ram/vram (8 GB of dedidcated onboard ram vs like 650-850MB of SHARED cache space available for the adreno integrated gpu.) However, android gpu's render using diff methods than tradtional gpu's do.. they use was called tiling or tile presentation rendering. This allows the gpu to use/consume much less memory/ram and need far fewer cores to do so. But tiling doesnt work with tradtional x64/x86 based gpu's. So we have to again, do a workaround method to translate the code into something that the gpu can use..
But again, however, this is not the case for the new switch 2... You can also think of it kinda like how old armv7 devices worked versus (then) new armv8 devices... older armv7 armhf devices coouldn't run armv8 specific built software (althiouhg back then it was because armv7 was 32bit, armv8 jumoped up to 64 bit...armv9 is still 64 bit though) but armv8 hardware could run both arm64 and armhf software.....You could still download and usually "install arm64v8 stuff on armv7/armhf stuff, it usually just wouldn't run or launch or you would get a "unsupported device" error when trying to run the android app....
Its the same sort of things here... te switch 2 uses armv9 cores ad hardware... the switch 1 is armv8... so the switch 2 can run boith types of software, where the siwtch 1 can only run 1. Tahts not emulation... thats altering static values and has ZERO performance overhead..