preshisle.xml
Code: Select all
<!-- Prehistoric Isle in 1930 (World) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<!-- common -->
<action>maincpu.md@126A0 = 0003E010 </action>
<action>maincpu.mq@3E010 = 7E00B3FC000700F0</action>
<action>maincpu.mq@3E018 = 671EB3FC00070630</action>
<action>maincpu.mq@3E020 = 6716B3FC00070670</action>
<action>maincpu.mq@3E028 = 670EB3FC00070BB0</action>
<action>maincpu.mq@3E030 = 67064EB900012C3A</action>
<action>maincpu.mq@3E038 = 4E75FFFFFFFFFFFF</action>
<!--
3E010 | 7E00 : moveq #$0, D7
3E012 | B3FC 0007 00F0 : cmpa.l #$700f0, A1 // P1
3E018 | 671E : beq $3e038
3E01A | B3FC 0007 0630 : cmpa.l #$70630, A1 // P1 pod
3E020 | 6716 : beq $3e038
3E022 | B3FC 0007 0670 : cmpa.l #$70670, A1 // P2
3E028 | 670E : beq $3e038
3E02A | B3FC 0007 0BB0 : cmpa.l #$70bb0, A1 // P2 pod
3E030 | 6706 : beq $3e038
3E032 | 4EB9 0001 2C3A : jsr $12c3a.l // call collision check
3E038 | 4E75 : rts
-->
<action>maincpu.mb@04962 = 60</action> <!-- waterfall -->
<action>maincpu.mb@0C174 = 60</action> <!-- background -->
<action>maincpu.mb@0C18C = 60</action> <!-- background -->
<action>maincpu.mb@0C1A6 = 60</action> <!-- background -->
<action>maincpu.mb@0C1BC = 60</action> <!-- background -->
<action>maincpu.mb@0FE3F = 02</action> <!-- catch hand (stage 3) -->
<action>maincpu.mb@12775 = 02</action> <!-- bullet (P1) -->
<action>maincpu.mb@1278B = 02</action> <!-- bullet (P2) -->
<action>maincpu.mb@1279F = 02</action> <!-- bullet (P1 pod) -->
<action>maincpu.mb@127B5 = 02</action> <!-- bullet (P2 pod) -->
<action>maincpu.mb@133B8 = 60</action> <!-- gel (stage 4) -->
<action>maincpu.mb@16826 = 60</action> <!-- human -->
<action>maincpu.mb@16C9E = 60</action> <!-- human -->
<action>maincpu.mb@193A8 = 60</action> <!-- allosaurus (boss 1-2) predation -->
<action>maincpu.mb@19C3C = 60</action> <!-- rhamphorhynchus (boss 2) wind -->
<action>maincpu.mb@1A958 = 60</action> <!-- brachiosaurus (boss 1-1) predation -->
<action>maincpu.mb@1A9A4 = 60</action> <!-- brachiosaurus (boss 1-1) predation -->
<action>maincpu.mb@1C925 = 02</action> <!-- ammonite (boss 4-2) predation -->
<action>maincpu.mb@1CA7B = 02</action> <!-- ammonite (boss 4-2) predation -->
<action>maincpu.mb@1DE8A = 60</action> <!-- brachiosaurus head (stage 4) -->
</script>
<script state="off">
<action>maincpu.md@126A0 = 00012C3A </action>
<action>maincpu.mq@3E010 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E018 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E020 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E028 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E030 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E038 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mb@04962 = 67 </action>
<action>maincpu.mb@0C174 = 67 </action>
<action>maincpu.mb@0C18C = 67 </action>
<action>maincpu.mb@0C1A6 = 67 </action>
<action>maincpu.mb@0C1BC = 67 </action>
<action>maincpu.mb@0FE3F = BC </action>
<action>maincpu.mb@12775 = A8 </action>
<action>maincpu.mb@1278B = 92 </action>
<action>maincpu.mb@1279F = 7E </action>
<action>maincpu.mb@127B5 = 68 </action>
<action>maincpu.mb@133B8 = 66 </action>
<action>maincpu.mb@16826 = 66 </action>
<action>maincpu.mb@16C9E = 66 </action>
<action>maincpu.mb@193A8 = 66 </action>
<action>maincpu.mb@19C3C = 66 </action>
<action>maincpu.mb@1A958 = 66 </action>
<action>maincpu.mb@1A9A4 = 66 </action>
<action>maincpu.mb@1C925 = BA </action>
<action>maincpu.mb@1CA7B = 26 </action>
<action>maincpu.mb@1DE8A = 66 </action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@C303 = 01</action> <!-- main shot -->
<action>maincpu.mb@C6B7 = 01</action> <!-- pod shot -->
</script>
<script state="off">
<action>maincpu.mb@C303 = 20</action>
<action>maincpu.mb@C6B7 = 20</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0001">01 (slow)</item>
<item value="0x0003">02 </item>
<item value="0x0005">03 </item>
<item value="0x0007">04 </item>
<item value="0x0009">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@05822 = 0003E040 </action>
<action>maincpu.mq@3E040 = 4EB84428343C0000</action>
<action>maincpu.mq@3E048 = 4A4067066A024442</action>
<action>maincpu.mq@3E050 = 3002343C00004A41</action>
<action>maincpu.mq@3E058 = 67066A0244423202</action>
<action>maincpu.mq@3E060 = 4E75FFFFFFFFFFFF</action>
<!--
3E040 | 4EB8 4428 : jsr $4428.w
3E044 | 343C xxxx : move.w #$xx, D2 // x position
3E048 | 4A40 : tst.w D0
3E04A | 6706 : beq $3e052
3E04C | 6A02 : bpl $3e050
3E04E | 4442 : neg.w D2
3E050 | 3002 : move.w D2, D0
3E052 | 343C xxxx : move.w #$xx, D2 // y position
3E056 | 4A41 : tst.w D1
3E058 | 6706 : beq $3e060
3E05A | 6A02 : bpl $3e05e
3E05C | 4442 : neg.w D2
3E05E | 3202 : move.w D2, D1
3E060 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@3E046 = param</action>
<action>maincpu.mw@3E054 = param</action>
</script>
<script state="off">
<action>maincpu.md@05822 = 00004428 </action>
<action>maincpu.mq@3E040 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E048 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E050 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E058 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E060 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="max bullets up (test)">
<!-- pod can't fire except front shot and sometimes you lose the pod -->
<script state="on">
<action>maincpu.mw@C344 = 0010</action> <!-- main shot -->
<action>maincpu.mw@C6EC = 7010</action> <!-- front pod shot -->
</script>
<script state="off">
<action>maincpu.mw@C344 = 0002</action>
<action>maincpu.mw@C6EC = 3007</action>
</script>
</cheat>
<cheat desc="short hit mark - main shot">
<script state="on">
<action>maincpu.mb@C46B = 00</action>
</script>
<script state="off">
<action>maincpu.mb@C46B = 04</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@02232 = 4EF90003E070303C</action>
<action>maincpu.mq@3E070 = 41F90007100043F9</action>
<action>maincpu.mq@3E078 = 000F007112001039</action>
<action>maincpu.mq@3E080 = 000E0041B20067F4</action>
<action>maincpu.mq@3E088 = 0C0000FB66025310</action>
<action>maincpu.mq@3E090 = 0C0000F766025210</action>
<action>maincpu.mq@3E098 = 0C0000FD66040410</action>
<action>maincpu.mq@3E0A0 = 00100C0000FE6604</action>
<action>maincpu.mq@3E0A8 = 061000100C0000EF</action>
<action>maincpu.mq@3E0B0 = 660212900C0000DF</action>
<action>maincpu.mq@3E0B8 = 6602421160BEFFFF</action>
<!--
3E070 | 41F9 0007 0100 : lea $71000.l, A0 // sound code address
3E076 | 43F9 000F 0071 : lea $f0071.l, A1 // sound latch address
3E07C | 1200 : move.b D0, D1
3E07E | 1039 000E 0041 : move.b $e0041.l, D0 // read input
3E084 | B200 : cmp.b D0, D1
3E086 | 67F4 : beq $3e07c
3E088 | 0C00 00FB : cmpi.b #-$5, D0
3E08C | 6602 : bne $3e090
3E08E | 5310 : subq.b #1, (A0) // decrease code -01
3E090 | 0C00 00F7 : cmpi.b #-$9, D0
3E094 | 6602 : bne $3e098
3E096 | 5210 : addq.b #1, (A0) // increase code +01
3E098 | 0C00 00FD : cmpi.b #-$3, D0
3E09C | 6604 : bne $3e0a2
3E09E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
3E0A2 | 0C00 00FE : cmpi.b #-$2, D0
3E0A6 | 6604 : bne $3e0ac
3E0A8 | 0610 0010 : addi.b #$10, (A0) // increase code +10
3E0AC | 0C00 00EF : cmpi.b #-$11, D0
3E0B0 | 6602 : bne $3e0b4
3E0B2 | 1290 : move.b (A0), (A1) // play sound
3E0B4 | 0C00 00DF : cmpi.b #-$21, D0
3E0B8 | 6602 : bne $3e0bc
3E0BA | 4211 : clr.b (A1) // stop sound
3E0BC | 60BE : bra $3e07c
-->
<action>audiocpu.md@08CB = 00BF50CD </action>
<action>audiocpu.mq@BF50 = 80D30F20A7F8003A</action>
<action>audiocpu.mq@BF58 = CD80D3803E0091CD</action>
<action>audiocpu.mq@BF60 = 32AF470000C30091</action>
<action>audiocpu.mq@BF68 = 78F12832013EF116</action>
<action>audiocpu.mq@BF70 = FFFFFFFFFFFFFFC9</action>
<!--
BF50 | 3A 00 F8 : ld a,($F800) // read sound code from maincpu
BF53 | A7 : and a
BF54 | 20 0F : jr nz,$BF65
BF56 | D3 80 : out ($80),a // reset sample
BF58 | CD 91 00 : call $0091
BF5B | 3E 80 : ld a,$80 // enable sample
BF5D | D3 80 : out ($80),a
BF5F | CD 91 00 : call $0091
BF62 | C3 00 00 : jp $0000 // reset audiocpu
BF65 | 47 : ld b,a
BF66 | AF : xor a // initialize sound flags
BF67 | 32 16 F1 : ld ($F116),a
BF6A | 3E 01 : ld a,$01
BF6C | 32 28 F1 : ld ($F128),a
BF6F | 78 : ld a,b
BF70 | C9 : ret
-->
</script>
<script state="run">
<output format="----- prehistoric isle 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 music" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %02X >>" line="19" align="center" >
<argument>maincpu.pb@71000</argument>
</output>
</script>
<script state="off">
<action> maincpu.mq@02232 = 427900070048303C</action>
<action> maincpu.mq@3E070 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3E078 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3E080 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3E088 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3E090 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3E098 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3E0A0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3E0A8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3E0B0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3E0B8 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.md@008CB = 00F8003A </action>
<action>audiocpu.mq@0BF50 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mq@0BF58 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mq@0BF60 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mq@0BF68 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mq@0BF70 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action> maincpu.md@292C = 00002930</action>
<action>audiocpu.mb@092F = DD </action>
</script>
<script state="off">
<action> maincpu.md@292C = 0001E268</action>
<action>audiocpu.mb@092F = 80 </action>
</script>
</cheat>
</mamecheat>
prehisleu.xml
Code: Select all
<!-- Prehistoric Isle in 1930 (US) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<!-- common -->
<action>maincpu.md@132C0 = 0003F020 </action>
<action>maincpu.mq@3F020 = 7E00B3FC000700F0</action>
<action>maincpu.mq@3F028 = 671EB3FC00070630</action>
<action>maincpu.mq@3F030 = 6716B3FC00070670</action>
<action>maincpu.mq@3F038 = 670EB3FC00070BB0</action>
<action>maincpu.mq@3F040 = 67064EB90001385A</action>
<action>maincpu.mq@3F048 = 4E75FFFFFFFFFFFF</action>
<!--
3F020 | 7E00 : moveq #$0, D7
3F022 | B3FC 0007 00F0 : cmpa.l #$700f0, A1 // P1
3F028 | 671E : beq $3f048
3F02A | B3FC 0007 0630 : cmpa.l #$70630, A1 // P1 pod
3F030 | 6716 : beq $3f048
3F032 | B3FC 0007 0670 : cmpa.l #$70670, A1 // P2
3F038 | 670E : beq $3f048
3F03A | B3FC 0007 0BB0 : cmpa.l #$70bb0, A1 // P2 pod
3F040 | 6706 : beq $3f048
3F042 | 4EB9 0001 385A : jsr $1385a.l // call collision check
3F048 | 4E75 : rts
-->
<action>maincpu.mb@0503C = 60</action> <!-- waterfall -->
<action>maincpu.mb@0CD60 = 60</action> <!-- background -->
<action>maincpu.mb@0CD78 = 60</action> <!-- background -->
<action>maincpu.mb@0CD92 = 60</action> <!-- background -->
<action>maincpu.mb@0CDA8 = 60</action> <!-- background -->
<action>maincpu.mb@10A5F = 02</action> <!-- catch hand (stage 3) -->
<action>maincpu.mb@13395 = 02</action> <!-- bullet (P1) -->
<action>maincpu.mb@133AB = 02</action> <!-- bullet (P2) -->
<action>maincpu.mb@133BF = 02</action> <!-- bullet (P1 pod) -->
<action>maincpu.mb@133D5 = 02</action> <!-- bullet (P2 pod) -->
<action>maincpu.mb@13FD8 = 60</action> <!-- gel (stage 4) -->
<action>maincpu.mb@17446 = 60</action> <!-- human -->
<action>maincpu.mb@178BE = 60</action> <!-- human -->
<action>maincpu.mb@19FF2 = 60</action> <!-- allosaurus (boss 1-2) predation -->
<action>maincpu.mb@1A886 = 60</action> <!-- rhamphorhynchus (boss 2) wind -->
<action>maincpu.mb@1B5A2 = 60</action> <!-- brachiosaurus (boss 1-1) predation -->
<action>maincpu.mb@1B5EE = 60</action> <!-- brachiosaurus (boss 1-1) predation -->
<action>maincpu.mb@1D56F = 02</action> <!-- ammonite (boss 4-2) predation -->
<action>maincpu.mb@1D6C5 = 02</action> <!-- ammonite (boss 4-2) predation -->
<action>maincpu.mb@1EAD4 = 60</action> <!-- brachiosaurus head (stage 4) -->
</script>
<script state="off">
<action>maincpu.md@132C0 = 0001385A </action>
<action>maincpu.mq@3F020 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F028 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F030 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F038 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F040 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F048 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mb@0503C = 67 </action>
<action>maincpu.mb@0CD60 = 67 </action>
<action>maincpu.mb@0CD78 = 67 </action>
<action>maincpu.mb@0CD92 = 67 </action>
<action>maincpu.mb@0CDA8 = 67 </action>
<action>maincpu.mb@10A5F = BC </action>
<action>maincpu.mb@13395 = A8 </action>
<action>maincpu.mb@133AB = 92 </action>
<action>maincpu.mb@133BF = 7E </action>
<action>maincpu.mb@133D5 = 68 </action>
<action>maincpu.mb@13FD8 = 66 </action>
<action>maincpu.mb@17446 = 66 </action>
<action>maincpu.mb@178BE = 66 </action>
<action>maincpu.mb@19FF2 = 66 </action>
<action>maincpu.mb@1A886 = 66 </action>
<action>maincpu.mb@1B5A2 = 66 </action>
<action>maincpu.mb@1B5EE = 66 </action>
<action>maincpu.mb@1D56F = BA </action>
<action>maincpu.mb@1D6C5 = 26 </action>
<action>maincpu.mb@1EAD4 = 66 </action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@CEEF = 01</action> <!-- main shot -->
<action>maincpu.mb@D2A3 = 01</action> <!-- pod shot -->
</script>
<script state="off">
<action>maincpu.mb@CEEF = 20</action>
<action>maincpu.mb@D2A3 = 20</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0001">01 (slow)</item>
<item value="0x0003">02 </item>
<item value="0x0005">03 </item>
<item value="0x0007">04 </item>
<item value="0x0009">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@06456 = 0003F050 </action>
<action>maincpu.mq@3F050 = 4EB84B02343C0000</action>
<action>maincpu.mq@3F058 = 4A4067066A024442</action>
<action>maincpu.mq@3F060 = 3002343C00004A41</action>
<action>maincpu.mq@3F068 = 67066A0244423202</action>
<action>maincpu.mq@3F070 = 4E75FFFFFFFFFFFF</action>
<!--
3F050 | 4EB8 4B02 : jsr $4b02.w
3F054 | 343C xxxx : move.w #$xx, D2 // x position
3F058 | 4A40 : tst.w D0
3F05A | 6706 : beq $3f062
3F05C | 6A02 : bpl $3f060
3F05E | 4442 : neg.w D2
3F060 | 3002 : move.w D2, D0
3F062 | 343C xxxx : move.w #$xx, D2 // y position
3F066 | 4A41 : tst.w D1
3F068 | 6706 : beq $3f070
3F06A | 6A02 : bpl $3f06e
3F06C | 4442 : neg.w D2
3F06E | 3202 : move.w D2, D1
3F070 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@3F056 = param</action>
<action>maincpu.mw@3F064 = param</action>
</script>
<script state="off">
<action>maincpu.md@06456 = 00004B02 </action>
<action>maincpu.mq@3F050 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F058 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F060 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F068 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3F070 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="max bullets up (test)">
<!-- pod can't fire except front shot and sometimes you lose the pod -->
<script state="on">
<action>maincpu.mw@CF30 = 0010</action> <!-- main shot -->
<action>maincpu.mw@D2D8 = 7010</action> <!-- front pod shot -->
</script>
<script state="off">
<action>maincpu.mw@CF30 = 0002</action>
<action>maincpu.mw@D2D8 = 3007</action>
</script>
</cheat>
<cheat desc="short hit mark - main shot">
<script state="on">
<action>maincpu.mb@D057 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@D057 = 04</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@02466 = 4EF90003F080303C</action>
<action>maincpu.mq@3F080 = 41F90007100043F9</action>
<action>maincpu.mq@3F088 = 000F007112001039</action>
<action>maincpu.mq@3F090 = 000E0041B20067F4</action>
<action>maincpu.mq@3F098 = 0C0000FB66025310</action>
<action>maincpu.mq@3F0A0 = 0C0000F766025210</action>
<action>maincpu.mq@3F0A8 = 0C0000FD66040410</action>
<action>maincpu.mq@3F0B0 = 00100C0000FE6604</action>
<action>maincpu.mq@3F0B8 = 061000100C0000EF</action>
<action>maincpu.mq@3F0C0 = 660212900C0000DF</action>
<action>maincpu.mq@3F0C8 = 6602421160BEFFFF</action>
<!--
3F080 | 41F9 0007 0100 : lea $71000.l, A0 // sound code address
3F086 | 43F9 000F 0071 : lea $f0071.l, A1 // sound latch address
3F08C | 1200 : move.b D0, D1
3F08E | 1039 000E 0041 : move.b $e0041.l, D0 // read input
3F094 | B200 : cmp.b D0, D1
3F096 | 67F4 : beq $3e07c
3F098 | 0C00 00FB : cmpi.b #-$5, D0
3F09C | 6602 : bne $3e090
3F09E | 5310 : subq.b #1, (A0) // decrease code -01
3F0A0 | 0C00 00F7 : cmpi.b #-$9, D0
3F0A4 | 6602 : bne $3e098
3F0A6 | 5210 : addq.b #1, (A0) // increase code +01
3F0A8 | 0C00 00FD : cmpi.b #-$3, D0
3F0AC | 6604 : bne $3e0a2
3F0AE | 0410 0010 : subi.b #$10, (A0) // decrease code -10
3F0B2 | 0C00 00FE : cmpi.b #-$2, D0
3F0B6 | 6604 : bne $3e0ac
3F0B8 | 0610 0010 : addi.b #$10, (A0) // increase code +10
3F0BC | 0C00 00EF : cmpi.b #-$11, D0
3F0C0 | 6602 : bne $3e0b4
3F0C2 | 1290 : move.b (A0), (A1) // play sound
3F0C4 | 0C00 00DF : cmpi.b #-$21, D0
3F0C8 | 6602 : bne $3e0bc
3F0CA | 4211 : clr.b (A1) // stop sound
3F0CC | 60BE : bra $3e07c
-->
<action>audiocpu.md@08CB = 00BF50CD </action>
<action>audiocpu.mq@BF50 = 80D30F20A7F8003A</action>
<action>audiocpu.mq@BF58 = CD80D3803E0091CD</action>
<action>audiocpu.mq@BF60 = 32AF470000C30091</action>
<action>audiocpu.mq@BF68 = 78F12832013EF116</action>
<action>audiocpu.mq@BF70 = FFFFFFFFFFFFFFC9</action>
<!--
BF50 | 3A 00 F8 : ld a,($F800) // read sound code from maincpu
BF53 | A7 : and a
BF54 | 20 0F : jr nz,$BF65
BF56 | D3 80 : out ($80),a // reset sample
BF58 | CD 91 00 : call $0091
BF5B | 3E 80 : ld a,$80 // enable sample
BF5D | D3 80 : out ($80),a
BF5F | CD 91 00 : call $0091
BF62 | C3 00 00 : jp $0000 // reset audiocpu
BF65 | 47 : ld b,a
BF66 | AF : xor a // initialize sound flags
BF67 | 32 16 F1 : ld ($F116),a
BF6A | 3E 01 : ld a,$01
BF6C | 32 28 F1 : ld ($F128),a
BF6F | 78 : ld a,b
BF70 | C9 : ret
-->
</script>
<script state="run">
<output format="----- prehistoric isle 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 music" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %02X >>" line="19" align="center" >
<argument>maincpu.pb@71000</argument>
</output>
</script>
<script state="off">
<action> maincpu.mq@02466 = 427900070048303C</action>
<action> maincpu.mq@3F080 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3F088 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3F090 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3F098 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3F0A0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3F0A8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3F0B0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3F0B8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3F0C0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3F0C8 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.md@008CB = 00F8003A </action>
<action>audiocpu.mq@0BF50 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mq@0BF58 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mq@0BF60 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mq@0BF68 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mq@0BF70 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action> maincpu.md@2F62 = 00002F66</action>
<action>audiocpu.mb@092F = DD </action>
</script>
<script state="off">
<action> maincpu.md@2F62 = 0001EEB2</action>
<action>audiocpu.mb@092F = 80 </action>
</script>
</cheat>
</mamecheat>
prehislek.xml
Code: Select all
<!-- Wonsido 1930's (Korea) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<!-- common -->
<action>maincpu.md@12636 = 0003E010 </action>
<action>maincpu.mq@3E010 = 7E00B3FC000700F0</action>
<action>maincpu.mq@3E018 = 671EB3FC00070630</action>
<action>maincpu.mq@3E020 = 6716B3FC00070670</action>
<action>maincpu.mq@3E028 = 670EB3FC00070BB0</action>
<action>maincpu.mq@3E030 = 67064EB900012BD0</action>
<action>maincpu.mq@3E038 = 4E75FFFFFFFFFFFF</action>
<!--
3E010 | 7E00 : moveq #$0, D7
3E012 | B3FC 0007 00F0 : cmpa.l #$700f0, A1 // P1
3E018 | 671E : beq $3e038
3E01A | B3FC 0007 0630 : cmpa.l #$70630, A1 // P1 pod
3E020 | 6716 : beq $3e038
3E022 | B3FC 0007 0670 : cmpa.l #$70670, A1 // P2
3E028 | 670E : beq $3e038
3E02A | B3FC 0007 0BB0 : cmpa.l #$70bb0, A1 // P2 pod
3E030 | 6706 : beq $3e038
3E032 | 4EB9 0001 2BD0 : jsr $12bd0.l // call collision check
3E038 | 4E75 : rts
-->
<action>maincpu.mb@0496C = 60</action> <!-- waterfall -->
<action>maincpu.mb@0C10A = 60</action> <!-- background -->
<action>maincpu.mb@0C122 = 60</action> <!-- background -->
<action>maincpu.mb@0C13C = 60</action> <!-- background -->
<action>maincpu.mb@0C152 = 60</action> <!-- background -->
<action>maincpu.mb@0FDD5 = 02</action> <!-- catch hand (stage 3) -->
<action>maincpu.mb@1270B = 02</action> <!-- bullet (P1) -->
<action>maincpu.mb@12721 = 02</action> <!-- bullet (P2) -->
<action>maincpu.mb@12735 = 02</action> <!-- bullet (P1 pod) -->
<action>maincpu.mb@1274B = 02</action> <!-- bullet (P2 pod) -->
<action>maincpu.mb@1334E = 60</action> <!-- gel (stage 4) -->
<action>maincpu.mb@167BC = 60</action> <!-- human -->
<action>maincpu.mb@16C34 = 60</action> <!-- human -->
<action>maincpu.mb@1933E = 60</action> <!-- allosaurus (boss 1-2) predation -->
<action>maincpu.mb@19BD2 = 60</action> <!-- rhamphorhynchus (boss 2) wind -->
<action>maincpu.mb@1A8EE = 60</action> <!-- brachiosaurus (boss 1-1) predation -->
<action>maincpu.mb@1A93A = 60</action> <!-- brachiosaurus (boss 1-1) predation -->
<action>maincpu.mb@1C8BB = 02</action> <!-- ammonite (boss 4-2) predation -->
<action>maincpu.mb@1CA11 = 02</action> <!-- ammonite (boss 4-2) predation -->
<action>maincpu.mb@1DE20 = 60</action> <!-- brachiosaurus head (stage 4) -->
</script>
<script state="off">
<action>maincpu.md@12636 = 00012BD0 </action>
<action>maincpu.mq@3E010 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E018 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E020 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E028 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E030 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E038 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mb@0496C = 67 </action>
<action>maincpu.mb@0C10A = 67 </action>
<action>maincpu.mb@0C122 = 67 </action>
<action>maincpu.mb@0C13C = 67 </action>
<action>maincpu.mb@0C152 = 67 </action>
<action>maincpu.mb@0FDD5 = BC </action>
<action>maincpu.mb@1270B = A8 </action>
<action>maincpu.mb@12721 = 92 </action>
<action>maincpu.mb@12735 = 7E </action>
<action>maincpu.mb@1274B = 68 </action>
<action>maincpu.mb@1334E = 66 </action>
<action>maincpu.mb@167BC = 66 </action>
<action>maincpu.mb@16C34 = 66 </action>
<action>maincpu.mb@1933E = 66 </action>
<action>maincpu.mb@19BD2 = 66 </action>
<action>maincpu.mb@1A8EE = 66 </action>
<action>maincpu.mb@1A93A = 66 </action>
<action>maincpu.mb@1C8BB = BA </action>
<action>maincpu.mb@1CA11 = 26 </action>
<action>maincpu.mb@1DE20 = 66 </action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@C299 = 01</action> <!-- main shot -->
<action>maincpu.mb@C64D = 01</action> <!-- pod shot -->
</script>
<script state="off">
<action>maincpu.mb@C299 = 20</action>
<action>maincpu.mb@C64D = 20</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0001">01 (slow)</item>
<item value="0x0003">02 </item>
<item value="0x0005">03 </item>
<item value="0x0007">04 </item>
<item value="0x0009">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@0582C = 0003E040 </action>
<action>maincpu.mq@3E040 = 4EB84432343C0000</action>
<action>maincpu.mq@3E048 = 4A4067066A024442</action>
<action>maincpu.mq@3E050 = 3002343C00004A41</action>
<action>maincpu.mq@3E058 = 67066A0244423202</action>
<action>maincpu.mq@3E060 = 4E75FFFFFFFFFFFF</action>
<!--
3E040 | 4EB8 4432 : jsr $4432.w
3E044 | 343C xxxx : move.w #$xx, D2 // x position
3E048 | 4A40 : tst.w D0
3E04A | 6706 : beq $3e052
3E04C | 6A02 : bpl $3e050
3E04E | 4442 : neg.w D2
3E050 | 3002 : move.w D2, D0
3E052 | 343C xxxx : move.w #$xx, D2 // y position
3E056 | 4A41 : tst.w D1
3E058 | 6706 : beq $3e060
3E05A | 6A02 : bpl $3e05e
3E05C | 4442 : neg.w D2
3E05E | 3202 : move.w D2, D1
3E060 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@3E046 = param</action>
<action>maincpu.mw@3E054 = param</action>
</script>
<script state="off">
<action>maincpu.md@0582C = 00004432 </action>
<action>maincpu.mq@3E040 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E048 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E050 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E058 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E060 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="max bullets up (test)">
<!-- pod can't fire except front shot and sometimes you lose the pod -->
<script state="on">
<action>maincpu.mw@C2DA = 0010</action> <!-- main shot -->
<action>maincpu.mw@C682 = 7010</action> <!-- front pod shot -->
</script>
<script state="off">
<action>maincpu.mw@C2DA = 0002</action>
<action>maincpu.mw@C682 = 3007</action>
</script>
</cheat>
<cheat desc="short hit mark - main shot">
<script state="on">
<action>maincpu.mb@C401 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@C401 = 04</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@0223E = 4EF90003E070303C</action>
<action>maincpu.mq@3E070 = 41F90007100043F9</action>
<action>maincpu.mq@3E078 = 000F007112001039</action>
<action>maincpu.mq@3E080 = 000E0041B20067F4</action>
<action>maincpu.mq@3E088 = 0C0000FB66025310</action>
<action>maincpu.mq@3E090 = 0C0000F766025210</action>
<action>maincpu.mq@3E098 = 0C0000FD66040410</action>
<action>maincpu.mq@3E0A0 = 00100C0000FE6604</action>
<action>maincpu.mq@3E0A8 = 061000100C0000EF</action>
<action>maincpu.mq@3E0B0 = 660212900C0000DF</action>
<action>maincpu.mq@3E0B8 = 6602421160BEFFFF</action>
<!--
3E070 | 41F9 0007 0100 : lea $71000.l, A0 // sound code address
3E076 | 43F9 000F 0071 : lea $f0071.l, A1 // sound latch address
3E07C | 1200 : move.b D0, D1
3E07E | 1039 000E 0041 : move.b $e0041.l, D0 // read input
3E084 | B200 : cmp.b D0, D1
3E086 | 67F4 : beq $3e07c
3E088 | 0C00 00FB : cmpi.b #-$5, D0
3E08C | 6602 : bne $3e090
3E08E | 5310 : subq.b #1, (A0) // decrease code -01
3E090 | 0C00 00F7 : cmpi.b #-$9, D0
3E094 | 6602 : bne $3e098
3E096 | 5210 : addq.b #1, (A0) // increase code +01
3E098 | 0C00 00FD : cmpi.b #-$3, D0
3E09C | 6604 : bne $3e0a2
3E09E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
3E0A2 | 0C00 00FE : cmpi.b #-$2, D0
3E0A6 | 6604 : bne $3e0ac
3E0A8 | 0610 0010 : addi.b #$10, (A0) // increase code +10
3E0AC | 0C00 00EF : cmpi.b #-$11, D0
3E0B0 | 6602 : bne $3e0b4
3E0B2 | 1290 : move.b (A0), (A1) // play sound
3E0B4 | 0C00 00DF : cmpi.b #-$21, D0
3E0B8 | 6602 : bne $3e0bc
3E0BA | 4211 : clr.b (A1) // stop sound
3E0BC | 60BE : bra $3e07c
-->
<action>audiocpu.md@08CB = 00BF50CD </action>
<action>audiocpu.mq@BF50 = 80D30F20A7F8003A</action>
<action>audiocpu.mq@BF58 = CD80D3803E0091CD</action>
<action>audiocpu.mq@BF60 = 32AF470000C30091</action>
<action>audiocpu.mq@BF68 = 78F12832013EF116</action>
<action>audiocpu.mq@BF70 = FFFFFFFFFFFFFFC9</action>
<!--
BF50 | 3A 00 F8 : ld a,($F800) // read sound code from maincpu
BF53 | A7 : and a
BF54 | 20 0F : jr nz,$BF65
BF56 | D3 80 : out ($80),a // reset sample
BF58 | CD 91 00 : call $0091
BF5B | 3E 80 : ld a,$80 // enable sample
BF5D | D3 80 : out ($80),a
BF5F | CD 91 00 : call $0091
BF62 | C3 00 00 : jp $0000 // reset audiocpu
BF65 | 47 : ld b,a
BF66 | AF : xor a // initialize sound flags
BF67 | 32 16 F1 : ld ($F116),a
BF6A | 3E 01 : ld a,$01
BF6C | 32 28 F1 : ld ($F128),a
BF6F | 78 : ld a,b
BF70 | C9 : ret
-->
</script>
<script state="run">
<output format="----- wonsido 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 music" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %02X >>" line="19" align="center" >
<argument>maincpu.pb@71000</argument>
</output>
</script>
<script state="off">
<action> maincpu.mq@0223E = 427900070048303C</action>
<action> maincpu.mq@3E070 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3E078 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3E080 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3E088 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3E090 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3E098 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3E0A0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3E0A8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3E0B0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3E0B8 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.md@008CB = 00F8003A </action>
<action>audiocpu.mq@0BF50 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mq@0BF58 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mq@0BF60 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mq@0BF68 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mq@0BF70 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action> maincpu.md@2936 = 0000293A</action>
<action>audiocpu.mb@092F = DD </action>
</script>
<script state="off">
<action> maincpu.md@2936 = 0001E1FE</action>
<action>audiocpu.mb@092F = 80 </action>
</script>
</cheat>
</mamecheat>
gensitou.xml
Code: Select all
<!-- Genshitou 1930's -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<!-- common -->
<action>maincpu.md@1231E = 0003E010 </action>
<action>maincpu.mq@3E010 = 7E00B3FC000700F0</action>
<action>maincpu.mq@3E018 = 671EB3FC00070630</action>
<action>maincpu.mq@3E020 = 6716B3FC00070670</action>
<action>maincpu.mq@3E028 = 670EB3FC00070BB0</action>
<action>maincpu.mq@3E030 = 67064EB9000128B8</action>
<action>maincpu.mq@3E038 = 4E75FFFFFFFFFFFF</action>
<!--
3E010 | 7E00 : moveq #$0, D7
3E012 | B3FC 0007 00F0 : cmpa.l #$700f0, A1 // P1
3E018 | 671E : beq $3e038
3E01A | B3FC 0007 0630 : cmpa.l #$70630, A1 // P1 pod
3E020 | 6716 : beq $3e038
3E022 | B3FC 0007 0670 : cmpa.l #$70670, A1 // P2
3E028 | 670E : beq $3e038
3E02A | B3FC 0007 0BB0 : cmpa.l #$70bb0, A1 // P2 pod
3E030 | 6706 : beq $3e038
3E032 | 4EB9 0001 28B8 : jsr $128b8.l // call collision check
3E038 | 4E75 : rts
-->
<action>maincpu.mb@04970 = 60</action> <!-- waterfall -->
<action>maincpu.mb@0BDF2 = 60</action> <!-- background -->
<action>maincpu.mb@0BE0A = 60</action> <!-- background -->
<action>maincpu.mb@0BE24 = 60</action> <!-- background -->
<action>maincpu.mb@0BE3A = 60</action> <!-- background -->
<action>maincpu.mb@0FABD = 02</action> <!-- catch hand (stage 3) -->
<action>maincpu.mb@123F3 = 02</action> <!-- bullet (P1) -->
<action>maincpu.mb@12409 = 02</action> <!-- bullet (P2) -->
<action>maincpu.mb@1241D = 02</action> <!-- bullet (P1 pod) -->
<action>maincpu.mb@12433 = 02</action> <!-- bullet (P2 pod) -->
<action>maincpu.mb@13036 = 60</action> <!-- gel (stage 4) -->
<action>maincpu.mb@164A4 = 60</action> <!-- human -->
<action>maincpu.mb@1691C = 60</action> <!-- human -->
<action>maincpu.mb@19026 = 60</action> <!-- allosaurus (boss 1-2) predation -->
<action>maincpu.mb@198BA = 60</action> <!-- rhamphorhynchus (boss 2) wind -->
<action>maincpu.mb@1A5D6 = 60</action> <!-- brachiosaurus (boss 1-1) predation -->
<action>maincpu.mb@1A622 = 60</action> <!-- brachiosaurus (boss 1-1) predation -->
<action>maincpu.mb@1C5A3 = 02</action> <!-- ammonite (boss 4-2) predation -->
<action>maincpu.mb@1C6F9 = 02</action> <!-- ammonite (boss 4-2) predation -->
<action>maincpu.mb@1DB08 = 60</action> <!-- brachiosaurus head (stage 4) -->
</script>
<script state="off">
<action>maincpu.md@1231E = 000128B8 </action>
<action>maincpu.mq@3E010 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E018 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E020 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E028 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E030 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E038 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mb@04970 = 67 </action>
<action>maincpu.mb@0BDF2 = 67 </action>
<action>maincpu.mb@0BE0A = 67 </action>
<action>maincpu.mb@0BE24 = 67 </action>
<action>maincpu.mb@0BE3A = 67 </action>
<action>maincpu.mb@0FABD = BC </action>
<action>maincpu.mb@123F3 = A8 </action>
<action>maincpu.mb@12409 = 92 </action>
<action>maincpu.mb@1241D = 7E </action>
<action>maincpu.mb@12433 = 68 </action>
<action>maincpu.mb@13036 = 66 </action>
<action>maincpu.mb@164A4 = 66 </action>
<action>maincpu.mb@1691C = 66 </action>
<action>maincpu.mb@19026 = 66 </action>
<action>maincpu.mb@198BA = 66 </action>
<action>maincpu.mb@1A5D6 = 66 </action>
<action>maincpu.mb@1A622 = 66 </action>
<action>maincpu.mb@1C5A3 = BA </action>
<action>maincpu.mb@1C6F9 = 26 </action>
<action>maincpu.mb@1DB08 = 66 </action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@BF81 = 01</action> <!-- main shot -->
<action>maincpu.mb@C335 = 01</action> <!-- pod shot -->
</script>
<script state="off">
<action>maincpu.mb@BF81 = 20</action>
<action>maincpu.mb@C335 = 20</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0001">01 (slow)</item>
<item value="0x0003">02 </item>
<item value="0x0005">03 </item>
<item value="0x0007">04 </item>
<item value="0x0009">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@05830 = 0003E040 </action>
<action>maincpu.mq@3E040 = 4EB84436343C0000</action>
<action>maincpu.mq@3E048 = 4A4067066A024442</action>
<action>maincpu.mq@3E050 = 3002343C00004A41</action>
<action>maincpu.mq@3E058 = 67066A0244423202</action>
<action>maincpu.mq@3E060 = 4E75FFFFFFFFFFFF</action>
<!--
3E040 | 4EB8 4436 : jsr $4436.w
3E044 | 343C xxxx : move.w #$xx, D2 // x position
3E048 | 4A40 : tst.w D0
3E04A | 6706 : beq $3e052
3E04C | 6A02 : bpl $3e050
3E04E | 4442 : neg.w D2
3E050 | 3002 : move.w D2, D0
3E052 | 343C xxxx : move.w #$xx, D2 // y position
3E056 | 4A41 : tst.w D1
3E058 | 6706 : beq $3e060
3E05A | 6A02 : bpl $3e05e
3E05C | 4442 : neg.w D2
3E05E | 3202 : move.w D2, D1
3E060 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@3E046 = param</action>
<action>maincpu.mw@3E054 = param</action>
</script>
<script state="off">
<action>maincpu.md@05830 = 00004436 </action>
<action>maincpu.mq@3E040 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E048 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E050 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E058 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E060 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="max bullets up (test)">
<!-- pod can't fire except front shot and sometimes you lose the pod -->
<script state="on">
<action>maincpu.mw@BFC2 = 0010</action> <!-- main shot -->
<action>maincpu.mw@C36A = 7010</action> <!-- front pod shot -->
</script>
<script state="off">
<action>maincpu.mw@BFC2 = 0002</action>
<action>maincpu.mw@C36A = 3007</action>
</script>
</cheat>
<cheat desc="short hit mark - main shot">
<script state="on">
<action>maincpu.mb@C0E9 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@C0E9 = 04</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@02236 = 4EF90003E070303C</action>
<action>maincpu.mq@3E070 = 41F90007100043F9</action>
<action>maincpu.mq@3E078 = 000F007112001039</action>
<action>maincpu.mq@3E080 = 000E0041B20067F4</action>
<action>maincpu.mq@3E088 = 0C0000FB66025310</action>
<action>maincpu.mq@3E090 = 0C0000F766025210</action>
<action>maincpu.mq@3E098 = 0C0000FD66040410</action>
<action>maincpu.mq@3E0A0 = 00100C0000FE6604</action>
<action>maincpu.mq@3E0A8 = 061000100C0000EF</action>
<action>maincpu.mq@3E0B0 = 660212900C0000DF</action>
<action>maincpu.mq@3E0B8 = 6602421160BEFFFF</action>
<!--
3E070 | 41F9 0007 0100 : lea $71000.l, A0 // sound code address
3E076 | 43F9 000F 0071 : lea $f0071.l, A1 // sound latch address
3E07C | 1200 : move.b D0, D1
3E07E | 1039 000E 0041 : move.b $e0041.l, D0 // read input
3E084 | B200 : cmp.b D0, D1
3E086 | 67F4 : beq $3e07c
3E088 | 0C00 00FB : cmpi.b #-$5, D0
3E08C | 6602 : bne $3e090
3E08E | 5310 : subq.b #1, (A0) // decrease code -01
3E090 | 0C00 00F7 : cmpi.b #-$9, D0
3E094 | 6602 : bne $3e098
3E096 | 5210 : addq.b #1, (A0) // increase code +01
3E098 | 0C00 00FD : cmpi.b #-$3, D0
3E09C | 6604 : bne $3e0a2
3E09E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
3E0A2 | 0C00 00FE : cmpi.b #-$2, D0
3E0A6 | 6604 : bne $3e0ac
3E0A8 | 0610 0010 : addi.b #$10, (A0) // increase code +10
3E0AC | 0C00 00EF : cmpi.b #-$11, D0
3E0B0 | 6602 : bne $3e0b4
3E0B2 | 1290 : move.b (A0), (A1) // play sound
3E0B4 | 0C00 00DF : cmpi.b #-$21, D0
3E0B8 | 6602 : bne $3e0bc
3E0BA | 4211 : clr.b (A1) // stop sound
3E0BC | 60BE : bra $3e07c
-->
<action>audiocpu.md@08CB = 00BF50CD </action>
<action>audiocpu.mq@BF50 = 80D30F20A7F8003A</action>
<action>audiocpu.mq@BF58 = CD80D3803E0091CD</action>
<action>audiocpu.mq@BF60 = 32AF470000C30091</action>
<action>audiocpu.mq@BF68 = 78F12832013EF116</action>
<action>audiocpu.mq@BF70 = FFFFFFFFFFFFFFC9</action>
<!--
BF50 | 3A 00 F8 : ld a,($F800) // read sound code from maincpu
BF53 | A7 : and a
BF54 | 20 0F : jr nz,$BF65
BF56 | D3 80 : out ($80),a // reset sample
BF58 | CD 91 00 : call $0091
BF5B | 3E 80 : ld a,$80 // enable sample
BF5D | D3 80 : out ($80),a
BF5F | CD 91 00 : call $0091
BF62 | C3 00 00 : jp $0000 // reset audiocpu
BF65 | 47 : ld b,a
BF66 | AF : xor a // initialize sound flags
BF67 | 32 16 F1 : ld ($F116),a
BF6A | 3E 01 : ld a,$01
BF6C | 32 28 F1 : ld ($F128),a
BF6F | 78 : ld a,b
BF70 | C9 : ret
-->
</script>
<script state="run">
<output format="----- genshitou 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 music" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %02X >>" line="19" align="center" >
<argument>maincpu.pb@71000</argument>
</output>
</script>
<script state="off">
<action> maincpu.mq@02236 = 427900070048303C</action>
<action> maincpu.mq@3E070 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3E078 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3E080 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3E088 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3E090 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3E098 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3E0A0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3E0A8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3E0B0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@3E0B8 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.md@008CB = 00F8003A </action>
<action>audiocpu.mq@0BF50 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mq@0BF58 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mq@0BF60 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mq@0BF68 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mq@0BF70 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action> maincpu.md@293A = 0000293E</action>
<action>audiocpu.mb@092F = DD </action>
</script>
<script state="off">
<action> maincpu.md@293A = 0001DEE6</action>
<action>audiocpu.mb@092F = 80 </action>
</script>
</cheat>
</mamecheat>