Giter Site home page Giter Site logo

emacs-nes's Introduction

A NES Emulator

https://img.shields.io/badge/%E2%9D%A4%EF%B8%8F-open%20source%20saturday-F64060.svg

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

Install

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

Straight

(use-package emacs-nes
  :straight (:host github
             :repo "gabrielelana/emacs-nes"
             :files ("*.el")))

Manual

Copy all *.el files in the top level directory of this repository somewhere on the load path

Usage

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

History

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.

Self-Promotion

If you like this project, then consider to:

emacs-nes's People

Contributors

gabrielelana avatar gongo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.