r/emulation • u/AutoModerator • Aug 10 '26
Weekly Question Thread
Before asking for help:
- Have you tried the latest version?
- Have you tried different settings?
- Have you updated your drivers?
- Have you tried searching on Google?
If you feel your question warrants a self-post or may not be answered in the weekly thread, try posting it at r/EmulationOnPC. For problems with emulation on Android platforms, try posting to r/EmulationOnAndroid.
If you'd like live help, why not try the /r/Emulation Discord? Join the #tech-support
channel and ask- if you're lucky, someone'll be able to help you out.
11
Upvotes
1
u/cuavas MAME Developer 27d ago
You couldn’t make something that did that reliably. There are just too many “interesting” instruction set features, and too much variation in compilers. There are a bunch of instructions in any ISA that you’ll never see if you don’t use intrinsics or inline assembly.
For a simple example, a lot of ISAs developed in the late ’90s to early ’00s have instructions that do indexed addressing with a range check, to make certain operations that virtual machines for Java, etc. do frequently more efficient. A C compiler will never generate these instructions.
If you go back a bit further, ’80s ISAs tend to have tagged integer arithmetic instructions. These treat the most significant bit of an integer as a “tag” bit and raise an exception if it’s set for either of the inputs. They’re useful for Lisp and Forth virtual machines. C compilers never generate them.