Make FC(NES) Emulator Step by Step
Re: Simulation of red and white machines from scratch

Project description
Projects with VS2017 and CodeLite are also available to ensure successful compilation on different compilers.
License
- StepFC::StepX Each step, based on MIT, focuses on sharing code
- StepFC::StepFC Finished Emulator, based on GPLv2, focuses on executable binary files of the emulator itself
StepX List
- Step 0: Load the NES ROM file
- Reading files is preferred.
- But laying a solid foundation is also very important, interface is a good thing
- Step 1: Implement basic CPU read and write functions
- You need to understand the layout of the CPU address space
- Step 2: 6502 Compilation
- Debugging is an indispensable part of decomposition
- Step 3: Implement CPU instructions
- This step is bigger than before
- Implement all CPU instructions
- Step 4: Background Rendering
- Implement the first image display
- Step 5: Basic Input
- Implement standard dual handle input
- Step 6: Sprite Rendering
- Step 7: Implementing Medium Precision Synchronization
- Vertical synchronization based on primary violence
- Merge background with elves
- Step 8: Implementing Basic Audio Playback
- Use a terminal state machine to implement audio
- Step 9: Implement Mappper1234
- Mapper4 is mainly introduced because it will trigger IRQ
- Step A: Implement basic mixing
- Increase audio accuracy from 60Hz to 44.1kHz
- But the distance is still dozens of times smaller than 1.79MHz, and the road is still long
- Step B: Standardize archive reading
- Finally standardized storage files
- SL Dafa is good
- Step C: Video and playback
- Step D: Filters and Filters
- Make the user experience better
- FC even comes with its own filter
- Step E: Extended Audio
- Extended audio is also a highlight of FC
- NSF Exploration
- Audio visualization
- Step F: All become F
- Restart
- Extended input
- More precise simulation
- FDS BIOS
- More Mappers
- Game specialization
- Platform optimization
- network
- Graphical user interface
- NES debugging
- Cheater/Golden Finger
- All the above contents are discussed, and the contents are left blank