1st of all, mjgtaste uses "cpu_spinuntil_int()" so that sometimes MAME crashes with fatal error in searching.
PAUSE THE GAME BEFORE YOU TRY TO SEARCH !
If the mahjong game has "joystick" input type, winning hand code works badly.
I guess that the program checks your hand when you do "Tsumo" (getting a "Tsumo" tile).
And "set" type is normally set AFTER you get a tile so that it doesn't work.
The same problem happens in jangoku which has "joystick" input type.
Try the following standard code with simple convertion Freegamer's code.
(but I don't know why does Freegamer make and test standard type because the database normally requires both codes in case of the mahjong.
If you make winning hand cheat for the mahjong game, you have to create and post both "standard" and "set" type.
Therefore I say, "you are wrong" because you have ignored "basic" rule.)
Code: Select all
:mjgtaste:00000000:06071100:0000001B:FFFFFFFF:Always Have Winning Hand [Incomplete]:Works fine when start the game with first move
:mjgtaste:00010000:06071104:0000001B:FFFFFFFF:Always Have Winning Hand [Incomplete] (02/14)
:mjgtaste:00010000:06071108:0000001C:FFFFFFFF:Always Have Winning Hand [Incomplete] (03/14)
:mjgtaste:00010000:0607110C:0000001C:FFFFFFFF:Always Have Winning Hand [Incomplete] (04/14)
:mjgtaste:00010000:06071110:0000001C:FFFFFFFF:Always Have Winning Hand [Incomplete] (05/14)
:mjgtaste:00010000:06071114:0000001F:FFFFFFFF:Always Have Winning Hand [Incomplete] (06/14)
:mjgtaste:00010000:06071118:0000001F:FFFFFFFF:Always Have Winning Hand [Incomplete] (07/14)
:mjgtaste:00010000:0607111C:0000001F:FFFFFFFF:Always Have Winning Hand [Incomplete] (08/14)
:mjgtaste:00010000:06071120:00000020:FFFFFFFF:Always Have Winning Hand [Incomplete] (09/14)
:mjgtaste:00010000:06071124:00000020:FFFFFFFF:Always Have Winning Hand [Incomplete] (10/14)
:mjgtaste:00010000:06071128:00000020:FFFFFFFF:Always Have Winning Hand [Incomplete] (11/14)
:mjgtaste:00010000:0607112C:00000021:FFFFFFFF:Always Have Winning Hand [Incomplete] (12/14)
:mjgtaste:00010000:06071130:00000021:FFFFFFFF:Always Have Winning Hand [Incomplete] (13/14)
:mjgtaste:00010000:06071134:00000021:FFFFFFFF:Always Have Winning Hand [Incomplete] (14/14)
If you start the mahjong with first move, this code works fine but the opponent is 1st, you can't finish.
It seems that $6071134 is not checked by hand check routine when you are defensive hand.
The routine of getting "Tsumo" tile is the following.
Code: Select all
0602A094: D321 MOV.L @($84,PC),R3
0602A096: E02C MOV #$2C,R0
// load a value of next your Tsumo tile ($6070E50)
0602A098: 044C MOV.B @(R0,R4),R4
0602A09A: 430B JSR R3
0602A09C: 644C EXTU.B R4,R4
// value is stored into your Tsumo tile position ($6071134)
0602A09E: 2800 MOV.B R0,@R8
0602A0A0: E078 MOV #$78,R0
Therefore...
Code: Select all
:mjgtaste:00000000:06071100:0000001B:FFFFFFFF:Always Have Winning Hand
:mjgtaste:00010000:06071104:0000001B:FFFFFFFF:Always Have Winning Hand (02/15)
:mjgtaste:00010000:06071108:0000001C:FFFFFFFF:Always Have Winning Hand (03/15)
:mjgtaste:00010000:0607110C:0000001C:FFFFFFFF:Always Have Winning Hand (04/15)
:mjgtaste:00010000:06071110:0000001C:FFFFFFFF:Always Have Winning Hand (05/15)
:mjgtaste:00010000:06071114:0000001F:FFFFFFFF:Always Have Winning Hand (06/15)
:mjgtaste:00010000:06071118:0000001F:FFFFFFFF:Always Have Winning Hand (07/15)
:mjgtaste:00010000:0607111C:0000001F:FFFFFFFF:Always Have Winning Hand (08/15)
:mjgtaste:00010000:06071120:00000020:FFFFFFFF:Always Have Winning Hand (09/15)
:mjgtaste:00010000:06071124:00000020:FFFFFFFF:Always Have Winning Hand (10/15)
:mjgtaste:00010000:06071128:00000020:FFFFFFFF:Always Have Winning Hand (11/15)
:mjgtaste:00010000:0607112C:00000021:FFFFFFFF:Always Have Winning Hand (12/15)
:mjgtaste:00010000:06071130:00000021:FFFFFFFF:Always Have Winning Hand (13/15)
:mjgtaste:00010000:06071134:00000021:FFFFFFFF:Always Have Winning Hand (14/15)
:mjgtaste:00010000:06070E50:00000021:FFFFFFFF:Always Have Winning Hand (15/15)
will be correct.
But yes, you can't make "set" type though convert this code because it doesn't hack hand check routine itself.
I think the database doesn't need to add his "almost working" code because another "standard" type works fine.
Instead, it's better to add the comment, "Get type has incorrect working so that doesn't add (to the database)".
From my database.
Code: Select all
:mjgtaste:00000000:0606678D:00000009:FFFFFFFF:Infinite Credits
:mjgtaste:00000000:06071100:0000001B:FFFFFFFF:Always Have Winning Hand
:mjgtaste:00010000:06071104:0000001B:FFFFFFFF:Always Have Winning Hand (02/15)
:mjgtaste:00010000:06071108:0000001C:FFFFFFFF:Always Have Winning Hand (03/15)
:mjgtaste:00010000:0607110C:0000001C:FFFFFFFF:Always Have Winning Hand (04/15)
:mjgtaste:00010000:06071110:0000001C:FFFFFFFF:Always Have Winning Hand (05/15)
:mjgtaste:00010000:06071114:0000001F:FFFFFFFF:Always Have Winning Hand (06/15)
:mjgtaste:00010000:06071118:0000001F:FFFFFFFF:Always Have Winning Hand (07/15)
:mjgtaste:00010000:0607111C:0000001F:FFFFFFFF:Always Have Winning Hand (08/15)
:mjgtaste:00010000:06071120:00000020:FFFFFFFF:Always Have Winning Hand (09/15)
:mjgtaste:00010000:06071124:00000020:FFFFFFFF:Always Have Winning Hand (10/15)
:mjgtaste:00010000:06071128:00000020:FFFFFFFF:Always Have Winning Hand (11/15)
:mjgtaste:00010000:0607112C:00000021:FFFFFFFF:Always Have Winning Hand (12/15)
:mjgtaste:00010000:06071130:00000021:FFFFFFFF:Always Have Winning Hand (13/15)
:mjgtaste:00010000:06071134:00000021:FFFFFFFF:Always Have Winning Hand (14/15)
:mjgtaste:00010000:06070E50:00000021:FFFFFFFF:Always Have Winning Hand (15/15)
:mjgtaste:00100000:06071492:000001FF:FFFFFFFF:Infinite Thinking Time
:mjgtaste:00110000:0607148A:000001FF:FFFFFFFF:Infinite Thinking Time (2/2)
:mjgtaste:00200000:06070EE1:000F423F:FFFFFFFF:Infinite Score - Player
:mjgtaste:00200000:06070EDD:00000000:FFFFFFFF:No Score - CPU
:mjgtaste:00200000:06070F11:0098967F:FFFFFFFF:Infinite GP
:mjgtaste:00000000:06071211:00000001:FFFFFFFF:Always Have "Nurikae Rouge"
:mjgtaste:00000000:06071213:00000001:FFFFFFFF:Always Have "Tsumikomi Rose (Yellow)"
:mjgtaste:00000000:06071215:00000001:FFFFFFFF:Always Have "Tsumikomi Rose (Blue)"
:mjgtaste:00000000:06071217:00000001:FFFFFFFF:Always Have "Tsumikomi Rose (Red)"
:mjgtaste:00000000:06071219:00000001:FFFFFFFF:Always Have "Flash Reach"
:mjgtaste:00000000:0607121B:00000001:FFFFFFFF:Always Have "Sexy Reach"
:mjgtaste:62000003:00000000:00000000:00000000:Select Current CPU Character:The character doesn't change until next screen
:mjgtaste:00010001:06070F09:00000000:FFFFFFFF:Shihoudou Yuki
:mjgtaste:00010001:06070F09:00000001:FFFFFFFF:Jyougasaki Yui
:mjgtaste:00010001:06070F09:00000002:FFFFFFFF:Senou Asuka
:mjgtaste:00010001:06070F09:00000003:FFFFFFFF:Mizukoshi Sayaka
:mjgtaste:00010001:06070F09:00000004:FFFFFFFF:Yagisawa Moe
:mjgtaste:00010001:06070F09:00000005:FFFFFFFF:Morimura Nana
:mjgtaste:00010001:06070F09:00000006:FFFFFFFF:Hoshino Mayu
:mjgtaste:00010001:06070F09:00000007:FFFFFFFF:Kannazuki Mai
:mjgtaste:00010001:06070F09:00000008:FFFFFFFF:Kawamura Sayuri & Kusakabe Jun
:mjgtaste:20900000:00000448:0000A016:FFFFFFFF:Skip Work RAM Check
NOTE : CPU character selection uses new function "Label Selector Menu" so that it has the problem in current cheat engine because doesn't support it.
And I found maintenance codes via the debugger.
- 12345 - ????? (freeze the game?)
- 13510 - all data erased.
- 13520 - Unlock debug test items (stage select, obj test, bg test).
http://www.42ch.net/UploaderSmall/source/1184688819.png