Resurrected Entertainment

Archive for the 'Books' category

The Black Art of Video Game Console Design

April 6, 2007

Book coverIt’s a tomb, and a hefty one at that. Weighing in at just over 900 pages, the book introduces you to a wide range of topics. Everything from the parts needed to wire-wrap your own prototype board to the intricacies of writing a simple video driver for the XGS Micro Edition console. This pretty much hits the nail on the head when identifying a real problem with the book. It introduces some high-level concepts and components of a simple video game system, but it fails to discuss the design of the XGS system in-depth or any other console for that matter. Let’s face it, electronics is a difficult subject for the most part, just like software development or juggling chainsaws; one book isn’t going to transform you into a hardware engineer even with a suitable “turns-ratio.” However, the book failed to satisfy my technical lust for video game console design and for the details of programming the XGS system.

It skims the surface of many topics, like skipping rocks on a lake. Only the book fails to make a splash at the end. What do I have at the end of the book? Well, several hours of reading and almost $90 (CAN) later, I don’t know how to design a video game system and I don’t know how to program the XGS. So, what did the book teach me? I must confess that I didn’t grasp everything the author was trying to explain during the first reading. In fact, I had to read several sections over, and despite those reiterations, I felt like he was trying to close several topics far too quickly before I could wrap my head around it. After reading a chapter, it wasn’t uncommon to feel like you had fallen asleep for most of the math class and you are now being asked to explain why X + Y = 1. Within the same chapter, the topics jump around from high-level overviews like embedded computer organization to low-level debates on the best way to arrange address lines when introducing RAM to an embedded computer system. There is very little middle-of-the-road material presented to help bridge the gap.

I understand the book probably had a very real limit on the number of pages which could have been published, but why bother condensing it into one text, when a short series of books would have suited the topic much better? Since the majority of the book discussed topics which weren’t necessary for a general understanding of the XGS, then why not write a systems programming book for the console, and a couple of supplemental books discussing electronic theory and practical designs of a console with experiments. I realize it would have taken longer to write such a series, but it also would have been infinitely more useful. Despite the books shortcomings, however, I am hesitant to give it poor marks because there are so few books of this kind available. The book did introduce several new topics which I will investigate in more detail later. The chapter on SSI/MSI blocks and the NTSC/PAL video signal was particularly interesting.

So, what would I have liked to see instead? I would have preferred a much more detailed analysis of the XGS Micro Edition console. Every sub-system should have been explained in detail with additional emphasis on the parts used to build it – not a broad treaty on parts which never made it into the design or were never even considered. The sections discussing analog circuit design could have been omitted and the digital sections expanded, since analog circuit analysis is not particularly relevant to the video game consoles, and the little information that is provided is not enough to be useful. Any additional or optional design decisions could have been provided in an Appendix with a section devoted to recommended reading. Last but not least, the book should have contained much more information on the SX52 microcontroller and how the details of the software system should work. The examples provided in the book are next to useless since there is no introduction to programming for the system. It goes straight from Frequency Divider Circuit Design (section 11.5) to Joystick Design and Programming (section 11.6).

I will probably be referring back to specific sections within the book from time to time, but I can’t see myself reusing most of it.