Modifying roms to set up framespeed ??

Discuss the development of new homebrew software, tools and libraries.

Moderators: cheriff, TyRaNiD

Post Reply
Eingang
Posts: 59
Joined: Wed Jan 04, 2006 7:33 am

Modifying roms to set up framespeed ??

Post by Eingang »

This is a question for the freaks here as I am not one of these.

As we know, certain videogames are set up for a certain frame speed, normally 50 for PAL and 60 for NTSC. This is different from (nearly all) PC games, where speed is fitted to the processing speed automatically.

Of course the last system is better for performance, because as we know, smooth playing starts at ~24fps. In this case I am thinking of the Tyl SNES emulator which is strong enough to render this in nearly all games but still can not produce playable results in all games, because framespeed has to be 50 or 60 fps.

I asked the coders yet if they could manage something to change this so we can play the games with correct speed no matter what amount of fps we get from emulation. They answered this is not possible at all for some reason I didn´t understand really.

Now I see lots of games in a EU version and a US version - one PAL one NTSC of the same game. The rom sizes are nearly the same and when I (noob) open up those roms in a hex editor and look up some lines per accident it seems to me as if those codes are 99% the same. I suppose that all (the same) games had the same source and some simple modification set it up to PAL or NTSC, if you understand what I mean.

So I ask myself if it still could be possible to change the framespeed of a game to a lower value (fe 30) just by modifying the roms in hex ???? If this or something similar would be possible and someone would find out how to do it, we could make perfectly playable nearly 100% of all SNES games on TyL by once and emulation would be perfect. I guess this also would help for other emus.

What do you say ? Any idea or am I totally wrong ?
Thanks for reading and thinking
patpsp
Posts: 31
Joined: Tue Oct 25, 2005 5:24 pm

Post by patpsp »

I can be wrong but here is my thoughts :

The only difference between a PAL and a NTSC game version is the graphic engine initialisation.

Something like :

Init_Graphic_Library(PAL)
or
Init_Graphic_Library(NTSC)

These modes are "coded" in the bios of the console, so i think you can't change something in a game in order to change framerate.

Your idea was good, but, to my mind, it can't be possible.
TyRaNiD
Posts: 907
Joined: Sun Jan 18, 2004 12:23 am

Post by TyRaNiD »

Well you can change the framerate of snes or megadrive (or pretty much anything else) generally by just forcing the emulator to run at a different speed. However the games are not designed to run at different speeds necessarily, the main difference in the old games between pal and ntsc is just how many vblanks you got in a second, or how fast the circuitry ran (in the case of the NES for example). The game would then potentially be tailored to run at the different refreshrates, or normally they tested the NTSC version on a PAL unit and if it didn't crash they just released it even if it ran slower :P

Hacking games to run independant of the hardware clocking would in effect require rewriting the entire game's engine, if you had the source you might be able to do it but even then it would be a mammoth task and probably wouldn't work too well anyway.

Emus have their own method to try run the game at a different display frequency, it is called frameskip, that is about as good as it is going to get.
HaQue
Posts: 91
Joined: Fri Nov 25, 2005 8:52 am
Location: Adelaide, Australia
Contact:

Post by HaQue »

Also on some systems, the NTSC or PAL selector in the software told the hardware what system it was going to be run on.

Think of it as a modular system inside the console:
[(1)cpu,graphics chip, sound etc]------------[(2)output to vga/screen/tv]

Module (2) can be EITHER NTSC or PAL.

Exactly the same code can run on module (1) with just a NTSC or PAL define.

IIRC, the PSX games used to be patched to allow US games to be played in Oz, although I do remember building circuits with crystals at 4.433619Mhz or something and installing them in the first few series, but my memory of it is getting fuzzy ;)

Basically, if the emulation is done correctly, AND the system doing the emulation is powerful enough to cope with running the games at correct framerate, there is no problem.

Once you start changing the ROMs them selves to run on a certain system, you are not technically emulating anymore, and you may as well just port the game over!
Post Reply