2 builds of an official Nintendo GameBoy emulator, found among Pokemon Gold/Silver/Crystal source leaked by an anonymous 4chan user on 25/04/2020.

Both builds display the same version number, and have very minor changes between the EXE files, no idea what differences are there though.

Normally system date must be set to 2001 for it to allow loading ROM files, but patched EXEs to allow using after any date are also provided in the "patched" folder of each build.
(the original ZIP files the emulators were found inside are also included for posterity)

The "supplementary" folder contains some files the emulator tries loading if they exist, these weren't originally included but were figured out by some 4chan users.
The files should be copied to the same folder as the GameBoy.exe:
- MobileAdapter.ini will allow the Mobile Adapter emulation option to be enabled, default settings are included inside the INI.
- The 22050_*.wav files should allow for the emulator to output sound, you'll have to open the emulator options and point it to the folder with the WAV files.
- GameBoy.ini is created by the emulator when it closes, the defaults are included here for anyone curious.

Controls:
- Arrow keys
- A = Enter
- B = Escape
- Start = CTRL
- Select = TAB

Enable MMTimer in the emulator options if you want the emulation to run at normal speed (you'll have to enable this each time you run the emu)

The 22050_*.wav files here were the closest I could get it to sound like the original, but maybe with some more experimenting it could be improved further.
It seems the more samples in the WAV, the higher pitch the sound output becomes, pretty strange.
I tried reversing the EXE but couldn't really make much sense of how the WAV values get used, maybe someone else will figure it out one day.

The patched EXEs just contain a single hex edit:

Offset 0x1475B
>original
E8 10 15 00 00
>patch to
B8 01 00 00 00

Now ROM files should load without any error messages.
This patch seems to edit the code so that the time-checking function is never ran, instead making the code think that the function call was successful.
(ie: call checkSystemTime -> mov eax, 1)
There's other patches that modify the time-check function itself, but IMO this is probably the cleaner option, only needing 3 bytes to be changed.