An attempt to code a NES emulator in BeefLang. Making each component of the NES independently.
6502-based CPU with no decimal mode (still programmed in to pass tests but disabled)
Memory mapper to handle memory mapping for different cartridges. Just implemented a basic memory mapper interface and created a 64kb memory array that implements it.
NES' PPU, responsible for rendering graphics. Just started.
NES' APU, responsible for generating audio.
I guess this goes with the memory mapper. Will work on it
Cartridge handling to load NES ROMs. Also think it's linked to the memory mapper.
Debugging tools to help with development.
| Component | Status | Notes |
|---|---|---|
| CPU | Finished | Independently tested with functional tests |
| Memory Mapper | Work in Progress (WIP) | Basic memory mapping implemented |
| PPU | Work In Progress (WIP) | Just started |
| APU | TODO | |
| Input Handling | TODO | |
| Cartridge Handling | TODO | |
| Debugging Tools | TODO |
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.