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: 865 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Fri Jun 17, 2022 11:25 am
Code: Select all
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@1b3d = 0290</action> <!-- bullet [boss] ($9b3d) -->
<action>maincpu.mw@85b3 = 40f0</action> <!-- bullet ($45b3) -->
<action>maincpu.mw@9080 = 13f0</action> <!-- enemy ($5080) -->
<action>maincpu.mw@97f2 = 0290</action> <!-- dog ($57f2) -->
<action>maincpu.mw@9b35 = 10f0</action> <!-- flower pot ($5b35) -->
</script>
<script state="off">
<action>maincpu.mw@1b3d = 80a9</action>
<action>maincpu.mw@85b3 = 04a9</action>
<action>maincpu.mw@9080 = 64a5</action>
<action>maincpu.mw@97f2 = 80a9</action>
<action>maincpu.mw@9b35 = 0ca9</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@8045 = 5b</action> <!-- ($4045) -->
</script>
<script state="off">
<action>maincpu.mb@8045 = 5c</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="change">
<action>maincpu.mb@81a8 = param</action> <!-- left ($41a8) -->
<action>maincpu.mb@81b5 = param</action> <!-- right ($41b5) -->
</script>
<script state="off">
<action>maincpu.mb@81a8 = 01</action>
<action>maincpu.mb@81b5 = 01</action>
</script>
</cheat>
<cheat desc="bullet speed">
<comment>this code has an impact on throwing back enemy</comment>
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x04">02 </item>
<item value="0x08">03 </item>
<item value="0x0c">04 </item>
<item value="0x10">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@82a8 = param</action> <!-- up ($42a8) -->
<action>maincpu.mb@82ab = param</action> <!-- upper-left : left ($42ab) -->
<action>maincpu.mb@82ac = param</action> <!-- upper-left : up ($42ac) -->
<action>maincpu.mb@82af = -param</action> <!-- upper-right : right ($42af) -->
<action>maincpu.mb@82b0 = param</action> <!-- upper-right : up ($42b0) -->
<action>maincpu.mb@82b3 = param</action> <!-- left ($42b3) -->
<action>maincpu.mb@82b7 = -param</action> <!-- right ($42b4) -->
<action>maincpu.mb@82bb = param</action> <!-- upper-left [crouch] : left ($42bb) -->
<action>maincpu.mb@82bc = param</action> <!-- upper-left [crouch] : up ($42bc) -->
<action>maincpu.mb@82bf = -param</action> <!-- upper-right [crouch] : right ($42bf) -->
<action>maincpu.mb@82c0 = param</action> <!-- upper-right [crouch] : up ($42c0) -->
<action>maincpu.mb@82c4 = param</action> <!-- up [crouch] ($42c4) -->
</script>
<script state="off">
<action>maincpu.mb@82a8 = 08</action>
<action>maincpu.mb@82ab = 06</action>
<action>maincpu.mb@82ac = 07</action>
<action>maincpu.mb@82af = fa</action>
<action>maincpu.mb@82b0 = 07</action>
<action>maincpu.mb@82b3 = 0c</action>
<action>maincpu.mb@82b7 = f4</action>
<action>maincpu.mb@82bb = 05</action>
<action>maincpu.mb@82bf = 07</action>
<action>maincpu.mb@82bf = fb</action>
<action>maincpu.mb@82c0 = 07</action>
<action>maincpu.mb@82c4 = 08</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@6332 = ff80</action> <!-- ($e332) -->
<action>maincpu.mq@7f80 = 848086ffa001a258</action>
<action>maincpu.mq@7f88 = f081c5a81001ad81</action>
<action>maincpu.mq@7f90 = fec9ca01d0fdc9f4</action>
<action>maincpu.mq@7f98 = 4807d0f7c9e801d0</action>
<action>maincpu.mq@7fa0 = fbc968aa10e9388a</action>
<action>maincpu.mq@7fa8 = aa1069188a4807d0</action>
<action>maincpu.mq@7fb0 = 86d08604d0efc968</action>
<action>maincpu.mq@7fb8 = c982a512d0dfc982</action>
<action>maincpu.mq@7fc0 = a904b01ec9089016</action>
<action>maincpu.mq@7fc8 = 4cd08590a902d096</action>
<action>maincpu.mq@7fd0 = 000000000000ff85</action>
<!--
ff80 | 58 : cli // enable interrupt
ff81 | a2 01 : ldx #$01 // initialize sound code value
ff83 | a0 ff : ldy #$ff // initialize input value
ff85 | 86 80 : stx $80
ff87 | 84 81 : sty $81
ff89 | ad 01 10 : lda $1001 // read input
ff8c | a8 : tay
ff8d | c5 81 : cmp $81
ff8f | f0 f4 : beq $ff85
ff91 | c9 fd : cmp #$fd
ff93 | d0 01 : bne $ff96
ff95 | ca : dex // decrease code -01
ff96 | c9 fe : cmp #$fe
ff98 | d0 01 : bne $ff9b
ff9a | e8 : inx // increase code +01
ff9b | c9 f7 : cmp #$f7
ff9d | d0 07 : bne $ffa6
ff9f | 48 : pha // decrease code -10
ffa0 | 8a : txa
ffa1 | 38 : sec
ffa2 | e9 10 : sbc #$10
ffa4 | aa : tax
ffa5 | 68 : pla
ffa6 | c9 fb : cmp #$fb
ffa8 | d0 07 : bne $ffb1
ffaa | 48 : pha // increase code +10
ffab | 8a : txa
ffac | 18 : clc
ffad | 69 10 : adc #$10
ffaf | aa : tax
ffb0 | 68 : pla
ffb1 | c9 ef : cmp #$ef
ffb3 | d0 04 : bne $ffb9
ffb5 | 86 d0 : stx $d0 // play sound
ffb7 | 86 82 : stx $82
ffb9 | c9 df : cmp #$df
ffbb | d0 12 : bne $ffcf
ffbd | a5 82 : lda $82 // stop sound
ffbf | c9 16 : cmp #$16
ffc1 | 90 08 : bcc $ffcb
ffc3 | c9 1e : cmp #$1e
ffc5 | b0 04 : bcs $ffcb
ffc7 | a9 96 : lda #$96
ffc9 | d0 02 : bne $ffcd
ffcb | a9 90 : lda #$90
ffcd | 85 d0 : sta $d0 // send sound code
ffcf | 4c 85 ff : jmp $ff85
-->
</script>
<script state="run">
<output format="----- shoot out 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="up : increase code +10" line="13" align="center" />
<output format="down : decrease 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@0080</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@6332 = e400</action>
<action>maincpu.mq@7f80 = ffffffffffffffff</action>
<action>maincpu.mq@7f88 = ffffffffffffffff</action>
<action>maincpu.mq@7f90 = ffffffffffffffff</action>
<action>maincpu.mq@7f98 = ffffffffffffffff</action>
<action>maincpu.mq@7fa0 = ffffffffffffffff</action>
<action>maincpu.mq@7fa8 = ffffffffffffffff</action>
<action>maincpu.mq@7fb0 = ffffffffffffffff</action>
<action>maincpu.mq@7fb8 = ffffffffffffffff</action>
<action>maincpu.mq@7fc0 = 0000000000000000</action>
<action>maincpu.mq@7fc8 = 0000000000000000</action>
</script>
</cheat>
"bullet speed" influences the speed of bending enemy backward after bullet hit though.
jman
Posts: 865 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Fri May 10, 2024 11:54 pm
shootout.xml
Code: Select all
<!-- Shoot Out (US) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@87E2 = 10F0</action> <!-- human ($47e2) -->
<action>maincpu.mw@8DF6 = 38F0</action> <!-- bullet ($4df6) -->
<action>maincpu.mw@98B4 = 11F0</action> <!-- enemy ($58b4) -->
<action>maincpu.mw@A01A = 0AD0</action> <!-- barrel ($601a) -->
<action>maincpu.mw@A34F = 0EF0</action> <!-- flower pot ($634f) -->
</script>
<script state="off">
<action>maincpu.mw@87E2 = 80C9</action>
<action>maincpu.mw@8DF6 = 04C9</action>
<action>maincpu.mw@98B4 = 58C5</action>
<action>maincpu.mw@A01A = 80C9</action>
<action>maincpu.mw@A34F = 0CC9</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@8045 = 4F</action> <!-- ($4045) -->
</script>
<script state="off">
<action>maincpu.mb@8045 = 50</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="change">
<action>maincpu.mb@81A2 = param</action> <!-- left ($41a2) -->
<action>maincpu.mb@81AF = param</action> <!-- right ($41af) -->
</script>
<script state="off">
<action>maincpu.mb@81A2 = 01</action>
<action>maincpu.mb@81AF = 01</action>
</script>
</cheat>
<cheat desc="bullet speed">
<comment>this code has an impact on throwing back enemy</comment>
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x04">02 </item>
<item value="0x08">03 </item>
<item value="0x0c">04 </item>
<item value="0x10">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@82A2 = param</action> <!-- up ($42a2) -->
<action>maincpu.mb@82A5 = param</action> <!-- upper-left : left ($42a5) -->
<action>maincpu.mb@82A6 = param</action> <!-- upper-left : up ($42a6) -->
<action>maincpu.mb@82A9 = -param</action> <!-- upper-right : right ($42a9) -->
<action>maincpu.mb@82AA = param</action> <!-- upper-right : up ($42aa) -->
<action>maincpu.mb@82AD = param</action> <!-- left ($42ad) -->
<action>maincpu.mb@82B1 = -param</action> <!-- right ($42b1) -->
<action>maincpu.mb@82B5 = param</action> <!-- upper-left [crouch] : left ($42b5) -->
<action>maincpu.mb@82B6 = param</action> <!-- upper-left [crouch] : up ($42b6) -->
<action>maincpu.mb@82B9 = -param</action> <!-- upper-right [crouch] : right ($42b9) -->
<action>maincpu.mb@82BA = param</action> <!-- upper-right [crouch] : up ($42ba) -->
<action>maincpu.mb@82BE = param</action> <!-- up [crouch] ($42be) -->
</script>
<script state="off">
<action>maincpu.mb@82A2 = 08</action>
<action>maincpu.mb@82A5 = 06</action>
<action>maincpu.mb@82A6 = 07</action>
<action>maincpu.mb@82A9 = FA</action>
<action>maincpu.mb@82AA = 07</action>
<action>maincpu.mb@82AD = 0C</action>
<action>maincpu.mb@82B1 = F4</action>
<action>maincpu.mb@82B5 = 05</action>
<action>maincpu.mb@82B6 = 07</action>
<action>maincpu.mb@82B9 = FB</action>
<action>maincpu.mb@82BA = 07</action>
<action>maincpu.mb@82BE = 08</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@642E = FF80 </action> <!-- ($e42e) -->
<action>maincpu.mq@7F80 = 81A41001CC818438</action>
<action>maincpu.mq@7F88 = 01B0FDA080C6F7F0</action>
<action>maincpu.mq@7F90 = F7A0E801B0FEA0AA</action>
<action>maincpu.mq@7F98 = A0CA10E9588A05B0</action>
<action>maincpu.mq@7FA0 = CA1069188A05B0FB</action>
<action>maincpu.mq@7FA8 = DFA006F0EFA08086</action>
<action>maincpu.mq@7FB0 = 2C10038E96C205B0</action>
<action>maincpu.mq@7FB8 = FFFFFFFFFFFFFF81</action>
<!--
FF80 | 58 : cli // enable interrupt
FF81 | 84 81 : sty $81
FF83 | AC 01 10 : ldy $1001
FF86 | C4 81 : cpy $81
FF88 | F0 F7 : beq $ff81
FF8A | A6 80 : ldx $80
FF8C | C0 FD : cpy #$fd
FF8E | D0 01 : bne $ff91
FF90 | CA : dex // decrease code -01
FF91 | C0 FE : cpy #$fe
FF93 | D0 01 : bne $ff96
FF95 | E8 : inx // increase code +01
FF96 | C0 F7 : cpy #$f7
FF98 | D0 05 : bne $ff9f
FF9A | 8A : txa // decrease code -10
FF9B | 38 : sec
FF9C | E9 10 : sbc #$10
FF9E | AA : tax
FF9F | C0 FB : cpy #$fb
FFA1 | D0 05 : bne $ffa8
FFA3 | 8A : txa // increase code +10
FFA4 | 18 : clc
FFA5 | 69 10 : adc #$10
FFA7 | AA : tax
FFA8 | 86 80 : stx $80
FFAA | C0 EF : cpy #$ef
FFAC | F0 06 : beq $ffb4 // play sound
FFAE | C0 DF : cpy #$df
FFB0 | D0 05 : bne $ffb7
FFB2 | A2 96 : ldx #$96 // stop sound
FFB4 | 8E 03 10 : stx $1003 // send sound code
FFB7 | 4C 81 FF : jmp $ff81
-->
<action>audiocpu.mw@00F4 = C20E</action> <!-- go to sound stop ($c0f4) -->
<action>audiocpu.mw@021E = 00D0</action> <!-- enable music stop ($c21e) -->
<action>audiocpu.mw@0226 = C230</action> <!-- from music stop to sfx stop routine ($c226) -->
</script>
<script state="run">
<output format="----- shoot out 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@642E = E506 </action>
<action> maincpu.mq@7F80 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@7F88 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@7F90 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@7F98 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@7FA0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@7FA8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@7FB0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@7FB8 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mw@00F4 = C206 </action>
<action>audiocpu.mw@021E = 05D0 </action>
<action>audiocpu.mw@0226 = C104 </action>
</script>
</cheat>
</mamecheat>
shootoutj.xml
Code: Select all
<!-- Shoot Out (Japan) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@1B3D = 0290</action> <!-- bullet [boss] ($9b3d) -->
<action>maincpu.mw@85B3 = 40F0</action> <!-- bullet ($45b3) -->
<action>maincpu.mw@9080 = 13F0</action> <!-- enemy ($5080) -->
<action>maincpu.mw@97F2 = 0290</action> <!-- dog ($57f2) -->
<action>maincpu.mw@9B35 = 10F0</action> <!-- flower pot ($5b35) -->
</script>
<script state="off">
<action>maincpu.mw@1B3D = 80A9</action>
<action>maincpu.mw@85B3 = 04A9</action>
<action>maincpu.mw@9080 = 64A5</action>
<action>maincpu.mw@97F2 = 80A9</action>
<action>maincpu.mw@9B35 = 0CA9</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@8045 = 5B</action> <!-- ($4045) -->
</script>
<script state="off">
<action>maincpu.mb@8045 = 5C</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="change">
<action>maincpu.mb@81A8 = param</action> <!-- left ($41a8) -->
<action>maincpu.mb@81B5 = param</action> <!-- right ($41b5) -->
</script>
<script state="off">
<action>maincpu.mb@81A8 = 01</action>
<action>maincpu.mb@81B5 = 01</action>
</script>
</cheat>
<cheat desc="bullet speed">
<comment>this code has an impact on throwing back enemy</comment>
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x04">02 </item>
<item value="0x08">03 </item>
<item value="0x0c">04 </item>
<item value="0x10">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@82A8 = param</action> <!-- up ($42a8) -->
<action>maincpu.mb@82AB = param</action> <!-- upper-left : left ($42ab) -->
<action>maincpu.mb@82AC = param</action> <!-- upper-left : up ($42ac) -->
<action>maincpu.mb@82AF = -param</action> <!-- upper-right : right ($42af) -->
<action>maincpu.mb@82B0 = param</action> <!-- upper-right : up ($42b0) -->
<action>maincpu.mb@82B3 = param</action> <!-- left ($42b3) -->
<action>maincpu.mb@82B7 = -param</action> <!-- right ($42b4) -->
<action>maincpu.mb@82BB = param</action> <!-- upper-left [crouch] : left ($42bb) -->
<action>maincpu.mb@82BC = param</action> <!-- upper-left [crouch] : up ($42bc) -->
<action>maincpu.mb@82BF = -param</action> <!-- upper-right [crouch] : right ($42bf) -->
<action>maincpu.mb@82C0 = param</action> <!-- upper-right [crouch] : up ($42c0) -->
<action>maincpu.mb@82C4 = param</action> <!-- up [crouch] ($42c4) -->
</script>
<script state="off">
<action>maincpu.mb@82A8 = 08</action>
<action>maincpu.mb@82AB = 06</action>
<action>maincpu.mb@82AC = 07</action>
<action>maincpu.mb@82AF = FA</action>
<action>maincpu.mb@82B0 = 07</action>
<action>maincpu.mb@82B3 = 0C</action>
<action>maincpu.mb@82B7 = F4</action>
<action>maincpu.mb@82BB = 05</action>
<action>maincpu.mb@82BF = 07</action>
<action>maincpu.mb@82BF = FB</action>
<action>maincpu.mb@82C0 = 07</action>
<action>maincpu.mb@82C4 = 08</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@6332 = FF80 </action> <!-- ($e332) -->
<action>maincpu.mq@7F80 = 81C41001AC818458</action>
<action>maincpu.mq@7F88 = 01D0FDC080A6F7F0</action>
<action>maincpu.mq@7F90 = F7C0E801D0FEC0CA</action>
<action>maincpu.mq@7F98 = C0AA10E9388A05D0</action>
<action>maincpu.mq@7FA0 = AA1069188A05D0FB</action>
<action>maincpu.mq@7FA8 = DFC010F0EFC08086</action>
<action>maincpu.mq@7FB0 = A907038D01A90ED0</action>
<action>maincpu.mq@7FB8 = D08696A207058D00</action>
<action>maincpu.mq@7FC0 = 0000000000FF814C</action>
<!--
FF80 | 58 : cli // enable interrupt
FF81 | 84 81 : sty $81
FF83 | AC 01 10 : ldy $1001 // read input
FF86 | C4 81 : cpy $81
FF88 | F0 F7 : beq $ff81
FF8A | A6 80 : ldx $80
FF8C | C0 FD : cpy #$fd
FF8E | D0 01 : bne $ff91
FF90 | CA : dex // decrease code -01
FF91 | C0 FE : cpy #$fe
FF93 | D0 01 : bne $ff96
FF95 | E8 : inx // increase code +01
FF96 | C0 F7 : cpy #$f7
FF98 | D0 05 : bne $ff9f
FF9A | 8A : txa // decrease code -10
FF9B | 38 : sec
FF9C | E9 10 : sbc #$10
FF9E | AA : tax
FF9F | C0 FB : cpy #$fb
FFA1 | D0 05 : bne $ffa8
FFA3 | 8A : txa // increase code +10
FFA4 | 18 : clc
FFA5 | 69 10 : adc #$10
FFA7 | AA : tax
FFA8 | 86 80 : stx $80
FFAA | C0 EF : cpy #$ef
FFAC | F0 10 : beq $ffbe // play sound
FFAE | C0 DF : cpy #$df
FFB0 | D0 0E : bne $ffc0
FFB2 | A9 01 : lda #$01 // stop sound
FFB4 | 8D 03 07 : sta $0703
FFB7 | A9 00 : lda #$00
FFB9 | 8D 05 07 : sta $0705
FFBC | A2 96 : ldx #$96
FFBE | 86 D0 : stx $d0 // send sound code
FFC0 | 4C 81 FF : jmp $ff81
-->
<action>maincpu.mw@4226 = C238</action> <!-- from music stop to sfx stop routine ($c226) -->
</script>
<script state="run">
<output format="----- shoot out 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@6332 = E400 </action>
<action>maincpu.mq@7F80 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7F88 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7F90 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7F98 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7FA0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7FA8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7FB0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7FB8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7FC0 = 0000000000000000</action>
<action>maincpu.mw@4226 = C104 </action>
</script>
</cheat>
</mamecheat>
shootoutb.xml
Code: Select all
<!-- Shoot Out (Korean Bootleg) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@1B3D = 0290</action> <!-- bullet [boss] ($9b3d) -->
<action>maincpu.mw@85B3 = 40F0</action> <!-- bullet ($45b3) -->
<action>maincpu.mw@9080 = 13F0</action> <!-- enemy ($5080) -->
<action>maincpu.mw@97F2 = 0290</action> <!-- dog ($57f2) -->
<action>maincpu.mw@9B35 = 10F0</action> <!-- flower pot ($5b35) -->
</script>
<script state="off">
<action>maincpu.mw@1B3D = 80C9</action>
<action>maincpu.mw@85B3 = 04C9</action>
<action>maincpu.mw@9080 = 64C5</action>
<action>maincpu.mw@97F2 = 80C9</action>
<action>maincpu.mw@9B35 = 0CC9</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@8045 = 5B</action> <!-- ($4045) -->
</script>
<script state="off">
<action>maincpu.mb@8045 = 5C</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="change">
<action>maincpu.mb@81A8 = param</action> <!-- left ($41a8) -->
<action>maincpu.mb@81B5 = param</action> <!-- right ($41b5) -->
</script>
<script state="off">
<action>maincpu.mb@81A8 = 01</action>
<action>maincpu.mb@81B5 = 01</action>
</script>
</cheat>
<cheat desc="bullet speed">
<comment>this code has an impact on throwing back enemy</comment>
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x04">02 </item>
<item value="0x08">03 </item>
<item value="0x0c">04 </item>
<item value="0x10">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@82A8 = param</action> <!-- up ($42a8) -->
<action>maincpu.mb@82AB = param</action> <!-- upper-left : left ($42ab) -->
<action>maincpu.mb@82AC = param</action> <!-- upper-left : up ($42ac) -->
<action>maincpu.mb@82AF = -param</action> <!-- upper-right : right ($42af) -->
<action>maincpu.mb@82B0 = param</action> <!-- upper-right : up ($42b0) -->
<action>maincpu.mb@82B3 = param</action> <!-- left ($42b3) -->
<action>maincpu.mb@82B7 = -param</action> <!-- right ($42b4) -->
<action>maincpu.mb@82BB = param</action> <!-- upper-left [crouch] : left ($42bb) -->
<action>maincpu.mb@82BC = param</action> <!-- upper-left [crouch] : up ($42bc) -->
<action>maincpu.mb@82BF = -param</action> <!-- upper-right [crouch] : right ($42bf) -->
<action>maincpu.mb@82C0 = param</action> <!-- upper-right [crouch] : up ($42c0) -->
<action>maincpu.mb@82C4 = param</action> <!-- up [crouch] ($42c4) -->
</script>
<script state="off">
<action>maincpu.mb@82A8 = 08</action>
<action>maincpu.mb@82AB = 06</action>
<action>maincpu.mb@82AC = 07</action>
<action>maincpu.mb@82AF = FA</action>
<action>maincpu.mb@82B0 = 07</action>
<action>maincpu.mb@82B3 = 0C</action>
<action>maincpu.mb@82B7 = F4</action>
<action>maincpu.mb@82BB = 05</action>
<action>maincpu.mb@82BC = 07</action>
<action>maincpu.mb@82BF = FB</action>
<action>maincpu.mb@82C0 = 07</action>
<action>maincpu.mb@82C4 = 08</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@6332 = FF80 </action> <!-- ($e332) -->
<action>maincpu.mq@7F80 = 81A41001CC818438</action>
<action>maincpu.mq@7F88 = 01B0FDA080C6F7F0</action>
<action>maincpu.mq@7F90 = F7A0E801B0FEA0AA</action>
<action>maincpu.mq@7F98 = A0CA10E9588A05B0</action>
<action>maincpu.mq@7FA0 = CA1069188A05B0FB</action>
<action>maincpu.mq@7FA8 = DFA010F0EFA08086</action>
<action>maincpu.mq@7FB0 = C907038D01C90EB0</action>
<action>maincpu.mq@7FB8 = D08696C207058D00</action>
<action>maincpu.mq@7FC0 = 0000000000FF812C</action>
<!--
FF80 | 58 : cli // enable interrupt
FF81 | 84 81 : sty $81
FF83 | AC 01 10 : ldy $1001 // read input
FF86 | C4 81 : cpy $81
FF88 | F0 F7 : beq $ff81
FF8A | A6 80 : ldx $80
FF8C | C0 FD : cpy #$fd
FF8E | D0 01 : bne $ff91
FF90 | CA : dex // decrease code -01
FF91 | C0 FE : cpy #$fe
FF93 | D0 01 : bne $ff96
FF95 | E8 : inx // increase code +01
FF96 | C0 F7 : cpy #$f7
FF98 | D0 05 : bne $ff9f
FF9A | 8A : txa // decrease code -10
FF9B | 38 : sec
FF9C | E9 10 : sbc #$10
FF9E | AA : tax
FF9F | C0 FB : cpy #$fb
FFA1 | D0 05 : bne $ffa8
FFA3 | 8A : txa // increase code +10
FFA4 | 18 : clc
FFA5 | 69 10 : adc #$10
FFA7 | AA : tax
FFA8 | 86 80 : stx $80
FFAA | C0 EF : cpy #$ef
FFAC | F0 10 : beq $ffbe // play sound
FFAE | C0 DF : cpy #$df
FFB0 | D0 0E : bne $ffc0
FFB2 | A9 01 : lda #$01 // stop sound
FFB4 | 8D 03 07 : sta $0703
FFB7 | A9 00 : lda #$00
FFB9 | 8D 05 07 : sta $0705
FFBC | A2 96 : ldx #$96
FFBE | 86 D0 : stx $d0 // send sound code
FFC0 | 4C 81 FF : jmp $ff81
-->
<action>maincpu.mw@4226 = C238</action> <!-- from music stop to sfx stop routine ($c226) -->
</script>
<script state="run">
<output format="----- shoot out 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@6332 = E400 </action>
<action>maincpu.mq@7F80 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7F88 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7F90 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7F98 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7FA0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7FA8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7FB0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7FB8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7FC0 = 0000000000000000</action>
<action>maincpu.mw@4226 = C104 </action>
</script>
</cheat>
</mamecheat>