Continuing my adventures with the XGS I decided to make use of the larger breadboard along with a nice pre cut set of jumper wires.

My long term plan is to build a simple games console capable of loading games from an external flash rom (possibly sd-card based or simply on-board via switching to access a handful of pre-loaded games). This is a lot more work than it sounds since the SX range of chips can only execute instructions from their internal rom, 2K on the SX28 and 4K on the SX52. There are ways around this though which I’ll cover at a later date.

There are a lot of hurdles between now and the simple console I’m picturing, so the first versions of the console will be limited to 2K of ROM and 144 bytes of RAM i.e the onboard rom/ram for the SX28. The SX28 (parallax micro-processor) is going to be the heart of my games console. The reason, I have a boat load of reference docs, manuals and papers about it plus a local supplier and I’m already slightly familiar with SX assembly. Also, the SX28 is available in a DIL package which makes prototyping much simpler than the surface mount versions of the SX48 and SX52.

Having only had a few hours Sunday night to work on the last part of the code I wasn’t expecting to actually reach my goal of a pixel on the screen. In the end though, I managed to get a square block in the center of the screen synced well enough to show flicker free on both my TV and Digital TV card in the PC.

The actual TV picture is a nice vibrant yellow, the screen capture doesn’t do it justice looking washed out. That reminds me, the colour burst wasn’t that hard after all, just a case of making sure the colour is set in the upper 4 bits and the luma in the lower 4.

Having fixed the delay code I’ve spent most of the evening reading up on the SX52’s memory architecture and the PAL timing signal. To start with I’ve created the signal needed for each scanline (see previous blog with timing diagram)

The first attempt didn’t go too well

As mentioned in the last blog entry, timing is cricical down to the cycle. In order to make sure all branches of code execute in the exact same amount of time I’ve created a delay macro. This isn’t an optimal method, I’m sure there are ways to reduce the number of bytes this uses however it does the job, at least it does after a little debugging.

It’s now 2pm on Saturday and I’m a little closer to understanding how to plot a pixel, although only a little.

The first attempt to generate a video signal resulted in, well see for yourself, detune a tv channel and look at the white noise, that is pretty close to what I’m looking at right now and unless you happen to be Eleanor Arroway1 it’s not all that useful.

It’s GID (game in a day) time again! For a change I thought I’d code something for the XGS. I sense this GID is going to be rather painful, just setting things up ready for tomorrow’s start brought its fair share of problems.

In a recent podcast Steve Pavlina talked about kick starting your business, with advice aimed at turning a profit as soon as possible. One comment in particular made me think. He mentioned how when he started speaking about personal development as a business he didn’t bother making a fancy website, designing a business logo, nor making fancy flyers or business cards; instead he concentrated on the things that would make him money as soon as possible, the website content needed to draw in visitors.

I have to wonder how many projects spent more time creating a flashy website than working on the game the site is promoting. In many cases the games never reached fruition making all the work on the website a waste.

How many people spent months designing their game only to realise it’s too late that it’s too complicated to implement or just not fun to play. Prototyping their ideas early and often could have allowed ideas to be refined, expanded and thrown out over time. As Steve put it

“Ready, Fire, Aim”

rather than

“Ready, Aim, Aim, Aim, Aim….”

The recently subscribed to the “I should be writing” podcast and downloaded a few of the previous weeks epsiodes to get more of a feel for the show.

Show #13 in particular struck a chord with me. This show featured an interview with Scott Sigler, author of the first PodCast novel EarthCore. Scott is now embarking upon his second PodCasted novel, Ancestor.

Enough of plugging Scott’s podcasts (did I mention how good they are?) how does this writing podcast possibly relate to gamedev?

Over the years I’ve played a lot of flightsims. The first I remember playing in any depth (I use the term depth loosely when it comes to older simulators) was F-117 Stealth Fighter and Chuck Yeagers Advanced Flight Trainer back on the Amiga, not to mention F29 Retaliator. I remember repeated attempts at breaking the altitude and speed records in Chuck Yeagers, a great sim with great graphics, well, for the time.

Another day, another circuit. This one is a little more complex than the LED/Resistor circuit I made the other week. Having read about transistors I decided to design and build a NAND gate. The final circuit is very similar to the one discussed in the XGS ebook (below is the original circuit schematic from the very same e-book - which I highly recommend; a print version will be out soon as well )