Question for Pugsy

General Chit-Chat about MAME and other emulators.
Post Reply
User avatar
Abystus
Posts: 506
Joined: Sun Jul 23, 2006 6:53 am
Has thanked: 3 times
Been thanked: 22 times

Question for Pugsy

Post by Abystus »

I see that you have hacked some impressive cheats for Mortal Kombat 2. I was wondering if any of these were ASM hacks? I am going to attempt to port my SNES hacks (Play as Real Smoke, Jade, Noob) to it's arcade counterpart. I have found the following resources to provide information on this processor (TMS34010):

http://en.wikipedia.org/wiki/Midway_T_Unit
ftp://whtech.com/datasheets%20and%20man ... %20Set.pdf

I was also wondering that if your hacks were ASM based, then what documentation were you using or recommend for performing assembly hacks on this game? The hacks created on the SNES were simple for the most part (standard debugging work performed on Geigers Snes9x along with a very simple instruction set for its processor), however jumping into a new instruction set (Similar to other asm of course) in a debugger I am not familiar with may be an issue. Any help is appreciated as always.
Bored? Watch some of my hacks here.
User avatar
Pugsy
Posts: 3638
Joined: Fri Aug 17, 2001 12:59 am
Location: North Wales, UK.
Has thanked: 1 time
Been thanked: 12 times
Contact:

Re: Question for Pugsy

Post by Pugsy »

Yes, they are assembly hacks. Made with the aid of Save States from others (as I don't have much patience to play fighters long enough to see the effects people want to be repeated). I just traced the branches I needed to cancel/force. I can't say I'm an expert on TMS assembly...all assemblers share enough commonality for me to work out what I need to, so I rarely use documentation - it's made easy because of the common debugger for all CPUs.

Arcade MK2 games are not fun because of the freaky memory addressing which makes breakpointing and altering a major PITA. An important thing to remember is when you find the program code address you want to change is to divide the address/8 then AND it with 0xFFFFF to get the address to poke.
Pugsy

Servicing your cheating needs since 1985 8)

Grab the latest cheat collection:
MAME 0.259 XML cheat collection (6 OCTOBER 2023) from http://www.mamecheat.co.uk or direct from:-
https://mega.nz/file/q4dHGZ6K#i-EUiqIjH ... KMz7hnbTfw (ZIP Archive 3.76MB)
User avatar
Abystus
Posts: 506
Joined: Sun Jul 23, 2006 6:53 am
Has thanked: 3 times
Been thanked: 22 times

Re: Question for Pugsy

Post by Abystus »

Is that just a standard formula for this processor or something to be expected throughout mame debugging? I know you hate fighting games (Especially the MK games for their coding) :). Unfortunately your the best qualified around here to hack them from what I've seen with seemingly impossible requests being filled. Hopefully I can pick this up and make some serious hacks for this game as I've done with the SNES version and possibly take some of the requests off your back.
Bored? Watch some of my hacks here.
User avatar
Pugsy
Posts: 3638
Joined: Fri Aug 17, 2001 12:59 am
Location: North Wales, UK.
Has thanked: 1 time
Been thanked: 12 times
Contact:

Re: Question for Pugsy

Post by Pugsy »

It's pretty much just for that CPU...which is one of the biggest reasons it's such a pain compared with other MAME games that use more regular CPUs. If you are not used to the MAME debugger then MK2 games are not the ones to practise with.

Biggest problems I have filling such requests is understanding exactly what is wanted and having 'reliable' save states made long enough before the desired thing comes into effect, and of course having save states from a recent version of MAME is essential (6 months maximum MAME age). Save states are pretty much version specific so somebody supplying save states from a MAME that is years old (in one case the MAME version was over 6 years old) is wasting their time as well as mine.
Pugsy

Servicing your cheating needs since 1985 8)

Grab the latest cheat collection:
MAME 0.259 XML cheat collection (6 OCTOBER 2023) from http://www.mamecheat.co.uk or direct from:-
https://mega.nz/file/q4dHGZ6K#i-EUiqIjH ... KMz7hnbTfw (ZIP Archive 3.76MB)
User avatar
Abystus
Posts: 506
Joined: Sun Jul 23, 2006 6:53 am
Has thanked: 3 times
Been thanked: 22 times

Re: Question for Pugsy

Post by Abystus »

I appreciate the feedback. And yes if your not familiar with the game in question it can be hard to understand what the user would like hacked. I will test the debugger on other games just to get a feel for it, however with each new processor type comes a new set of instructions so I will try to make my choices use derivatives of the same processor family. BTW do you happen to know if they will ever bring cheat editing back into the interface of MAME (The version I just downloaded still doesn't let me modify cheats on the fly through a GUI interface like it was in older revisions unless I'm missing something...)?
Bored? Watch some of my hacks here.
User avatar
Pugsy
Posts: 3638
Joined: Fri Aug 17, 2001 12:59 am
Location: North Wales, UK.
Has thanked: 1 time
Been thanked: 12 times
Contact:

Re: Question for Pugsy

Post by Pugsy »

There are no plans to add cheat editing to MAME, to do justice to the XML format it would be next to impossible anyway.
Pugsy

Servicing your cheating needs since 1985 8)

Grab the latest cheat collection:
MAME 0.259 XML cheat collection (6 OCTOBER 2023) from http://www.mamecheat.co.uk or direct from:-
https://mega.nz/file/q4dHGZ6K#i-EUiqIjH ... KMz7hnbTfw (ZIP Archive 3.76MB)
User avatar
NotAGoodName
Posts: 331
Joined: Wed Feb 18, 2009 7:09 am
Location: MO, USA
Contact:

Re: Question for Pugsy

Post by NotAGoodName »

The lack of GUI cheat editing is intentional and would be rather pointless when running the debugger. Just place the cheat file you want to work on in the cheat folder (C:\MAME\cheat) and edit it with a text editor while you're doing work in the debugger. You can use the reload function to update the cheatlist with your changes. It's not so bad when you get the hang of it.

I'd suggest practicing simple stuff with a game that uses the 68000 just so you get meaningful and relatively easy experience before you jump into Midway hardware. To the best of my knowledge, all of their games run on overly complicated and unorthodox hardware just like MK2. I find them unenjoyable and all I do is RAM cheats.
Aww yeah. AMD A10-7850K givin' MAME and MESS systems what for.
User avatar
Abystus
Posts: 506
Joined: Sun Jul 23, 2006 6:53 am
Has thanked: 3 times
Been thanked: 22 times

Re: Question for Pugsy

Post by Abystus »

I'll most likely try Street Fighter out and see what I can produce. Even looking at the hex window for MK 2 Arcade is like peering into a tube of jumbled mess. And yes making the cheat files XML based has it's positives and negative aspects, but at least they substituted it within the debugging options.. well sort of. I appreciate all the information from both of you on such a troublesome processor :).
Bored? Watch some of my hacks here.
User avatar
Abystus
Posts: 506
Joined: Sun Jul 23, 2006 6:53 am
Has thanked: 3 times
Been thanked: 22 times

Re: Question for Pugsy

Post by Abystus »

Pugsy wrote: Arcade MK2 games are not fun because of the freaky memory addressing which makes breakpointing and altering a major PITA. An important thing to remember is when you find the program code address you want to change is to divide the address/8 then AND it with 0xFFFFF to get the address to poke.
I have tried your formula (maybe I'm doing something wrong), and haven't gotten it to work in my little converter program:

Code: Select all

txtNew.Text = ((uint.Parse(txtOrignal.Text) / 8) & 0xFFFFF).ToString("X8"); //(Original: 01060280 Converted: 000205B7)

or even

txtNew.Text = ((uint.Parse(txtOrignal.Text,NumberStyles.AllowHexSpecifier) / 8) & 0xFFFFF).ToString("X8"); //(Original: 01060280 Converted: 0000C050)
Using the address (Player 1 Character Modifier in mk2.xml) 01060280 with either conversion it never breaks when setting a wp for r, w.

Do you see anything wrong with the way I'm converting? Any help is appreciated.
Bored? Watch some of my hacks here.
User avatar
Pugsy
Posts: 3638
Joined: Fri Aug 17, 2001 12:59 am
Location: North Wales, UK.
Has thanked: 1 time
Been thanked: 12 times
Contact:

Re: Question for Pugsy

Post by Pugsy »

The memory system has undergone a lot of changes over the last few years since I last did MK2 ROM cheats, so things are actually a lot easier now.

Instead of dividing the address by 8 as it's an 8-byte location you now just have to watch for a rw of 8 bytes (1-7 won't work)

So

wp 1060280,8,rw

Will work fine
Pugsy

Servicing your cheating needs since 1985 8)

Grab the latest cheat collection:
MAME 0.259 XML cheat collection (6 OCTOBER 2023) from http://www.mamecheat.co.uk or direct from:-
https://mega.nz/file/q4dHGZ6K#i-EUiqIjH ... KMz7hnbTfw (ZIP Archive 3.76MB)
User avatar
Abystus
Posts: 506
Joined: Sun Jul 23, 2006 6:53 am
Has thanked: 3 times
Been thanked: 22 times

Re: Question for Pugsy

Post by Abystus »

Thanks for the quick reply. It appears to work great. I thought I was losing my mind... Good to see things are a little easier in the MK hacking universe. Thanks again!
Bored? Watch some of my hacks here.
Post Reply