Disk-kun

Famicom World

Disk-kun

 

 

 

Hacking Aladdin

LAST UPDATED: 04/01/07

 

COMPILED BY:

Jedi

Jedi

"The graphics aren't at their

full potential: the sprites are lacking

and some palette choices are

questionable. So let's work on it."

 

First of all, this has nothing to do with the Aladdin Deck Enhancer for the NES. Second, this does not deal with the official version of Aladdin: Virgin's sub-par release of the excellent Genesis equivalent. Instead, this is the pirate (or unofficial) port of Capcom's Aladdin for the SNES made by some unknown company.

 

Aladdin NES and Famicom Carts

 

 

 

 

 

 

As many already know, this pirate is great! In many ways, it exceeds the official counterpart and evidently shows the potential of the NES; however, it has its flaws: the sound is mediocre, there is no storyline, and the graphics aren't at their full potential: the sprites are lacking and some palette choices are questionable. So let's work on it.

 

 

Therefore, I took on the task of making this game better. That is why I created The Aladdin Project. Knowing little to nothing about Assembly, this would be an aggravating task. Knowing little to nothing about hex editing doesn't help either.

 

 

THE TOOLS

 

It's best to gather your editing programs first before starting on your project. Later on you can decide what's good and throw away the junk you don't need. They're free anyways. At least they should be.

 

 

THE GRAPHICS

 

I used Tile Layer Pro (TLP) 1.0 to hack the sprites. With this program, I can edit the tiles (sprites) in the game. It features a nifty tile arranger that helps you see what you're editing and a palette editor that allows the user to make the sprites look somewhat like they're in the game.

 

 

 

 

 

 

 

THE TEXT

 

There are many text editors. There are even more hex editors out there. Choosing one is pretty tricky. That's why I downloaded them all! Jinx, MatrHex, Thingy 32, FCE Ultra eXtended Debug, Hexecute...

 

       

 

In the end, I decided to stick with...

 

Translhextion!

 

It's a hex editor and translation tool. It has the ability to load tables, files that decode hex to text. What makes this program a plus is the flexibility with editing; you can highlight and copy, search and replace text and hex, and see the changes made to both transcriptions.

 

 

THE HACKING

 

Now I begin hacking, and cutting, and chopping, and slashing, and lacerating, and hewing, and slicing, and scything.

 

 

THE PASSWORD SCREEN

 

I first decided to look at the password screen and compare it to its original version, the SNES. They look identical! Except for the faces; the NES has them hideous.

 

 

 

I went forth to improve on them.

 

 

 

Presto! Tom Cruise -- just kidding.

 

I gave each of the characters a facelift. I simply used TLP to edit this, taking advantage of the palette editor. Note that the palette editor does not actually change any palettes in the rom itself, it's just a helpful tool in editing tiles. The table below displays the faces used in the password screen. There are three renderings of each head: the SNES version is on the top, obviously; the NES pirate version is on the bottom; and my hacked sprites are in the middle. See how it makes a nice transition between the two?

 

 

 

What's this? Popeye? Was he supposed to be in the game? Probably not, but ROMs can have some pretty weird trash in it. I put the sprites together in the tile arranger.

 

 

Here's another strange thing. I didn't know what to do with the two extra tiles so I put them at the end.

 

 

 

THE COPYRIGHT

 

 

Now, what to do about the title screen? The bottom reads "1995 COPYRIGHT." That will not do, considering it's past due 1995. I could put "2005 QUEST STUDIOS" but I'd like to show appreciation for Capcom, the original, original producers of this game. So I will alter the text to read "1993 CAPCOM," easier said than done. First of all, I'm reducing 14 characters to 11. This will cause the whole string to be off center.

 

 

So all I have to do is insert "00" in the first space. Now would be the right time to talk about hex:

 

To compress space, text is usually written in some kind of code. For example, 01=A, 02=B, 03=C, and so on. In order to edit the text, one must first crack this code, easier done than said. I used Translhextion (1.6c), and used the search feature, "Search Relative." What this does is search for a string of hex that contains the same amount of spaces between each character as in the text that is entered. For example, I would like to search for the string "COPYRIGHT." I enter 'COPYRIGHT' or 'copyright' (not Copyright or cOPYriGht). The letter 'C' is 12 characters away from the letter 'O,' and 'O' is 1 character away from 'P.' The "Search Relative" function uses these spaces to decipher the text. Smaller strings generally bring up more, unnecessary results. Now I click OK, and if all works well, which it should, I will be taken to a highlighted sequence of hex.

 

 

Hopefully, this is the correct offset (it is). The hex reads: "A8 B4 B5 BE B7 AE AC AD B9." From this, I can tell that A8=C, B4=0, B5=P, BE=Y, B7=R, AE=I, AC=G, AD=H, and B9=T. I eventually came up with these results:

 
(space) - 00

A - A6

B - A7

C - A8

D - A9

E - AA

F - AB

G - AC

H - AD

I - AE

J - AF

K - B0

L - B1

M - B2

N - B3

O - B4

P - B5

Q - B6

R - B7

S - B8

T - B9

U - BA

V - BB

W - BC

X - BD

Y - BE

Z - BF
 

My work's not done, yet. I still need to find the corresponding hex for each number. This turned out to be harder than I thought; the relative search found nothing significant for the string "1995." To think, that I was just going to give up on that. I started messing with the values before the "COPYRIGHT" string that read this: "C2 02 CA 8B C6 FF." I found out that C2, CA, & C6 were the text strings for the numbers. That means that C2=1, CA=9, and C6=5. Here are the results:

0 - C1

1 - C2

2 - C3

3 - C4

4 - C5

5 - C6

6 - C7

7 - C8

8 - C9

9 - CA
 

The problem with this was that there was only one string for the number '9.' Since I was inserting a blank space (00) where the '1' (C2) should be, I would have the same numbers in the next two digits. I figured that the '02' string must've made the '9' written twice, so I messed with it. I changed it to '01.' This is what I've gotten.

 

 

The '9' is written once, but it seems to have offset the palette. Here's what I got when I changed it to '03.'

 

 

Now there are three nines. I got that part right, but the palette is screwed up again. So it was back to the old drawing board. I immediately noticed the hex '02' after the "COPYRIGHT" string. Maybe that's used to duplicate the blank space (00) the same way the '9' was duplicated. Using simple logic, I changed it to '03' since I subtracted 1 from the first '02' value. I then checked my results.

 

 

So it was a simple matter of compromising for the change in tiles. It brought me great joy to actually understand something new. With that, I made my changes to the text.

 

 

That's it for now. This is the start of a long, tedious process of experimentation, trial and error, and learning.

 

POPEYE

 

While searching through all the player tiles, I discovered some more weird trash.

 

 

Except this isn't trash; that's right, Popeye sprites have been made to take place of Aladdin, but how? Luckily I found out that there is a version of this game that takes advantage of these extra tiles. Good thing, too; because I was about to spend countless hours replacing the Aladdin sprites just so I could see the sailor man in action.

 

 

So that's what it was supposed to say? All this time I thought some pirate company was subliminally advertising in a game to travel to Persia.

 

 

 

 

As you can see the character looks crude but, since every sprite has been redone, maneuvers smoothly and undisturbed in every motion.

 

 

 

It seems every aspect of the character has been replaced, even the bonus level sprites. Hey, wait a second, is that supposed to be Olive Oyl?

 

THE ALTERATIONS

 

-- edited Aladdin's face 

-- edited Princess Jasmine's face

-- edited Genie's face

-- edited Abu's face

-- edited Sultan's face

-- edited Jafar's face

-- replaced text '1995 COPYRIGHT' to '1993 CAPCOM'

 

 

 

Site created by FamicomJL and maintained by JL and staff.

Site hosted by Nintendo City. © Famicom World.

 

The Forum