Help with hacking msx roms (Development MSX Fora)MSX Resource Center            
            
English Nederlands Espa�ol Portugu�s Russian         
 Nieuws
   Voorpagina
  Nieuws archief
  Nieuws onderwerpen

 Informatie
   MSX Fora
  Artikelen
  Recensies
  Beursverslagen
  Fotoreportages
  Beurzen en meetings
  Enquêtes
  Links
  Zoek

 Software
   Downloads
  Webshop

 MRC
   Wie we zijn
  Kom bij ons team
  Doneren
  Policies
  Contact met het MRC
  Link naar Ons
  Statistieken

 Zoek
 
  

  

 Login
 

Gebruikersnaam

Wachtwoord




Ben je nog niet lid? Klik hier en word MSX vriend!


 Statistieken
 

Er zijn 48 gasten en 1 MSX vriend online

Je bent een anonieme bezoeker.
 

MSX Fora


MSX Fora

Development - Help with hacking msx roms

Ga naar pagina ( 1 | 2 Volgende pagina )
Schrijver

Help with hacking msx roms

Whipon
msx friend
Berichten: 14
Geplaatst: 24 Februari 2007, 09:36   
I want to learn how to hack msx games. Why?. I want to play Metal Gear in my N-Gage QD. But the fmsx version for my phone doesm't supports cheats. So I need a little orientation to start the job. I have the last openmsx tcl file, so I have the RAM addresses for the cheats. But I need a little advice to start the hacking progress.
Can you lend me a hand please?.
Thank you!.
Whipon.
mohai
msx lover
Berichten: 127
Geplaatst: 24 Februari 2007, 16:47   
If you want to cheat a cartdrige game, you need to patch the original .ROM file before running it. Notice that code in carts cannot be modified (only-read), but you can modifiy the file...
Vampier
msx addict
Berichten: 502
Geplaatst: 24 Februari 2007, 19:57   
Whipon those are not ROM addresses but RAM addresses. This is the first 64Kb of the MSX memory
Whipon
msx friend
Berichten: 14
Geplaatst: 25 Februari 2007, 03:46   
Yes, I know these are RAM addresses. But I need the ram addresses to hack the rom with a debugger. But I don't know what emulator use for it. There's any emulator with breakpoint support?. I dont want a msx asm lesson, just a few tips to start the hack, because this plataform is unknow for me, and when I started to play some games, I found it amazing.
Thank you.
Whipon.
Vampier
msx addict
Berichten: 502
Geplaatst: 25 Februari 2007, 08:17   
I don't know any assembly but still I made most of the cheats in that file. Mars2000you and bifi helped too ofcourse

I believe openMSX and the new debugger support breakpoints.
NYYRIKKI
msx master
Berichten: 1525
Geplaatst: 25 Februari 2007, 16:40   
At least BlueMSX debugger supports breakpoints, step in, step out and step over.
Whipon
msx friend
Berichten: 14
Geplaatst: 25 Februari 2007, 17:51   
Yes, Its true. BlueMSX has supports for breakpoints. I had used HazeMD to hack Genesis ROMS, and FCEUD to hack Nes ROMS. But I'm a little confused with BlueMSX. Can anyone explain me how to use it with an example, please?. Its just a little help so I can start to patch the rom. Thanks to little tutorials now I can hack Genesis, Nes and GB/GBC ROMS.
Thank you very much!.
Whipon.
manuel
msx guru
Berichten: 3528
Geplaatst: 25 Februari 2007, 23:09   
Yes, openMSX also supports all those things. It's kind of usable from the console, but the GUI isn't released yet.
Whipon
msx friend
Berichten: 14
Geplaatst: 27 Februari 2007, 02:40   
Any replies?. Nobody hacked any msx game?. I'm in the wrong forum?.
NYYRIKKI
msx master
Berichten: 1525
Geplaatst: 27 Februari 2007, 08:44   
Quote:

Any replies?


I think that we missed your question, try to be more specific. BlueMSX: select machine, press play. In order to use debugger you need to pause the emulation.
Quote:

Nobody hacked any msx game?


http://www.msx.org/forumtopic6775.html
Quote:

I'm in the wrong forum?.


No
Whipon
msx friend
Berichten: 14
Geplaatst: 28 Februari 2007, 03:18   
Well, I'll try to explain it better:
I need to hack the msx Metal Gear rom, so I can have infinite health, infinite ammo and another handy cheats. I want to play it in fmsx in jmy N-Gage QD. But the fmsx version for my phone doesn't support cheat files (trainers). So i need to hack the rom directly to have some cheats (sometimes is impossible to hack the roms because of conflicts with the rom program code). I'd like to learn to hack msx roms so I can in the future hack any game with the help with BlueMSX.
The problem I have is the following:
I know how to enter the debugger. I know how to enter breakpoints. But I can't understand how it works. I used to hack nes roms with FCEUD and genesis ones with Hazemd (I learned with mini tutorials and examples). This debugger is a bit complicated. So I need, please, a hacking example. And step by step guide for the hacking progress. I tried to figure out how to use the debugger, but I can't understand how to use it, because there's a lot of options. I can understand some of them, but theres a lot that I can't understand.
Thats all. Just a mini tutorial. For example, to start with full health in Metal Gear. Teorically it must be very easy, It could be done by modifing one byte of the rom. For example if your starting health in hex is 0E, I just need to find with the debugger the rom address and change it from 0E to 15.
A simple question: what are the correct RAM addresses in the BlueMSX tcl file?. I'll give an example:

proc trainer_metalgear1 {} {
#power bar
poke 0xc131 48
#ratio
poke 0xc535 0x99
...
...

or this one:

proc trainer_metalgear2 {} {
#life bar
poke 0xca53 32

#get gun
poke 0xd600 1
poke 0xd601 0x99
poke 0xd602 0x9

#get sub machine gun
poke 0xd604 1
poke 0xd605 0x99
poke 0xd606 0x9.

Thats all I need. Thanks for the quick reply!!!.
Whipon.
Vampier
msx addict
Berichten: 502
Geplaatst: 28 Februari 2007, 07:08   
1) blueMSX doens't have a TCL file but openMSX has...

2) Metal Gear 1 != Metal Gear 2

3) You are using an outdated TCL file, get the update here long openMSX svn link

Once again, those are RAM addresses not ROM adresses. If you can poke the addresses every second or so you should be fine.

You seriously have to take my word for it.

{mod: changed the link}
Guillian
msx professional
Berichten: 642
Geplaatst: 28 Februari 2007, 14:06   
Here you can find how to hack Metal Gear 2
NYYRIKKI
msx master
Berichten: 1525
Geplaatst: 28 Februari 2007, 15:43   
The idea of break point is to stop emulation when CPU executes the command under breakpoint, but this is not very usefull if you don't know where to put one.

I think that you are used to use breakpoints that stop emulation when certain address changes. Unfortunately this kind of breakpoints are not available in BlueMSX or OpenMSX (not sure though). Without this kind of functionality it takes a lot more than just "little tutorial" to understand how to find correct location in ROM. I may anyway try:

To hack a game you need to understand what happens for example when life is lost. Usually the routine is something like:

LD A,(#XXYY)
DEC A
LD (#XXYY),A

When you change this to ML it will become:
#3A #YY #XX #3D #32 #YY #XX

If you know the RAM address (XXYY) where life is stored (look the cheat files) then you can use your favourite HEX-editor to search the string from ROM file. Then you can in this case replace for example the "DEC A" (#3D) instruction with "NOP" (#00) Now the number of lifes is not decreased when you die. Unfortunately there are plenty of different ways to implement things, so life is not always this easy.

Hope that this helps...

cax

msx professional
Berichten: 1021
Geplaatst: 28 Februari 2007, 15:45   
Whipon, the answer to your question is: you cannot directly translate RAM addresses from the file you have to adresses in ROM.

But you've got all the needed hints to do the hack in messages above.
 
Ga naar pagina ( 1 | 2 Volgende pagina )
 







(c) 1994 - 2008 Stichting MSX Resource Center. MSX is een trademark van MSX Licensing Corporation.