This forum is for posting M.A.M.E. Work In Progress "Arcade"cheats that are not quite ready for the prime time. If the cheats are buggy or the cheat descriptions are non-standard then please post them here. Help maybe given but there are no guarantees and they will only be added to the cheat file when the cheat file maintainer is happy with them.
jman
Posts: 1318 Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 10 times
Post
by jman » Sat Feb 25, 2023 12:12 pm
Code: Select all
<cheat desc="no hit">
<script state="run">
<action>maincpu.pw@1192 = 0e90</action> <!-- missile -->
<action>maincpu.pw@1874 = 2390</action> <!-- enemy -->
<action>maincpu.pw@1a95 = 0e90</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.pw@1192 = 11c9</action>
<action>maincpu.pw@1874 = 01c5</action>
<action>maincpu.pw@1a95 = 01c5</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="run">
<action>maincpu.pb@1331 = 26</action> <!-- bomb -->
<action>maincpu.pb@193f = 26</action> <!-- shot -->
</script>
<script state="off">
<action>maincpu.pb@1331 = 27</action>
<action>maincpu.pb@193f = 27</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) then wait data load to enter sound test mode</comment>
<script state="run">
<!-- routine -->
<action>maincpu.pw@064f = 5ab0</action>
<action>maincpu.pq@5ab0 = f011a5e600cd1185</action>
<action>maincpu.pq@5ab8 = 01b002a910c6c8f7</action>
<action>maincpu.pq@5ac0 = 08a9e801b001a9aa</action>
<action>maincpu.pq@5ac8 = 98ca10e9588a06b0</action>
<action>maincpu.pq@5ad0 = 1069188a06b004a9</action>
<action>maincpu.pq@5ad8 = 06f010a9108698ca</action>
<action>maincpu.pq@5ae0 = 148e00c205b020a9</action>
<action>maincpu.pq@5ae8 = 000000005ab02ce4</action>
<!--
5ab0 | 85 11 : sta $11
5ab2 | ad 00 e6 : lda $e600 // read input
5ab5 | c5 11 : cmp $11
5ab7 | f0 f7 : beq $46c0
5ab9 | a8 : tay
5aba | a6 10 : ldx $10
5abc | c9 02 : cmp #$02
5abe | d0 01 : bne $46d1
5ac0 | ca : dex // decrease code -01
5ac1 | c9 01 : cmp #$01
5ac3 | d0 01 : bne $46d6
5ac5 | e8 : inx // increase code +01
5ac6 | c9 08 : cmp #$08
5ac8 | d0 06 : bne $46e0
5aca | 8a : txa // decrease code -10
5acb | 38 : sec
5acc | e9 10 : sbc #$10
5ace | aa : tax
5acf | 98 : tya
5ad0 | c9 04 : cmp #$04
5ad2 | d0 06 : bne $46ea
5ad4 | 8a : txa // increase code +10
5ad5 | 18 : clc
5ad6 | 69 10 : adc #$10
5ad8 | aa : tax
5ad9 | 98 : tya
5ada | 86 10 : stx $10
5adc | c9 10 : cmp #$10
5ade | f0 06 : beq $46f6
5ae0 | c9 40 : cmp #$20
5ae2 | d0 05 : bne $46f9
5ae4 | a2 00 : ldx #$00 // stop sound
5ae6 | 8e 14 e4 : stx $e414 // send sound code
5ae9 | 4c b0 5a : jmp $5ab0
-->
<!-- display -->
<output format="----- mission-x 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="button 2 : stop sound" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %2.2X >>" line="19" align="center" >
<argument>maincpu.pb@0010</argument>
</output>
</script>
<script state="off">
<action>maincpu.pw@064f = 0cb2</action>
<action>maincpu.pq@5ab0 = 0000000000000000</action>
<action>maincpu.pq@5ab8 = 0000000000000000</action>
<action>maincpu.pq@5ac0 = 0000000000000000</action>
<action>maincpu.pq@5ac8 = 0000000000000000</action>
<action>maincpu.pq@5ad0 = 0000000000000000</action>
<action>maincpu.pq@5ad8 = 0000000000000000</action>
<action>maincpu.pq@5ae0 = 0000000000000000</action>
<action>maincpu.pq@5ae8 = 0000000000000000</action>
</script>
</cheat>
jman
Posts: 1318 Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 10 times
Post
by jman » Tue Aug 13, 2024 9:50 am
cmissnx.xml
Code: Select all
<!-- Mission-X (DECO Cassette) (US) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="run">
<action>maincpu.pw@1192 = 0E90</action> <!-- missile -->
<action>maincpu.pw@1874 = 2390</action> <!-- enemy -->
<action>maincpu.pw@1A95 = 0E90</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.pw@1192 = 11C9</action>
<action>maincpu.pw@1874 = 01C5</action>
<action>maincpu.pw@1A95 = 01C5</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="run">
<action>maincpu.pb@1331 = 26</action> <!-- bomb -->
<action>maincpu.pb@193F = 26</action> <!-- shot -->
</script>
<script state="off">
<action>maincpu.pb@1331 = 27</action>
<action>maincpu.pb@193F = 27</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) then wait data load to enter sound test mode</comment>
<script state="run">
<!-- routine -->
<action>maincpu.pw@064C = 5AB0 </action>
<action>maincpu.pq@5AB0 = E0E861009DCA00C9</action>
<action>maincpu.pq@5AB8 = E600CC8184F8B0FF</action>
<action>maincpu.pq@5AC0 = 02A080C6F7F081A4</action>
<action>maincpu.pq@5AC8 = E801B001A0AA01B0</action>
<action>maincpu.pq@5AD0 = 10E9588A05B008A0</action>
<action>maincpu.pq@5AD8 = 69188A05B004A0CA</action>
<action>maincpu.pq@5AE0 = 06F010A08086CA10</action>
<action>maincpu.pq@5AE8 = 148E00C205B020A0</action>
<action>maincpu.pq@5AF0 = 000000005ABB2CE4</action>
<!--
5AB0 | A9 00 : lda #$00 // clear dust gfx
5AB2 | AA : tax
5AB3 | 9D 00 61 : sta $6100, x
5AB6 | E8 : inx
5AB7 | E0 FF : cpx #$ff
5AB9 | D0 F8 : bne $5ab3
5ABB | 84 81 : sty $81
5ABD | AC 00 E6 : ldy $e600 // read input
5AC0 | C4 81 : cpy $81
5AC2 | F0 F7 : beq $5abb
5AC4 | A6 80 : ldx $80
5AC6 | C0 02 : cpy #$02
5AC8 | D0 01 : bne $5acb
5ACA | CA : dex // decrease code -01
5ACB | C0 01 : cpy #$01
5ACD | D0 01 : bne $5ad0
5ACF | E8 : inx // increase code +01
5AD0 | C0 08 : cpy #$08
5AD2 | D0 05 : bne $5ad9
5AD4 | 8A : txa // decrease code -10
5AD5 | 38 : sec
5AD6 | E9 10 : sbc #$10
5AD8 | AA : tax
5AD9 | C0 04 : cpy #$04
5ADB | D0 05 : bne $5ae2
5ADD | 8A : txa // increase code +10
5ADE | 18 : clc
5ADF | 69 10 : adc #$10
5AE1 | AA : tax
5AE2 | 86 80 : stx $80
5AE4 | C0 10 : cpy #$10
5AE6 | F0 06 : beq $5aee // play sound
5AE8 | C0 20 : cpy #$20
5AEA | D0 05 : bne $5af1
5AEC | A2 00 : ldx #$00 // stop sound
5AEE | 8E 14 E4 : stx $e414 // send sound code
5AF1 | 4C BB 5A : jmp $5abb
-->
<!-- display -->
<output format="----- 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="button 2 : stop sound" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %02X >>" line="19" align="center" >
<argument>maincpu.pb@0080</argument>
</output>
</script>
<script state="off">
<action>maincpu.pw@064C = 2323 </action>
<action>maincpu.pq@5AB0 = 0000000000000000</action>
<action>maincpu.pq@5AB8 = 0000000000000000</action>
<action>maincpu.pq@5AC0 = 0000000000000000</action>
<action>maincpu.pq@5AC8 = 0000000000000000</action>
<action>maincpu.pq@5AD0 = 0000000000000000</action>
<action>maincpu.pq@5AD8 = 0000000000000000</action>
<action>maincpu.pq@5AE0 = 0000000000000000</action>
<action>maincpu.pq@5AE8 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
zoar.xml
Code: Select all
<!-- Zoar -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@DB79 = 1190</action> <!-- bullet -->
<action>maincpu.mw@E0EE = 3090</action> <!-- enemy -->
</script>
<script state="off">
<action>maincpu.mw@DB79 = 6DB5</action>
<action>maincpu.mw@E0EE = 01A5</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@F1EA = 00</action>
</script>
<script state="off">
<action>maincpu.mb@F1EA = 07</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<!-- routine -->
<action>maincpu.mw@D202 = FCE0 </action>
<action>maincpu.mq@FCE0 = F081C49802AC8184</action>
<action>maincpu.mq@FCE8 = CA01D0FDC080A6F7</action>
<action>maincpu.mq@FCF0 = D0F7C0E801D0FEC0</action>
<action>maincpu.mq@FCF8 = FBC0AA10E9388A05</action>
<action>maincpu.mq@FD00 = 86AA1069188A05D0</action>
<action>maincpu.mq@FD08 = D0DFC006F0EFC080</action>
<action>maincpu.mq@FD10 = 4C6E98068E00A206</action>
<action>maincpu.mq@FD18 = FFFFFFFFFFFFFCE0</action>
<!--
FCE0 | 84 81 : sty $81
FCE2 | AC 02 98 : ldy $9802 // read input
FCE5 | C4 81 : cpy $81
FCE7 | F0 F7 : beq $fce0
FCE9 | A6 80 : ldx $80
FCEB | C0 FD : cpy #$fd
FCED | D0 01 : bne $fcf0
FCEF | CA : dex // decrease code -01
FCF0 | C0 FE : cpy #$fe
FCF2 | D0 01 : bne $fcf5
FCF4 | E8 : inx // increase code +01
FCF5 | C0 F7 : cpy #$f7
FCF7 | D0 05 : bne $fcfe
FCF9 | 8A : txa // decrease code -10
FCFA | 38 : sec
FCFB | E9 10 : sbc #$10
FCFD | AA : tax
FCFE | C0 FB : cpy #$fb
FD00 | D0 05 : bne $fd07
FD02 | 8A : txa // increase code +10
FD03 | 18 : clc
FD04 | 69 10 : adc #$10
FD06 | AA : tax
FD07 | 86 80 : stx $80
FD09 | C0 EF : cpy #$ef
FD0B | F0 06 : beq $fd13 // play sound
FD0D | C0 DF : cpy #$df
FD0F | D0 06 : bne $fd17
FD11 | A2 00 : ldx #$00 // stop sound
FD13 | 8E 06 98 : stx $9806 // send sound code
FD16 | 6E : ?
FD17 | 4C E0 FC : jmp $fce0
-->
</script>
<script state="run">
<!-- display -->
<output format="----- 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="button 2 : stop sound" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %02X >>" line="19" align="center" >
<argument>maincpu.pb@0080</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@D202 = EBF0 </action>
<action>maincpu.mq@FCE0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FCE8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FCF0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FCF8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FD00 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FD08 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FD10 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@FD18 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>