Code: Select all
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@b1b9 = c3</action> <!-- enemy -->
<action>maincpu.mb@b1c0 = 9a</action> <!-- enemy -->
<action>maincpu.mb@b1dd = e0</action> <!-- enemy -->
<action>maincpu.mb@b44e = 6e</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@b1b9 = c4</action>
<action>maincpu.mb@b1c0 = 9b</action>
<action>maincpu.mb@b1dd = e1</action>
<action>maincpu.mb@b44e = 6f</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@cbfc = 01</action>
</script>
<script state="off">
<action>maincpu.mb@cbfc = 18</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>maincpu.mb@8d71 = c0</action> <!-- up -->
<action>maincpu.mb@8d7e = 80</action> <!-- upper-right : right -->
<action>maincpu.mb@8d80 = c0</action> <!-- upper-right : up -->
<action>maincpu.mb@8d93 = 80</action> <!-- right -->
<action>maincpu.mb@8da1 = 80</action> <!-- lower-right : right -->
<action>maincpu.mb@8da3 = cb</action> <!-- lower-right : down -->
<action>maincpu.mb@8db6 = cb</action> <!-- down -->
<action>maincpu.mb@8dc3 = 8b</action> <!-- lower-left : left -->
<action>maincpu.mb@8dc5 = cb</action> <!-- lower-left : down -->
<action>maincpu.mb@8dd8 = 8b</action> <!-- left -->
<action>maincpu.mb@8de6 = 8b</action> <!-- upper-left : left -->
<action>maincpu.mb@8de8 = c0</action> <!-- upper-left : up -->
</script>
<script state="change">
<action>maincpu.mb@8d72 = param</action>
<action>maincpu.mb@8d7f = param</action>
<action>maincpu.mb@8d81 = param</action>
<action>maincpu.mb@8d94 = param</action>
<action>maincpu.mb@8da2 = param</action>
<action>maincpu.mb@8da4 = param</action>
<action>maincpu.mb@8db7 = param</action>
<action>maincpu.mb@8dc4 = param</action>
<action>maincpu.mb@8dc6 = param</action>
<action>maincpu.mb@8dd9 = param</action>
<action>maincpu.mb@8de7 = param</action>
<action>maincpu.mb@8de9 = param</action>
</script>
<script state="off">
<action>maincpu.mw@8d71 = d040</action>
<action>maincpu.mw@8d7e = 9040</action>
<action>maincpu.mw@8d80 = d040</action>
<action>maincpu.mw@8d93 = 9040</action>
<action>maincpu.mw@8da1 = 9040</action>
<action>maincpu.mw@8da3 = db40</action>
<action>maincpu.mw@8db6 = db40</action>
<action>maincpu.mw@8dc3 = 9b40</action>
<action>maincpu.mw@8dc5 = db40</action>
<action>maincpu.mw@8dd8 = 9b40</action>
<action>maincpu.mw@8de6 = 9b40</action>
<action>maincpu.mw@8de8 = d040</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x08">02 </item>
<item value="0x10">03 </item>
<item value="0x14">04 </item>
<item value="0x18">05 (fast)</item>
</parameter>
<script state="change">
<!-- player -->
<action>maincpu.mb@2ff4 = -param</action>
<action>maincpu.mb@2ffe = -param</action>
<action>maincpu.mb@3008 = -param</action>
<action>maincpu.mb@3012 = -param</action>
<action>maincpu.mb@301c = -param</action>
<action>maincpu.mb@3032 = -param</action>
<action>maincpu.mb@303c = -param</action>
<action>maincpu.mb@3046 = -param</action>
<action>maincpu.mb@3050 = -param</action>
<action>maincpu.mb@305a = -param</action>
<action>maincpu.mb@3070 = -param</action>
<action>maincpu.mb@307a = -param</action>
<action>maincpu.mb@3084 = -param</action>
<action>maincpu.mb@308e = -param</action>
<action>maincpu.mb@3098 = -param</action>
<action>maincpu.mb@30ae = -param</action>
<action>maincpu.mb@30b8 = -param</action>
<action>maincpu.mb@30c2 = -param</action>
<action>maincpu.mb@30cc = -param</action>
<action>maincpu.mb@30d6 = -param</action>
<!-- range -->
<action>maincpu.mb@cd74 = f4 - param</action>
<!-- sub unit -->
<action>maincpu.mb@cde8 = -param</action>
</script>
<script state="off">
<action>maincpu.mb@2ff4 = f8</action>
<action>maincpu.mb@2ffe = f6</action>
<action>maincpu.mb@3008 = f6</action>
<action>maincpu.mb@3012 = f6</action>
<action>maincpu.mb@301c = f6</action>
<action>maincpu.mb@3032 = f8</action>
<action>maincpu.mb@303c = f6</action>
<action>maincpu.mb@3046 = f4</action>
<action>maincpu.mb@3050 = f4</action>
<action>maincpu.mb@305a = f4</action>
<action>maincpu.mb@3070 = f8</action>
<action>maincpu.mb@307a = f6</action>
<action>maincpu.mb@3084 = f4</action>
<action>maincpu.mb@308e = f4</action>
<action>maincpu.mb@3098 = f4</action>
<action>maincpu.mb@30ae = f8</action>
<action>maincpu.mb@30b8 = f6</action>
<action>maincpu.mb@30c2 = f6</action>
<action>maincpu.mb@30cc = f6</action>
<action>maincpu.mb@30d6 = f6</action>
<action>maincpu.mb@cd74 = f4</action>
<action>maincpu.mb@cde8 = f8</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mq@805f = 97519691915127f8</action>
<action>maincpu.mq@8067 = d65081fe26015a81</action>
<action>maincpu.mq@806f = fd26015c81fb2602</action>
<action>maincpu.mq@8077 = c01081f72602cb10</action>
<action>maincpu.mq@807f = d750817f2602d78a</action>
<action>maincpu.mq@8087 = 81bf26020f8a20d0</action>
<!--
805f | 97 51 : STA $51
8061 | 96 91 : LDA $91 // read input
8063 | 91 51 : CMPA $51
8065 | 27 f8 : BEQ $805F
8067 | d6 50 : LDB $50
8069 | 81 fe : CMPA #$FE
806b | 26 01 : BNE $806E
806d | 5a : DECB // decrease code -01
806e | 81 fd : CMPA #$FD
8070 | 26 01 : BNE $8073
8072 | 5c : INCB // increase code +01
8073 | 81 fb : CMPA #$FB
8075 | 26 02 : BNE $8079
8077 | c0 10 : SUBB #$10 // decrease code -10
8079 | 81 f7 : CMPA #$F7
807b | 26 02 : BNE $807F
807d | cb 10 : ADDB #$10 // increase code +10
807f | d7 50 : STB $50
8081 | 81 7f : CMPA #$7F
8083 | 26 02 : BNE $8087
8085 | d7 8a : STB $8A // play sound
8087 | 81 bf : CMPA #$BF
8089 | 26 02 : BNE $808D
808b | 0f 8a : CLR $8A // stop sound
808d | 20 d0 : BRA $805F
-->
</script>
<script state="run">
<output format="----- halley's comet 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@ff50</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@805f = 9695c68085022701</action>
<action>maincpu.mq@8067 = 5fd79ebd874c8611</action>
<action>maincpu.mq@806f = bd982f10ceff0096</action>
<action>maincpu.mq@8077 = 908510102703f385</action>
<action>maincpu.mq@807f = 201027014d854010</action>
<action>maincpu.mq@8087 = 2601478580102601</action>
</script>
</cheat>