86box seems to fall back to 8088 decoding for V20 illegal operations. That means it executes POP CS.
I can just detect that and print '86box detected' which is appropriately snarky
86box seems to fall back to 8088 decoding for V20 illegal operations. That means it executes POP CS.
I can just detect that and print '86box detected' which is appropriately snarky
LOGON SYSTEM, a demogroup for the Amstrad CPC, has this cheeky thing where they greet the name of the emulator the demo is running in.
I've always wanted to do something like that; it would be fairly straightforward to generate some kind of 'fingerprint hash' of edge-case CPU and hardware behavior that uniquely identified a given emulator.
of course the goal would be to make my emulators undetectable by having the same hash as hardware...
Just having a little fun. I'm friends with the 86box project. They're more than welcome to incorporate these new microcode cores.
As an interesting bit of trivia, 86box's 8088 core is currently an amalgamation of code from reenigne's original, non-microcoded XTCE, and bus logic from MartyPC.
So we'll work together to integrate the new microcode cores.
i have a prefetch queue measurement at the start of this utility to detect between an 8088 and 8086 and between a V20 and V30 because they have 4 byte and 6 byte queues, respectively.
Many emulators don't even emulate the prefetch queue at all; so we can just print (likely sloppy emulator?)
DosBox-X fails to calculate the undefined flags for MUL, so we can detect that