

It would be theoretically possible to reverse engineer the bytecode used by the GameMaker Runner and create an implementation of it for the 3DS, but that would be a large task indeed. The problem is when it comes to 3DS, that there is no GameMaker Runner. Similarly to the ".jar" files used by Java, which can (usually) run on any operating system supported by Java, this bytecode can run on any platform the GameMaker Runner supports and Undertale has already been ported, completely unofficially, to Android and Linux in this way (as the GameMaker Runner exists on both platforms). However, instead of code designed to run directly for a specific operating system, the code inside the data.win file is bytecode. Inside this data.win file is contained the various sprites, sound effects and other assets used by the game, as well as the code used to run the game. What this runner does is look for a file named "data.win" (or "game.ios" for the Mac version).

The UNDERTALE.exe file that you use to run the is actually another program named the "GameMaker Runner", with the icon changed to the Undertale icon and the exe renamed. All of you saying how Undertale is compiled as an Win32 executable and thus can't be run on the 3DS are half-right and half-wrong.
