Page 1 of 1
[shootoutj] Shoot Out
Posted: Fri Jun 17, 2022 11:25 am
by jman
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.
[shootout]+ Shoot Out
Posted: Fri May 10, 2024 11:54 pm
by jman
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>