BOTW: MOS MCS6500 Family Programming Manual

My book of choice this week is not a book in the conventional sense of most. The MOS MCS6500 Family Programming Manual (PDF) is tome of processor architecture, instruction behavior, and programming at one of the lowest levels to which you can still apply the term ‘software’. The book makes a number of assumptions about the reader, namely that he or she is a comfortable and competent in the realm of assembly language and understanding CPU behavior at an electrical, hardware level.

The manual continues to draw a line between the readers who meet that prerequisite.

“Eric, What the Hell Man?”

I realize this is a strange choice for a Book of the Week. A blunt, dry technical manual—which is precisely this text—does not make for entertaining reading even for most programmers (in my experience). But allow me to open up personally with a little secret:

I love this kind of stuff.

Years ago I remember a comment by Bill Clinton, who at the time was President of the United States. Someone in the press asked him why he tasked his Vice President, Al Gore, with reading through a collection of tax reform proposals that amounted to well over 1,500 pages in length. Clinton’s responded by saying because he knew Gore was the only person that would actually read through it from cover-to-cover.

I have the same borderline-masochistic pleasure with technical manuals. I will read the driest standards and manuals fully engrossed in the content. I’m well aware of why such books bore other programmers, and I do not fault or criticize them in any way for not being interested in reading a near two-hundred page book on the MOS 6500 microcomputers family. But there are some ‘weirdos’ out there who eat this stuff up, and I am one of them.

All that said, I must admit I have little comment to make on the manual itself. For a technical manual it is well-written, by which I mean straight-forward and lacking any redundancy. The content is comprehensive and efficiently laid out so that reading from cover to cover leaves you with a firm understanding of the microprocessors. The diagrams along the way do a great job of explaining the relationship between processor instructions and the physical behavior of hardware, the kind of thing a programmer needs to understand when operating at such low levels.

This MOS family, particular the MOS 6502—which I love unabashedly—fuels a lot of important hardware. Or at least in my opinion. As a game developer I also like to think of myself as a student of game history, and the 6502 plays am important role in that history. It powered the Atari 2600, the Nintendo Entertainment System, the Apple IIe, the Amiga, and more. If you were a game developer of that era then you knew the 6502. You had to know it. The Terminator ran on a 6502 for God’s sake.

To sum it up: If you want to understand the 6500 family then this book is a terrific reference. But I stress it is a reference. Many readers will want some additional information, so here is a list of useful resources and tools, particularly for the 6502:

Next Book of the Week

My next book will be “Beginning Game Audio Programming” by Mason McCuskey. Audio programming is not a topic I am terribly familiar with and so I look forward to a great and relevant learning experience for my own current game development.


Add Your Thoughts

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s