My favorite technology in this project is CLion and C++ due to it being the technology I first started on when introduced to computer science years ago. It has memory control that makes it possible for our NES emulator to function.
While simple and easy to use, Github was another great technology that I had to spend a little time learning due to the small amount of time I have used it in the past. Managing multiple branches at once can be quite difficult and challenging when it comes to merging conflicts, but thankfully, my team and I are able to resolve them quickly.
One of the aspects I had a challenge learning was 6502 CPU opcodes and implementing them. I had never done anything similar to opcodes so it took me a long time to learn at first, but I am glad I have my team to help and review with.
If I could, I would change my technology for CPU testing as my tests can take a long time to run on my local machine. However, perhaps if I configure my setup and consult my team, there may be a better solution for the lengthy tests. Thankfully, our CPU implementation is done, so I can focus on testing the PPU instead.
CLion is my development environment of choice now that I have been introduced to it. It is a powerful environment that is simple to use and supports other technologies such as version control and GitHub. That makes it perfect for our project. Developing an NES emulator has been challenging, but I have my team to thank for the progress we have made so far. They have really opened my eyes when it comes to working on large codebase projects as a team.