Basic RAM codes are the following.
Code: Select all
<!-- Au -->
<mamecheat version="1">
<cheat desc="Infinite Credits">
<comment>insert credit to enable</comment>
<script state="run">
<action>maincpu.pb@8008 = 63</action>
</script>
</cheat>
<cheat desc="Infinite Lives">
<script state="run">
<action>maincpu.pb@C001 = 09</action>
</script>
</cheat>
<cheat desc="Infinite Time">
<script state="run">
<action>maincpu.pb@C018 = 00 </action> <!-- main timer -->
<action>maincpu.pw@C01B = 0002</action> <!-- sub timer -->
</script>
</cheat>
<cheat desc="Time Out Now">
<script state="on">
<action>maincpu.pb@C018 = 20 </action>
<action>maincpu.pw@C01B = 0001</action>
</script>
</cheat>
<cheat desc="Always Have Bomb">
<script state="run">
<action>maincpu.pb@8320 = maincpu.pb@8320 | 10</action>
</script>
</cheat>
</mamecheat>
Also ROM codes though WIP.
Code: Select all
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@48B8 = 18</action>
</script>
<script state="off">
<action>maincpu.mb@48B8 = 30</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mb@0C28 = C9 </action> <!-- disable score display -->
<action>maincpu.mw@1E14 = 7AC0 </action>
<action>maincpu.mq@7AC0 = 04E6B8803A820021</action>
<action>maincpu.mq@7AC8 = B1A8003A4F070707</action>
<action>maincpu.mq@7AD0 = 012002FEEF2847B8</action>
<action>maincpu.mq@7AD8 = 08FE34012001FE35</action>
<action>maincpu.mq@7AE0 = 04FE0618F03E0420</action>
<action>maincpu.mq@7AE8 = FE787786103E0520</action>
<action>maincpu.mq@7AF0 = 20FE06187E032010</action>
<action>maincpu.mq@7AF8 = 18A80032023E0520</action>
<action>maincpu.mq@7B00 = FFFFFFFFFFFFFFC2</action>
<!--
7AC0 | 21 00 82 : ld hl,$8200 // sound code address
7AC3 | 3A 80 B8 : ld a,($B880) // read start button
7AC6 | E6 04 : and $04
7AC8 | 07 : rlca
7AC9 | 07 : rlca
7ACA | 07 : rlca
7ACB | 4F : ld c,a
7ACC | 3A 00 A8 : ld a,($A800) // read other inputs
7ACF | B1 : or c
7AD0 | B8 : cp b
7AD1 | 47 : ld b,a
7AD2 | 28 EF : jr z,$7AC3
7AD4 | FE 02 : cp $02
7AD6 | 20 01 : jr nz,$7AD9
7AD8 | 35 : dec (hl) // decrease code -01
7AD9 | FE 01 : cp $01
7ADB | 20 01 : jr nz,$7ADE
7ADD | 34 : inc (hl) // increase code +01
7ADE | FE 08 : cp $08
7AE0 | 20 04 : jr nz,$7AE6
7AE2 | 3E F0 : ld a,$F0 // decrease code -10
7AE4 | 18 06 : jr $7AEC
7AE6 | FE 04 : cp $04
7AE8 | 20 05 : jr nz,$7AEF
7AEA | 3E 10 : ld a,$10 // increase code +10
7AEC | 86 : add a,(hl)
7AED | 77 : ld (hl),a
7AEE | 78 : ld a,b
7AEF | FE 10 : cp $10
7AF1 | 20 03 : jr nz,$7AF6
7AF3 | 7E : ld a,(hl) // play sound
7AF4 | 18 06 : jr $7AFC
7AF6 | FE 20 : cp $20
7AF8 | 20 05 : jr nz,$7AFF
7AFA | 3E 02 : ld a,$02 // stop sound
7AFC | 32 00 A8 : ld ($A800),a // send sound code
7AFF | 18 C2 : jr $7AC3
-->
<action>audiocpu.mw@008F = 0F20 </action>
<action>audiocpu.mq@0F20 = FE3D20D13A00A2CD</action>
<action>audiocpu.mq@0F28 = FFFFFFC900A2CC01</action>
<!--
0F20 | CD A2 00 : call $00A2
0F23 | 3A D1 20 : ld a,($20D1)
0F26 | 3D : dec a
0F27 | FE 01 : cp $01
0F29 | CC A2 00 : call z,$00A2
0F2C | C9 : ret
-->
</script>
<script state="run">
<output format="----- au 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 1 : play sound" line="15" align="center" />
<output format="start : stop sound" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %02X >>" line="19" align="center" >
<argument>maincpu.pb@8200</argument>
</output>
</script>
<script state="off">
<action> maincpu.mb@0C28 = 21 </action>
<action> maincpu.mw@1E14 = 06F6 </action>
<action> maincpu.mq@7AC0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@7AC8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@7AD0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@7AD8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@7AE0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@7AE8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@7AF0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@7AF8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@7B00 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mw@008F = 00A2 </action>
<action>audiocpu.mq@0F20 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mq@0F28 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram check">
<script state="on">
<action>maincpu.mw@1CF5 = 013E</action> <!-- skip result -->
<action>maincpu.mw@1D30 = 013E</action> <!-- skip cross-hatch -->
<action>maincpu.mw@1D4A = 2018</action> <!-- skip ram check -->
</script>
<script state="off">
<action>maincpu.mw@1CF5 = 783E</action>
<action>maincpu.mw@1D30 = 003E</action>
<action>maincpu.mw@1D4A = 0016</action>
</script>
</cheat>
But I recommend using "skip ram check" together because of quick access.