One of the things I always wanted to learn was how to program, whether it be a graphics calculator or a computer. I just never took the time to do it, though I did mess around with the former a bit in high school. So anyway, throughout the past few years I've grown to love this community we have here, adding what bits and bobs I could from time to time. The first thing I always enjoyed about the SMS scene was the closeness everyone seems to have, as well as friendliness and general willingness to provide information instead of acting like assholes all the time and bragging about collecting oddities. One thing though, that I've always wished for after learning my ways around here was an all-around tutorial for learning how to program for the Master System. Not necessarily something so everyone could program a game, but something so that even the most lame of users could understand all the tech talk that is frequently thrown around. Something for learning everything there is to know about putting together a game for the system whether you want to or not.
What you'll find herein is just this, a massive project that will NOT be completed in a week or a day, pages will be added as we put together what we feel is appropriate for all users, taking information from complicated books, articles, and forum members and putting it into a language everyone can understand, saving you the time of finding all of it and figuring it out yourself. But, and this should be stated, don't expect this to be easy either, it takes a lot of work and time, you won't be throwing out Sonic 3 in a week, in fact you'll be lucky to get the background color in that time. The idea here is to move slowly, providing just enough at each step so you can learn what you need to learn without becoming overwhelmed all at once. Expect one page to appear at least every six months or so, giving us plenty of time to tweak everything and make it presentable. Scott Marshall plans on helping with the code, so a big thanks to him for agreeing to join in the fun.
So, in order to have a concise part of the site with everything you need right at hand, we're going to begin from the very basics. We don't expect you to know anything while beginning this tutorial, so if you don't, great! We're going to make sure you understand everything you're looking at, how to manipulate it and how to do it on your own without the trouble of figuring out where to begin by yourself. Included within this guide will be a series of easy-to-use, user-friendly problems with solutions so you can work on them sitting on the couch and not necessarily in front of the computer, in addition to exercises where you can take code already explained and learn how to work with it on your own. And, as you see above, this is for everyone. Got something to say? Go the forums and bitch and moan, letting everyone know what needs to be written better, added or just removed. So, without further ado, let's get started!
Understanding
Binary Where does programming begin? Find out here! 01000100 01100001 01101101 01101110 ! |
Understanding
Hexadecimal You know binary like your own face, but how to read it? Is there a way? Find out here. $44 $61 $6D $6E ! |
Binary Math Thought your experience with binary was over? Think again! 01000100 01100001 01101101 01101110 ! |
Getting to Know the Z80 Get to know about the Z80 in your Master System. All the information you need is here! Damn! |
Z80 Assembly Language Basics Know the Z80? Now learn the basics of how to tell it what to do and you'll be ready to program! ld hl, DAMN! |
Basic SMS Programming With Z80 Assembly under your belt, let's move to our first program and get that screen blinking! BLINK BLINK BLINK, DAMN! |