Intel 8080 Emulator. 19th IOCCC. Best of Show.
owl writes:
https://nanochess.org/emulator.html
After winning the IOCCC for the first time, I had the idea of writing an emulator of the 8080 processor in 2000 characters of C, after patterning experimentally the more than 200 instructions and doing measures of byte count, I realized that it was possible and I made it. Then I added CP/M support as a extra feature. I was completely astonished when I won Best of Show of 19th IOCCC :).
[...] This emulator was developed eighteen years ago when the computers had 32-bit processors and it used a hole in the C language syntax where you could pass a pointer on an integer. In fact, this is the IOCCC objective: make C compilers to do things these shouldn't be supposed to do.
However, the C compilers for 64-bit processors don't allow it any more as pointers are 64-bit and the int types are 32-bit, so compilers stop with an error (especially in macOS because clang).
Read more of this story at SoylentNews.