A bootable NES Emulator running on UEFI
NesUEFI is a NES Emulator running without an operating system directly on Unified Extensible Firmware Interface (UEFI). Simply place NesUEFI and nes roms in a pendrive and play. NesUEFI file browser will show the available roms. The core drivers (Graphics, File System, Timer) are written in c using GNU-EFI and the emulator part is a port of LiteNES. Adafruit GFX Graphics Library is ported for GNU-EFI ecosystem in C for high level graphics operations and text rendering.
Go to gnu-efi source folder
make
make install
Here is a guide you can follow for more details on how to compile and run gnu-efi applications.
Change the following macros in makefile to locate GNU-EFI libraries and headers installed on the previous step.
INCDIR = /usr/local/include
LIBDIR = /usr/local/lib
EFILIB = /usr/local/lib
To run the compiled application in qemu we need OVMF for UEFI emulation. OVMF is a port of Intel's tianocore firmware to the qemu virtual machine.
OVMF_DIR = ../OVMF
Change OVMF_DIR directory in the makefile.
Add your roms here in the makefile to write it to your image. For example : test_1.nes, test_2.nes
mcopy -i $(IMAGE).img splash.bmp ::
# Add your roms here
mcopy -i $(IMAGE).img test_1.nes ::
mcopy -i $(IMAGE).img test_2.nes ::
make img
make run
Do at your own risk. Under no circumstances shall the author be liable for any damage. Technically NesUEFI should not mess with your system. But you should at least know what you are doing.
Watch on Youtube : https://www.youtube.com/watch?v=-Juc1LT7Xls
NesUEFI Key | Keyboard Key |
---|---|
Up | W |
Down | S |
Left | A |
Right | D |
Select | U |
Start | I |
A | K |
B | J |
Reload | R |
Below games are currently tested on real hardware. But NesUEFI is not only limited to these games. It should technically run all the classic roms that use mapper 0. Here is a list of mapper 0 games.
Licensed under the MIT License.