Code: Select all
<!-- The NewZealand Story (World, new version) (P0-043A PCB) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@0305C = 18</action> <!-- trap -->
<action>maincpu.mb@0360E = 10</action> <!-- bullet -->
<action>maincpu.mb@03C32 = 18</action> <!-- balloon with spine -->
<action>maincpu.mb@05C6C = 18</action> <!-- bubble -->
<action>maincpu.mb@06D86 = 18</action> <!-- sheep -->
<action>maincpu.mb@1C1BE = 00</action> <!-- rock from bat ($81be) -->
<action>maincpu.mb@1C6A9 = 18</action> <!-- urchin [moved] ($86a9) -->
<action>maincpu.mb@1C767 = 18</action> <!-- urchin [fixed] ($8767) -->
<action>maincpu.mb@1C851 = 18</action> <!-- urchin tentacle ($8851) -->
<action>maincpu.mb@1CFA8 = 00</action> <!-- sea anemone ($8fa8) -->
<action> sub.mb@002E9 = 18</action> <!-- enemy -->
</script>
<script state="off">
<action>maincpu.mb@0305C = 30</action>
<action>maincpu.mb@0360E = 2D</action>
<action>maincpu.mb@03C32 = 30</action>
<action>maincpu.mb@05C6C = 30</action>
<action>maincpu.mb@06D86 = 30</action>
<action>maincpu.mb@1C1BE = E8</action>
<action>maincpu.mb@1C6A9 = 30</action>
<action>maincpu.mb@1C767 = 30</action>
<action>maincpu.mb@1C851 = 30</action>
<action>maincpu.mb@1CFA8 = 11</action>
<action> sub.mb@002E9 = 30</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@4723 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@4723 = B0</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x80">02 </item>
<item value="0x40">03 </item>
<item value="0x20">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@4C17 = param</action>
</script>
<script state="off">
<action>maincpu.mb@4C17 = 78</action>
</script>
</cheat>
<cheat desc="scuba air timer speed">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x80">02 </item>
<item value="0x40">03 </item>
<item value="0x20">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@28CD = param</action>
</script>
<script state="off">
<action>maincpu.mb@28CD = 17</action>
</script>
</cheat>
<cheat desc="multiple jump">
<script state="on">
<action>maincpu.md@20E5 = 00EF80CD</action> <!-- fall down -->
<action>maincpu.md@22AB = 00EF80CD</action> <!-- jump -->
</script>
<script state="run">
<action>maincpu.pq@EF80 = 04E647E68C3AE5F5</action>
<action>maincpu.pq@EF88 = 0B20B7E7BD3A0D20</action>
<action>maincpu.pq@EF90 = 9721A7C360E1E1E1</action>
<action>maincpu.pq@EF98 = 234BEDF1E1E7BD32</action>
<action>maincpu.pq@EFA0 = 000000000000C9EF</action>
<!--
EF80 | F5 : push af
EF81 | E5 : push hl
EF82 | 3A 8C E6 : ld a,($E68C) // check jump button
EF85 | 47 : ld b,a
EF86 | E6 04 : and $04
EF88 | 20 0D : jr nz,$EF97
EF8A | 3A BD E7 : ld a,($E7BD) // check jump flag
EF8D | B7 : or a
EF8E | 20 0B : jr nz,$EF9B
EF90 | E1 : pop hl // jump again
EF91 | E1 : pop hl
EF92 | E1 : pop hl
EF93 | 60 : ld h,b
EF94 | C3 A7 21 : jp $21A7
EF97 | 97 : sub a
EF98 | 32 BD E7 : ld ($E7BD),a // clear jump flag
EF9B | E1 : pop hl
EF9C | F1 : pop af
EF9D | ED 4B 23 EF : ld bc,($EF23)
EFA1 | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.md@20E5 = EF234BED </action>
<action>maincpu.md@22AB = EF234BED </action>
<action>maincpu.pq@EF80 = 0000000000000000</action>
<action>maincpu.pq@EF88 = 0000000000000000</action>
<action>maincpu.pq@EF90 = 0000000000000000</action>
<action>maincpu.pq@EF98 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="hidden warp gate finder">
<comment>set before start the game</comment>
<script state="on">
<action>maincpu.md@4120 = FEFFCBDD</action>
</script>
<script state="off">
<action>maincpu.md@4120 = 050336DD</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mq@1303D = B8E68C3AE00021FB</action>
<action>maincpu.mq@13045 = 350120DFFEF92847</action>
<action>maincpu.mq@1304D = 20BFFE340120EFFE</action>
<action>maincpu.mq@13055 = 207FFE0618F03E04</action>
<action>maincpu.mq@1305D = F7FE787786103E05</action>
<action>maincpu.mq@13065 = 20FBFE05187E0320</action>
<action>maincpu.mq@1306D = FFCD18EF1032AF04</action>
<!--
B03D | FB : ei // enable interrupt
B03E | 21 00 E0 : ld hl,$E000 // sound code address
B041 | 3A 8C E6 : ld a,($E68C) // read input
B044 | B8 : cp b
B045 | 47 : ld b,a
B046 | 28 F9 : jr z,$B041
B048 | FE DF : cp $DF
B04A | 20 01 : jr nz,$B04D
B04C | 35 : dec (hl) // decrease code -01
B04D | FE EF : cp $EF
B04F | 20 01 : jr nz,$B052
B051 | 34 : inc (hl) // increase code +01
B052 | FE BF : cp $BF
B054 | 20 04 : jr nz,$B05A
B056 | 3E F0 : ld a,$F0 // decrease code -10
B058 | 18 06 : jr $B060
B05A | FE 7F : cp $7F
B05C | 20 05 : jr nz,$B063
B05E | 3E 10 : ld a,$10 // increase code +10
B060 | 86 : add a,(hl)
B061 | 77 : ld (hl),a
B062 | 78 : ld a,b
B063 | FE F7 : cp $F7
B065 | 20 03 : jr nz,$B06A
B067 | 7E : ld a,(hl) // play sound
B068 | 18 05 : jr $B06F
B06A | FE FB : cp $FB
B06C | 20 04 : jr nz,$B072 // stop sound
B06E | AF : xor a
B06F | 32 10 EF : ld ($EF10),a // send sound code
B072 | 18 CD : jr $B041
-->
<action>audiocpu.mb@027E = 00</action> <!-- enable sound -->
</script>
<script state="run">
<output format="----- the newzealand story 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@E000</argument>
</output>
</script>
<script state="off">
<action> maincpu.mq@1303D = 3EF3C057CBEF0E3A</action>
<action> maincpu.mq@13045 = DA32203EEF183201</action>
<action> maincpu.mq@1304D = 3ED20021F30132E5</action>
<action> maincpu.mq@13055 = 0021B35BCDE00600</action>
<action> maincpu.mq@1305D = B35BCDE0065C3EC0</action>
<action> maincpu.mq@13065 = CDE006003ED00021</action>
<action> maincpu.mq@1306D = 26100001001EB35B</action>
<action>audiocpu.mb@0027E = C8 </action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@0287 = 0289</action> <!-- ram -->
<action>maincpu.mb@0C87 = C9 </action> <!-- rom -->
<action> sub.mb@065F = C9 </action> <!-- rom -->
</script>
<script state="off">
<action>maincpu.mw@0287 = 0CBE</action>
<action>maincpu.mb@0C87 = 00 </action>
<action> sub.mb@065F = 00 </action>
</script>
</cheat>
</mamecheat>
Code: Select all
<!-- The NewZealand Story (Japan, new version) (P0-043A PCB) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@0305C = 18</action> <!-- trap -->
<action>maincpu.mb@0360E = 10</action> <!-- bullet -->
<action>maincpu.mb@03C32 = 18</action> <!-- balloon with spine -->
<action>maincpu.mb@05C6C = 18</action> <!-- bubble -->
<action>maincpu.mb@06D86 = 18</action> <!-- sheep -->
<action>maincpu.mb@1C1BE = 00</action> <!-- rock from bat ($81be) -->
<action>maincpu.mb@1C6A9 = 18</action> <!-- urchin [moved] ($86a9) -->
<action>maincpu.mb@1C767 = 18</action> <!-- urchin [fixed] ($8767) -->
<action>maincpu.mb@1C851 = 18</action> <!-- urchin tentacle ($8851) -->
<action>maincpu.mb@1CFA8 = 00</action> <!-- sea anemone ($8fa8) -->
<action> sub.mb@002E9 = 18</action> <!-- enemy -->
</script>
<script state="off">
<action>maincpu.mb@0305C = 30</action>
<action>maincpu.mb@0360E = 2D</action>
<action>maincpu.mb@03C32 = 30</action>
<action>maincpu.mb@05C6C = 30</action>
<action>maincpu.mb@06D86 = 30</action>
<action>maincpu.mb@1C1BE = E8</action>
<action>maincpu.mb@1C6A9 = 30</action>
<action>maincpu.mb@1C767 = 30</action>
<action>maincpu.mb@1C851 = 30</action>
<action>maincpu.mb@1CFA8 = 11</action>
<action> sub.mb@002E9 = 30</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@4723 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@4723 = B0</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x80">02 </item>
<item value="0x40">03 </item>
<item value="0x20">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@4C17 = param</action>
</script>
<script state="off">
<action>maincpu.mb@4C17 = 78</action>
</script>
</cheat>
<cheat desc="scuba air timer speed">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x80">02 </item>
<item value="0x40">03 </item>
<item value="0x20">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@28CD = param</action>
</script>
<script state="off">
<action>maincpu.mb@28CD = 17</action>
</script>
</cheat>
<cheat desc="multiple jump">
<script state="on">
<action>maincpu.md@20E5 = 00EF80CD</action> <!-- fall down -->
<action>maincpu.md@22AB = 00EF80CD</action> <!-- jump -->
</script>
<script state="run">
<action>maincpu.pq@EF80 = 04E647E68C3AE5F5</action>
<action>maincpu.pq@EF88 = 0B20B7E7BD3A0D20</action>
<action>maincpu.pq@EF90 = 9721A7C360E1E1E1</action>
<action>maincpu.pq@EF98 = 234BEDF1E1E7BD32</action>
<action>maincpu.pq@EFA0 = 000000000000C9EF</action>
<!--
EF80 | F5 : push af
EF81 | E5 : push hl
EF82 | 3A 8C E6 : ld a,($E68C) // check jump button
EF85 | 47 : ld b,a
EF86 | E6 04 : and $04
EF88 | 20 0D : jr nz,$EF97
EF8A | 3A BD E7 : ld a,($E7BD) // check jump flag
EF8D | B7 : or a
EF8E | 20 0B : jr nz,$EF9B
EF90 | E1 : pop hl // jump again
EF91 | E1 : pop hl
EF92 | E1 : pop hl
EF93 | 60 : ld h,b
EF94 | C3 A7 21 : jp $21A7
EF97 | 97 : sub a
EF98 | 32 BD E7 : ld ($E7BD),a // clear jump flag
EF9B | E1 : pop hl
EF9C | F1 : pop af
EF9D | ED 4B 23 EF : ld bc,($EF23)
EFA1 | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.md@20E5 = EF234BED </action>
<action>maincpu.md@22AB = EF234BED </action>
<action>maincpu.pq@EF80 = 0000000000000000</action>
<action>maincpu.pq@EF88 = 0000000000000000</action>
<action>maincpu.pq@EF90 = 0000000000000000</action>
<action>maincpu.pq@EF98 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="hidden warp gate finder">
<comment>set before start the game</comment>
<script state="on">
<action>maincpu.md@4120 = FEFFCBDD</action>
</script>
<script state="off">
<action>maincpu.md@4120 = 050336DD</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mq@1303D = B8E68C3AE00021FB</action>
<action>maincpu.mq@13045 = 350120DFFEF92847</action>
<action>maincpu.mq@1304D = 20BFFE340120EFFE</action>
<action>maincpu.mq@13055 = 207FFE0618F03E04</action>
<action>maincpu.mq@1305D = F7FE787786103E05</action>
<action>maincpu.mq@13065 = 20FBFE05187E0320</action>
<action>maincpu.mq@1306D = FFCD18EF1032AF04</action>
<!--
B03D | FB : ei // enable interrupt
B03E | 21 00 E0 : ld hl,$E000 // sound code address
B041 | 3A 8C E6 : ld a,($E68C) // read input
B044 | B8 : cp b
B045 | 47 : ld b,a
B046 | 28 F9 : jr z,$B041
B048 | FE DF : cp $DF
B04A | 20 01 : jr nz,$B04D
B04C | 35 : dec (hl) // decrease code -01
B04D | FE EF : cp $EF
B04F | 20 01 : jr nz,$B052
B051 | 34 : inc (hl) // increase code +01
B052 | FE BF : cp $BF
B054 | 20 04 : jr nz,$B05A
B056 | 3E F0 : ld a,$F0 // decrease code -10
B058 | 18 06 : jr $B060
B05A | FE 7F : cp $7F
B05C | 20 05 : jr nz,$B063
B05E | 3E 10 : ld a,$10 // increase code +10
B060 | 86 : add a,(hl)
B061 | 77 : ld (hl),a
B062 | 78 : ld a,b
B063 | FE F7 : cp $F7
B065 | 20 03 : jr nz,$B06A
B067 | 7E : ld a,(hl) // play sound
B068 | 18 05 : jr $B06F
B06A | FE FB : cp $FB
B06C | 20 04 : jr nz,$B072 // stop sound
B06E | AF : xor a
B06F | 32 10 EF : ld ($EF10),a // send sound code
B072 | 18 CD : jr $B041
-->
<action>audiocpu.mb@027E = 00</action> <!-- enable sound -->
</script>
<script state="run">
<output format="----- the newzealand story 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@E000</argument>
</output>
</script>
<script state="off">
<action> maincpu.mq@1303D = 3EF3C057CBEF0E3A</action>
<action> maincpu.mq@13045 = DA32203EEF183201</action>
<action> maincpu.mq@1304D = 3ED20021F30132E5</action>
<action> maincpu.mq@13055 = 0021B35BCDE00600</action>
<action> maincpu.mq@1305D = B35BCDE0065C3EC0</action>
<action> maincpu.mq@13065 = CDE006003ED00021</action>
<action> maincpu.mq@1306D = 26100001001EB35B</action>
<action>audiocpu.mb@0027E = C8 </action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@0287 = 0289</action> <!-- ram -->
<action>maincpu.mb@0C87 = C9 </action> <!-- rom -->
<action> sub.mb@065F = C9 </action> <!-- rom -->
</script>
<script state="off">
<action>maincpu.mw@0287 = 0CBE</action>
<action>maincpu.mb@0C87 = 00 </action>
<action> sub.mb@065F = 00 </action>
</script>
</cheat>
</mamecheat>
Code: Select all
<!-- The NewZealand Story (World, old version) (P0-041A PCB) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@0305E = 18</action> <!-- trap -->
<action>maincpu.mb@03610 = 12</action> <!-- bullet -->
<action>maincpu.mb@03C34 = 18</action> <!-- balloon with spine -->
<action>maincpu.mb@05B4F = 18</action> <!-- bubble -->
<action>maincpu.mb@06C5B = 18</action> <!-- sheep -->
<action>maincpu.mb@1C069 = 00</action> <!-- rock from bat ($8069) -->
<action>maincpu.mb@1C554 = 18</action> <!-- urchin [moved] ($8554) -->
<action>maincpu.mb@1C612 = 18</action> <!-- urchin [fixed] ($8612) -->
<action>maincpu.mb@1C6FC = 18</action> <!-- urchin tentacle ($86fc) -->
<action>maincpu.mb@1CE53 = 00</action> <!-- sea anemone ($8e53) -->
<action> sub.mb@0032C = 18</action> <!-- enemy -->
</script>
<script state="off">
<action>maincpu.mb@0305E = 30</action>
<action>maincpu.mb@03610 = 2F</action>
<action>maincpu.mb@03C34 = 30</action>
<action>maincpu.mb@05B4F = 30</action>
<action>maincpu.mb@06C5B = 30</action>
<action>maincpu.mb@1C069 = E8</action>
<action>maincpu.mb@1C554 = 30</action>
<action>maincpu.mb@1C612 = 30</action>
<action>maincpu.mb@1C6FC = 30</action>
<action>maincpu.mb@1CE53 = 11</action>
<action> sub.mb@0032C = 30</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@4723 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@4723 = B0</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x80">02 </item>
<item value="0x40">03 </item>
<item value="0x20">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@4BFF = param</action>
</script>
<script state="off">
<action>maincpu.mb@4BFF = 78</action>
</script>
</cheat>
<cheat desc="scuba air timer speed">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x80">02 </item>
<item value="0x40">03 </item>
<item value="0x20">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@28CF = param</action>
</script>
<script state="off">
<action>maincpu.mb@28CF = 17</action>
</script>
</cheat>
<cheat desc="multiple jump">
<script state="on">
<action>maincpu.md@20E7 = 00EF80CD</action> <!-- fall down -->
<action>maincpu.md@22AD = 00EF80CD</action> <!-- jump -->
</script>
<script state="run">
<action>maincpu.pq@EF80 = 04E647E68C3AE5F5</action>
<action>maincpu.pq@EF88 = 0B20B7E7BD3A0D20</action>
<action>maincpu.pq@EF90 = 9721A9C360E1E1E1</action>
<action>maincpu.pq@EF98 = 234BEDF1E1E7BD32</action>
<action>maincpu.pq@EFA0 = 000000000000C9EF</action>
<!--
EF80 | F5 : push af
EF81 | E5 : push hl
EF82 | 3A 8C E6 : ld a,($E68C) // check jump button
EF85 | 47 : ld b,a
EF86 | E6 04 : and $04
EF88 | 20 0D : jr nz,$EF97
EF8A | 3A BD E7 : ld a,($E7BD) // check jump flag
EF8D | B7 : or a
EF8E | 20 0B : jr nz,$EF9B
EF90 | E1 : pop hl // jump again
EF91 | E1 : pop hl
EF92 | E1 : pop hl
EF93 | 60 : ld h,b
EF94 | C3 A9 21 : jp $21A9
EF97 | 97 : sub a
EF98 | 32 BD E7 : ld ($E7BD),a // clear jump flag
EF9B | E1 : pop hl
EF9C | F1 : pop af
EF9D | ED 4B 23 EF : ld bc,($EF23)
EFA1 | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.md@20E7 = EF234BED </action>
<action>maincpu.md@22AD = EF234BED </action>
<action>maincpu.pq@EF80 = 0000000000000000</action>
<action>maincpu.pq@EF88 = 0000000000000000</action>
<action>maincpu.pq@EF90 = 0000000000000000</action>
<action>maincpu.pq@EF98 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="hidden warp gate finder">
<comment>set before start the game</comment>
<script state="on">
<action>maincpu.md@4122 = FEFFCBDD</action>
</script>
<script state="off">
<action>maincpu.md@4122 = 050336DD</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mq@136D7 = B8E68C3AE00021FB</action>
<action>maincpu.mq@136DF = 350120DFFEF92847</action>
<action>maincpu.mq@136E7 = 20BFFE340120EFFE</action>
<action>maincpu.mq@136EF = 207FFE0618F03E04</action>
<action>maincpu.mq@136F7 = F7FE787786103E05</action>
<action>maincpu.mq@136FF = 20FBFE05187E0320</action>
<action>maincpu.mq@13707 = FFCD18EF1032AF04</action>
<!--
B6D7 | FB : ei // enable interrupt
B6D8 | 21 00 E0 : ld hl,$E000 // sound code address
B6DB | 3A 8C E6 : ld a,($E68C) // read input
B6DE | B8 : cp b
B6DF | 47 : ld b,a
B6E0 | 28 F9 : jr z,$B6DB
B6E2 | FE DF : cp $DF
B6E4 | 20 01 : jr nz,$B6E7
B6E6 | 35 : dec (hl) // decrease code -01
B6E7 | FE EF : cp $EF
B6E9 | 20 01 : jr nz,$B6EC
B6EB | 34 : inc (hl) // increase code +01
B6EC | FE BF : cp $BF
B6EE | 20 04 : jr nz,$B6F4
B6F0 | 3E F0 : ld a,$F0 // decrease code -10
B6F2 | 18 06 : jr $B6FA
B6F4 | FE 7F : cp $7F
B6F6 | 20 05 : jr nz,$B6FD
B6F8 | 3E 10 : ld a,$10 // increase code +10
B6FA | 86 : add a,(hl)
B6FB | 77 : ld (hl),a
B6FC | 78 : ld a,b
B6FD | FE F7 : cp $F7
B6FF | 20 03 : jr nz,$B704
B701 | 7E : ld a,(hl) // play sound
B702 | 18 05 : jr $B709
B704 | FE FB : cp $FB
B706 | 20 04 : jr nz,$B70C
B708 | AF : xor a // stop sound
B709 | 32 10 EF : ld ($EF10),a // send sound code
B70C | 18 CD : jr $B6DB
-->
<action>sub.mb@0800 = 00</action> <!-- enable sound -->
</script>
<script state="run">
<output format="----- the newzealand story 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@E000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@136D7 = 3EF3C057CBEF0E3A</action>
<action>maincpu.mq@136DF = DA32203EEF183201</action>
<action>maincpu.mq@136E7 = 3ED20021F30132E5</action>
<action>maincpu.mq@136EF = 0021B9F5CDE00600</action>
<action>maincpu.mq@136F7 = B9F5CDE0065C3EC0</action>
<action>maincpu.mq@136FF = CDE006003ED00021</action>
<action>maincpu.mq@13707 = 26100001001EB9F5</action>
<action> sub.mb@00800 = C8 </action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@0287 = 0289</action> <!-- ram -->
<action>maincpu.mb@0C89 = C9 </action> <!-- rom -->
<action> sub.mb@0666 = C9 </action> <!-- rom -->
</script>
<script state="off">
<action>maincpu.mw@0287 = 0CC0</action>
<action>maincpu.mb@0C89 = 00 </action>
<action> sub.mb@0666 = 21 </action>
</script>
</cheat>
</mamecheat>
Code: Select all
<!-- The NewZealand Story (Japan, old version) (P0-041A PCB) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@0305E = 18</action> <!-- trap -->
<action>maincpu.mb@03610 = 12</action> <!-- bullet -->
<action>maincpu.mb@03C34 = 18</action> <!-- balloon with spine -->
<action>maincpu.mb@05B4F = 18</action> <!-- bubble -->
<action>maincpu.mb@06C5B = 18</action> <!-- sheep -->
<action>maincpu.mb@1C069 = 00</action> <!-- rock from bat ($8069) -->
<action>maincpu.mb@1C554 = 18</action> <!-- urchin [moved] ($8554) -->
<action>maincpu.mb@1C612 = 18</action> <!-- urchin [fixed] ($8612) -->
<action>maincpu.mb@1C6FC = 18</action> <!-- urchin tentacle ($86fc) -->
<action>maincpu.mb@1CE53 = 00</action> <!-- sea anemone ($8e53) -->
<action> sub.mb@0032C = 18</action> <!-- enemy -->
</script>
<script state="off">
<action>maincpu.mb@0305E = 30</action>
<action>maincpu.mb@03610 = 2F</action>
<action>maincpu.mb@03C34 = 30</action>
<action>maincpu.mb@05B4F = 30</action>
<action>maincpu.mb@06C5B = 30</action>
<action>maincpu.mb@1C069 = E8</action>
<action>maincpu.mb@1C554 = 30</action>
<action>maincpu.mb@1C612 = 30</action>
<action>maincpu.mb@1C6FC = 30</action>
<action>maincpu.mb@1CE53 = 11</action>
<action> sub.mb@0032C = 30</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@4723 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@4723 = B0</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x80">02 </item>
<item value="0x40">03 </item>
<item value="0x20">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@4BFF = param</action>
</script>
<script state="off">
<action>maincpu.mb@4BFF = 78</action>
</script>
</cheat>
<cheat desc="scuba air timer speed">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x80">02 </item>
<item value="0x40">03 </item>
<item value="0x20">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@28CF = param</action>
</script>
<script state="off">
<action>maincpu.mb@28CF = 17</action>
</script>
</cheat>
<cheat desc="multiple jump">
<script state="on">
<action>maincpu.md@20E7 = 00EF80CD</action> <!-- fall down -->
<action>maincpu.md@22AD = 00EF80CD</action> <!-- jump -->
</script>
<script state="run">
<action>maincpu.pq@EF80 = 04E647E68C3AE5F5</action>
<action>maincpu.pq@EF88 = 0B20B7E7BD3A0D20</action>
<action>maincpu.pq@EF90 = 9721A9C360E1E1E1</action>
<action>maincpu.pq@EF98 = 234BEDF1E1E7BD32</action>
<action>maincpu.pq@EFA0 = 000000000000C9EF</action>
<!--
EF80 | F5 : push af
EF81 | E5 : push hl
EF82 | 3A 8C E6 : ld a,($E68C) // check jump button
EF85 | 47 : ld b,a
EF86 | E6 04 : and $04
EF88 | 20 0D : jr nz,$EF97
EF8A | 3A BD E7 : ld a,($E7BD) // check jump flag
EF8D | B7 : or a
EF8E | 20 0B : jr nz,$EF9B
EF90 | E1 : pop hl // jump again
EF91 | E1 : pop hl
EF92 | E1 : pop hl
EF93 | 60 : ld h,b
EF94 | C3 A9 21 : jp $21A9
EF97 | 97 : sub a
EF98 | 32 BD E7 : ld ($E7BD),a // clear jump flag
EF9B | E1 : pop hl
EF9C | F1 : pop af
EF9D | ED 4B 23 EF : ld bc,($EF23)
EFA1 | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.md@20E7 = EF234BED </action>
<action>maincpu.md@22AD = EF234BED </action>
<action>maincpu.pq@EF80 = 0000000000000000</action>
<action>maincpu.pq@EF88 = 0000000000000000</action>
<action>maincpu.pq@EF90 = 0000000000000000</action>
<action>maincpu.pq@EF98 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="hidden warp gate finder">
<comment>set before start the game</comment>
<script state="on">
<action>maincpu.md@4122 = FEFFCBDD</action>
</script>
<script state="off">
<action>maincpu.md@4122 = 050336DD</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mq@136D7 = B8E68C3AE00021FB</action>
<action>maincpu.mq@136DF = 350120DFFEF92847</action>
<action>maincpu.mq@136E7 = 20BFFE340120EFFE</action>
<action>maincpu.mq@136EF = 207FFE0618F03E04</action>
<action>maincpu.mq@136F7 = F7FE787786103E05</action>
<action>maincpu.mq@136FF = 20FBFE05187E0320</action>
<action>maincpu.mq@13707 = FFCD18EF1032AF04</action>
<!--
B6D7 | FB : ei // enable interrupt
B6D8 | 21 00 E0 : ld hl,$E000 // sound code address
B6DB | 3A 8C E6 : ld a,($E68C) // read input
B6DE | B8 : cp b
B6DF | 47 : ld b,a
B6E0 | 28 F9 : jr z,$B6DB
B6E2 | FE DF : cp $DF
B6E4 | 20 01 : jr nz,$B6E7
B6E6 | 35 : dec (hl) // decrease code -01
B6E7 | FE EF : cp $EF
B6E9 | 20 01 : jr nz,$B6EC
B6EB | 34 : inc (hl) // increase code +01
B6EC | FE BF : cp $BF
B6EE | 20 04 : jr nz,$B6F4
B6F0 | 3E F0 : ld a,$F0 // decrease code -10
B6F2 | 18 06 : jr $B6FA
B6F4 | FE 7F : cp $7F
B6F6 | 20 05 : jr nz,$B6FD
B6F8 | 3E 10 : ld a,$10 // increase code +10
B6FA | 86 : add a,(hl)
B6FB | 77 : ld (hl),a
B6FC | 78 : ld a,b
B6FD | FE F7 : cp $F7
B6FF | 20 03 : jr nz,$B704
B701 | 7E : ld a,(hl) // play sound
B702 | 18 05 : jr $B709
B704 | FE FB : cp $FB
B706 | 20 04 : jr nz,$B70C
B708 | AF : xor a // stop sound
B709 | 32 10 EF : ld ($EF10),a // send sound code
B70C | 18 CD : jr $B6DB
-->
<action>sub.mb@0800 = 00</action> <!-- enable sound -->
</script>
<script state="run">
<output format="----- the newzealand story 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@E000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@136D7 = 3EF3C057CBEF0E3A</action>
<action>maincpu.mq@136DF = DA32203EEF183201</action>
<action>maincpu.mq@136E7 = 3ED20021F30132E5</action>
<action>maincpu.mq@136EF = 0021B9F5CDE00600</action>
<action>maincpu.mq@136F7 = B9F5CDE0065C3EC0</action>
<action>maincpu.mq@136FF = CDE006003ED00021</action>
<action>maincpu.mq@13707 = 26100001001EB9F5</action>
<action> sub.mb@00800 = C8 </action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@0287 = 0289</action> <!-- ram -->
<action>maincpu.mb@0C89 = C9 </action> <!-- rom -->
<action> sub.mb@0666 = C9 </action> <!-- rom -->
</script>
<script state="off">
<action>maincpu.mw@0287 = 0CC0</action>
<action>maincpu.mb@0C89 = 00 </action>
<action> sub.mb@0666 = 21 </action>
</script>
</cheat>
</mamecheat>
Code: Select all
<!-- The NewZealand Story (US, old version) (P0-041A PCB) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@0305E = 18</action> <!-- trap -->
<action>maincpu.mb@03610 = 12</action> <!-- bullet -->
<action>maincpu.mb@03C34 = 18</action> <!-- balloon with spine -->
<action>maincpu.mb@05B4F = 18</action> <!-- bubble -->
<action>maincpu.mb@06C5B = 18</action> <!-- sheep -->
<action>maincpu.mb@1C069 = 00</action> <!-- rock from bat ($8069) -->
<action>maincpu.mb@1C554 = 18</action> <!-- urchin [moved] ($8554) -->
<action>maincpu.mb@1C612 = 18</action> <!-- urchin [fixed] ($8612) -->
<action>maincpu.mb@1C6FC = 18</action> <!-- urchin tentacle ($86fc) -->
<action>maincpu.mb@1CE53 = 00</action> <!-- sea anemone ($8e53) -->
<action> sub.mb@0032C = 18</action> <!-- enemy -->
</script>
<script state="off">
<action>maincpu.mb@0305E = 30</action>
<action>maincpu.mb@03610 = 2F</action>
<action>maincpu.mb@03C34 = 30</action>
<action>maincpu.mb@05B4F = 30</action>
<action>maincpu.mb@06C5B = 30</action>
<action>maincpu.mb@1C069 = E8</action>
<action>maincpu.mb@1C554 = 30</action>
<action>maincpu.mb@1C612 = 30</action>
<action>maincpu.mb@1C6FC = 30</action>
<action>maincpu.mb@1CE53 = 11</action>
<action> sub.mb@0032C = 30</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@4723 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@4723 = B0</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x80">02 </item>
<item value="0x40">03 </item>
<item value="0x20">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@4BFF = param</action>
</script>
<script state="off">
<action>maincpu.mb@4BFF = 78</action>
</script>
</cheat>
<cheat desc="scuba air timer speed">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x80">02 </item>
<item value="0x40">03 </item>
<item value="0x20">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@28CF = param</action>
</script>
<script state="off">
<action>maincpu.mb@28CF = 17</action>
</script>
</cheat>
<cheat desc="multiple jump">
<script state="on">
<action>maincpu.md@20E7 = 00EF80CD</action> <!-- fall down -->
<action>maincpu.md@22AD = 00EF80CD</action> <!-- jump -->
</script>
<script state="run">
<action>maincpu.pq@EF80 = 04E647E68C3AE5F5</action>
<action>maincpu.pq@EF88 = 0B20B7E7BD3A0D20</action>
<action>maincpu.pq@EF90 = 9721A9C360E1E1E1</action>
<action>maincpu.pq@EF98 = 234BEDF1E1E7BD32</action>
<action>maincpu.pq@EFA0 = 000000000000C9EF</action>
<!--
EF80 | F5 : push af
EF81 | E5 : push hl
EF82 | 3A 8C E6 : ld a,($E68C) // check jump button
EF85 | 47 : ld b,a
EF86 | E6 04 : and $04
EF88 | 20 0D : jr nz,$EF97
EF8A | 3A BD E7 : ld a,($E7BD) // check jump flag
EF8D | B7 : or a
EF8E | 20 0B : jr nz,$EF9B
EF90 | E1 : pop hl // jump again
EF91 | E1 : pop hl
EF92 | E1 : pop hl
EF93 | 60 : ld h,b
EF94 | C3 A9 21 : jp $21A9
EF97 | 97 : sub a
EF98 | 32 BD E7 : ld ($E7BD),a // clear jump flag
EF9B | E1 : pop hl
EF9C | F1 : pop af
EF9D | ED 4B 23 EF : ld bc,($EF23)
EFA1 | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.md@20E7 = EF234BED </action>
<action>maincpu.md@22AD = EF234BED </action>
<action>maincpu.pq@EF80 = 0000000000000000</action>
<action>maincpu.pq@EF88 = 0000000000000000</action>
<action>maincpu.pq@EF90 = 0000000000000000</action>
<action>maincpu.pq@EF98 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="hidden warp gate finder">
<comment>set before start the game</comment>
<script state="on">
<action>maincpu.md@4122 = FEFFCBDD</action>
</script>
<script state="off">
<action>maincpu.md@4122 = 050336DD</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mq@136D7 = B8E68C3AE00021FB</action>
<action>maincpu.mq@136DF = 350120DFFEF92847</action>
<action>maincpu.mq@136E7 = 20BFFE340120EFFE</action>
<action>maincpu.mq@136EF = 207FFE0618F03E04</action>
<action>maincpu.mq@136F7 = F7FE787786103E05</action>
<action>maincpu.mq@136FF = 20FBFE05187E0320</action>
<action>maincpu.mq@13707 = FFCD18EF1032AF04</action>
<!--
B6D7 | FB : ei // enable interrupt
B6D8 | 21 00 E0 : ld hl,$E000 // sound code address
B6DB | 3A 8C E6 : ld a,($E68C) // read input
B6DE | B8 : cp b
B6DF | 47 : ld b,a
B6E0 | 28 F9 : jr z,$B6DB
B6E2 | FE DF : cp $DF
B6E4 | 20 01 : jr nz,$B6E7
B6E6 | 35 : dec (hl) // decrease code -01
B6E7 | FE EF : cp $EF
B6E9 | 20 01 : jr nz,$B6EC
B6EB | 34 : inc (hl) // increase code +01
B6EC | FE BF : cp $BF
B6EE | 20 04 : jr nz,$B6F4
B6F0 | 3E F0 : ld a,$F0 // decrease code -10
B6F2 | 18 06 : jr $B6FA
B6F4 | FE 7F : cp $7F
B6F6 | 20 05 : jr nz,$B6FD
B6F8 | 3E 10 : ld a,$10 // increase code +10
B6FA | 86 : add a,(hl)
B6FB | 77 : ld (hl),a
B6FC | 78 : ld a,b
B6FD | FE F7 : cp $F7
B6FF | 20 03 : jr nz,$B704
B701 | 7E : ld a,(hl) // play sound
B702 | 18 05 : jr $B709
B704 | FE FB : cp $FB
B706 | 20 04 : jr nz,$B70C
B708 | AF : xor a // stop sound
B709 | 32 10 EF : ld ($EF10),a // send sound code
B70C | 18 CD : jr $B6DB
-->
<action>sub.mb@0800 = 00</action> <!-- enable sound -->
</script>
<script state="run">
<output format="----- the newzealand story 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@E000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@136D7 = 3EF3C057CBEF0E3A</action>
<action>maincpu.mq@136DF = DA32203EEF183201</action>
<action>maincpu.mq@136E7 = 3ED20021F30132E5</action>
<action>maincpu.mq@136EF = 0021B9F5CDE00600</action>
<action>maincpu.mq@136F7 = B9F5CDE0065C3EC0</action>
<action>maincpu.mq@136FF = CDE006003ED00021</action>
<action>maincpu.mq@13707 = 26100001001EB9F5</action>
<action> sub.mb@00800 = C8 </action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@0287 = 0289</action> <!-- ram -->
<action>maincpu.mb@0C89 = C9 </action> <!-- rom -->
<action> sub.mb@0666 = C9 </action> <!-- rom -->
</script>
<script state="off">
<action>maincpu.mw@0287 = 0CC0</action>
<action>maincpu.mb@0C89 = 00 </action>
<action> sub.mb@0666 = 21 </action>
</script>
</cheat>
</mamecheat>