krogenth / nes_emu Goto Github PK
View Code? Open in Web Editor NEWAn Open Source NES emulator using C++17
License: MIT License
An Open Source NES emulator using C++17
License: MIT License
Due to the way the NES handles games, each cartridge can have custom hardware, requiring code to handle each new hardware layout. Currently we have coded mappers 0 to 3, with only 0 and 1 having been tested in any capacity. Any cartridge layout which is not currently handled will error out. Thankfully, NesDev gives us details on various hardware layouts, found here.
Current listing of supported hardware layouts can be found here.
Various classes, primarily Cartridge and the Mappers, can potentially throw exceptions. In order to keep the program from exiting prematurely, we need to catch these exceptions, and handle them within the contexts they can happen.
Currently exceptions can be thrown during: cartridge loading, mapper selection, and when the CPU tries to access non-existent parts of the mapper through the cartridge.
We need to add an appveyor.yml file in the repo root directory for ci.appveyor to handle submodules when building.
NES controller emulation is currently hard coded at 1 controller and hard coded to specific key binds. We need to implement a second controller, and allow both to be either keyboard or joypad. If possible, use a configuration file to read what key maps to what input.
According to the instr_test_v5 suit, all tests should store the results at 0x6000, but results end up being output at 0x0700. Testing with official_only.nes and all_instrs.nes, both of which use Mapper001, output to the same section.
This is most likely a bug in how the windowing is performed.
Direct link to test suit: instr_test_v5
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.