ROM Hack Intro Hacking

gukid

Well-Known Member
OP
Member
Joined
Dec 15, 2006
Messages
102
Trophies
0
XP
413
Country
Canada
I was just wondering if anyone was familiar with any way we could remove the intros of games that are non skipable.

The Japanese Castlevania (new one) has 2 screens, Konami and the Video codec one, the us one has 4: Licensed by Nintendo, Konami, Video Codec, Online ESRB Interactions warning. Not counting the warning that comes up on the DS, this is 5 timed intros you have to watch before the intro movie starts, which is getting more than annoying these days.

I think idealy, removing the licenced by nintendo, video codec, and online esrb warnings would be best, and leave the Konami logo as skipable by pressing a button. Unfortunately, this is probably some actual hacking, so I don't know the first thing on how to do this... but I'm sure someone does! Perhaps all these intros are built roughly the same way, and a general utility could be built?

I'm also wondering, if the files in the "overlay" have anything to do with it, because the US rom has a few bigger ".bin files" than the Japanese version, which I thought could be these screens. Maybe overlay is the collection of any full screen graphics? If this is the case, then maybe it would be even easier to identify them and remove them from the rom code.

Any interest in this at all? Or do you guys not mind waiting an extra 10-15 seconds to play a game?
 

gukid

Well-Known Member
OP
Member
Joined
Dec 15, 2006
Messages
102
Trophies
0
XP
413
Country
Canada
I thought it would be quite a bit of hacking (or rather, investigation into the rom) to get it to work, but there's always a posibility that most roms do this loading the same way.

Anyone have any thoughts about what the 'overlay' files could be?
 

KiC

Active Member
Newcomer
Joined
Jul 22, 2007
Messages
43
Trophies
0
Website
Visit site
XP
145
Country
Gambia, The
Overlays are simply code that is loaded on demand. It can include data, but it doesn't have to. Sizes differ between versions because they can also include text and additional programming that was necessary. Code is NOT compatible between different versions.
The intro screens are most certainly done using program code, and that differs between games.
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,404
Country
United Kingdom
Adding an intro is not so hard.

Overlays are like DLL files, the theory goes that you will not be saving every second so it can be dropped to a file not in the main executable (actually saving is done by the ARM7 hence the ARM7 fix but go with it for a minute), likewise an obscure menu may not be needed, a minigame may not be needed......
You can then say a given section of memory can be used for these low usage options and each of those can be placed over (hence overlay) the section as needed.
It is a fairly archaic concept in computing but for a single application system like the DS is works well enough, PCs tend to use DLL files and similar which are loaded as necessary.

Basically they are executable code that is used for uncommon activities, your intro may well be in there but I would not like to say.

How to pull it off, it is an assembly hack without doubt (at best it is a cheat, at worst full blown assembly hack). There is little chance of a general utility either.
Also be warned such screens are often used as "please wait" type things without actually saying it so be careful.

First each logo will probably have a timer (the alternative is the section will end when code is loaded, best way to test this would be to try a slow motion patch), find the timer and you can manipulate it (this would be the "cheat method"). You could also patch this into the rom if you really wanted.

Secondary is you can manipulate the value the timer jumps upon, forgive the pseudo code (and this would be assembly code)
something like

read timer
if timer>[given value] goto next section
else continue displaying screen.

Your job would be to change the value it jumps on.

Third method is to find the first screen and jump to the last instructions before the stuff you can skip appears
In the pseudo code example instead of read timer it would be a straight goto next section. This runs the risk of missing out something that was supposed to happen during the time the intro was displayed.

All in all the amount of effort it would take for a game that people tend to play for some time (if it was a tetris/quick puzzle sort of game then I might be more interested).
 

TSPhoenix

Well-Known Member
Member
Joined
Aug 7, 2007
Messages
158
Trophies
0
XP
195
Country
Well the soft reset in the new Castlevania and many other games besides takes you to the title screen, maybe there is some way of making a code that calls the soft reset function as soon as the game is loaded?
 

gukid

Well-Known Member
OP
Member
Joined
Dec 15, 2006
Messages
102
Trophies
0
XP
413
Country
Canada
Thanks for all the great info Fast6191! Definitely exactly what I was looking for. More than likely I don't have the technical knowhow (yet) to accomplish this, but eventually, hopefully, I'll put something together
tongue.gif


And for the record, YES, I am impatient. Intro screens in any game are just a huge annoyance to me, especially these days. Though I remember being pretty excited about Phantasy Star Collection on the GBA. Tried the game, and it had 7 unskipable intros, that took around 20-30 seconds to get past. If you guys are okay with 4 right now, at what point will it become a problem? (Also, the 2 new ones for the us version don't load anything, they just take up time, as the Japanese version only has 2 total.)

It also really bugs me how US playstation games have the X and O swapped. Seeing as though DS, SNES, older PSX always had the button on the far right as the confirm button, it's what I'm used to. I'd love to be able to switch this back as well. I'm pretty anal about things like this.

TSPhoenix: What do you mean by the reset code? On my R4, the reset (ABXYRL) takes me back to the R4 main menu still. What card are you using?
 

samuraibunny

Well-Known Member
Member
Joined
Jul 5, 2008
Messages
104
Trophies
0
Location
Anime Land
Website
Visit site
XP
105
Country
United States
gukid said:
Thanks for all the great info Fast6191! Definitely exactly what I was looking for. More than likely I don't have the technical knowhow (yet) to accomplish this, but eventually, hopefully, I'll put something together
tongue.gif


And for the record, YES, I am impatient. Intro screens in any game are just a huge annoyance to me, especially these days. Though I remember being pretty excited about Phantasy Star Collection on the GBA. Tried the game, and it had 7 unskipable intros, that took around 20-30 seconds to get past. If you guys are okay with 4 right now, at what point will it become a problem? (Also, the 2 new ones for the us version don't load anything, they just take up time, as the Japanese version only has 2 total.)

It also really bugs me how US playstation games have the X and O swapped. Seeing as though DS, SNES, older PSX always had the button on the far right as the confirm button, it's what I'm used to. I'd love to be able to switch this back as well. I'm pretty anal about things like this.

TSPhoenix: What do you mean by the reset code? On my R4, the reset (ABXYRL) takes me back to the R4 main menu still. What card are you using?

I believe the soft reset that TSPhoenix was talking about was the L+R+Start+Select one... In the games that have that reset, they usually lead you back to the main menu, or all the way back from the beginning to when you first load the game.
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,404
Country
United Kingdom
+1 to samuraibunny and TSPhoenix.
If that is the case then you may be in luck (I remember an n64 game where you could do a similar trick to skip a long intro)
Back on topic, assuming the reset code is not loaded onto there will usually be a flag to say the menu has been loaded/soft reset is available somewhere in the ram and you should be able to alter it with a cheat.

edit: game was Forsaken 64.
 

Shardnax

Well-Known Member
Member
Joined
Aug 23, 2008
Messages
199
Trophies
0
Website
Visit site
XP
311
Country
United States
This is a little off topic (and probably ignorant), so please forgive me. Would the wi-fi connectivity test the game does after the intro cause any problems, or would this bypass it as well?
 
D

Deleted User

Guest
With a dissassembler you could try to check for file access (ie find a string ref to the opening background, something like nin_logo.bin for example) then break into the function referencing them, then jump up until you find the intro loop and skip it.
about overlays, one added detail : overlays are non-translatable static library as FAST pointed it out, non-translatable means that the code is expected to lie in a fix address range. But there can be some chaining : for example : main prog can load two overlays A and B corresponding to different subgames, but for each of this game it needs to display the menu and could load an overlay C from both A and B, so C must be located apart from the union of ranges of A and B. It sounds like a lot of troubles for a simple thing... Homebrews are better, take DLDI for example. Each driver is a translatable library, when you patch an homebrew with a driver you just instantiate the library at a fix place in the binary, but without a lot of effort, you could load dynamically on boot the right driver (there's no point here as loading it from a collection of drivers lying on a fat filesystem kind of kill the point of loading a driver -- you need a fat driver to load a fat driver :wtf:...)
 

gukid

Well-Known Member
OP
Member
Joined
Dec 15, 2006
Messages
102
Trophies
0
XP
413
Country
Canada
Sorry this is a little late, but thank you for all that information deufeufeu. Though I'm not really at the technical level where I would have any idea on how to do that yet
tongue.gif


I have made a bit of progress however. In the realization that there is no ESRB in the uk, so... to get rid of the ESRB Warning screen, all I really have to do is get the UK rom of a game instead
tongue.gif
Just checked castlevania, and it cuts about 3 seconds off the wait time before I can actually start the game. Now it's just the "Licensed by Nintendo" one (which every game outside of Japanese territories has... *sigh*). Funny, because this makes importing Chrono Trigger DS quite a good idea, because it has the same english text as the US version, but it doesn't have an extra intro screen before the game starts.

(Everyone always talks about portable games being for that "quick fix", yet no one seems to complain when you have to wait anywhere from 15 to 30 seconds before you can even begin. Well, I'm going to complain!)
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    SylverReZ @ SylverReZ: @K3Nv2, Sounds like you need to see a doctor.