Hey everyone!
So, I got assigned the NES Emulator as my senior project. Honestly, this project is much different than what I expected, but I could not be more excited to work on this.
I knew the project would involve low-level architecture. I figured our group would be programming in a language like C or C++ and we are. However, I did not fully understand the idea of emulating another hardware. It takes so much more knowledge of the original hardware than I originally thought. I spent the first few weeks reading about NES architecture and watching videos on NES emulation. Funnily enough, many of these videos were simply there to teach you about NES architecture. Understanding the fundamental hardware components that make up a system is super important to being able to emulate the system, so I’ve learned.
For my project, I have mostly spent my time researching two major components of the NES, the CPU and the PPU. The CPU, an abbreviation for the Central Processing Unit, is a component that is responsible for processing commands and coordinating with other components. The PPU, an abbreviation for the Picture Processing Unit, is a component that is responsible for processing sprites and background images and displaying them to the screen. They’re both very complex components and I can’t say that I fully understand them, but I am beginning to see how they work. At first, everything was overwhelming. At this point, things are starting to make sense. My group is very supportive, and every individual seems committed to the task of building a NES emulator. Our group started off with a solid level of excitement and I feel like the group, going into the end of the first quarter, is still quite excited. This probably has a lot to do with the structure of the course that is guiding us.
Overall, the course has been great. At the end of the day, this class is more about the project and the experience gained from working in a team, rather than a grade. There is a lot of work to do, but I don’t ever feel stressed to get it done. This is partially because I’m excited to work on the project and learn the material, but also partially because of the structure of the course. Assignment deadlines are very helpful in keeping us on track but forgiving enough to not cause any problems within the group. I look forward to the next two terms of this course, with this project and my specific group.
I’m very excited to continue learning about the NES and emulation in general. I’m very excited to begin development of the emulator itself. I’m confident that we’ll get it done. This has been a majorly positive experience, and I can’t wait to see where it leads.
Thank you for reading my post! Catch ya next time.