daioh.xml
Code: Select all
<!-- Daioh -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@A6E7 = 2C</action>
</script>
<script state="off">
<action>maincpu.mb@A6E7 = 02</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@F6EF = 2A</action>
</script>
<script state="off">
<action>maincpu.mb@F6EF = 28</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0100">01 (slow)</item>
<item value="0x0300">02 </item>
<item value="0x0600">03 </item>
<item value="0x0900">04 </item>
<item value="0x0c00">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@0F5A8 = 00040EB0</action>
<action>maincpu.mq@40EB0 = 303C00004A6C0010</action>
<action>maincpu.mq@40EB8 = 67086A0244403940</action>
<action>maincpu.mq@40EC0 = 0010303C00004A6C</action>
<action>maincpu.mq@40EC8 = 001267086A024440</action>
<action>maincpu.mq@40ED0 = 394000124EB90000</action>
<action>maincpu.mq@40ED8 = 9EA04E75FFFFFFFF</action>
<!--
40EB0 | 303C xxxx : move.w #$xx, D0 // x position
40EB4 | 4A6C 0010 : tst.w ($10,A4)
40EB8 | 6708 : beq $40ec2
40EBA | 6A02 : bpl $40ebe
40EBC | 4440 : neg.w D0
40EBE | 3940 0010 : move.w D0, ($10,A4)
40EC2 | 303C xxxx : move.w #$xx, D0 // y position
40EC6 | 4A6C 0012 : tst.w ($12,A4)
40ECA | 6708 : beq $40ed4
40ECC | 6A02 : bpl $40ed0
40ECE | 4440 : neg.w D0
40ED0 | 3940 0012 : move.w D0, ($12,A4)
40ED4 | 4EB9 0000 9EA0 : jsr $9ea0.l
40EDA | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@40EB2 = param</action>
<action>maincpu.mw@40EC4 = param</action>
</script>
<script state="off">
<action>maincpu.md@0F5A8 = 00009EA0 </action>
<action>maincpu.mq@40EB0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40EB8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40EC0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40EC8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40ED0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40ED8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed - red">
<parameter>
<item value="0x0600">01 (slow)</item>
<item value="0x0c00">02 </item>
<item value="0x1200">03 </item>
<item value="0x1800">04 </item>
<item value="0x1e00">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@FBF2 = param</action>
<action>maincpu.mw@FD4C = param</action>
<action>maincpu.mw@FD5E = param</action>
<action>maincpu.mw@FDEE = param</action>
<action>maincpu.mw@FE08 = param</action>
<action>maincpu.mw@FE30 = param</action>
<action>maincpu.mw@FE4A = param</action>
</script>
<script state="off">
<action>maincpu.mw@FBF2 = 0D00</action>
<action>maincpu.mw@FD4C = 0C80</action>
<action>maincpu.mw@FD5E = 0C80</action>
<action>maincpu.mw@FDEE = 0C80</action>
<action>maincpu.mw@FE08 = 0B80</action>
<action>maincpu.mw@FE30 = 0B80</action>
<action>maincpu.mw@FE4A = 0C80</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.md@08C40 = 00040EE0 </action>
<action>maincpu.mq@40EE0 = 41ED100043F90002</action>
<action>maincpu.mq@40EE8 = 921A45E9004E1401</action>
<action>maincpu.mq@40EF0 = 122D770FB40167F6</action>
<action>maincpu.mq@40EF8 = 0C0100FE66025310</action>
<action>maincpu.mq@40F00 = 0C0100FD66025210</action>
<action>maincpu.mq@40F08 = 0C0100F766040410</action>
<action>maincpu.mq@40F10 = 00100C0100FB6604</action>
<action>maincpu.mq@40F18 = 061000100C0100EF</action>
<action>maincpu.mq@40F20 = 661210100C00000E</action>
<action>maincpu.mq@40F28 = 64044E9160060400</action>
<action>maincpu.mq@40F30 = 000E4E920C0100DF</action>
<action>maincpu.mq@40F38 = 660642004E914E92</action>
<action>maincpu.mq@40F40 = 60ACFFFFFFFFFFFF</action>
<!--
40EE0 | 41ED 1000 : lea ($1000,A5), A0 // sound code address ($101000)
40EE4 | 43F9 0002 921A : lea $2921a.l, A1 // music latch routine
40EEA | 45E9 004E : lea ($4e,A1), A2 // sfx latch routine ($29268)
40EEE | 1401 : move.b D1, D2
40EF0 | 122D 770F : move.b ($770f,A5), D1 // read input ($10770f)
40EF4 | B401 : cmp.b D1, D2
40EF6 | 67F6 : beq $40eee
40EF8 | 0C01 00FE : cmpi.b #-$2, D1
40EFC | 6602 : bne $40f00
40EFE | 5310 : subq.b #1, (A0) // decrease code -01
40F00 | 0C01 00FD : cmpi.b #-$3, D1
40F04 | 6602 : bne $40f08
40F06 | 5210 : addq.b #1, (A0) // increase code +01
40F08 | 0C01 00F7 : cmpi.b #-$9, D1
40F0C | 6604 : bne $40f12
40F0E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
40F12 | 0C01 00FB : cmpi.b #-$5, D1
40F16 | 6604 : bne $40f1c
40F18 | 0610 0010 : addi.b #$10, (A0) // increase code +10
40F1C | 0C01 00EF : cmpi.b #-$11, D1
40F20 | 6612 : bne $40f34
40F22 | 1010 : move.b (A0), D0 // play sound
40F24 | 0C00 000E : cmpi.b #$e, D0
40F28 | 6404 : bcc $40f2e
40F2A | 4E91 : jsr (A1) // music
40F2C | 6006 : bra $40f34
40F2E | 0400 000E : subi.b #$e, D0
40F32 | 4E92 : jsr (A2) // sfx
40F34 | 0C01 00DF : cmpi.b #-$21, D1
40F38 | 6606 : bne $40f40
40F3A | 4200 : clr.b D0 // stop sound
40F3C | 4E91 : jsr (A1)
40F3E | 4E92 : jsr (A2)
40F40 | 60AC : bra $40eee
-->
</script>
<script state="run">
<output format="----- daioh 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@101000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@08C40 = 0000D31A </action>
<action>maincpu.mq@40EE0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40EE8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40EF0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40EF8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40F00 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40F08 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40F10 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40F18 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40F20 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40F28 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40F30 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40F38 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40F40 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
daioha.xml
Code: Select all
<!-- Daioh (earlier) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@A6E7 = 2C</action>
</script>
<script state="off">
<action>maincpu.mb@A6E7 = 02</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@F6EF = 2A</action>
</script>
<script state="off">
<action>maincpu.mb@F6EF = 28</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0100">01 (slow)</item>
<item value="0x0300">02 </item>
<item value="0x0600">03 </item>
<item value="0x0900">04 </item>
<item value="0x0c00">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@0F5A8 = 00040EB0</action>
<action>maincpu.mq@40EB0 = 303C00004A6C0010</action>
<action>maincpu.mq@40EB8 = 67086A0244403940</action>
<action>maincpu.mq@40EC0 = 0010303C00004A6C</action>
<action>maincpu.mq@40EC8 = 001267086A024440</action>
<action>maincpu.mq@40ED0 = 394000124EB90000</action>
<action>maincpu.mq@40ED8 = 9EA04E75FFFFFFFF</action>
<!--
40EB0 | 303C xxxx : move.w #$xx, D0 // x position
40EB4 | 4A6C 0010 : tst.w ($10,A4)
40EB8 | 6708 : beq $40ec2
40EBA | 6A02 : bpl $40ebe
40EBC | 4440 : neg.w D0
40EBE | 3940 0010 : move.w D0, ($10,A4)
40EC2 | 303C xxxx : move.w #$xx, D0 // y position
40EC6 | 4A6C 0012 : tst.w ($12,A4)
40ECA | 6708 : beq $40ed4
40ECC | 6A02 : bpl $40ed0
40ECE | 4440 : neg.w D0
40ED0 | 3940 0012 : move.w D0, ($12,A4)
40ED4 | 4EB9 0000 9EA0 : jsr $9ea0.l
40EDA | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@40EB2 = param</action>
<action>maincpu.mw@40EC4 = param</action>
</script>
<script state="off">
<action>maincpu.md@0F5A8 = 00009EA0 </action>
<action>maincpu.mq@40EB0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40EB8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40EC0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40EC8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40ED0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40ED8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed - red">
<parameter>
<item value="0x0600">01 (slow)</item>
<item value="0x0c00">02 </item>
<item value="0x1200">03 </item>
<item value="0x1800">04 </item>
<item value="0x1e00">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@FBF2 = param</action>
<action>maincpu.mw@FD4C = param</action>
<action>maincpu.mw@FD5E = param</action>
<action>maincpu.mw@FDEE = param</action>
<action>maincpu.mw@FE08 = param</action>
<action>maincpu.mw@FE30 = param</action>
<action>maincpu.mw@FE4A = param</action>
</script>
<script state="off">
<action>maincpu.mw@FBF2 = 0D00</action>
<action>maincpu.mw@FD4C = 0C80</action>
<action>maincpu.mw@FD5E = 0C80</action>
<action>maincpu.mw@FDEE = 0C80</action>
<action>maincpu.mw@FE08 = 0B80</action>
<action>maincpu.mw@FE30 = 0B80</action>
<action>maincpu.mw@FE4A = 0C80</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.md@08C40 = 00040EE0 </action>
<action>maincpu.mq@40EE0 = 41ED100043F90002</action>
<action>maincpu.mq@40EE8 = 921A45E9004E1401</action>
<action>maincpu.mq@40EF0 = 122D770FB40167F6</action>
<action>maincpu.mq@40EF8 = 0C0100FE66025310</action>
<action>maincpu.mq@40F00 = 0C0100FD66025210</action>
<action>maincpu.mq@40F08 = 0C0100F766040410</action>
<action>maincpu.mq@40F10 = 00100C0100FB6604</action>
<action>maincpu.mq@40F18 = 061000100C0100EF</action>
<action>maincpu.mq@40F20 = 661210100C00000E</action>
<action>maincpu.mq@40F28 = 64044E9160060400</action>
<action>maincpu.mq@40F30 = 000E4E920C0100DF</action>
<action>maincpu.mq@40F38 = 660642004E914E92</action>
<action>maincpu.mq@40F40 = 60ACFFFFFFFFFFFF</action>
<!--
40EE0 | 41ED 1000 : lea ($1000,A5), A0 // sound code address ($101000)
40EE4 | 43F9 0002 921A : lea $2921a.l, A1 // music latch routine
40EEA | 45E9 004E : lea ($4e,A1), A2 // sfx latch routine ($29268)
40EEE | 1401 : move.b D1, D2
40EF0 | 122D 770F : move.b ($770f,A5), D1 // read input ($10770f)
40EF4 | B401 : cmp.b D1, D2
40EF6 | 67F6 : beq $40eee
40EF8 | 0C01 00FE : cmpi.b #-$2, D1
40EFC | 6602 : bne $40f00
40EFE | 5310 : subq.b #1, (A0) // decrease code -01
40F00 | 0C01 00FD : cmpi.b #-$3, D1
40F04 | 6602 : bne $40f08
40F06 | 5210 : addq.b #1, (A0) // increase code +01
40F08 | 0C01 00F7 : cmpi.b #-$9, D1
40F0C | 6604 : bne $40f12
40F0E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
40F12 | 0C01 00FB : cmpi.b #-$5, D1
40F16 | 6604 : bne $40f1c
40F18 | 0610 0010 : addi.b #$10, (A0) // increase code +10
40F1C | 0C01 00EF : cmpi.b #-$11, D1
40F20 | 6612 : bne $40f34
40F22 | 1010 : move.b (A0), D0 // play sound
40F24 | 0C00 000E : cmpi.b #$e, D0
40F28 | 6404 : bcc $40f2e
40F2A | 4E91 : jsr (A1) // music
40F2C | 6006 : bra $40f34
40F2E | 0400 000E : subi.b #$e, D0
40F32 | 4E92 : jsr (A2) // sfx
40F34 | 0C01 00DF : cmpi.b #-$21, D1
40F38 | 6606 : bne $40f40
40F3A | 4200 : clr.b D0 // stop sound
40F3C | 4E91 : jsr (A1)
40F3E | 4E92 : jsr (A2)
40F40 | 60AC : bra $40eee
-->
</script>
<script state="run">
<output format="----- daioh 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@101000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@08C40 = 0000D31A </action>
<action>maincpu.mq@40EE0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40EE8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40EF0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40EF8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40F00 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40F08 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40F10 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40F18 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40F20 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40F28 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40F30 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40F38 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@40F40 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
daiohp.xml
Code: Select all
<!-- Daioh (prototype) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@A655 = 2C</action>
</script>
<script state="off">
<action>maincpu.mb@A655 = 02</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@11593 = 2A</action>
</script>
<script state="off">
<action>maincpu.mb@11593 = 28</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0100">01 (slow)</item>
<item value="0x0300">02 </item>
<item value="0x0600">03 </item>
<item value="0x0900">04 </item>
<item value="0x0c00">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@11464 = 000424D0</action>
<action>maincpu.mq@424D0 = 303C00004A6C0010</action>
<action>maincpu.mq@424D8 = 67086A0244403940</action>
<action>maincpu.mq@424E0 = 0010303C00004A6C</action>
<action>maincpu.mq@424E8 = 001267086A024440</action>
<action>maincpu.mq@424F0 = 394000124EB90000</action>
<action>maincpu.mq@424F8 = 9E164E75FFFFFFFF</action>
<!--
424D0 | 303C xxxx : move.w #$xx, D0 // x position
424D4 | 4A6C 0010 : tst.w ($10,A4)
424D8 | 6708 : beq $424e2
424DA | 6A02 : bpl $424de
424DC | 4440 : neg.w D0
424DE | 3940 0010 : move.w D0, ($10,A4)
424E2 | 303C xxxx : move.w #$xx, D0 // y position
424E6 | 4A6C 0012 : tst.w ($12,A4)
424EA | 6708 : beq $424f4
424EC | 6A02 : bpl $424f0
424EE | 4440 : neg.w D0
424F0 | 3940 0012 : move.w D0, ($12,A4)
424F4 | 4EB9 0000 9E16 : jsr $9e16.l
424FA | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@424D2 = param</action>
<action>maincpu.mw@424E4 = param</action>
</script>
<script state="off">
<action>maincpu.md@0F5A8 = 00009E16 </action>
<action>maincpu.mq@424D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@424D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@424E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@424E8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@424F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@424F8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed - red">
<parameter>
<item value="0x0600">01 (slow)</item>
<item value="0x0c00">02 </item>
<item value="0x1200">03 </item>
<item value="0x1800">04 </item>
<item value="0x1e00">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@11A96 = param</action>
<action>maincpu.mw@11BF0 = param</action>
<action>maincpu.mw@11C02 = param</action>
<action>maincpu.mw@11C92 = param</action>
<action>maincpu.mw@11CAC = param</action>
<action>maincpu.mw@11CD4 = param</action>
<action>maincpu.mw@11CEE = param</action>
</script>
<script state="off">
<action>maincpu.mw@11A96 = 0D00</action>
<action>maincpu.mw@11BF0 = 0C80</action>
<action>maincpu.mw@11C02 = 0C80</action>
<action>maincpu.mw@11C92 = 0C80</action>
<action>maincpu.mw@11CAC = 0B80</action>
<action>maincpu.mw@11CD4 = 0B80</action>
<action>maincpu.mw@11CEE = 0C80</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.md@08BCA = 00042500 </action>
<action>maincpu.mq@42500 = 41ED100043F90002</action>
<action>maincpu.mq@42508 = B3D445E9004A1401</action>
<action>maincpu.mq@42510 = 122D6F09B40167F6</action>
<action>maincpu.mq@42518 = 0C0100FE66025310</action>
<action>maincpu.mq@42520 = 0C0100FD66025210</action>
<action>maincpu.mq@42528 = 0C0100F766040410</action>
<action>maincpu.mq@42530 = 00100C0100FB6604</action>
<action>maincpu.mq@42538 = 061000100C0100EF</action>
<action>maincpu.mq@42540 = 661210100C00000E</action>
<action>maincpu.mq@42548 = 64044E9160060400</action>
<action>maincpu.mq@42550 = 000E4E920C0100DF</action>
<action>maincpu.mq@42558 = 660642004E914E92</action>
<action>maincpu.mq@42560 = 60ACFFFFFFFFFFFF</action>
<!--
42500 | 41ED 1000 : lea ($1000,A5), A0 // sound code address ($201000)
42504 | 43F9 0002 B3D4 : lea $2b3d4.l, A1 // music latch routine
4250A | 45E9 004A : lea ($4a,A1), A2 // sfx latch routine ($2b41e)
4250E | 1401 : move.b D1, D2
42510 | 122D 6F09 : move.b ($6f09,A5), D1 // read input ($206f09)
42514 | B401 : cmp.b D1, D2
42516 | 67F6 : beq $4250e
42518 | 0C01 00FE : cmpi.b #-$2, D1
4251C | 6602 : bne $42520
4251E | 5310 : subq.b #1, (A0) // decrease code -01
42520 | 0C01 00FD : cmpi.b #-$3, D1
42524 | 6602 : bne $42528
42526 | 5210 : addq.b #1, (A0) // increase code +01
42528 | 0C01 00F7 : cmpi.b #-$9, D1
4252C | 6604 : bne $42532
4252E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
42532 | 0C01 00FB : cmpi.b #-$5, D1
42536 | 6604 : bne $4253c
42538 | 0610 0010 : addi.b #$10, (A0) // increase code +10
4253C | 0C01 00EF : cmpi.b #-$11, D1
42540 | 6612 : bne $42554
42542 | 1010 : move.b (A0), D0 // play sound
42544 | 0C00 000E : cmpi.b #$e, D0
42548 | 6404 : bcc $4254e
4254A | 4E91 : jsr (A1) // music
4254C | 6006 : bra $42554
4254E | 0400 000E : subi.b #$e, D0
42552 | 4E92 : jsr (A2) // sfx
42554 | 0C01 00DF : cmpi.b #-$21, D1
42558 | 6606 : bne $42560
4255A | 4200 : clr.b D0 // stop sound
4255C | 4E91 : jsr (A1)
4255E | 4E92 : jsr (A2)
42560 | 60AC : bra $4250e
-->
</script>
<script state="run">
<output format="----- daioh 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@201000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@08BCA = 0000F204 </action>
<action>maincpu.mq@42500 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@42508 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@42510 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@42518 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@42520 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@42528 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@42530 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@42538 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@42540 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@42548 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@42550 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@42558 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@42560 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
daiohp2.xml
Code: Select all
<!-- Daioh (prototype, earlier) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@5621 = 2C</action>
</script>
<script state="off">
<action>maincpu.mb@5621 = 02</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@A5F7 = 2A</action>
</script>
<script state="off">
<action>maincpu.mw@A5F7 = 28</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0100">01 (slow)</item>
<item value="0x0300">02 </item>
<item value="0x0600">03 </item>
<item value="0x0900">04 </item>
<item value="0x0c00">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@0A4B0 = 0003B420</action>
<action>maincpu.mq@3B420 = 303C00004A6C0010</action>
<action>maincpu.mq@3B428 = 67086A0244403940</action>
<action>maincpu.mq@3B430 = 0010303C00004A6C</action>
<action>maincpu.mq@3B438 = 001267086A024440</action>
<action>maincpu.mq@3B440 = 394000124EB90000</action>
<action>maincpu.mq@3B448 = 4DDA4E75FFFFFFFF</action>
<!--
3B420 | 303C xxxx : move.w #$xx, D0 // x position
3B424 | 4A6C 0010 : tst.w ($10,A4)
3B428 | 6708 : beq $3b432
3B42A | 6A02 : bpl $3b42e
3B42C | 4440 : neg.w D0
3B42E | 3940 0010 : move.w D0, ($10,A4)
3B432 | 303C xxxx : move.w #$xx, D0 // y position
3B436 | 4A6C 0012 : tst.w ($12,A4)
3B43A | 6708 : beq $3b444
3B43C | 6A02 : bpl $3b440
3B43E | 4440 : neg.w D0
3B440 | 3940 0012 : move.w D0, ($12,A4)
3B444 | 4EB9 0000 4DDA : jsr $4dda.l
3B44A | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@3B422 = param</action>
<action>maincpu.mw@3B434 = param</action>
</script>
<script state="off">
<action>maincpu.md@0A4B0 = 00004DDA </action>
<action>maincpu.mq@3B420 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B428 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B430 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B438 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B440 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B448 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed - red">
<parameter>
<item value="0x0600">01 (slow)</item>
<item value="0x0c00">02 </item>
<item value="0x1200">03 </item>
<item value="0x1800">04 </item>
<item value="0x1e00">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@AAFA = param</action>
<action>maincpu.mw@AC54 = param</action>
<action>maincpu.mw@AC66 = param</action>
<action>maincpu.mw@ACF6 = param</action>
<action>maincpu.mw@AD10 = param</action>
<action>maincpu.mw@AD38 = param</action>
<action>maincpu.mw@AD52 = param</action>
</script>
<script state="off">
<action>maincpu.mw@AAFA = 0D00</action>
<action>maincpu.mw@AC54 = 0C80</action>
<action>maincpu.mw@AC66 = 0C80</action>
<action>maincpu.mw@ACF6 = 0C80</action>
<action>maincpu.mw@AD10 = 0B80</action>
<action>maincpu.mw@AD38 = 0B80</action>
<action>maincpu.mw@AD52 = 0C80</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.md@03B7A = 0003B450 </action>
<action>maincpu.mq@3B450 = 41ED100043F90002</action>
<action>maincpu.mq@3B458 = 411845E9004A1401</action>
<action>maincpu.mq@3B460 = 122D770FB40167F6</action>
<action>maincpu.mq@3B468 = 0C0100FE66025310</action>
<action>maincpu.mq@3B470 = 0C0100FD66025210</action>
<action>maincpu.mq@3B478 = 0C0100F766040410</action>
<action>maincpu.mq@3B480 = 00100C0100FB6604</action>
<action>maincpu.mq@3B488 = 061000100C0100EF</action>
<action>maincpu.mq@3B490 = 661210100C00000E</action>
<action>maincpu.mq@3B498 = 64044E9160060400</action>
<action>maincpu.mq@3B4A0 = 000E4E920C0100DF</action>
<action>maincpu.mq@3B4A8 = 660642004E914E92</action>
<action>maincpu.mq@3B4B0 = 60ACFFFFFFFFFFFF</action>
<!--
3B450 | 41ED 1000 : lea ($1000,A5), A0 // sound code address ($201000)
3B454 | 43F9 0002 4118 : lea $24118.l, A1 // music latch routine
3B45A | 45E9 004A : lea ($4a,A1), A2 // sfx latch routine ($24162)
3B45E | 1401 : move.b D1, D2
3B460 | 122D 770F : move.b ($770f,A5), D1 // read input ($20770f)
3B464 | B401 : cmp.b D1, D2
3B466 | 67F6 : beq $3b45e
3B468 | 0C01 00FE : cmpi.b #-$2, D1
3B46C | 6602 : bne $3b470
3B46E | 5310 : subq.b #1, (A0) // decrease code -01
3B470 | 0C01 00FD : cmpi.b #-$3, D1
3B474 | 6602 : bne $3b478
3B476 | 5210 : addq.b #1, (A0) // increase code +01
3B478 | 0C01 00F7 : cmpi.b #-$9, D1
3B47C | 6604 : bne $3b482
3B47E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
3B482 | 0C01 00FB : cmpi.b #-$5, D1
3B486 | 6604 : bne $3b48c
3B488 | 0610 0010 : addi.b #$10, (A0) // increase code +10
3B48C | 0C01 00EF : cmpi.b #-$11, D1
3B490 | 6612 : bne $3b4a4
3B492 | 1010 : move.b (A0), D0 // play sound
3B494 | 0C00 000E : cmpi.b #$e, D0
3B498 | 6404 : bcc $3b49e
3B49A | 4E91 : jsr (A1) // music
3B49C | 6006 : bra $3b4a4
3B49E | 0400 000E : subi.b #$e, D0
3B4A2 | 4E92 : jsr (A2) // sfx
3B4A4 | 0C01 00DF : cmpi.b #-$21, D1
3B4A8 | 6606 : bne $3b4b0
3B4AA | 4200 : clr.b D0 // stop sound
3B4AC | 4E91 : jsr (A1)
3B4AE | 4E92 : jsr (A2)
3B4B0 | 60AC : bra $3b45e
-->
</script>
<script state="run">
<output format="----- daioh 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@201000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@03B7A = 00008224 </action>
<action>maincpu.mq@3B450 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B458 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B460 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B468 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B470 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B478 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B480 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B488 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B490 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B498 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B4A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B4A8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B4B0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
daiohp3.xml
Code: Select all
<!-- Daioh (prototype, earliest) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@A535 = 2C</action>
</script>
<script state="off">
<action>maincpu.mb@A535 = 02</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@1132F = 2A</action>
</script>
<script state="off">
<action>maincpu.mb@1132F = 28</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0100">01 (slow)</item>
<item value="0x0300">02 </item>
<item value="0x0600">03 </item>
<item value="0x0900">04 </item>
<item value="0x0c00">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@11200 = 0003E2D0</action>
<action>maincpu.mq@3E2D0 = 303C00004A6C0010</action>
<action>maincpu.mq@3E2D8 = 67086A0244403940</action>
<action>maincpu.mq@3E2E0 = 0010303C00004A6C</action>
<action>maincpu.mq@3E2E8 = 001267086A024440</action>
<action>maincpu.mq@3E2F0 = 394000124EB90000</action>
<action>maincpu.mq@3E2F8 = 9CF64E75FFFFFFFF</action>
<!--
3E2D0 | 303C xxxx : move.w #$xx, D0 // x position
3E2D4 | 4A6C 0010 : tst.w ($10,A4)
3E2D8 | 6708 : beq $3e2e2
3E2DA | 6A02 : bpl $3e2de
3E2DC | 4440 : neg.w D0
3E2DE | 3940 0010 : move.w D0, ($10,A4)
3E2E2 | 303C xxxx : move.w #$xx, D0 // y position
3E2E6 | 4A6C 0012 : tst.w ($12,A4)
3E2EA | 6708 : beq $3e2f4
3E2EC | 6A02 : bpl $3e2f0
3E2EE | 4440 : neg.w D0
3E2F0 | 3940 0012 : move.w D0, ($12,A4)
3E2F4 | 4EB9 0000 9CF6 : jsr $9cf6.l
3E2FA | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@3E2D2 = param</action>
<action>maincpu.mw@3E2E4 = param</action>
</script>
<script state="off">
<action>maincpu.md@11200 = 00009CF6 </action>
<action>maincpu.mq@3E2D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E2D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E2E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E2E8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E2F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E2F8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed - red">
<parameter>
<item value="0x0600">01 (slow)</item>
<item value="0x0c00">02 </item>
<item value="0x1200">03 </item>
<item value="0x1800">04 </item>
<item value="0x1e00">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@11840 = param</action>
<action>maincpu.mw@1199A = param</action>
<action>maincpu.mw@119AC = param</action>
<action>maincpu.mw@11A3C = param</action>
<action>maincpu.mw@11A56 = param</action>
<action>maincpu.mw@11A7E = param</action>
<action>maincpu.mw@11A98 = param</action>
</script>
<script state="off">
<action>maincpu.mw@11840 = 0D00</action>
<action>maincpu.mw@1199A = 0C80</action>
<action>maincpu.mw@119AC = 0C80</action>
<action>maincpu.mw@11A3C = 0C80</action>
<action>maincpu.mw@11A56 = 0B80</action>
<action>maincpu.mw@11A7E = 0B80</action>
<action>maincpu.mw@11A98 = 0C80</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.md@08AAA = 0003E300 </action>
<action>maincpu.mq@3E300 = 41ED100043F90002</action>
<action>maincpu.mq@3E308 = 7D4245E900481401</action>
<action>maincpu.mq@3E310 = 122D6ED1B40167F6</action>
<action>maincpu.mq@3E318 = 0C0100FE66025310</action>
<action>maincpu.mq@3E320 = 0C0100FD66025210</action>
<action>maincpu.mq@3E328 = 0C0100F766040410</action>
<action>maincpu.mq@3E330 = 00100C0100FB6604</action>
<action>maincpu.mq@3E338 = 061000100C0100EF</action>
<action>maincpu.mq@3E340 = 661210100C00000E</action>
<action>maincpu.mq@3E348 = 64044E9160060400</action>
<action>maincpu.mq@3E350 = 000E4E920C0100DF</action>
<action>maincpu.mq@3E358 = 660642004E914E92</action>
<action>maincpu.mq@3E360 = 60ACFFFFFFFFFFFF</action>
<!--
3E300 | 41ED 1000 : lea ($1000,A5), A0 // sound code address ($201000)
3E304 | 43F9 0002 7D42 : lea $27d42.l, A1 // music latch routine
3E30A | 45E9 0048 : lea ($48,A1), A2 // sfx latch routine ($27d8a)
3E30E | 1401 : move.b D1, D2
3E310 | 122D 6ED1 : move.b ($6ed1,A5), D1 // read input ($206ed1)
3E314 | B401 : cmp.b D1, D2
3E316 | 67F6 : beq $40eee
3E318 | 0C01 00FE : cmpi.b #-$2, D1
3E31C | 6602 : bne $40f00
3E31E | 5310 : subq.b #1, (A0) // decrease code -01
3E320 | 0C01 00FD : cmpi.b #-$3, D1
3E324 | 6602 : bne $40f08
3E326 | 5210 : addq.b #1, (A0) // increase code +01
3E328 | 0C01 00F7 : cmpi.b #-$9, D1
3E32C | 6604 : bne $40f12
3E32E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
3E332 | 0C01 00FB : cmpi.b #-$5, D1
3E336 | 6604 : bne $40f1c
3E338 | 0610 0010 : addi.b #$10, (A0) // increase code +10
3E33C | 0C01 00EF : cmpi.b #-$11, D1
3E340 | 6612 : bne $40f34
3E342 | 1010 : move.b (A0), D0 // play sound
3E344 | 0C00 000E : cmpi.b #$e, D0
3E348 | 6404 : bcc $40f2e
3E34A | 4E91 : jsr (A1) // music
3E34C | 6006 : bra $40f34
3E34E | 0400 000E : subi.b #$e, D0
3E352 | 4E92 : jsr (A2) // sfx
3E354 | 0C01 00DF : cmpi.b #-$21, D1
3E358 | 6606 : bne $40f40
3E35A | 4200 : clr.b D0 // stop sound
3E35C | 4E91 : jsr (A1)
3E35E | 4E92 : jsr (A2)
3E360 | 60AC : bra $40eee
-->
</script>
<script state="run">
<output format="----- daioh 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@201000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@08AAA = 0000EEFE </action>
<action>maincpu.mq@3E300 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E308 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E310 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E318 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E320 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E328 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E330 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E338 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E340 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E348 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E350 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E358 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3E360 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
daiohc.xml
Code: Select all
<!-- Daioh (93111A PCB conversion) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@5621 = 2C</action>
</script>
<script state="off">
<action>maincpu.mb@5621 = 02</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@A5F7 = 2A</action>
</script>
<script state="off">
<action>maincpu.mb@A5F7 = 28</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0100">01 (slow)</item>
<item value="0x0300">02 </item>
<item value="0x0600">03 </item>
<item value="0x0900">04 </item>
<item value="0x0c00">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@0A4B0 = 0003B420</action>
<action>maincpu.mq@3B420 = 303C00004A6C0010</action>
<action>maincpu.mq@3B428 = 67086A0244403940</action>
<action>maincpu.mq@3B430 = 0010303C00004A6C</action>
<action>maincpu.mq@3B438 = 001267086A024440</action>
<action>maincpu.mq@3B440 = 394000124EB90000</action>
<action>maincpu.mq@3B448 = 4DDA4E75FFFFFFFF</action>
<!--
3B420 | 303C xxxx : move.w #$xx, D0 // x position
3B424 | 4A6C 0010 : tst.w ($10,A4)
3B428 | 6708 : beq $3b432
3B42A | 6A02 : bpl $3b42e
3B42C | 4440 : neg.w D0
3B42E | 3940 0010 : move.w D0, ($10,A4)
3B432 | 303C xxxx : move.w #$xx, D0 // y position
3B436 | 4A6C 0012 : tst.w ($12,A4)
3B43A | 6708 : beq $3b444
3B43C | 6A02 : bpl $3b440
3B43E | 4440 : neg.w D0
3B440 | 3940 0012 : move.w D0, ($12,A4)
3B444 | 4EB9 0000 4DDA : jsr $4dda.l
3B44A | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@3B422 = param</action>
<action>maincpu.mw@3B434 = param</action>
</script>
<script state="off">
<action>maincpu.md@0A4B0 = 00004DDA </action>
<action>maincpu.mq@3B420 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B428 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B430 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B438 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B440 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B448 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed - red">
<parameter>
<item value="0x0600">01 (slow)</item>
<item value="0x0c00">02 </item>
<item value="0x1200">03 </item>
<item value="0x1800">04 </item>
<item value="0x1e00">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@AAFA = param</action>
<action>maincpu.mw@AC54 = param</action>
<action>maincpu.mw@AC66 = param</action>
<action>maincpu.mw@ACF6 = param</action>
<action>maincpu.mw@AD10 = param</action>
<action>maincpu.mw@AD38 = param</action>
<action>maincpu.mw@AD52 = param</action>
</script>
<script state="off">
<action>maincpu.mw@AAFA = 0D00</action>
<action>maincpu.mw@AC54 = 0C80</action>
<action>maincpu.mw@AC66 = 0C80</action>
<action>maincpu.mw@ACF6 = 0C80</action>
<action>maincpu.mw@AD10 = 0B80</action>
<action>maincpu.mw@AD38 = 0B80</action>
<action>maincpu.mw@AD52 = 0C80</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.md@03B7A = 0003B450 </action>
<action>maincpu.mq@3B450 = 41ED100043F90002</action>
<action>maincpu.mq@3B458 = 411845E9004A1401</action>
<action>maincpu.mq@3B460 = 122D770FB40167F6</action>
<action>maincpu.mq@3B468 = 0C0100FE66025310</action>
<action>maincpu.mq@3B470 = 0C0100FD66025210</action>
<action>maincpu.mq@3B478 = 0C0100F766040410</action>
<action>maincpu.mq@3B480 = 00100C0100FB6604</action>
<action>maincpu.mq@3B488 = 061000100C0100EF</action>
<action>maincpu.mq@3B490 = 661210100C00000E</action>
<action>maincpu.mq@3B498 = 64044E9160060400</action>
<action>maincpu.mq@3B4A0 = 000E4E920C0100DF</action>
<action>maincpu.mq@3B4A8 = 660642004E914E92</action>
<action>maincpu.mq@3B4B0 = 60ACFFFFFFFFFFFF</action>
<!--
3B450 | 41ED 1000 : lea ($1000,A5), A0 // sound code address ($201000)
3B454 | 43F9 0002 4118 : lea $24118.l, A1 // music latch routine
3B45A | 45E9 004A : lea ($4a,A1), A2 // sfx latch routine ($24162)
3B45E | 1401 : move.b D1, D2
3B460 | 122D 770F : move.b ($770f,A5), D1 // read input ($20770f)
3B464 | B401 : cmp.b D1, D2
3B466 | 67F6 : beq $3b45e
3B468 | 0C01 00FE : cmpi.b #-$2, D1
3B46C | 6602 : bne $3b470
3B46E | 5310 : subq.b #1, (A0) // decrease code -01
3B470 | 0C01 00FD : cmpi.b #-$3, D1
3B474 | 6602 : bne $3b478
3B476 | 5210 : addq.b #1, (A0) // increase code +01
3B478 | 0C01 00F7 : cmpi.b #-$9, D1
3B47C | 6604 : bne $3b482
3B47E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
3B482 | 0C01 00FB : cmpi.b #-$5, D1
3B486 | 6604 : bne $3b48c
3B488 | 0610 0010 : addi.b #$10, (A0) // increase code +10
3B48C | 0C01 00EF : cmpi.b #-$11, D1
3B490 | 6612 : bne $3b4a4
3B492 | 1010 : move.b (A0), D0 // play sound
3B494 | 0C00 000E : cmpi.b #$e, D0
3B498 | 6404 : bcc $3b49e
3B49A | 4E91 : jsr (A1) // music
3B49C | 6006 : bra $3b4a4
3B49E | 0400 000E : subi.b #$e, D0
3B4A2 | 4E92 : jsr (A2) // sfx
3B4A4 | 0C01 00DF : cmpi.b #-$21, D1
3B4A8 | 6606 : bne $3b4b0
3B4AA | 4200 : clr.b D0 // stop sound
3B4AC | 4E91 : jsr (A1)
3B4AE | 4E92 : jsr (A2)
3B4B0 | 60AC : bra $3b45e
-->
</script>
<script state="run">
<output format="----- daioh 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@201000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@03B7A = 00008224 </action>
<action>maincpu.mq@3B450 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B458 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B460 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B468 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B470 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B478 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B480 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B488 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B490 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B498 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B4A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B4A8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3B4B0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>