Developing emulators
If you're new to software development, creating an emulator can be a daunting task. It requires a deep understanding of both hardware and software, as well as strong programming skills (most of the time, C and C++), so it may not be the best project to start with if you're just getting into coding.
Anyway, if you're still interested in developing emulators, well first of all you are kind of a masochist, but here are some resources to help you get started:
- https://retroarchemu.gitlab.io/home/developing-emulators/
- https://github.com/marethyu/awesome-emu-resources
- https://emudev.org/
Emulator development is a complex and challenging field, so don't be discouraged if you don't understand everything right away. Start with small projects, learn from existing emulators, and don't be afraid to ask for help from the community.
Here are some communities where you can connect with other emulator developers and enthusiasts:

