I've been considering developing a small game for my Sega Megadrive, but I'm aware that I'll need to do some low-level programming due to its limitations. High-level languages like Python seem unsuitable for this task. Are Assembly or C good choices for a beginner wanting to work on 1980s hardware, or would it be better to learn a higher-level language first? Is starting on such old hardware a wise decision for someone who's just starting out?
4 Answers
If you're keen on learning Assembly, I'd suggest starting with programs like Pico-8 to get comfortable with the concepts. Transitioning to 16-bit 68000 Assembly for the Sega Megadrive should feel seamless after that. However, C is perfectly capable on the Megadrive, and you'll find that it opens up more opportunities for you in the long run!
I started programming in Assembly on the old 8086 chip back in the late '80s and then shifted to C. Trust me, if you get comfortable with Assembly, C will be much easier to grasp, especially when it comes to understanding pointers and references. It's a solid path to take for sure!
It really depends on how you look at it. Low-level languages can be tough since they're missing a lot of the conveniences that come with high-level languages like lists or automatic memory management. However, they do offer a streamlined understanding of the core concepts of programming. C, for instance, is small and straightforward, which can be a huge plus for focused learning!
Honestly, 1980s hardware is perfect for learning Assembly and C. Their simplicity allows you to grasp the fundamental concepts easily. Once you dive into Assembly, you'll naturally get the hang of C, especially with those pointers. Just choose a platform like the 6502 or 68000, and you'll learn a lot!

That's awesome to hear! I might start with some basic code in a higher-level language and then shift into Assembly once I get a feel for it.