I'm interested in learning Genesis programming...

Discussion in 'Technical Discussion' started by Melody the Sylveon, Nov 11, 2009.

  1. Melody the Sylveon

    Melody the Sylveon

    You're never too old to become your true self. Oldbie
    1,985
    61
    28
    healing
    Basically the title explains it all. Links to any good tutorials or documentations as well as compilers and that sort of thing would be really great. I've been looking to get into this for a while now and just haven't had the time to ask. Now's a good time as any, though.

    (Of course, I've also heard there's a C compiler for the Genesis. I'd be interested in that as well, since C is a language I'm much more familiar with. Of course if it's gimped (which it probably is) I'll just go right into ASM, but it's worth asking.)
     
  2. Chilly Willy

    Chilly Willy

    Tech Member
    746
    0
    0
    Doom 32X
    Start by heading over to SpritesMind and getting some tools and demos. Read some of the threads on the Genesis.

    <a href="http://gendev.spritesmind.net/forum/viewforum.php?f=7" target="_blank">http://gendev.spritesmind.net/forum/viewforum.php?f=7</a>

    You'll find Stef's Mini DevKit at the top of that forum.
     
  3. Herm the Germ

    Herm the Germ

    Hmm, not bad. Well done, doctor! Member
    1,482
    0
    0
    Dresden, Saxony, Germany
    MIDI-to-SMPS-conversions, mostly. Takin' requests, too.
    <a href="http://info.sonicretro.org/SCHG:Sonic_Community_Hacking_Guide" target="_blank">I always thought this was one of the main attractions of this site. :psyduck:</a>
     
  4. Melody the Sylveon

    Melody the Sylveon

    You're never too old to become your true self. Oldbie
    1,985
    61
    28
    healing
    <!--quoteo(post=372074:date=Nov 11 2009, 04:49 PM:name=Herm the Germ)--><div class='quotetop'>QUOTE (Herm the Germ @ Nov 11 2009, 04:49 PM) <a href="index.php?act=findpost&pid=372074">[​IMG]</a></div><div class='quotemain'><!--quotec--><a href="http://info.sonicretro.org/SCHG:Sonic_Community_Hacking_Guide" target="_blank">I always thought this was one of the main attractions of this site. :psyduck:</a><!--QuoteEnd--></div><!--QuoteEEnd-->I'm not interested in hacking. I'm interested in learning to program Genesis from scratch. Although that 68000 instruction set looks real handy.
     
  5. SegaLoco

    SegaLoco

    W)(at did you say? Misfit
    You and I have something in common. You need to talk to TmEE/Tiido, he is a fucking genius, I learned almost everything from him. Also, the official 68k PRM is nice to have around. Check here for it: <a href="http://segaloco.spinfxrocks.com/docs/" target="_blank">http://segaloco.spinfxrocks.com/docs/</a>
     
  6. RamiroR

    RamiroR

    Member
    355
    0
    16
    <!--quoteo(post=372233:date=Nov 12 2009, 02:06 AM:name=SegaLoco)--><div class='quotetop'>QUOTE (SegaLoco @ Nov 12 2009, 02:06 AM) <a href="index.php?act=findpost&pid=372233">[​IMG]</a></div><div class='quotemain'><!--quotec-->You and I have something in common. You need to talk to TmEE/Tiido, he is a fucking genius, I learned almost everything from him. Also, the official 68k PRM is nice to have around. Check here for it: <a href="http://segaloco.spinfxrocks.com/docs/" target="_blank">http://segaloco.spinfxrocks.com/docs/</a><!--QuoteEnd--></div><!--QuoteEEnd-->

    lol yeah. I learnt from him. Anyone else? :colbert:

    Though I could write a FAQ with stupid questions of things that always confuse you :A
     
  7. Andlabs

    Andlabs

    「いっきまーす」 Wiki Sysop
    2,175
    0
    0
    Writing my own MD/Genesis sound driver :D
    The primary problem with learning Genesis programming is that there is no unified tutorial or reference. The main Genesis developers of the Internet have resources that you need to combine together to form a starting path.

    As such, here are the resources I highly recommend you read up on.

    <a href="http://genny4ever.net/" target="_blank">Fonzie Voltonov</a> is a veteran of the Genesis programming scene, working on all three platforms (Genesis, Sega CD, 32X), including <a href="http://www.gooddealgames.com/Publishing_SegaCD_MightyMightyMissile.html" target="_blank">commercially released</a> <a href="http://piersolar.com/" target="_blank">games</a> and <a href="http://products.genny4ever.net/megacart_v1x.html" target="_blank">products</a> of the homebrew scene. <a href="http://genny4ever.net/index.php?page=docs" target="_blank">He has written several pieces of documentation</a> that come in very handy, mainly:<ul><li><a href="http://genny4ever.net/g4e_modules2/download.php?file=sega_md_prog_intro" target="_blank">his programming introduction</a>, which explains the general workings of the Genesis and its VDP,</li><li><a href="http://genny4ever.net/g4e_modules2/download.php?file=segamd_thevdpin16pics" target="_blank">"The VDP in 16 Pics"</a>, a description of how the VDP works and what it can do, and</li><li><a href="http://genny4ever.net/g4e_modules2/download.php?file=dev_related_chats" target="_blank">his dev related chats</a>, which are more geared toward the actual methods used.</li></ul><a href="http://devster.monkeeh.com/sega/basiegaxorz/" target="_blank">There's nothing wrong with starting out with the basics, so Devster (whose documentations and samples are more useful for 32X programming) has made a BASIC derivative for the Genesis.</a> <a href="http://gendev.spritesmind.net/page-tools.html" target="_blank">Of course, you can always start with C, and Kaneda has several C compilers to work with.</a> Keep in mind that most Genesis programming was done in assembly language, and hobbyists tend toward pure assembly as well.

    You can easily forget drx in the midst of his prototype releases. (To the rest of you: he's an awesome guy, get on #protos more often). Even though it's out of date (and I am considering updating it one day), <a href="http://www.hacking-cult.org/?r/18" target="_blank">his Hacking CulT website</a> contains a lot of more reference-related resources, including sample assembly code. <a href="http://www.hacking-cult.org/?r/18/30" target="_blank">Read the startup code</a>; it shows how most games start up.

    And of course, you also need official documentation:<ul><li><a href="http://nemesis.hacking-cult.org/MegaDrive/Documentation/GenesisSoftwareManual.pdf" target="_blank">The Genesis Software Manual, also known as sega2 or sega2f (don't worry, it's a technical difference)</a>. This is the definitive guide, outlining everything you need to know about how the Genesis and its hardware components work.</li><li><a href="http://www.freescale.com/files/archives/doc/ref_manual/M68000PRM.pdf" target="_blank">The Motorola 68000 family architecture reference manual</a>. Read this when you need to know about a specific detail about the processor. As an alternative, <a href="http://68k.hax.com/" target="_blank">here's a website that describes each opcode, separated into pages</a>.</li></ul>Until then, good luck with Genesis programming!
     
  8. TmEE

    TmEE

    Master of OPL3-SA2/3 Tech Member
    1,726
    0
    16
    Estonia, Rapla City
    T-04YBSC-A !
    Holy pooperscoopers, Fonzie's old docs are so fun to read, he was not too good with English in 2005 :P

    some highlights :
    <!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec-->A PSG76489 from Texas Instrument designed for garbage sound.<!--QuoteEnd--></div><!--QuoteEEnd-->
    <!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec-->To simplify : Contrary of the actual video systems , the Sega Genesis don't really matter of the « draw », she just gives the configurations to the VDP (This method is also called « Blast Processing »).<!--QuoteEnd--></div><!--QuoteEEnd-->

    Fonzie only does C, with veeeery little ASM, and he is the Mega CD genius, but he's really busy and cannot help unless you're a pro seeking little bit guidance.

    Anyway, only docs one needs about MD are the Charles MacDonald's docs, his site is half gone unfortunately, and I have yet to ask his permission to host his files somewhere as I try to respect the copyrights and stuff in the docs. Of course 68K and Z80 docs are fun to have too, and perhaps some sound things, anyway, I have all... I need job, then apartment, (then GF), then some some nice host to put my site and stuff to.
    My MD dev folder is around 1GB in size, there's lot of fun stuff in there :)

    my IM and e-mails are all freely available, and I don't/won't say no to any contacts.
     
  9. nineko

    nineko

    I am the Holy Cat Tech Member
    5,941
    125
    43
    italy
    I, too, would love to learn more about Genesis programming. Too bad that with my new job I doubt I'll have the time and the will to do so.

    Eventually I wish to make my own (simple) game, I already have an idea. But I must put it on hold for now :(
    Still, thanks for the docs and the tips, I'll make sure to check them out.
     
  10. Andlabs

    Andlabs

    「いっきまーす」 Wiki Sysop
    2,175
    0
    0
    Writing my own MD/Genesis sound driver :D
    <!--quoteo(post=377596:date=Nov 25 2009, 08:09 AM:name=TmEE)--><div class='quotetop'>QUOTE (TmEE @ Nov 25 2009, 08:09 AM) <a href="index.php?act=findpost&pid=377596">[​IMG]</a></div><div class='quotemain'><!--quotec-->Anyway, only docs one needs about MD are the Charles MacDonald's docs, his site is half gone unfortunately, and I have yet to ask his permission to host his files somewhere as I try to respect the copyrights and stuff in the docs.<!--QuoteEnd--></div><!--QuoteEEnd-->
    <a href="http://web.archive.org/web/20080213120103/http://cgfm2.emuviews.com/gen.php" target="_blank">Archive.org to the rescue</a>
    Though I personally haven't found a use for them yet, perhaps I will one day =P
     
  11. JoseTB

    JoseTB

    Tech Member
    709
    54
    28
    May I also add <a href="http://www.retrodev.com/segacd.html" target="_blank">Mask of Destiny's 68k introduction</a>; it's a bit old now, but still great, one of the documents that got me started actually.

    I'd suggest to start with that one, which would serve as the "theorical" part, and then move on to something more "practical" like drx's guide.