Login
You're viewing the discuss.systems public feed.
  • Oct 13, 2026, 8:14 PM

    Using an idea from dreNorteR i'm writing a program that will detect if you're running on an emulator with a V20 or actual hardware (at least, any emulator that isn't emulating the V20 microcode).

    If I wanted to be evil I could submit it as a bug report

    #retrocomputing

    💬 1🔄 0⭐ 0

Replies

  • Oct 13, 2026, 8:33 PM

    someone should make an interposer board that lets you stick a V20 and an 8088 in your PC and switch between them with a physical switch or something

    💬 2🔄 0⭐ 0
  • Oct 16, 2026, 4:30 PM

    okay the evil test program lives.

    Both the 8088 and V20 leak the value of temporary registers via invalid instruction forms, which is not something you can (easily) emulate in a non-microcode emulator.

    #retrocomputing #emulation

    a screenshot of GloriousCow's 'cpucheck.com' running on an IBM 5150 with a V20, showing successful detection of microcode temporary register leaks.  "NEC V20 microcode execution detected" has been printed, and then returned to the A:\> prompt.
    💬 1🔄 2⭐ 2
  • Oct 16, 2026, 4:35 PM

    If you wanted to be an evil bastard you could use this in a demo.

    💬 1🔄 0⭐ 0
  • 💬 1🔄 0⭐ 0
  • Oct 16, 2026, 4:53 PM

    XTCE-Blue ain't bothered.

    The real challenge will be to make this not just crash on other emulators, because I want to print a failure message to really rub it in.

    'cpucheck' running in XTCE-Blue, showing 8088 microcode execution detected
    'cpucheck' running in XTCE-Blue, showing NEC V20 microcode execution detected
    💬 1🔄 0⭐ 0
  • Oct 16, 2026, 5:19 PM

    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

    💬 1🔄 0⭐ 0
  • Oct 16, 2026, 5:22 PM

    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.

    💬 1🔄 0⭐ 0
  • Oct 16, 2026, 5:24 PM

    of course the goal would be to make my emulators undetectable by having the same hash as hardware...

    💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0