Wednesday, 2 January 2013

Don't fear the Dreamcast

The Dreamcast is a fantastic console. It encompasses 2 great abilities - cheap(ish) hardware with diverse peripherals and a severely hackable and fairly open disc format. Creating homebrew is seemingly child's play. I haven't got very far in to looking at the specifics, mainly because I'm enjoying the gaming, but I will very soon.

The DC (as I'll now call it) does have a few gotchas, especially when you buy used. These are worth noting here for others who find themselves in the same position:

Symptom: Game discs don't read, no matter how much they are cleaned, how flawless they are (ie. unscratched) and how clean the laser is.

Solution: There seems to be two issues here that happen frequently.

  1. The Potentiometer on the GD-ROM needs to be adjusted (less likely)
  2. The disc detection catch is worn. (usual culprit)

I would always go for the latter first!!! I found that adding a small tube of tape around the catch was enough to resolve this issue. The extra millimetres of thickness made the catch more reliable. A simple test to see if this is your issue: put a GD-ROM on your console when it is "naked" (not top on). You must now take absolute care that you in no way look directly at the laser. This may, and doubtless will, blind you permanently. Be careful and do the next step at your OWN risk. I will not be held responsible for your own misadventure. YOU HAVE BEEN WARNED! Okay, you have made sure you are safe? Good. Ensuring there is a disc on the GD-ROM, gently pull back the disc door closed switch. The disk will spin up and will hopefully boot. If this works, you need to add a small amount of Celotape (aka. Scotch tape, Sticky tape, etc) (one wrap, 2 maximum) loosely around the switch. Reassemble and test the disc still reads. One caveat - don't use you most prized disk, as the GD-ROM drive has the potential to scratch the disk, given it is not being played with the extra padding and felt protector in the drive bay. I'd use a CDR with some homebrew or similar on it.

Adjusting the Potentiometer should *always* be your absolute last resort. As I've never done it, I can't tell you how - but there are certainly a few guides out there, as well as Youtube tutorials. 

Symptom: Dirty video, lines on screen, general pulsating when the GD-ROM access the disc. (Secondary, random re-sets and when warm, repeated reboot loops, non readable discs.)

Solution: this is very simple. The PSU is having issues. All that you need to do (and I swear this seems so unlikely to work, but really, it does..) disassemble the DC (remove modem, remove 4 screws - one in each corner, turn right side up, lift top case directly up and off), look at the power board (long board along left side), remove PSU wire (carefully, push in the retaining clip and it should come off with little force), remove the 2 screws on the left edge, one at either end (well, one in my case) and gently release the board from the retaining clip. The PSU board will then lift off in an upwardly direction. Note that in the bottom left corner (as you look at the console from the front) or right hand corner (when you rotate the console so that the board is directly in front of you) there are a number of pins (5 or 6) that go up in to the PSU board. DO NOT BEND OR BREAK THESE!! Once the PSU board has been removed, I'd suggest rubbing the pins on the power connector with an abrasive substance (I used a nail buffer - I wouldn't recommend anything too harsh). This probably isn't critical, but given our next step, it would seem worthwhile. 

We'll now focus on the pins. Look at them. I guarantee they will be slightly corroded... a thin black residue will be visible at minimum, probably hardly visible. Set at the pins with your chosen cleaning method (again, you are trying to strip a thin layer of corrosion, not drill for oil, so be sensible and don't over do it! You should not be removing a great amount of material!) When done, the pin should look clean. Reassemble the DC (make sure you DO NOT bend any pins!) When you've completed this, turn on the console. Your video will be crystal clear and you'll see no noise at all on the picture! Yes, I was as sceptical as you probably are, especially as the power seems to leave the PSU board in 2 places, but it worked as promised.

Just applying these two techniques has meant the difference between "about an hour of play" and 3 or 4 hours of play (and closing down because I was done, not because the console gave up.)

I'm going to add extra tips here as and when the crop up. I'll also expand on the above if needed.

Gaming for the new year!

Okay - my gaming activities have slightly stalled. The game that my son and I are writing has sat dormant for the last month. Mainly due to the Christmas push and lack of general free time. I will return to it.

I have a new baby though. Tired of attempting to emulate the Dreamcast to try out Shenmue, I bit the bullet and bought one. Love this console. It is everything the PS2 is not - fun and easy to maintain. Not that I didn't hit a number of snags (another post to be made on this.) I will be looking at developing any games this year for the PSP and Dreamcast now (as both are open enough to make that a reality.)

Tuesday, 6 November 2012

Slow progress

Progress has been a little slow. It's all a learning curve I guess. I have some pretty cool game code running on Codea though. I'm also reading some books, which I'll try to give a short review for later this week.

Monday, 29 October 2012


I've been doodling ideas using Codea recently. If you haven't tried it, I'd recommend it. I have some basic code going for touch input, and then ported my flash game engine to it. So far it has been quite helpful!

Monday, 22 October 2012


I have the platformer basic under way. It's been harder going over the last few weeks and I haven't had a lot of free time. As this is all being written in flash, I'll start posting some test builds when I get a change soon. Well, when there's more to show!

Monday, 8 October 2012

Game ideas

So, we have had a good chat, and my son and I have whittled it down to these ideas:

1) Mario type game - this is something that excites him. He described it as Mario, but I think it'll be more like a Jet Set Willy/Manic Miner type game with Mario elements. He wants the character to be able to jump through platforms. For there to be a time limit. To collect coins and for there to be hazards and "monsters". I think we can borrow ideas from Mario (monsters can be killed by jumping on them as in SMB) and I think they should respawn (a bit like the turtles in the original "Mario Brothers".) It's a nice simple engine to write, the physics are pretty simple and it's a good starter project.

2) Zelda/Gauntlet type game. This one will have zombies in it and will involve the character traversing some kind of "world". More Zelda 1. The details are a bit sketchy past that, except that the played must have a "big sword" and the zombies must splat.

3) Stronny's day out. This game is based around our cat Astra aka "Stronny" (which came about over years of word play by my wife and I and various children misinterpreting her name Astra -> Astron -> Stron -> Stronny -> Jonny). She goes out every morning and returns at around 7pm. No one knows what she does, but the kids are convinced she plays in a stream just out back of our house. The game is basically a one screener where you control the cat. She can climb into the stream (it's a trickle most of the time) and up on the bank. You'll score by catching mice, rats and fish. Every now and again the stream will flood with a tidal wave, which she must dodge and our dog Zara (who loves the cat, would happily chase her all day long) will escape and chase her about the setting. It's a simple one screener.

4) I have an idea for a parody game, which will be a big ongoing project. It involves actual properties, so will never be formally released (past being sent to the author of whose work it will parody.) It'll be a little tongue in cheek and I hope it will be pretty cool. This one will involve actual worlds, scrolling levels and more complex effects and music. I'll design an engine I'll then re-use in other games of a similar type.

I'm planning to use Flash to write most of this. It's simple to start, there are some good free tools and basic engines too.

Monday, 1 October 2012

Catch up

Well, been a while. What have we been doing? I've completed a number of projects, but this year has really been dominated by the "day job". I've expanded the MVC framework to the point where it's a very usable chunk of code. This has been something used in production code. As such, I've gotten away with spending a small amount of my day job working through various bugs and throwing out improvements. The code is now at a point where I'd be happy for other parties to use it, though it has little documentation at the moment.

My son and I have started talking about writing a game. This is a subject that has happened a few times. I'd originally played about with Codea (iPad IDE, focused on Games and graphical applications), but that became too hard to find the time for. But recently, after watching Indy Gamer the movies (god, that is an inspiring film, Jonathan Blow, Edmund McMillen and Tommy Refenes are now my pet heroes!) I'm not aiming to write the next Braid or Super Meat Boy, but I have a 9 year old inner me (and, oddly a 9 year old son), who desperately want to write a game. Seriously, from the year I got my first computer (Sinclair Spectrum 16K, circa 1984) my friends and I (one specifically) obsessed about making a game "with moving graphics". I got to the point that I could write the basics in Sinclair Basic, and I was pretty happy. Moving to the 16bit era killed that dream. It became way too much for me to be able to do that (and I found girls and teen aged angst more appealing.) But, somewhere deep down, a game is waiting to be written. My son is my key ally. He loves video games and he is young enough to have no preconceptions and wants to throw lots of ideas at the project. I can then filter these and cherry pick his better ideas and my experience. We might make something cool. It won't be anything "big", but I know it will be cool.