More actions
Telling LYs? | |
---|---|
General | |
Author | Damian Yerrick |
Type | Test Roms |
Version | 0.01 |
License | zlib |
System | DMG |
Last Updated | 2018/11/11 |
Links | |
Download | |
Website | |
Source | |
Support Author | |
This program tests a Game Boy emulator's input entropy.
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.
User guide
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.
Test results:
- 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).
Screenshots
External links
- Author's website - https://pineight.com/nes/
- NesDev forums - https://forums.nesdev.org/viewtopic.php?t=18026