NES Emulator on the UEFI Shell Running Super Mario Bros [video]
youtube.com
youtube.com
I used EDK II framework. About the keyboard input, Program reads the value from 0x60 port directly because of multi-key input processing. I measure the timer count twice(for 1sec) by using the rdtsc instruction to make game delay more accurate. I didn't implement the audio output.
One can read in the video that it's a port of MoarNES: https://moarnes.sourceforge.io/ (0.13.8.21 alpha).
You might also be interested in:
-- CHIP-8 Emulator for UEFI: https://github.com/Openwide-Ingenierie/CHIP-8-UEFI
-- Implementing UEFI Boot to Zork: https://mjg59.dreamwidth.org/27881.html
-- Flappy Bird UEFI (there's also a video of a Street Fighter 2-like game demo there): https://github.com/hymen81/UEFI-Game-FlappyBirdy
-- Firmware Security blog UEFI games posts: https://firmwaresecurity.com/tag/game/
This would be awesome.
Other than that, neat, and good news that UEFI is programmable like that!
Doing this in BIOS would require you to implement a lot more from bottom up.
Now that EFI on the cheapest Staples' laptop is 10x more capable then the most expensive personal computer of 1999, this is not only possible but easy and helped by ton of EFI libraries.
I played it on the VMWARE too