Hello, I have been working on a Game Boy emulator in C for about 3 months now. This was my first largescale project in C, as before I did all my projects in C++ and really enjoy C++, specifically for graphics which is my other interest. However, having just graduated college and being more practical, my other passion is low level systems/computer architecture/embedded systems (I kind of lump them all together). Thinking that an emulator would be a good project, and deciding C would be a good language to do it in as I have a bit of exp (not near as much as C++) and is more useful in embedded which is a more practical career field than graphics and another one of my interests, i hit the ground running.
for about a month or 2 i did nothing but code on this emulator. Getting the instructions to execute correctly was my main thing at first, then setting up the bus, connecting the CPU and the Bus, and once I passed all of Blargg's test roms for almost all CPU instructions, I switched gears to the timers and interrupts so that I could pass test 02-interrupts, the only one that wasnt passing (because its timers and interrupts).
However, having feeling very accomplished already, I decided to take 2 weeks off before Halloween to play resident evil and chill and watch horror movies. The day after halloween I went to work and on my lunch break opened up my laptop to do some coding. But I just couldn't get anywhere! I was trying to remember what all my code was, and I guess I am just so used to programming in C++ where its easier to structure code with classes that I was just lost, even though my code honestly isn't that bad ( i dont think). Same thing the next day, and the next. 4 weeks later and I just cannot get anything done now and I have completely lost my momentum. I dont know if I am just really bad at structuring code in C or if this is normal in C, or if maybe im just at a very difficult part in the emulator (failing on HALT), but I have lost any and all momentum.
Anyways, here is the repo:
Arden-Stanley/game-boy-emulator: Implementation of my own GameBoy emulator
If anyone has any tips on how to prevent burnout or just how to do better with my structure in general, please let me know because I feel like im losing my mind.