Archive for February, 2007

Layout issues

It seems that Blogger are having some problems displaying my posts correctly and even including some extra fluff in the raw html which is also affecting layout.

The only work-around so far is to reduce the font size to view all the text 🙁

I’ve found that by copying the html from a page and doing a search & replace in a seperate text editor for the non-breaking spaces then editing the post and overwriting it with my edited html works.

But that’s one hell of a pain for something that shouldn’t be happening.

I’m leaving my last post up complete with non-breaking spaces for the moment so the Blogger team can look at it and see if there’s an issue with the editor.
I’ve not heard from the blogger team so I’ve fixed the last post


GTA: SA Censor Remover Online AKA Conversion Hell

I often get requests for versions of my tools that will work on non-Windows operating systems, such as Linux and MacOSX.
Because I use delphi, which is primarily a Windows programming tool, this often isn’t practical or even possible.

A few months ago I set about thinking of ways I could provide the same tools and abilities to those who don’t run Windows or have restrictions set on what they can download. I eventually decided to recreate one of my more popular tools, GTA: SA Censor Remover, in an online edition.

This wasn’t as easy a task as I had first assumed, my PHP skills were a little rusty from years of neglect in favour of Windows application development and PHP is an inherently poor language for working with binary files. I could have deviated from my original intention and written the online version in Perl, but I’m not that much of a masochist and I’m much more familiar with PHP.
After a few hours I was able to knock up a basic version that worked fine with PS2 and PC saves, even with PHP’s poor file handling routines, but came against a huge stumbling block with the Xbox saves.

Xbox saves are protected by a digital signature, change even one byte and the signature is invalidated and the save will not load. Of course I know how to fix this signature but this is where PHP let me down immensly.

PHP is a loosely type language, this means it’s great for beginners but sometimes you need to be able to control the language and it’s variables precisely, which is exactly what I needed to do. For reference, Delphi is a strongly typed language and is much better for it in my opinion. I can also access raw memory directly with Delphi which makes creating digital signatures a breeze.

I spent hours trying different ways of representing the binary data I needed to fix the digital signature in the save, I trawled the PHP manual for hints and comments. I even asked an experienced PHP programmer who writes scripts for a living daily and he was unable to help me or offer anything I hadn’t tried already.
Eventually I gave up, I’d chosen the wrong tool for the job and had paid bitterly for it.

Last night I was intrigued to see that the makers of Delphi, Codegear, are planning a “Delphi for PHP” and this rekindled my interest in PHP. Looking for a project to start I remembered about the work I had done on GTA: SA Censor Remover Online and how I had left it to rot on my dev machine.
I decided that I couldn’t let this go to waste and was a perfect challenge to get my PHP skills back on track, after all if I couldn’t find the answer from the manual and experienced users of PHP than I’d have to find it myself.
Eventually after a few tests, all producing the wrong digital signature, I commented out all the existing code and returned to the basic task: Create a binary representation of a series of bytes and pipe this along with the raw file data to the required function.

It was a matter of minutes before I had a working function. I spent a few hours tweaking the code and making sure it worked properly, again having to fight PHP’s poor file handling tooth and nail, until the final product was ready for release.

It’s been a hellish struggle and at times I wondered if the task was even possible given the poor performance of PHP in this area and lack of information out there, even from PHP experts. I won’t be retro-fitting any of my other tools at this time but if the need arises, or another prgram is created that would bendfit from an online version, I’ve got a solid groundwork to enable access to my software to everyone, regardless of what operating system they use.

Tags: , , , , , ,


What’s in a name?

According to Wikipedia, gothi is

A goði or gothi (plural goðar) is the Old Norse term for a priest and chieftain.
The term goði literally means “speaker for the gods”.

I didn’t know that when I took this name all those years ago. The story of why I took the name gothi is a simpler tale, and I certainly didn’t intend to take a name with religious connotations.

Faced with a relatively immature internet I looked for something unique, something I could call my own, and more importantly something I could register at message boards. I’ve never liked names ending in numbers and hate the flavour-of-the-month names some people choose.
Back when I chose gothi, Google wasn’t the powerhouse it is today, in fact Yahoo and Altavista were slugging it out for supremacy and no-one knew that it would all be for nought a few years later.
I came across an interesting software toy, a tamagothi. Yes it is as it sounds, a play on the old Tamagotchi craze where instead of a baby ‘thing’ you had to hatch a bat and depending on what you did to it it developed accordingly (with mostly goth related outcomes). In need of a name and having spent many years listening to what many would stereotype as goth music it seemed obvious, gothi it was.

As the internet grew I decided to register my surname as a domain name. Unsurprisingly, with it being the same as an existing brand, it was already taken. So I looked for my full name, again this was taken by a talented singer.
Frustrated and wanting my own identity in a rapidly expanding world I quickly reliased that my alias was not only uncommon but very much available:
What’s annoying is that the original gothi domain I wanted,, was previously a business site but now is just a crummy ad filled portal held for sale, most likely at a price that’s in excess of it’s worth.

I’m not a pagan, gothi is not a name entry cheat for XIII (although my gothi cheat save does work) but I might be a speaker for the Gods 😉


New save sharing communities arise, how do they fare?

With the advent of the Playstation 3 and the Nintendo Wii there’s been a couple of new sites pop up to support the save trading community.
I’ve been checking on two sites in particular and have the following opinions.

First up there’s

Missing out on the elusive .com domain hasn’t deterred these guys one bit and they’ve started to make decent inroads into building a community for sharing Playstation 3 and Playstation 2 saves, in the suitable PS3 format of course.
The site has a blossoming community forum and whilst there doesn’t appear to be much technical talk there’s a good vibe and a decent amount of trading going on with helpful users.

Unfortunately I can’t be as kind about the main site. The design and content smack of “my first website”. I’m sorry to be harsh guys but the site looks poor and the content is sparse and not organised efficiently. Top marks for putting a forum up to encourage the community but please, enlist the services of a designer and sort your main site out. At worst use a portal system to keep the site tidy and organised.
I also had some difficulty finding the site in Google as it doesn’t rank well for Playstation 3 game saves, something that should be worked upon if possible. But not all is lost as it ranks quite well for PS3 game saves.

Overall the site has a lot of potential, the forum is something that will keep the users coming back but the main site needs some serious work and was off-putting on my first visit.

Next up we have Wii Save.

In contrast to PS3 saves, Wiisave has a beautiful front end and ranks well for the obvious search query. I’ve not come across the RW::Download script before but it does it’s job perfectly here. Having the content on the front page makes it easy for users to see new additions and keeps the site looking fresh and alive.
Information seems easy to reach but I’m not a fan of the javascript drop-down menu for each system supported by the Wii. It appears that for each save on the site there is a corresponding entry in the menu for the game. Once more saves are uploaded this is going to become unworkable, can you imagine a menu with 200+ entries on it?

Whilst I really like the clarity of the front page and the easy access to information, the site isn’t without problems.
The only way to communicate with other users of the site appears to be via a comments system which allows you to add comments to each save uploaded.
This simply isn’t enough to foster a community and eventually the users will move elsewhere. At the very least the admin should install a free message board such as phpBB and hack/edit it to accept the current user base and make future signups exist on both the main site and the forum.
I’ve also noticed the use of images directly next to Google ads, this is against the Ad-Sense Terms and Conditions and a shady technique at best.

In conclusion, the content of the site and it’s simple layout are a winner here but the lack of community features will result in the site loosing out long term.

Tags: , , , ,

Tutorial series planned

There’s not many tutorials on save hacking out there and even less that apply to the recent consoles such as the PS2 and Xbox, I’m going to be working on a couple to help people start up. I’ll be concentrating on some older classics that can be picked up really cheaply if you don’t already have the game.

The first tutorial I’m planning is to recreate the infamous Antman create-a-skater from Tony Hawk’s Pro Skater 3, one of my favourite in the Tony Hawk series and a great introduction as to what can be done via save hacking.
I’ll also be making a tutorial for PSV Exporter so people who may not so familiar with the tools a lot of use on a daily basis can get a clear idea of it can be used for.

Tags: ,