diff options
| author | vin <git@vineetk.net> | 2024-08-21 17:46:30 -0400 |
|---|---|---|
| committer | vin <git@vineetk.net> | 2024-08-21 17:46:30 -0400 |
| commit | 27b9d4c1206d2d6c10186359340570ba8fd5befb (patch) | |
| tree | 8c7e3098ce701d396f3331f8425c3edd39a3acc8 | |
| parent | 97332c8a381eb026c8009a32a75a423e9ba92993 (diff) | |
added snippet explaining the NES's 6502 variant and long-term goal for the project
| -rw-r--r-- | README.md | 14 |
1 files changed, 12 insertions, 2 deletions
| @@ -2,10 +2,20 @@ | |||
| 2 | A Nintendo Entertainment System (NES) emulator written for the purpose of | 2 | A Nintendo Entertainment System (NES) emulator written for the purpose of |
| 3 | understanding how the NES and similar 8-bit computers of that era worked. | 3 | understanding how the NES and similar 8-bit computers of that era worked. |
| 4 | 4 | ||
| 5 | Makes heavy use of https://www.nesdev.org/. | 5 | The NES used a variant of the MOS 6502 8-bit microcontroller called a |
| 6 | Ricoh 2A03 that contained the 6502 without the BCD mode for arithmetic, | ||
| 7 | an audio signal generator (APU), controlling the gamepads, and for DMA. | ||
| 8 | ([Source: NESdev](https://www.nesdev.org/wiki/DMA)) | ||
| 9 | |||
| 10 | A major goal for the emulator is finishing the software implementation | ||
| 11 | in C and later implement this in hardware with either an FPGA or another | ||
| 12 | CPU like a RISC-V. Later, I want to generalize the 2A03 simulator into | ||
| 13 | a full 6502 for use with a Commodore 64 and Apple II. | ||
| 14 | |||
| 15 | Makes heavy use of the [NESdev wiki](https://www.nesdev.org/wiki). | ||
| 6 | 16 | ||
| 7 | ## Current State | 17 | ## Current State |
| 8 | - [x] CPU (2A03/6502) | 18 | - [x] CPU (Ricoh 2A03, variant of MOS 6502) |
| 9 | - [ ] PPU (Graphics) | 19 | - [ ] PPU (Graphics) |
| 10 | - [ ] APU (Audio) | 20 | - [ ] APU (Audio) |
| 11 | 21 | ||
