don't click here

Best complete resource on Genesis programming for complete beginners?

Discussion in 'Technical Discussion' started by chilistudios, Jul 4, 2024.

  1. I've been fiddling around with EASy68k as of recently. I still feel like I'm missing a hefty sum of information. I do know about MarkeyJester's wonderful tutorial site, but it's unfinished. I found this pdf of an old book on 68000 programming, but it's clearly meant for a completely different assembler. I know about 68k.hax.com, but it really expects you to know a lot about computer science before reading. Is there anywhere else a beginner can learn about the 68000?
     
  2. MarkeyJester

    MarkeyJester

    Original, No substitute Resident Jester
    2,258
    527
    93
    Japan
    I think what you're missing is; how to get stuff done using it.

    You don't get taught this because it's not exclusively to do with the 68k, this is a separate learning curve and is generic and covers most languages at once... If you know one assembly language, you know them all, because the same working logic is used.

    I think the best option for you, is to download one of the multiple Sonic disassemblies we have on our wiki or git, open up the source file in a text editor, dive in and make changes, and build the ROM and see those changes straight away. I suggest simple changes at first, such as monitor contents, for example, the 10 ring monitor, change the number of rings it gives you, change the sound effect is plays, stuff like that. (I would even suggest using one of the older disassemblies which don't use macros heavily, just so you can see the raw instructions as-is and pick up how they work directly).

    The purpose of this is not to get you into Sonic hacking, I mean, you needn't make a hack project out of it, it's just to broaden your mind with real life examples of how you'd go about using the 68k to do various things from a mathematical point of view. You can walk away from it with useful info.
     
    • Agree Agree x 5
    • Like Like x 2
    • List
  3. Cooljerk

    Cooljerk

    Professional Electromancer Oldbie
    4,982
    644
    93
    MJ's tutorials for 68k are some of the best around at the very basics, but as they themselves noted, it doesn't actually teach you how to build anything. It's merely teaching you the basic rules of assembler syntax and a few commands. You need a tutorial that works towards building something showing you every step of the way. For that purpose, this is the Single best 68000 tutorial around:



    It's written by a long-time amiga demoscener as a tutorial for developing your own 68000 demo for the Amiga, step by step, in the actual assembler itself. You need a copy of WinUAE to run the Amiga development environment, along with the AsmONE adf disk image to pop into WinUAE to run the assembler. You need a copy of Kickstart, the Amiga "BIOS" which you can legally purchase at Amiga Forever in the Value pack for $20 (although Kickstart rom images are also floating around illegally on the web). You'd also need a Memory Map of the Amiga so the random communication addresses they throw around in the Scoopex video makes sense.

    The Amiga isn't the Genesis, but they are ultimately very similar. The Amiga's video hardware in particular is the most different part of the machine, but with both the Amiga and Sega Genesis, you largely communicate with the video hardware through comm address ports, so the process is similar. The Amiga Demo tutorials will definitely teach you 68000 in a way that's very useful to Mega Drive programming, however. Once you know 68000 programming on one machine, outside of the memory specific layout, basically the rest of the knowledge translates to other 68000 machines.

    All that said, when you're dealing with microprocessor assembly, you definitely do need to know the basics of Comp Sci because you're working at the lowest level. A good grasp of how things work deep underneath is very useful, like how a Stack works, and how to pass parameters to stuff on the stack, or how things like various sorting types work and their advantages, or how boolean algebra works and logic gates are used. These are all basic comp sci questions you'd plow through in an early CS degree at at a university, and you'll use that knowledge frequently in assembly programming.

    For more Mega Drive related development, BigEvilCorp has a series of tutorials on getting your assembler source setup to run on a Mega Drive itself, which MJ's tutorial doesn't really cover. Be aware there are a few inaccuracies in BigEvilCorp's tutorial.

    Sik's PlutieDev website is also great for Mega Drive specific 68000 stuff. It walks you through MD specific common tasks you might need, like how to properly poll a 6-button Sega pad, or how to use the Mouse.

    Like MJ said above, the trick is to use your knowledge to do something, build something. Just rote knowledge of the opcodes isn't enough. If you don't use them, you'll forget them, or never grok the relationship parts of programs have. You gotta put the rubber to the road at some point.
     
    Last edited: Jul 4, 2024
  4. Asagoth

    Asagoth

    Behold! The mighty, the flawless, salted cod eater Member
    646
    203
    43
    Portugal
    wiki stuff... and a beer... or two... or more...
    Dear Retro administrators... why the hell hasn't @Cooljerk been promoted to Tech Member yet?
     
  5. Cooljerk

    Cooljerk

    Professional Electromancer Oldbie
    4,982
    644
    93
    I'd rather be an oldbie tbh
     
  6. nineko

    nineko

    I am the Holy Cat Tech Member
    6,386
    537
    93
    italy
    You can be a Tech Member and an Oldbie at the same time, it's just that only one label can be displayed (and I think you can tell the admins which one you prefer, though I don't really know since I'm not an Oldbie).

    To be honest, I indeed thought about nominating you for Tech Membership, but I didn't for this very reason, e.g. I assumed you already were (an invisible) one.
     
  7. Cooljerk

    Cooljerk

    Professional Electromancer Oldbie
    4,982
    644
    93
    I guess that's not so bad then, I just really like having been here so early. Been posting around the scene since 97, there are a few members here Ive been talking to for almost 30 years now. Like the slogan says, it takes ages.