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

Codea

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

Progress

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.

Friday, 17 September 2010

MVC Framework for MS.Net

I've uploaded a little part baked MVC style framework for Winforms. It's in an early state, but it does what I need to do at the moment. Plan is to progress it over the next year. I'm going to start using it for serious projects, and so progress will be dictated by how frequently I hit issues I need to fix or workaround!

Monday, 2 August 2010

iPhone dev - iOS4 breaks things

Okay, I'll admit it. I've been slack. The last version of DoodUrls for iPhone is reeeealy old now. It doesn't work under iOS 4. It's a sad day ;-(

I have not had any time to fix the app. It's not just a simple case of bashing out a few tweaks too. I had a long look at why it was crashing and came to the conclusion that the iOS 4 SDK was not giving me any useful answers! I will have another look in the upcoming weeks, but at the moment I'm very snowed under with real life.

My theory now is, do a complete iOS 4 re-write, using my "all I learned" experience. This is the route I'll travel, I'm not sure when that'll be though. As it stands, DoodUrls seems to have pretty much dried up through lack of content. I might put plan B in to action - plan B is to create my own feed via a group Twitter account. Call it something comparable and have at it.

Watch this space. I suspect it'll all be pie in the sky for the foreseeable future anyway :-(
I've uploaded a tiny bit of Opensource - a very basic outliner.

The code is designed to be very simple and to create a minimalist outliner - pretty much a one trick pony. What it does it opens up with a "default" outline. There is nothing to do but add items to this outliner. When you open the outliner by double clicking, this outline is opened. When you close the outliner, it is saved. To create a new outliner file, create a new text document and change the file extension to ".meo" The file can happily be empty. The outliner will then open this file when double clicked.

All of this was inspired by the spiffing BeMail client from BeOS. BeMail used the entire file system as an inbox, and messages were just specially formatted files. Double clicking on a file opened the client and loaded the message. This simplistic approach is what I went for.

I'll add new features as I need them, but as it stands - enjoy!

Props to the couple of opensource projects I borrowed some of the code from - nothing I couldn't have got through myself, but I was having a bit of a brain fart this morning.

Thursday, 28 January 2010

iPhone app is now in BETA

The DoodUrls app is now in the hands of our crack BETA testers!! This is an early BETA and I believe there is about 2-3 weeks work remaining (that is not including stoppages due to "real life" getting in the way..)

Watch this space!

Wednesday, 13 January 2010

More features...


Well, I spent time reorganising the layout of the photo view and made it make more sense. The view now either gives picture loading options *or* shows the twitter prompt and "send" button. It also asks the user if they actually want to post the update :-)

Last night I decided to look at one of the most essential features in an iPhone picture displaying app - multi-touch zooming and pinching! I borrowed some code, which sort of works quite well after some tweaking, so I'll leave it as is for now. It's a little quirky, so I'll revisit it again after I get the off line storage completed. This might not happen till a future release, depends on time. I want to get the camera feature out asap, and the lack of off-line storage is one of the things that really bugs me about the app, as it is next to useless if the feed goes down.

Oh, and there's a pic - the image *is* zoomed, but you can't really tell obviously without looking at the original image ;-)

Friday, 8 January 2010

New DoodUrls iPhone App nearing beta

Well, it's only taken, what, 3 or so months, but I just began implementing new features in to the iPhone DoodUrls App. We now have picture submission!!! This is pretty exciting as I believe that one of the things that will boost DoodUrls popularity is a simple way to submit pictures.

Implementation is dead simple, but wasn't easy to get to! Adding the Camera to the app proved to be fairly straight forward. I needed to mess about with views to get the second view containing the camera to appear, but that was more a lesson going with my gut instinct rather than following examples in books.

The TwitPic submission was very simple. The author of the open source Twitter App, Canary, had already created a class called "ORSTwitPicDispatcher", which handled the TwitPic API call "upload", so I simply implemented the "uploadAndPost" call by adding an extra param and passing that as the message in the http request. All worked well in the Simulator, but the device didn't want to know at all! I googled the issue - it seems the NSXml* classes are somewhat lacking on the iPhone device, but present for the simulator (aka GAH!) Luckily, some nice developers have created an almost drop in replacement (well, in my circumstances it was a drop in), called TouchXML (Google it!) After making sure libxml2 was being referenced and the headers for it were being found, we were down to 2 errors!! I had taken the liberty to update AdMob to the latest version, and they now require more frameworks. After clocking this I added the MediaViewer framework and AudioToolBox and it all compiled!!

Everything then worked, except the Camera!! It seems that you now need to implement both

- (void)imagePickerController: (UIImagePickerController *)picker didFinishPickingMediaWithInfo: (NSDictionary *)info;

*and*

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo;

GAH!! The Camera Roll and Library use the second callback, but the camera now uses the former!! Without both my code only worked one way or the other, but with both everything was happy!

So it is down to tinkering now. Hopefully a submission in the next 7 days ;-)

Monday, 26 October 2009

Doodurls feed is back!

As it turns out, a Wordpress upgrade decided to stomp all over the custom RSS feed that Steph from Doodurls.com kindly supplied us for our apps! It was a little sticky, but I managed to hack the Wordpress feed to work again for the Doodurls guys ;-) All should now be as before!!

Friday, 23 October 2009

Feed outage over at Doodurls!

My friends over at Doodurls are experiencing an outage in the RSS feed that we use in our iPhone and Adobe Air apps!! Sorry for the loss of pictures - normal service will resume soon!

Tuesday, 20 October 2009

Released!!

Well, whilst I was visiting my family in Canada - IT GOT APPROVED!!

So far, quite a few downloads - well, for what it is!!

Next stop - version 2.0 needs to roll out!

Monday, 28 September 2009

We are in "review"


So, Saturday evening I made the changes needed to the BETA before submission and threw caution to the wind and submitted the app to the iPhone App store. Fingers crossed that it'll go through without requiring any changes!

Wednesday, 23 September 2009

DooDUrls for iPhone is in BETA!!


Well, we are in BETA. Hoping to get a submission in to the App Store on Friday (no idea how that will go?!) Just need to iron out the last few issues and we should be good to go!!

This week has been full of stress in the day job and late nights coding and debugging iPhone/Objective C code. Pretty rewarding, but I'm very much looking forward to my upcoming vacation!!


Sunday, 13 September 2009

Progress on the iPhone DoodUrls app

Well, the app now works in the simulator. Loads the feed and then the images in that feed. Unfortunately life is never simple and the device crashed hard with a bus error :-( I don't expect it'll be too hard to fix, but it's too late to look at it tonight. I'm off on a night of Market Research tomorrow evening (IRISH WHISKEY!!!) and so I'll not be able to work on the code again till Tuesday evening. *sigh*. I'm hoping to get it working this week and tested before I leave for Canada in 2 and a bit weeks.

On another note - I set this blog up so that I can post as me - YAY! I suspect I'll just post as me and never using the Rat Cow account. I was going to go off on some overly complex "me posts certain stuff" and "Rat Cow posts other stuff", but to be honest it's just me either way :-) I might use the distinction at some point - but for now we are one and the same.

Saturday, 12 September 2009

Source control

I've set up a Subversion server at home, so my source at least gets backed up is some kind of controlled way. I'm using Subversion because I've used it quite a bit at work, and the GoogleCode opensource project attached to Rat Cow Software is Subversion. Keep it all in the same SCM for simplicity!

I set up the repo and imported a couple of projects. All pretty simple. The hardest part was firstly, figuring out how to get Flex Builder 3 to believe in SVN (using the eclipse plugin called Subclipse, as it was simpler to get going for my purposes) and then finding out how XCode handles SCM was entertaining too. Between them they ate my afternoon.