The Game Boy has an interrupt that can fire when a button changes from not pressed to pressed. This interrupt can fire at any time in the frame: top, middle, bottom, or in the vertical blanking between frames. A program can see exactly when the interrupt fired by inspecting a hardware register called LY, which presumably stands for LCD Y Position. For instance, it could wait for a press at the title screen and then seed a random number generator from LY.
But simple emulators always fire the joypad interrupt at the same time each frame, such as the start or end of vertical blanking. The lack of variance in LY is telling about whether an emulator was used; hence the name.
How to use
Starting at the title screen, press all four directions on the Control Pad and all four buttons (A, B, Select, and Start), one after another in any order. The arrow at the right side tells exactly when, relative to the LCD frame, your button changed from not pressed to pressed. Once you have pressed all eight keys, a screen for passing or failing appears.
- Game Boy (DMG), Game Boy Color (CGB): Pass
- Game Boy Player (DOL-017): Pass
- BGB 1.5.7: Pass
- mGBA 0.8-5388-f92059be: Fail (though replies to issue #1232 dispute whether it's a bug at all)