Monday, 4 August 2014

Creating an NES Emulator From Scratch Part 0: The Start of an Adventure!

My next project is quite an ambitious one. My goal is to build an NES (Nintendo Entertainment System) emulator in either Java or C++ from scratch.

The reason for this is three-fold. Firstly I've been interested in retro games and emulators for a long time now. Secondly, for my first term of first year university I'm taking a C++ course and previous experience is recommended. I'm quite comfortable with programming in Java and I have some experience with C++ but I think learning through a project will provide a significant boost to my knowledge. Finally, a side project like this is very valuable to tell employers when applying for a job, and writing an emulator demonstrates understanding of both software (the programming of the emulator) and hardware (the details of the machine you are trying to emulate).

There is a fourth reason as well, though not as selfish of one. I want to try and inspire and teach anyone that wants to do this project as well, in a very comprehensive way. We can learn about this together, in essence.

I'm going to start by saying that I can't guarantee much. I have no idea how far I'll get on this before I run out of time due to school, or before I drop the project due to other reasons.
I also can't guarantee this emulator will be a polished and playable application. My main goal is to make something that works and if I have the time afterwards, improve on it.
In addition, I will not guarantee that as of any revision of any post that the information contained within is correct. Because I am writing as I am learning this, I may have misunderstood the content. If you spot mistake please comment! Otherwise at some point I'll end up figuring it out. Probably.

I will be starting my research soon. I'll post my findings and my sources on this blog. Once I start real programming I'll post it on my GitHub page as well.

I think this will be an exciting adventure!

No comments:

Post a Comment