Code: Select all
<!-- Gouketsuji Ichizoku 2 (Japan, Ver. 94.04.08) -->
<mamecheat version="1">
<cheat desc="no hit">
<parameter>
<item value="0x01">P1 </item>
<item value="0x02">P2 </item>
<item value="0x03">both players</item>
</parameter>
<script state="on">
<action>maincpu.mq@23a9e = 4eb9000058706700</action> <!-- attack -->
<action>maincpu.mq@16be6 = 4eb8587c201f4e75</action> <!-- throw -->
<action>maincpu.mq@05860 = b3fc004007006706</action>
<action>maincpu.mq@05868 = b3fc00400b004e75</action>
<action>maincpu.mq@05870 = 61ee67060828001a</action>
<action>maincpu.mq@05878 = 00864e7514004841</action>
<action>maincpu.mq@05880 = 61de6604323c0100</action>
<action>maincpu.mq@05888 = 4e75ffffffffffff</action>
<!--
5860 | b3fc 0040 0700 : cmpa.l #$400700,A1 // player check routine
5866 | 6706 : beq $586e
5868 | b3fc 0040 0b00 : cmpa.l #$400b00,A1
586e | 4e75 : rts
5870 | 61ee : bsr $5860 // attack
5872 | 6706 : beq $587a
5874 | 0828 001a 0086 : btst #$1a,($86,A0)
587a | 4e75 : rts
587c | 1400 : move.b D0,D2 // throw
587e | 4841 : swap D1
5880 | 61de : bsr $5860
5882 | 6604 : bne $5888
5884 | 323c 0100 : move.w #$100,D1
5888 | 4e75 : rts
-->
</script>
<script state="change">
<action >maincpu.mb@5863 = 00</action>
<action >maincpu.mb@586b = 00</action>
<action condition="param band 01">maincpu.mb@5863 = 40</action>
<action condition="param band 02">maincpu.mb@586b = 40</action>
</script>
<script state="off">
<action>maincpu.mq@23a9e = 0828001a00866700</action>
<action>maincpu.mq@16be6 = 14004841201f4e75</action>
<action>maincpu.mq@05860 = ffffffffffffffff</action>
<action>maincpu.mq@05868 = ffffffffffffffff</action>
<action>maincpu.mq@05870 = ffffffffffffffff</action>
<action>maincpu.mq@05878 = ffffffffffffffff</action>
<action>maincpu.mq@05880 = ffffffffffffffff</action>
<action>maincpu.mq@05888 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="auto fire">
<parameter>
<item value="0x01">P1 </item>
<item value="0x02">P2 </item>
<item value="0x03">both players</item>
</parameter>
<script state="on">
<action>maincpu.md@16aa4 = 4eb85890</action>
<action>maincpu.mq@05890 = 122a0002b1fc0040</action>
<action>maincpu.mq@05898 = 07006708b1fc0040</action>
<action>maincpu.mq@058a0 = 0b006604122a0001</action>
<action>maincpu.mq@058a8 = 4e75ffffffffffff</action>
<!--
5890 | 122a 0002 : move.b ($2,A2),D1
5894 | b1fc 0040 0700 : cmpa.l #$400700,A0
589a | 6708 : beq $58a4
589c | b1fc 0040 0b00 : cmpa.l #$400b00,A0
58a2 | 6604 : bne $58a8
58a4 | 122a 0001 : move.b ($1,A2),D1
58a8 | 4e75 : rts
-->
</script>
<script state="change">
<action >maincpu.mb@5897 = 00</action>
<action >maincpu.mb@589f = 00</action>
<action condition="param band 01">maincpu.mb@5897 = 40</action>
<action condition="param band 02">maincpu.mb@589f = 40</action>
</script>
<script state="off">
<action>maincpu.md@16aa4 = 122a0002</action>
<action>maincpu.mq@05890 = ffffffffffffffff</action>
<action>maincpu.mq@05898 = ffffffffffffffff</action>
<action>maincpu.mq@058a0 = ffffffffffffffff</action>
<action>maincpu.mq@058a8 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="special attack">
<parameter>
<item value="0x01">P1 </item>
<item value="0x02">P2 </item>
<item value="0x03">both players</item>
</parameter>
<script state="on">
<action>maincpu.mq@105b4 = 4eb9000058b06600</action>
<action>maincpu.mq@105d6 = 4eb9000058b06600</action>
<action>maincpu.mq@1060e = 4eb9000058b06600</action>
<action>maincpu.mq@058b0 = b1fc004007006708</action>
<action>maincpu.mq@058b8 = b1fc00400b006606</action>
<action>maincpu.mq@058c0 = 023c00fb4e750828</action>
<action>maincpu.mq@058c8 = 000600a34e75ffff</action>
<!--
58b0 | b1fc 0040 0700 : cmpa.l #$400700,A0
58b6 | 6708 : beq $58c0
58b8 | b1fc 0040 0b00 : cmpa.l #$400b00,A0
58be | 6606 : bne $58c6
58c0 | 023c 00fb : andi #$fb,CCR
58c4 | 4e75 : rts
58c6 | 0828 0006 00a3 : btst #$6,($a3,A0)
58cc | 4e75 : rts
-->
</script>
<script state="change">
<action >maincpu.mb@58b3 = 00</action>
<action >maincpu.mb@58bb = 00</action>
<action condition="param band 01">maincpu.mb@58b3 = 40</action>
<action condition="param band 02">maincpu.mb@58bb = 40</action>
</script>
<script state="off">
<action>maincpu.mq@105b4 = 0828000600a36600</action>
<action>maincpu.mq@105d6 = 0828000600a36600</action>
<action>maincpu.mq@1060e = 0828000600a36600</action>
<action>maincpu.mq@058b0 = ffffffffffffffff</action>
<action>maincpu.mq@058b8 = ffffffffffffffff</action>
<action>maincpu.mq@058c0 = ffffffffffffffff</action>
<action>maincpu.mq@058c8 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="action speed up (test)">
<comment>repeated winner's animation</comment>
<parameter>
<item value="0x01">P1 </item>
<item value="0x02">P2 </item>
<item value="0x03">both players</item>
</parameter>
<script state="on">
<action>maincpu.md@c116 = 4eb858d0</action>
<action>maincpu.mq@58d0 = b1fc004007006708</action>
<action>maincpu.mq@58d8 = b1fc00400b006602</action>
<action>maincpu.mq@58e0 = 4200114000844e75</action>
<!--
58d0 | b1fc 0040 0700 : cmpa.l #$400700,A0
58d6 | 6708 : beq $58e0
58d8 | b1fc 0040 0b00 : cmpa.l #$400b00,A0
58de | 6602 : bne $58e2
58e0 | 4200 : clr.b D0
58e2 | 1140 0084 : move.b D0,($84,A0)
58e6 | 4e75 : rts
-->
</script>
<script state="change">
<action >maincpu.mb@58d3 = 00</action>
<action >maincpu.mb@58db = 00</action>
<action condition="param band 01">maincpu.mb@58d3 = 40</action>
<action condition="param band 02">maincpu.mb@58db = 40</action>
</script>
<script state="off">
<action>maincpu.md@c116 = 11400084</action>
<action>maincpu.mq@58d0 = ffffffffffffffff</action>
<action>maincpu.mq@58d8 = ffffffffffffffff</action>
<action>maincpu.mq@58e0 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0x007f">01 (slow)</item>
<item value="0x0060">02 </item>
<item value="0x0040">03 </item>
<item value="0x0020">04 </item>
<item value="0x0000">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mw@1f016 = 103c</action>
</script>
<script state="change">
<action>maincpu.mb@1efe7 = param</action> <!-- initialize -->
<action>maincpu.mw@1f018 = param</action>
</script>
<script state="off">
<action>maincpu.md@1f016 = dcc01016</action>
</script>
</cheat>
<cheat desc="region">
<comment>reset the game to change region</comment>
<parameter>
<item value="0x00">gouketsuji ichizoku 2 (japan) </item>
<item value="0x01">power instinct 2 (usa) </item>
<item value="0x02">power instinct 2 (usa, alt license)</item> <!-- KM international co.,ltd -->
<item value="0x03">power instinct 2 (usa?) </item>
</parameter>
<script state="change">
<action>maincpu.mb@018a = param</action>
</script>
<script state="off">
<action>maincpu.mb@018a = 00</action>
</script>
</cheat>
<cheat desc="sound test mode">
<!-- bank 0x01 is music, 0x03 and 0x04 are voice, 0x05 is sfx -->
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.md@12f2 = 4ef87e40</action>
<action>maincpu.mq@7e40 = 204d43e8000145f9</action>
<action>maincpu.mq@7e48 = 00e0000012001028</action>
<action>maincpu.mq@7e50 = 0b03b20067f60c00</action>
<action>maincpu.mq@7e58 = 0004660253100c00</action>
<action>maincpu.mq@7e60 = 0008660252100c00</action>
<action>maincpu.mq@7e68 = 0002660404100010</action>
<action>maincpu.mq@7e70 = 0c00000166040610</action>
<action>maincpu.mq@7e78 = 00100c0000446602</action>
<action>maincpu.mq@7e80 = 53110c0000486602</action>
<action>maincpu.mq@7e88 = 5211021100070c00</action>
<action>maincpu.mq@7e90 = 0010660a42421411</action>
<action>maincpu.mq@7e98 = e14a841034820c00</action>
<action>maincpu.mq@7ea0 = 00206602425260a4</action>
<!--
7e40 | 204d : movea.l A5,A0 // sound code address ($40f300)
7e42 | 43e8 0001 : lea ($1,A0),A1 // sound bank address ($40f301)
7e46 | 45f9 00e0 0000 : lea $e00000.l,A2 // sound latch address
7e4c | 1200 : move.b D0,D1
7e4e | 1028 0b03 : move.b ($b03,A0),D0 // read input ($40fe03)
7e52 | b200 : cmp.b D0,D1
7e54 | 67f6 : beq $7e4c
7e56 | 0c00 0004 : cmpi.b #$4,D0
7e5a | 6602 : bne $7e5e
7e5c | 5310 : subq.b #1,(A0) // decrease code -01
7e5e | 0c00 0008 : cmpi.b #$8,D0
7e62 | 6602 : bne $7e66
7e64 | 5210 : addq.b #1,(A0) // increase code +01
7e66 | 0c00 0002 : cmpi.b #$2,D0
7e6a | 6604 : bne $7e70
7e6c | 0410 0010 : subi.b #$10,(A0) // decrease code -10
7e70 | 0c00 0001 : cmpi.b #$1,D0
7e74 | 6604 : bne $7e7a
7e76 | 0610 0010 : addi.b #$10,(A0) // increase code +10
7e7a | 0c00 0044 : cmpi.b #$44,D0
7e7e | 6602 : bne $7e82
7e80 | 5311 : subq.b #1,(A1) // decrease bank -01
7e82 | 0c00 0048 : cmpi.b #$48,D0
7e86 | 6602 : bne $7e8a
7e88 | 5211 : addq.b #1,(A1) // increase bank +01
7e8a | 0211 0007 : andi.b #$7,(A1)
7e8e | 0c00 0010 : cmpi.b #$10,D0
7e92 | 660a : bne $7e9e
7e94 | 4242 : clr.w D2 // play sound
7e96 | 1411 : move.b (A1),D2
7e98 | e14a : lsl.w #8, D2
7e9a | 8410 : or.b (A0),D2
7e9c | 3482 : move.w D2,(A2)
7e9e | 0c00 0020 : cmpi.b #$20,D0
7ea2 | 6602 : bne $7ea6
7ea4 | 4252 : clr.w (A2) // stop sound
7ea6 | 60a4 : bra $7e4c
-->
</script>
<script state="run">
<output format="----- gouketsuji ichizoku 2 sound test mode -----" line="10" align="center" />
<output format="left : decrease code -01" line="11" align="center" />
<output format="right : increase code +01" line="12" align="center" />
<output format="down : decrease code -10" line="13" align="center" />
<output format="up : increase code +10" line="14" align="center" />
<output format="button 3 + left : decrease bank -01" line="15" align="center" />
<output format="button 3 + right : increase bank +01" line="16" align="center" />
<output format="button 1 : play sound" line="17" align="center" />
<output format="button 2 : stop sound" line="18" align="center" />
<output format="----------------------------" line="19" align="center" />
<output format="<< bank %2.2X >>" line="21" align="center" >
<argument>maincpu.pb@40f301</argument>
</output>
<output format="<< sound code %2.2X >>" line="23" align="center" >
<argument>maincpu.pb@40f300</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@12f2 = 4ebafb08</action>
<action>maincpu.mq@7e40 = ffffffffffffffff</action>
<action>maincpu.mq@7e48 = ffffffffffffffff</action>
<action>maincpu.mq@7e50 = ffffffffffffffff</action>
<action>maincpu.mq@7e58 = ffffffffffffffff</action>
<action>maincpu.mq@7e60 = ffffffffffffffff</action>
<action>maincpu.mq@7e68 = ffffffffffffffff</action>
<action>maincpu.mq@7e70 = ffffffffffffffff</action>
<action>maincpu.mq@7e78 = ffffffffffffffff</action>
<action>maincpu.mq@7e80 = ffffffffffffffff</action>
<action>maincpu.mq@7e88 = ffffffffffffffff</action>
<action>maincpu.mq@7e90 = ffffffffffffffff</action>
<action>maincpu.mq@7e98 = ffffffffffffffff</action>
<action>maincpu.mq@7ea0 = ffffffffffffffff</action>
</script>
</cheat>
</mamecheat>
- "action speed up" : repeated winner's animation.
- "region" : winner's message seems not to display if you change region from default.
- "sound test mode" : bank 0x01 is music, 0x03 and 0x04 are voice, 0x05 is sfx. bank 0x02 seems to be unused.