3 ms·
its closer to a translator than an emulator
by ekianjo 14d ago
its closer to a translator than an emulator
- mitxela 14d agoWhat do you think an emulator is?
- MiroslavPokorny 14d agoA translater is a more accurate description of WINE. WINE literally translates API calls from the client program to the host OS.
- mitxela 13d agoWhat do you think an emulator is?
- MiroslavPokorny 13d agoFor me an emulator works to simulate the hardware which is very different from translating API calls. THe result may appear to be same, but the approach is very different.
- mitxela 12d agoWhy is hardware the only thing that can be emulated?
- rincebrain 14d agoI think in common usage, people expect an "emulator" to be a more sandboxed translation layer than Wine, for example, provides. e.g. it's probably a security vuln if loading a Game Boy ROM reads arbitrary paths on your local filesystem determined by the ROM's code, not so much with Wine. Someone made a cute demonstration that I think usefully encapsulates this a while ago. [1] [1] - https://gpfault.net/posts/drunk-exe.html https://gpfault.net/posts/drunk-exe.html
- mitxela 13d agoMostly because the Gameboy doesn't have any IO register to reformat your hard disk. If the emulator interpreted some instruction as reformatting your hard disk, that would be a bug because it's not interpreting it as whatever it actually does on a real Gameboy.
- ekianjo 12d agoan traditional emulator emulates all the hardware of the target machine. WINE does nothing of that.
- zbentley 11d ago“Emulator” is a term of art in this area which refers to emulation of a hardware (and usually machine instruction) environment. Ironically, “translation” (as in instruction translation), as proposed by a sibling comment, is an even more connoted-with-hardware-emulation term. WINE is … well, most directly it’s just an implementation of an API (the Windows APIs). In webdev parlance it might be called a “polyfill”. Perhaps a “compatibility shim”?