Giter Site home page Giter Site logo

paulomigalmeida / manes Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 219 KB

MaNES is an experimental NES emulator written from scratch in Rust. Work in Progress for 2022

License: MIT License

Rust 99.78% CSS 0.22%
emulators nes rust 6502 6502-emulation

manes's Introduction

MaNES

Code Coverage Unit Tests

MaNES is an experimental NES emulator written from scratch in Rust. This is work in progress and I would expect something to have it "finalised" by the end of 2022.

What MaNES stands for?

I'm paying homage to my grandfather whose name is Manoel so "Mane" is the short version of it. In some contexts "Mane" is used as a derogatory term to indicate that someone is stupid.

My grandfather has always been my role model and extremely versatile. There is not a thing that he wasn't able to fix/amend due to his restless curiosity which is even more impressive when you take into account that his was pretty much illiterate.

Throughout his life, he managed to turn the word "Mane" into some sort of seal of quality for whatever he worked on. For instance, he would fix the car and proudly refer to himself as "Mane-Mechanic" with a big smile on his face.

He is pretty old now (83ish) and I would like to show him the "Mane Nintendo Entertainment System" to see him smile again with that joke :)

[Update: 05/06/2022] :: the doctor said his heart is very frail and that he could pass away at anytime now. Unfortunately, I don't think I will have enough time to finish this project before the worst happens... so I took the time to explain to him what this is and why I named it after him... I got the laugh I was looking for. That will live in my memory forever.

7724670e-c379-4557-9f53-9c2411c6f19e f7dbb2fc-d2e2-4557-aa73-28351546c692

Wishlist

To make sure I won't lose focus on what I want this emulator to be able to do, I decided to write a list of features that I want to implement in the short to medium term.

  • Emulate legal opcodes for the 6502
  • Create a ROM Disassembler (somewhat similar to what objdump does)
  • Create simplified GUI that contains the framebuffer and a RAM view
  • Implement 1 Mapper (the simplest one)
  • Write all above in Rust (that's the secondary goal for this winter project)

Stretch goals

Things that would be fantastic to have but I am not sure that I want to spend all that time

  • Implement most commons Mappers
  • Audio emulation

References

These are all the references that helped me a lot during the development of AlmeidaOS

Forums:

Books:

Dependencies

For Mac OS:

brew install gtk4

For Fedora:

sudo dnf install gtk4-devel

manes's People

Contributors

paulomigalmeida avatar

Stargazers

 avatar  avatar

Watchers

 avatar  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.