Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Telling LYs GB: Difference between revisions

From GameBrew
(Created page with "{{Infobox GB Homebrews |title=Telling LYs? |image=tellinglysgb.png |description=A program to test a Game Boy emulator's input entropy. |author=Damian Yerrick |lastupdated=2018/11/11 |type=Test Roms |version=0.01 |format=DMG |license=zlib |download=https://dlhb.gamebrew.org/gbhomebrews/tellinglysgb.7z |website=https://forums.nesdev.org/viewtopic.php?t=18026 |source=https://forums.nesdev.org/viewtopic.php?t=18026 |donation= }} {{#seo: |title=GameBrew |title_mode=append |im...")
 
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 2: Line 2:
|title=Telling LYs?
|title=Telling LYs?
|image=tellinglysgb.png
|image=tellinglysgb.png
|description=A program to test a Game Boy emulator's input entropy.
|description=A program to test a Game Boy emulators input entropy.
|author=Damian Yerrick
|author=Damian Yerrick
|lastupdated=2018/11/11
|lastupdated=2018/11/11
|type=Test Roms
|type=Test Roms
|version=0.01
|version=0.01
|license=zlib
|format=DMG
|format=DMG
|license=zlib
|download=https://dlhb.gamebrew.org/gbhomebrews/tellinglys_0.01.zip
|download=https://dlhb.gamebrew.org/gbhomebrews/tellinglysgb.7z
|website=https://forums.nesdev.org/viewtopic.php?t=18026
|website=https://forums.nesdev.org/viewtopic.php?t=18026
|source=https://forums.nesdev.org/viewtopic.php?t=18026
|source=https://forums.nesdev.org/viewtopic.php?t=18026
|donation=
|donation=https://www.patreon.com/pineight
}}
}}
{{#seo:
{{#seo:

Latest revision as of 11:23, 30 July 2024

Telling LYs?
Tellinglysgb.png
General
AuthorDamian Yerrick
TypeTest Roms
Version0.01
Licensezlib
SystemDMG
Last Updated2018/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

tellinglysgb2.png tellinglysgb3.png

External links

Advertising: