![]() |
|||||||||||||||
|
Assembly Programming for the Sega Megadrive - Introduction | . |
This tutorial, titled "Assembly Programming for the Sega Megadrive", is an on-going documentation project, written for beginners, but appropriate for experienced programmers wishing to develop software or emulators for the Sega Megadrive gaming machine. It's objective is to introduce the reader, gradually, to all of the many different parts of the Megadrive's hardware and how they are used. Although this tutorial can be used as a stand-alone document, it is strongly recommended that the reader also read other Sega Megadrive pages, given at the end of each instalment.
Acknowledgements
I wish to thank the following people who have helped in the making of this tutorial:
Cyan Helkaraxe of The Fume Cupboard Facility, for teaching me about the inner workings of the Megadrive video hardware, and for answering many of my Megadrive related questions.
Andy Wolan, aka NO CARRIER of Emulation Zone, for hosting this public network, and for his continuous feedback and support.
Pedro Silva, for testing this tutorial and giving me plenty of feedback and advice.
Mask of Destiny (http://www.pages.drexel.edu/~mrp29/index.html), for technical corrections, feedback and advice relating to this tutorial.
Getting Started
This tutorial assumes that you, the user, can read and type. Other than that, all you will need is an assembler/disassembler and something to test your programs with. For an assembler/disassembler, I recommend using SNASM68k, although any assembler that supports M68000 instructions will be suitable.
As for something to test your programs with, I recommend using an actual Sega Megadrive machine. For this you will need a development cartridge. These can be bought from Tototek, who sell a range of different versions, each varying in price. Another option if you own the MegaCD expansion set, is to make a link cable and use software for the PC and MegaCD to upload ROM data into memory using the controller port. Detailed instructions on how to build your own link cable and the software to use it, all written by Mask of Destiny, can be found at MOD's MegaCD development Home Page. If you do not own a Megadrive/MegaCD and/or a development cartridge, then you can still use an emulator. For more information on emulation, refer to Emulation for Newbies or Emulation Zone.
As well as the items mentioned above, I also recommend downloading a copy of the M68000 programmers reference, which can be found in the manuals section. This manual contains a lot of extremely detailed information that will become very useful to you later on.
Example code and small graphics and physics demos can found in the source code section.
Contact
If at any time you need help, or you have information that you think others will find useful, them please visit the message board. Please read the rules and regulations before posting.
If you have any comments or suggestions relating to this tutorial, or this public network, then please send me an email. Your opinion is valued very highly.
Copyright & Disclaimer
Copyright (c) 2002-2003, Lewis AS Bassett. Licensed under the GNU Free Documentation Lisense
The author of this document takes no responsibility for the authenticy of it's content. All activities described in any part of this document are performed at the reader's own risk.
Sega, Megadrive, MegaCD, Sonic the Hedgehog and 32x are owned and copyrighted by Sega Enterprises, Ltd.
This Public Network is in no way, either affiliated or owned by Sega Enterprises, Sega of Europe, Sega of Japan or Sega or America.