[33]titlehack.txt
Title Screen Hacking Made Easy v1.00 by InVerse 02/28/03 Introduction: The purpose of this document is to explain my personal method of hacking title screens. This may or may not be the best method for you to use. I offer no guarantees other than that this technique will definitely result in a hacked title screen, as long as you follow my directions correctly.
Read moreRead less
*-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-*
+ +
* Title Screen Hacking Made Easy *
+ +
* v1.00 *
+ +
* by InVerse *
+ +
* 02/28/03 *
+ +
*-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-*
Introduction:
The purpose of this document is to explain my personal method of
hacking title screens. This may or may not be the best method for you
to use. I offer no guarantees other than that this technique will
definitely result in a hacked title screen, as long as you follow my
directions correctly.
I've been hacking ROMs for approximately five years and have done a
dozen or so title screens for my own projects as well as for such
illustrious ROM hackers as Spinner 8 and WakdHacks. As a result, I've
developed certain techniques that work well for me and have decided
to write this document so that new ROM hackers can learn to do their
own title screen hacks.
*-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-*
Table of Contents:
I. Introduction
II. Table of Contents
III. Document History
IV. Required Tools
V. Getting Started
VI. Locating Title Screen Data
VII. Title Screen Design
VIII. Title Screen Insertion
IX. Anomalies, Quirks & Suggestions
X. Conclusion
XI. Credits
XII. Resources
XIII. Contact Info
*-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-*
Document History:
02/28/03 - v1.00 - Initial Release
*-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-*
Required Tools:
To hack a title screen, you'll need a hex editor with relative search
capabilities and a tile editor. A tile editor with the ability to
import bitmaps and a graphics editor will make things much easier but
are not required.
My personal recommendations are Hexposure or Hexecute as a hex editor
and Tile Layer Pro as your tile editor. GiMP is my graphics editor of
choice but Microsoft Paintbrush or just about any graphics editor
will work.
*-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-*
Getting Started:
So you've hacked a ROM and now you want to change the title screen.
This might seem a daunting task, at first. So far, all you've hacked
is text and sprites. How do you go about hacking an entire title
screen? Well, it's not as hard as you might think.
First of all, you have to learn to look at the title screen as
nothing more than a big graphic. That's all it is. Hacking a title
screen is no different from removing Mario's pants, it's just that
you have to edit more tiles. And no, I don't need to hear any
comments regarding size and Mario's pants.
The first step is to make sure that your title screen isn't
compressed. To do this, simply open the ROM you're wanting to hack in
a tile editor and look for tiles that match up to your title screen.
Chances are good that they're going to be scrambled around, so you
just have to keep your eyes open and scroll slowly. If you think that
you've found the title screen tiles but aren't sure, try editing one
of the tiles in an obvious manner, save your changes, then load the
ROM and see if the changes appear. If they do, you've found the title
screen tile location. If they don't, keep trying.
If you simply can not find the title screen tiles, your title screen
may be compressed. In this case, you have 3 options. You can solicit
the help of someone who does ASM hacking for your particular system,
you can learn the corresponding assembly language yourself or you can
do what I normally do, which is give up.
Once you've located the tiles in question, it's time for the boring
part. What you want to do is "erase" each of the tiles in the title
screen and then draw numbers on them. In other words, paint the
entire tile the background color, then draw numbers on them with
another color. The reason you do this is so, once you're finished,
you can see exactly what order the tiles are laid out in the ROM.
Most titles will have the tiles laid out horizontally from top to
bottom, but I've seen title screens that had the tiles laid out
vertically as well. Once I've numbered all of the titles, I take a
screen shot for reference purposes. As well as showing you the
layout, these numbers will also show you exactly how many tiles you
have to work with and make it easier to use relative searching to
locate the title screen data within the ROM.
*-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-*
Locating Title Screen Data:
Now that you've located the tiles for the title screen, it's time to
figure out where the title screen data is located within the ROM. You
do this by relative searching with a hex editor. (If you don't know
how to relative search, look for a document on the subject on one of
the sites listed in the reference section.)
I normally start with the data from the top left corner of the title
screen when relative searching, but sometimes there are sections that
are a lot more obvious.
It's a rare occurrence when your tiles are laid out in a uniform
manner such as this:
01 02 03 04 05
06 07 08 09 0A
0B 0C 0D 0E 0F
10 11 12 13 14
15 16 17 18 19
Most likely, there are going to be gaps between tiles and sometimes
a tile might be repeated, such as this:
01 02 ?? 03 04
05 06 06 07 07
08 ?? 09 10 11
12 13 02 14 15
16 ?? ?? 17 18
In the second example, I would most likely try relative searching for
the second line or, if that resulted in too many matches, perhaps the
first.
Using the second example, what you would want to relative search for
would be 5 6 6 7 7. Make a note of the matching locations and then
go through the ROM and change them one at a time, saving your changes
and running the ROM after each edit. When you see your changes occur
in the title screen, you've found the data.
Make a note of the offset at which you found the data then experiment
with it to see just how things are laid out. If there are gaps in the
screen, see if they're they same tile used as a space in the font (or
another blank tile) or if they use control codes to place a specific
number of spaces at a given point.
If the gaps are normal blank tiles, you'll be able to change them
easily. If they're produced by control codes, you'll likely have less
control over them depending on exactly how the title screen is
arranged. Also make a note of how they go from the last tile of one
row to the first tile of the next. Some ROMs will have a control code
that specifies a new line and others will automatically drop down to
the next line after so many tiles.
Take note of the values around the main focus of the title screen, as
well. Most of the time, you'll only be able to edit the graphics
within the amount of space allotted to them on the screen. However,
on a couple of occasions I have lucked out and there was a hex value
corresponding to every single space on the screen. This made for some
very easy editing, as I didn't have to worry about how much space my
title screen hack required.
Once you've figured out how the title screen is set up, it's time to
start designing a replacement.
*-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-*
Title Screen Design:
Now comes the fun part, creating a new title screen design. You can
either do this directly in your tile editor or you can draw the new
title screen in a graphics editor and then import it to your tile
editor.
Keep in mind that you're limited to the number of tiles already in
use by the title screen, so you generally can't get much more lavish
than what already exists.
If you're somewhat artistic, you can draw your new title screen right
in the tile editor. Most tile editors have a clipboard so you can see
what your new title screen looks like before you insert it into the
ROM.
If you would prefer to use a graphics editor to design your title
screen, the simplest thing to do is start with a screen shot of the
original title screen. Set guides so that you won't go out of the
bounds of the original graphic and this will normally prevent you
from using too many tiles, though take any gaps or repeated tiles in
consideration.
Once your title screen is designed, it's time to insert it back into
the ROM.
*-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-*
Title Screen Insertion:
Well, we've done the hard part and we've done the fun part, now it's
time for the apathetic part. While not as fun as actually designing
the title screen, insertion isn't nearly as tedious as numbering all
of the tiles, either.
First you need to get your new title screen into the tile editor. If
you designed your new title screen directly in the editor, you can
skip this part. Otherwise, open another ROM in your tile editor (I
keep a blank ROM on hand specifically for this task) and use your
editor's import ability to import your new title screen graphic into
the editor. Now copy the new title screen to the clipboard so that we
can put it into the ROM you're trying to hack. (Note: Chances are
good that the colors aren't going to matchup after the import. You'll
just have to draw over the imported title screen by hand with the
correct colors.)
Once your title screen is on the clipboard, it's time to start
pasting it into the ROM. This is where the screen shot you took of
the title screen with numbered tiles comes in handy. Using that
screen shot as a reference, begin pasting your new tiles over the
corresponding tile in the ROM. That means, if the top left tile of
your original tile screen is numbered 1, you paste the top left tile
of your title screen over the tile numbered 1 in the original ROM. If
the 3rd tile of the 4th row is numbered 15, you paste the 3rd tile of
the 4th row of your new title screen over the tile numbered 15 in the
original ROM. This will ensure that your new title screen is mostly
in order once you're finished pasting it in, limiting the amount of
hex editing required to clean up the finished product.
In the case of gaps or repeated tiles in the original screen, I
normally make a note of the new tiles that match up to that location
and then paste them after all of my other new tiles are in place.
Once the tiles are in place, take a look in an emulator and then go
into your hex editor and fix any problems, such as the aforementioned
repeated tiles or gaps or any left over tiles that you don't need.
*-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-*
Anomalies, Quirks & Suggestions:
Hacking title screens is a pretty straightforward process, but there
are still a few oddities that you might encounter.
One of the biggest problems you'll encounter (aside from compression)
is when a title screen uses control codes to place gaps. Sometimes,
you'll have no choice but to leave the gaps in place.
Keep in mind that you don't have to hand draw the graphics if you
use a graphics editor. Just select a font, size it to match the title
screen and type in your title. Presto, insta-neat title screen.
Just as the original title screen can repeat a tile multiple times,
so can you. This is particularly useful if you're using blocky
letters or if your title has the same letter repeated multiple times.
It takes a bit of hex editing to reuse the tiles but can save a lot
of space as well.
If you have a lot of tiles left over that weren't used in the title
screen, consider reusing them for other things if necessary. When I
finished hacking the Tabo's Tactics title screen, I was left with an
additional 40 tiles (lots of title recycling went on) and those 40
tiles were all available to be used as font tiles as well, since the
title screen and font were in the same memory space.
Also, remember that your new title screen doesn't have to be limited
to text. Feel free to spice it up with graphics from the game or a
new border.
*-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-*
Conclusion:
So there you have it. Hopefully, you have an understanding of how to
hack title screens now. There are probably other methods that you can
use, possibly even better methods, but as I said at the beginning of
this document, this is the method I've used and it has worked well
for me.
*-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-*
Credits:
This document was entirely written by me (InVerse) using techniques
that I developed myself. If you want to see some examples of my work
using the techniques described in this document, try the following
ROM translations:
Sanrio Carnival 2 - This was one of my first title screen hacks. I
used the numbered tile method but drew the entire thing by hand in
Nesticle's VRAM editor.
Hotman - I did this title screen at the request of SixFeetUnder. I
once again used the numbered tile method but designed the new title
screen in Tile Layer.
Riddle of Murasame Castle - Spinner 8 asked me to hack this title
screen for him. I used the numbered tile method once again and drew
the new title screen in Gimp, pasting it in with Tile Layer Pro.
Special Thanks To The Following People:
Snowbro - for creating Hexposure & Tile Layer
*-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-*
Resources:
My Website
----------
Suicidal Translations - http://www.pigtails.net/ST
ROM Hacking Information
-----------------------
The Repository - http://www.romhacking.com
RPGd - http://rpgd.emulationworld.com
SGC - http://sgc.jandar.net
Whirlpool - http://donut.parodius.com
Zophar's Domain - http://www.zophar.net
Programs
--------
Gimp - http://www.gimp.org
*-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-*
Contact Info:
I'm not an exceptional ROM hacker. I wrote this document in hopes of
helping some people learn to ROM hack and to save time in answering
the same questions over and over again on messageboards. If you have
questions regarding ROM hacking, you're going to get a lot more help
by asking on a messageboard than you will by e-mailing me.
If you find an error in this document, then contact me and I'll most
likely fix it. Do NOT under ANY circumstances e-mail me asking to
translate a game and if you e-mail me a ROM, you will suffer
horribly. If you can comply with these rules, my e-mail address is
inverse@pigtails.net
The most recent copy of this file can always be found at my website
Suicidal Translations (http://www.pigtails.net/ST) along with other
documents and utilities I've written and my own ROM translations.
-InVerse
*-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-=*=-=-*
02/28/03 - Title Screen Hacking Made Easy - v1.00
Retro Replay Retro Gaming History, Reviews & Emulation