What's new

Darksoft

Staff member
Immortal
Joined
Jun 12, 2015
Messages
11,411
Reaction score
16,770
Location
Poland
I have created a trainer version of some games. I know that people liked the Strider and Ghouls'n Ghosts Trainer versions, so I decided to make 3 more versions: Final Fight, Magic Sword and Willow.

Notice that the patch of Final Fight is not perfect, but should me more than enough to "train" you in the game which I believe is the goal.

I have included only the maincpu.03 file for each game. You need to copy it into the right folder and change the file NAME adding to the end the TRAINER word if you want.

Please try it and let me know how it works for you!!!

Enjoy and let's 1CC all those games!
 

Attachments

  • maincpu_ffight_trainer.rar
    207.3 KB · Views: 55
  • maincpu_willow_trainer.rar
    184 KB · Views: 46
Looks like you liked this initiative, so I've worked on the trainer for Varth. See attached. Please let me know how it works for you.

Thanks!
 

Attachments

  • maincpu_varth_trainer.rar
    332.5 KB · Views: 45
  • maincpu_msword_trainer_v2.rar
    225.3 KB · Views: 34
If i wanted to load it up in mame, would I split / de-interleave maincpu_msword_trainer.03 into this file set?

ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
ROM_LOAD16_BYTE( "mse_30.11f", 0x00000, 0x20000, CRC(03fc8dbc) SHA1(a9e4e8a06e2d170faeae75a8b17fd65e6e5fecd4) )
ROM_LOAD16_BYTE( "mse_35.11h", 0x00001, 0x20000, CRC(d5bf66cd) SHA1(37c5bc4deafd7037ec5cf09c88bb89f35ea3d95c) )
ROM_LOAD16_BYTE( "mse_31.12f", 0x40000, 0x20000, CRC(30332bcf) SHA1(1c77c06028b77473276cb5dde5ecf414b43a7b78) )
ROM_LOAD16_BYTE( "mse_36.12h", 0x40001, 0x20000, CRC(8f7d6ce9) SHA1(7694c940023c12520663593f973ddb4168a6bfa5) )
ROM_LOAD16_WORD_SWAP( "ms-32m.8h", 0x80000, 0x80000, CRC(2475ddfc) SHA1(cc34dfae8124aa781320be6870a1929495eee456) )
 
Yes basically that is what you need to do. I can post thos3 changes later, if you want.
 
Here is a list of what I've actually changed in each game:.

STRIDER TRAINER MODE
--------------------
INVINCIVILITY
10C16: 4E71
11EF8: 4E71 B000
12606: 4E71 B000
13EC4: 4E75
13FBA: 4E71 B000
145CE: 4E71 B000
15368: 4E75

INFINITE ENERGY:
6320: 4E75
10BCC: 4E71 4E71
11F0C: 4E71 4E71
1261A: 4E71 4E71
13EF8: 4E71 4E71
13FCE: 4E71 4E71
145E2: 4E71 4E71
153D4: 4E71 4E71
15428: 4E71 4E71

INFINITE TIME:
002628: 6000 0034

INFINITE LIVES:
00D0E2: 6000 0020

TRAINER FOR GHOULS&GHOSTS (WORLD)
----------------------------------------
61B8A: 6300 003E (TO PASS ROM CHECK)
513A: 117C 0002 0010 117C 0002 0012 4E75 (TO HAVE GOOD ARMOR ALL THE TIME)
B62E: 4E71
B630: 137C 0006 002C 4E71 (TO HAVE WEAPON NUMBER 6 ALL THE TIME)
B3F4: 4E71 4E71 (INFINITE LIVES)

WILLOW TRAINER
---------------
PLAYER 1 INFINITE ENERGY
3A6A2: 4E71 4E71

PLAYER 1 INFINITE LIVES
96CE: 7200
 
Last edited:
FINAL FIGHT TRAINER
-------------------
P1 INFINITE ENERGY
6A30: 4E71 4E71
761E: 4E71 4E71 4E71
79D4: 4E71 4E71
2EE4A: 4E71 4E71

MAGIC SWORD TRAINER
----------------------
P1 & P2 INFINITE ENERGY
2BF0: 4E71 4E71 6000
2CD6: 4E71 4E71 6000
2D4E: 4E71 4E71 6000
2DBA: 4E71 4E71 6000
2E48: 4E71 4E71 6000
78E0: 4E71 4E71 6000
8BB0: 4E71 4E71 4E71 6000
9A74: 4E71 4E71 6000
C8FC: 4E71 4E71
CFE2: 4E71 4E71
D610: 4E71 4E71
DD28: 4E71 4E71
E4D4: 4E71 4E71
EAE2: 4E71 4E71
F1CC: 4E71 4E71
F8B4: 4E71 4E71
20C44: 4E71 4E71 6006
3F06A: 4E71 4E71 6006
47A2C: 4E71 4E71 6000
48692: 4E71 4E71 6000
48D2C: 4E71 4E71 6000
4F4AA: 4E71 4E71 6006

VARTH TRAINER
----------------
P1 & P2 INVINCIBILITY
828A2: 4E75
 
I have created a trainer version of some games. I know that people liked the Strider and Ghouls'n Ghosts Trainer versions, so I decided to make 3 more versions: Final Fight, Magic Sword and Willow.
Do you have info on the Ghouls Trainer? Would love to install in a CPS1 conversion so I can cheat, I mean train to get better at it. Love the game, would prefer godmode as opposed to continue x10 tries to get to level 3 :)
 
Ha, is "trainer" the new word for cheater?!?

I love it, keep 'em coming Darksoft! And yes, I rolled with a Game Genie BITD! You're our modern day Robin Williams!
 
Do you have info on the Ghouls Trainer? Would love to install in a CPS1 conversion so I can cheat, I mean train to get better at it. Love the game, would prefer godmode as opposed to continue x10 tries to get to level 3 :)
It's here man:

TRAINER FOR GHOULS&GHOSTS (WORLD)
----------------------------------------
61B8A: 6300 003E (TO PASS ROM CHECK)
513A: 117C 0002 0010 117C 0002 0012 4E75 (TO HAVE GOOD ARMOR ALL THE TIME)
B62E: 4E71
B630: 137C 0006 002C 4E71 (TO HAVE WEAPON NUMBER 6 ALL THE TIME)
B3F4: 4E71 4E71 (INFINITE LIVES)
 
It happens to us all. Enjoy the trainer version of that great game.
 
It happens to us all. Enjoy the trainer version of that great game.
Okay, so I am still a putz. I have Ghouls romset opened up (world) and I cant find which BIN is MainCPU3 per posts above so I know which to apply patch to?

Note, I am trying to make a romset to play on a conversion CPS1 boardset, not just in MAME. Not sure if that is the root of my problem.


1709840086431.png
 
If you look at the mame driver you will see how these games are loaded into memory:
https://github.com/mamedev/mame/blob/master/src/mame/capcom/cps1.cpp#L4542

As you can see the region maincpu loads the 4 first eproms using the function "ROM_LOAD16_BYTE" which reads one byte from the eprom and skips one, so basically dme_29.10h stores even bytes from 0 to 0x40000 and dme_30.10j odd bytes also from 0 to 0x40000

The first patch is for address 61B8A and you should check in the next 2 eproms (dme_27.9h and dme_28.9j )

but the ones for 513A, B62E, B630 and B3F4 are in the first 2 eproms that I mentioned (dme_29.10h and dme_30.10j ).
Now to change the byte at address memory 513A, you need to go to the eprom holding that byte which is dme_29.10h, but as we only have even bytes here, the offset to modify will be 513A / 2 = 289D. So edit that eprom file with an hex editor, go to offset 289D and start modifying the even bytes. That means change to:
11 00 00 11 00 00 4E
and then go to that same offset in the other eprom and change the bytes at offset 289D as well for the corresponding odd bytes.
 
If you look at the mame driver you will see how these games are loaded into memory:
https://github.com/mamedev/mame/blob/master/src/mame/capcom/cps1.cpp#L4542

As you can see the region maincpu loads the 4 first eproms using the function "ROM_LOAD16_BYTE" which reads one byte from the eprom and skips one, so basically dme_29.10h stores even bytes from 0 to 0x40000 and dme_30.10j odd bytes also from 0 to 0x40000

The first patch is for address 61B8A and you should check in the next 2 eproms (dme_27.9h and dme_28.9j )

but the ones for 513A, B62E, B630 and B3F4 are in the first 2 eproms that I mentioned (dme_29.10h and dme_30.10j ).
Now to change the byte at address memory 513A, you need to go to the eprom holding that byte which is dme_29.10h, but as we only have even bytes here, the offset to modify will be 513A / 2 = 289D. So edit that eprom file with an hex editor, go to offset 289D and start modifying the even bytes. That means change to:
11 00 00 11 00 00 4E
and then go to that same offset in the other eprom and change the bytes at offset 289D as well for the corresponding odd bytes.

I am either going to learn a whole ton on address / bitlevel changes or my brain will explode, will try and report back if I dont die from an aneurysm.

Will have to delete some SCUBA info from my databanks to make room for new skills.
 
Back
Top