A NES Emulator written in Emacs Lisp running in Emacs
NOTE: this is based on the original work of https://github.com/gongo/emacs-nes
It's not intended to be used yet (too buggy, too slow) but if you want, in a recent version of Emacs (I will be more precise in the future when we will have tests) do one of the following
(use-package emacs-nes
:straight (:host github
:repo "gabrielelana/emacs-nes"
:files ("*.el")))
Copy all *.el
files in the top level directory of this repository somewhere on
the load path
It's not intended to be used yet (too buggy, too slow) but if you want, in a recent version of Emacs (I will be more precise in the future when we will have tests) follow this steps:
- Install retro.el
- Install the code in this repository, see Install
- Execute
nes
command then select on your file system the NES ROM you want to run
Everything started when I wanted (for no reason) to play dino race in Emacs, this led to retro.el a render and (primitive) game engine written in Emacs Lisp and running in Emacs capable of reaching ~30fps for a VGA resolution (640x480).
Pumped for the achievement I wanted to do more and searched the internet for inspiration, emulation seemed a good fit and I came across a NES emulator already written in Emacs Lisp which was already capable of running "Super Mario Bros" with a few glitches but was extremely slow.
I was able to integrate retro.el and obtained a significant (10x) speed up but it wasn't enough to make it playable.
Then the journey begun to make it as correct and performant as possible.
If you like this project, then consider to: