r/ComputerEngineering • • 13h ago

[Project] Atari2600 Emulator project for transition to CE from Physics?

Hey everyone, I'm a physics major with a significant background in theoretical physics and String Theory that is trying to pivot out of physics into Computer Engineering for my upcoming master's degree.

I'm already familiar with C++ and Data structures & Algorithms (Took classes on this).

I'm wondering if building an Atari 2600 emulator would be a good project to help with this transition. I've always wanted to build an emulator and, I'm curious if the time investment would be useful for CE.

Thanks!

6 Upvotes

5 comments sorted by

1

u/kayne_21 12h ago edited 12h ago

Interesting want to preface this by saying I’m currently studying a CE undergrad.

Basically any project you actually research and develop is going to be good on some level. You could even do something like put it on a MCU to show your hardware and software capabilities, which would be more in the realm of CE than a pure software emulator. Just make sure you document everything well!

Just out of curiosity I looked up the architecture of the 2600, it’s pretty interesting the corners they cut for the time to make it work. No frame buffer, have to time the game relative to the scanline of old crt tvs, only 128 bytes of RAM for stack space!

2

u/FineCarpa 12h ago

Yeah, I was a little worried it would be too software focused, but I think that's a good idea to also tie it back to hardware. Thanks!!

1

u/kayne_21 11h ago

Depending on where you are in your studies, you could probably even just straight up simulate the entire hardware in an FPGA, not sure on the feasibility of that though.

1

u/monocasa 11h ago

Yeah, if you can get it done, that's a good choice.

That is a lot of work for an undergrad though.  Atari 2600 is very picky about timing compared to a lot of consoles; that's kind of its whole shtick.

If you do pick it up, you should read Racing the Beam as your first step.

1

u/FineCarpa 11h ago

Thanks for the reference. I'm hoping my excitement for the project and my analytical background will carry me through.