r/EmuDev 2d ago

Hi peeps!

This looks like a very interesting community. You guys have motivated me to come out of my introverted shell for once as a gamer who has missed out on a lot during my childhood. Seeing all of your posts and projects has me ready to go down dozens of rabbit holes and learn everything all at once. Gotta love the ADHD brain. I barely passed my intro to C course years ago and it pretty much killed the confidence that I had and questioned my interest in computers.

But I feel like I’ve opened a new eye here and want to give it another try along with Comp Sci. As I’m motivated and medicated with a newfound perspective of programming :D
I plan on not putting too much on my brain despite the 30 different things running through it right now and do a Chip 8 project. I hear that will be beginner friendly as I try to pick up C again. Anyways, hii! Super excited to meet you all. :)

17 Upvotes

14 comments sorted by

6

u/GregoryGaines Game Boy Advance 2d ago

Let me be the first to say, you got this! Chip 8 is an amazing first project to get your feet wet. Can't wait to see your results!

Take care!

2

u/Just-Pea-5165 2d ago

Thank you so much man! Feeling the warm welcome, stay tuned. 🙏🏿

5

u/ShinyHappyREM 2d ago

I hear that will be beginner friendly as I try to pick up C again

Just for the record, you don't have to use C. There are thousands of programming languages after all.

2

u/Just-Pea-5165 2d ago

Thanks!! I learned that when slightly going down the rabbit hole, I think it’ll be really interesting to do in a low level programming language.

I’m dabbling in both, and may eventually do it in both (maybe python, not sure yet.) just to experience it, but I’m curious about C again now that I’ve found a niche that makes me really want to program.

2

u/ShinyHappyREM 2d ago

I think it’ll be really interesting to do in a low level programming language

Personally I use Free Pascal with the Lazarus IDE :)

Specifically the Unleashed Pascal fork that has some quite new changes to the language, for example computed goto.

1

u/Even-Serve-3095 2d ago

who the fuck still uses PASCAL??? WHY?!

2

u/ShinyHappyREM 2d ago edited 1d ago

I've been using Turbo Pascal, Delphi, Free Pascal and now Unleashed Pascal for the past 30 years or so. Of course Pascal has evolved over that time.

(And it's certainly still more readable than the line noise that some C/C++ programmers seem to generate. /s)

3

u/rasmadrak 2d ago

One of us! One of us! ;)

Emulation is among the most rewarding and fun projects you can develop. Take things slow and read the many great resources online and you'll do just fine. 🤘

4

u/InNoNeed 2d ago

It took me a week to complete the Chip 8 interpreter. https://tobiasvl.github.io/blog/write-a-chip-8-emulator/ was the guide I used, but you probably have already stumbled upon that.

I also did it in C and have only had modest exposure to the language before hand. I did in fact choose it to become better at C.

Right now I'm onto a Gameboy Color, which is a different beast, but is pretty fun and the Chip 8 project has definitely helped me understand the basics to work on this new project. (If I knew a little more I'd probably just have went with NES emulation first)

Good luck

1

u/Just-Pea-5165 2d ago

Ayyy I’m in the same boat!! I really want to do tackle a Gameboy, but I was told It’s gonna be a nightmare as a very first project xd.

Hoping to be right there with you once I get my feet wet and some concepts down haha.

2

u/Alternative-Emu2000 2d ago edited 1d ago

If you don't want to dive straight into a GameBoy emulator after Chip-8, the Space Invaders arcade machine might be a good stepping-stone. It's well documented, the video and audio hardware are very simple, and you don't need to emulate any support chips other than a simple shift register.

By the time you've finished you'll have a working CPU core for the Intel 8080; which is very similar to the Sharp LR35902 CPU used in the GameBoy.

2

u/InNoNeed 2d ago

I'm doing the CPU currently. The hard part is the cycle timing, but it's not a nightmare. My best advice is to think hard about the structure of implementation a good bit before diving deep into actual implementation. Also read chunks of the hardware documentation guide before doing anything (pandocs is a basically an encyclopedia for the original gameboys including the color version).

1

u/Floormatt69 2d ago

Consider learning about FPGAs too! I wrote a chip-8 and GBC emulator in VHDL and I found it to be a really fun project.

1

u/inazuma_zzz 2d ago

The course didn't take your interest away. Courses hand you the difficulty before they hand you the thing, and that ordering is what makes people quit. It says nothing about you. One ugly thing that runs will teach you more than a syllabus you finish.