Code: Select all
<!-- Time Pilot -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@50A1 = C9</action> <!-- middle enemy -->
<action>maincpu.mb@50DE = C9</action> <!-- boss -->
<action>maincpu.mb@5111 = C9</action> <!-- boss -->
<action>maincpu.mb@513C = 18</action> <!-- missile -->
<action>maincpu.mb@516F = 18</action> <!-- enemy -->
<action>maincpu.mb@51A0 = 18</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@50A1 = D0</action>
<action>maincpu.mb@50DE = D0</action>
<action>maincpu.mb@5111 = D0</action>
<action>maincpu.mb@513C = 30</action>
<action>maincpu.mb@516F = 30</action>
<action>maincpu.mb@51A0 = 30</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>maincpu.md@23F4 = 0A1867CB</action> <!-- button check -->
<action>maincpu.mb@2405 = 28 </action> <!-- button check -->
<action>maincpu.mb@2495 = 03 </action> <!-- fire interval -->
</script>
<script state="off">
<action>maincpu.md@23F4 = 07070707</action>
<action>maincpu.mb@2405 = 20 </action>
<action>maincpu.mb@2495 = 06 </action>
</script>
</cheat>
<cheat desc="direct turn">
<script state="on">
<action>maincpu.md@1F6A = 18AF80CD</action>
<action>maincpu.md@1F71 = 18AF80CD</action>
</script>
<script state="run">
<action>maincpu.pq@AF80 = AF8F210FE61ED1CD</action>
<action>maincpu.pq@AF88 = 00C9A802327E6F85</action>
<action>maincpu.pq@AF90 = 4000A0E0C0008000</action>
<action>maincpu.pq@AF98 = 0000000000006020</action>
<!--
AF80 | CD D1 1E : call $1ED1 // read input
AF83 | E6 0F : and $0F
AF85 | 21 8F AF : ld hl,$AF8F
AF88 | 85 : add a,l
AF89 | 6F : ld l,a
AF8A | 7E : ld a,(hl) // convert input to direction
AF8B | 32 02 A8 : ld ($A802),a
AF8E | C9 : ret
AF8F - AF99 : input/direction convertion table
input direction
01 00 : left
02 80 : right
04 C0 : up
05 E0 : upper-left
06 A0 : upper-right
08 40 : down
09 20 : lower-left
0A 60 : lower-right
-->
</script>
<script state="off">
<action>maincpu.md@1F6A = 18A80232 </action>
<action>maincpu.md@1F71 = 18A80232 </action>
<action>maincpu.pq@AF88 = 0000000000000000</action>
<action>maincpu.pq@AF90 = 0000000000000000</action>
<action>maincpu.pq@AF98 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mb@1601 = C9 </action> <!-- disable next sequence at boot -->
<action>maincpu.mw@55DF = 560B </action> <!-- disable auto sound stop? -->
<action>maincpu.mw@588D = 1218 </action> <!-- skip rom check -->
<action>maincpu.mw@00AF = 5A00 </action>
<action>maincpu.mq@5A00 = 803AC20032AA0021</action>
<action>maincpu.mq@5A08 = 3A4F070708E62FC3</action>
<action>maincpu.mq@5A10 = 47B8B11FE62FC320</action>
<action>maincpu.mq@5A18 = FE35012001FEE928</action>
<action>maincpu.mq@5A20 = 042008FE34012002</action>
<action>maincpu.mq@5A28 = 052004FE0618F03E</action>
<action>maincpu.mq@5A30 = 2010FE787786103E</action>
<action>maincpu.mq@5A38 = 132020FE05187E03</action>
<action>maincpu.mq@5A40 = 0432013EC00032AF</action>
<action>maincpu.mq@5A48 = AF000000000000C3</action>
<action>maincpu.mq@5A50 = 000000AE18C30432</action>
<!--
5A00 | 21 00 AA : ld hl,$AA00 // sound code address
5A03 | 32 00 C2 : ld ($C200),a // watchdog
5A06 | 3A 80 C3 : ld a,($C380) // read start button
5A09 | 2F : cpl
5A0A | E6 08 : and $08
5A0C | 07 : rlca
5A0D | 07 : rlca
5A0E | 4F : ld c,a
5A0F | 3A 20 C3 : ld a,($C320) // read other inputs
5A12 | 2F : cpl
5A13 | E6 1F : and $1F
5A15 | B1 : or c
5A16 | B8 : cp b
5A17 | 47 : ld b,a
5A18 | 28 E9 : jr z,$5A03
5A1A | FE 01 : cp $01
5A1C | 20 01 : jr nz,$5A1F
5A1E | 35 : dec (hl) // decrease code -01
5A1F | FE 02 : cp $02
5A21 | 20 01 : jr nz,$5A24
5A23 | 34 : inc (hl) // increase code +01
5A24 | FE 08 : cp $08
5A26 | 20 04 : jr nz,$5A2C
5A28 | 3E F0 : ld a,$F0 // decrease code -10
5A2A | 18 06 : jr $5A32
5A2C | FE 04 : cp $04
5A2E | 20 05 : jr nz,$5A35
5A30 | 3E 10 : ld a,$10 // increase code +10
5A32 | 86 : add a,(hl)
5A33 | 77 : ld (hl),a
5A34 | 78 : ld a,b
5A35 | FE 10 : cp $10
5A37 | 20 03 : jr nz,$5A3C
5A39 | 7E : ld a,(hl) // play sound
5A3A | 18 05 : jr $5A41
5A3C | FE 20 : cp $20
5A3E | 20 13 : jr nz,$5A53
5A40 | AF : xor a // stop sound
5A41 | 32 00 C0 : ld ($C000),a // send sound code
5A44 | 3E 01 : ld a,$01
5A46 | 32 04 C3 : ld ($C304),a
5A49 | 00 : nop
5A4A | 00 : nop
5A4B | 00 : nop
5A4C | 00 : nop
5A4D | 00 : nop
5A4E | 00 : nop
5A4F | AF : xor a
5A50 | 32 04 C3 : ld ($C304),a
5A53 | 18 AE : jr $5A03
-->
</script>
<script state="run">
<output format="----- 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="start : stop sound" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %02X >>" line="19" align="center" >
<argument>maincpu.pb@AA00</argument>
</output>
</script>
<script state="off">
<action>maincpu.mb@1601 = C0 </action>
<action>maincpu.mw@55DF = 55F8 </action>
<action>maincpu.mw@588D = 2386 </action>
<action>maincpu.mw@00AF = 0B93 </action>
<action>maincpu.mq@5A00 = A200A500A800A900</action>
<action>maincpu.mq@5A08 = 98009B009E00A100</action>
<action>maincpu.mq@5A10 = 9000910094009700</action>
<action>maincpu.mq@5A18 = 8500880089008D00</action>
<action>maincpu.mq@5A20 = 78007B007F008100</action>
<action>maincpu.mq@5A28 = 68006D0070007600</action>
<action>maincpu.mq@5A30 = 58005C0060006300</action>
<action>maincpu.mq@5A38 = 430049004E005200</action>
<action>maincpu.mq@5A40 = 2C00320039003E00</action>
<action>maincpu.mq@5A48 = 14001A0020002700</action>
<action>maincpu.mq@5A50 = 0000000008000E00</action>
</script>
</cheat>
</mamecheat>
Code: Select all
<!-- Time Pilot (Centuri) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@50BD = C9</action> <!-- middle enemy -->
<action>maincpu.mb@50FA = C9</action> <!-- boss -->
<action>maincpu.mb@512D = C9</action> <!-- boss -->
<action>maincpu.mb@5158 = 18</action> <!-- missile -->
<action>maincpu.mb@518B = 18</action> <!-- enemy -->
<action>maincpu.mb@51BC = 18</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@50BD = D0</action>
<action>maincpu.mb@50FA = D0</action>
<action>maincpu.mb@512D = D0</action>
<action>maincpu.mb@5158 = 30</action>
<action>maincpu.mb@518B = 30</action>
<action>maincpu.mb@51BC = 30</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>maincpu.md@246E = 0A1867CB</action> <!-- button check -->
<action>maincpu.mb@247F = 28 </action> <!-- button check -->
<action>maincpu.mb@250E = 03 </action> <!-- fire interval -->
</script>
<script state="off">
<action>maincpu.md@246E = 07070707</action>
<action>maincpu.mb@247F = 20 </action>
<action>maincpu.mb@250E = 06 </action>
</script>
</cheat>
<cheat desc="direct turn">
<script state="on">
<action>maincpu.md@1F85 = 18AF80CD</action>
<action>maincpu.md@1F8C = 18AF80CD</action>
</script>
<script state="run">
<action>maincpu.pq@AF80 = AF8F210FE61EECCD</action>
<action>maincpu.pq@AF88 = 00C9A802327E6F85</action>
<action>maincpu.pq@AF90 = 4000A0E0C0008000</action>
<action>maincpu.pq@AF98 = 0000000000006020</action>
<!--
AF80 | CD EC 1E : call $1EEC // read input
AF83 | E6 0F : and $0F
AF85 | 21 8F AF : ld hl,$AF8F
AF88 | 85 : add a,l
AF89 | 6F : ld l,a
AF8A | 7E : ld a,(hl) // convert input to direction
AF8B | 32 02 A8 : ld ($A802),a
AF8E | C9 : ret
AF8F - AF99 : input/direction convertion table
input direction
01 00 : left
02 80 : right
04 C0 : up
05 E0 : upper-left
06 A0 : upper-right
08 40 : down
09 20 : lower-left
0A 60 : lower-right
-->
</script>
<script state="off">
<action>maincpu.md@1F85 = 18A80232 </action>
<action>maincpu.md@1F8C = 18A80232 </action>
<action>maincpu.pq@AF88 = 0000000000000000</action>
<action>maincpu.pq@AF90 = 0000000000000000</action>
<action>maincpu.pq@AF98 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mb@160F = C9 </action> <!-- disable next sequence at boot -->
<action>maincpu.mw@55E2 = 5610 </action> <!-- disable auto sound stop? -->
<action>maincpu.mw@01AD = 0818 </action> <!-- skip rom check -->
<action>maincpu.mw@588D = 1218 </action> <!-- skip rom check -->
<action>maincpu.mw@00AF = 5A00 </action>
<action>maincpu.mq@5A00 = 803AC20032AA0021</action>
<action>maincpu.mq@5A08 = 3A4F070708E62FC3</action>
<action>maincpu.mq@5A10 = 47B8B11FE62FC320</action>
<action>maincpu.mq@5A18 = FE35012001FEE928</action>
<action>maincpu.mq@5A20 = 042008FE34012002</action>
<action>maincpu.mq@5A28 = 052004FE0618F03E</action>
<action>maincpu.mq@5A30 = 2010FE787786103E</action>
<action>maincpu.mq@5A38 = 132020FE05187E03</action>
<action>maincpu.mq@5A40 = 0432013EC00032AF</action>
<action>maincpu.mq@5A48 = AF000000000000C3</action>
<action>maincpu.mq@5A50 = 000000AE18C30432</action>
<!--
5A00 | 21 00 AA : ld hl,$AA00 // sound code address
5A03 | 32 00 C2 : ld ($C200),a // watchdog
5A06 | 3A 80 C3 : ld a,($C380) // read start button
5A09 | 2F : cpl
5A0A | E6 08 : and $08
5A0C | 07 : rlca
5A0D | 07 : rlca
5A0E | 4F : ld c,a
5A0F | 3A 20 C3 : ld a,($C320) // read other inputs
5A12 | 2F : cpl
5A13 | E6 1F : and $1F
5A15 | B1 : or c
5A16 | B8 : cp b
5A17 | 47 : ld b,a
5A18 | 28 E9 : jr z,$5A03
5A1A | FE 01 : cp $01
5A1C | 20 01 : jr nz,$5A1F
5A1E | 35 : dec (hl) // decrease code -01
5A1F | FE 02 : cp $02
5A21 | 20 01 : jr nz,$5A24
5A23 | 34 : inc (hl) // increase code +01
5A24 | FE 08 : cp $08
5A26 | 20 04 : jr nz,$5A2C
5A28 | 3E F0 : ld a,$F0 // decrease code -10
5A2A | 18 06 : jr $5A32
5A2C | FE 04 : cp $04
5A2E | 20 05 : jr nz,$5A35
5A30 | 3E 10 : ld a,$10 // increase code +10
5A32 | 86 : add a,(hl)
5A33 | 77 : ld (hl),a
5A34 | 78 : ld a,b
5A35 | FE 10 : cp $10
5A37 | 20 03 : jr nz,$5A3C
5A39 | 7E : ld a,(hl) // play sound
5A3A | 18 05 : jr $5A41
5A3C | FE 20 : cp $20
5A3E | 20 13 : jr nz,$5A53
5A40 | AF : xor a // stop sound
5A41 | 32 00 C0 : ld ($C000),a // send sound code
5A44 | 3E 01 : ld a,$01
5A46 | 32 04 C3 : ld ($C304),a
5A49 | 00 : nop
5A4A | 00 : nop
5A4B | 00 : nop
5A4C | 00 : nop
5A4D | 00 : nop
5A4E | 00 : nop
5A4F | AF : xor a
5A50 | 32 04 C3 : ld ($C304),a
5A53 | 18 AE : jr $5A03
-->
</script>
<script state="run">
<output format="----- 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="start : stop sound" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %02X >>" line="19" align="center" >
<argument>maincpu.pb@AA00</argument>
</output>
</script>
<script state="off">
<action>maincpu.mb@160F = C0 </action>
<action>maincpu.mw@55E2 = 55FB </action>
<action>maincpu.mw@00AF = 0B97 </action>
<action>maincpu.mw@01AD = 86AF </action>
<action>maincpu.mw@588D = 2386 </action>
<action>maincpu.mq@5A00 = A200A500A800A900</action>
<action>maincpu.mq@5A08 = 98009B009E00A100</action>
<action>maincpu.mq@5A10 = 9000910094009700</action>
<action>maincpu.mq@5A18 = 8500880089008D00</action>
<action>maincpu.mq@5A20 = 78007B007F008100</action>
<action>maincpu.mq@5A28 = 68006D0070007600</action>
<action>maincpu.mq@5A30 = 58005C0060006300</action>
<action>maincpu.mq@5A38 = 430049004E005200</action>
<action>maincpu.mq@5A40 = 2C00320039003E00</action>
<action>maincpu.mq@5A48 = 14001A0020002700</action>
<action>maincpu.mq@5A50 = 0000000008000E00</action>
</script>
</cheat>
</mamecheat>
Code: Select all
<!-- Time Pilot (Atari) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@5026 = C9</action> <!-- middle enemy -->
<action>maincpu.mb@5063 = C9</action> <!-- boss -->
<action>maincpu.mb@5096 = C9</action> <!-- boss -->
<action>maincpu.mb@50C1 = 18</action> <!-- missile -->
<action>maincpu.mb@511B = 18</action> <!-- enemy -->
<action>maincpu.mb@514C = 18</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@5026 = D0</action>
<action>maincpu.mb@5063 = D0</action>
<action>maincpu.mb@5196 = D0</action>
<action>maincpu.mb@51C1 = 30</action>
<action>maincpu.mb@511B = 30</action>
<action>maincpu.mb@514C = 30</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>maincpu.md@23B9 = 0A1867CB</action> <!-- button check -->
<action>maincpu.mb@23CA = 28 </action> <!-- button check -->
<action>maincpu.mb@2459 = 03 </action> <!-- fire interval -->
</script>
<script state="off">
<action>maincpu.md@23B9 = 07070707</action>
<action>maincpu.mb@23CA = 20 </action>
<action>maincpu.mb@2459 = 06 </action>
</script>
</cheat>
<cheat desc="direct turn">
<script state="on">
<action>maincpu.md@1EA6 = 18AF80CD</action>
<action>maincpu.md@1EAD = 18AF80CD</action>
</script>
<script state="run">
<action>maincpu.pq@AF80 = AF8F210FE61E0DCD</action>
<action>maincpu.pq@AF88 = 00C9A802327E6F85</action>
<action>maincpu.pq@AF90 = 4000A0E0C0008000</action>
<action>maincpu.pq@AF98 = 0000000000006020</action>
<!--
AF80 | CD 0D 1E : call $1E0D // read input
AF83 | E6 0F : and $0F
AF85 | 21 8F AF : ld hl,$AF8F
AF88 | 85 : add a,l
AF89 | 6F : ld l,a
AF8A | 7E : ld a,(hl) // convert input to direction
AF8B | 32 02 A8 : ld ($A802),a
AF8E | C9 : ret
AF8F - AF99 : input/direction convertion table
input direction
01 00 : left
02 80 : right
04 C0 : up
05 E0 : upper-left
06 A0 : upper-right
08 40 : down
09 20 : lower-left
0A 60 : lower-right
-->
</script>
<script state="off">
<action>maincpu.md@1EA6 = 18A80232 </action>
<action>maincpu.md@1EAD = 18A80232 </action>
<action>maincpu.pq@AF80 = 0000000000000000</action>
<action>maincpu.pq@AF88 = 0000000000000000</action>
<action>maincpu.pq@AF90 = 0000000000000000</action>
<action>maincpu.pq@AF98 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mb@1609 = C9 </action> <!-- disable next sequence at boot -->
<action>maincpu.mw@5572 = 559F </action> <!-- disable auto sound stop? -->
<action>maincpu.mw@01BC = 0818 </action> <!-- skip rom check -->
<action>maincpu.mw@5856 = 1218 </action> <!-- skip rom check -->
<action>maincpu.mw@00B2 = 5A00 </action>
<action>maincpu.mq@5A00 = 803AC20032AA0021</action>
<action>maincpu.mq@5A08 = 3A4F070708E62FC3</action>
<action>maincpu.mq@5A10 = 47B8B11FE62FC320</action>
<action>maincpu.mq@5A18 = FE35012001FEE928</action>
<action>maincpu.mq@5A20 = 042008FE34012002</action>
<action>maincpu.mq@5A28 = 052004FE0618F03E</action>
<action>maincpu.mq@5A30 = 2010FE787786103E</action>
<action>maincpu.mq@5A38 = 132020FE05187E03</action>
<action>maincpu.mq@5A40 = 0432013EC00032AF</action>
<action>maincpu.mq@5A48 = AF000000000000C3</action>
<action>maincpu.mq@5A50 = 000000AE18C30432</action>
<!--
5A00 | 21 00 AA : ld hl,$AA00 // sound code address
5A03 | 32 00 C2 : ld ($C200),a // watchdog
5A06 | 3A 80 C3 : ld a,($C380) // read start button
5A09 | 2F : cpl
5A0A | E6 08 : and $08
5A0C | 07 : rlca
5A0D | 07 : rlca
5A0E | 4F : ld c,a
5A0F | 3A 20 C3 : ld a,($C320) // read other inputs
5A12 | 2F : cpl
5A13 | E6 1F : and $1F
5A15 | B1 : or c
5A16 | B8 : cp b
5A17 | 47 : ld b,a
5A18 | 28 E9 : jr z,$5A03
5A1A | FE 01 : cp $01
5A1C | 20 01 : jr nz,$5A1F
5A1E | 35 : dec (hl) // decrease code -01
5A1F | FE 02 : cp $02
5A21 | 20 01 : jr nz,$5A24
5A23 | 34 : inc (hl) // increase code +01
5A24 | FE 08 : cp $08
5A26 | 20 04 : jr nz,$5A2C
5A28 | 3E F0 : ld a,$F0 // decrease code -10
5A2A | 18 06 : jr $5A32
5A2C | FE 04 : cp $04
5A2E | 20 05 : jr nz,$5A35
5A30 | 3E 10 : ld a,$10 // increase code +10
5A32 | 86 : add a,(hl)
5A33 | 77 : ld (hl),a
5A34 | 78 : ld a,b
5A35 | FE 10 : cp $10
5A37 | 20 03 : jr nz,$5A3C
5A39 | 7E : ld a,(hl) // play sound
5A3A | 18 05 : jr $5A41
5A3C | FE 20 : cp $20
5A3E | 20 13 : jr nz,$5A53
5A40 | AF : xor a // stop sound
5A41 | 32 00 C0 : ld ($C000),a // send sound code
5A44 | 3E 01 : ld a,$01
5A46 | 32 04 C3 : ld ($C304),a
5A49 | 00 : nop
5A4A | 00 : nop
5A4B | 00 : nop
5A4C | 00 : nop
5A4D | 00 : nop
5A4E | 00 : nop
5A4F | AF : xor a
5A50 | 32 04 C3 : ld ($C304),a
5A53 | 18 AE : jr $5A03
-->
</script>
<script state="run">
<output format="----- 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="start : stop sound" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %02X >>" line="19" align="center" >
<argument>maincpu.pb@AA00</argument>
</output>
</script>
<script state="off">
<action>maincpu.mb@1609 = C0 </action>
<action>maincpu.mw@5572 = 558B </action>
<action>maincpu.mw@01BC = 86AF </action>
<action>maincpu.mw@5856 = 2386 </action>
<action>maincpu.mw@00B2 = 0B85 </action>
<action>maincpu.mq@5A00 = 00A200A500A800A9</action>
<action>maincpu.mq@5A08 = 0098009B009E00A1</action>
<action>maincpu.mq@5A10 = 0090009100940097</action>
<action>maincpu.mq@5A18 = 008500880089008D</action>
<action>maincpu.mq@5A20 = 0078007B007F0081</action>
<action>maincpu.mq@5A28 = 0068006D00700076</action>
<action>maincpu.mq@5A30 = 0058005C00600063</action>
<action>maincpu.mq@5A38 = 00430049004E0052</action>
<action>maincpu.mq@5A40 = 002C00320039003E</action>
<action>maincpu.mq@5A48 = 0014001A00200027</action>
<action>maincpu.mq@5A50 = 000000000008000E</action>
</script>
</cheat>
</mamecheat>
Code: Select all
<!-- Space Pilot (set 1) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@50A1 = C9</action> <!-- middle enemy -->
<action>maincpu.mb@50DE = C9</action> <!-- boss -->
<action>maincpu.mb@5111 = C9</action> <!-- boss -->
<action>maincpu.mb@513C = 18</action> <!-- missile -->
<action>maincpu.mb@516F = 18</action> <!-- enemy -->
<action>maincpu.mb@51A0 = 18</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@50A1 = D0</action>
<action>maincpu.mb@50DE = D0</action>
<action>maincpu.mb@5111 = D0</action>
<action>maincpu.mb@513C = 30</action>
<action>maincpu.mb@516F = 30</action>
<action>maincpu.mb@51A0 = 30</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>maincpu.md@23F4 = 0A1867CB</action> <!-- button check -->
<action>maincpu.mb@2405 = 28 </action> <!-- button check -->
<action>maincpu.mb@2495 = 03 </action> <!-- fire interval -->
</script>
<script state="off">
<action>maincpu.md@23F4 = 07070707</action>
<action>maincpu.mb@2405 = 20 </action>
<action>maincpu.mb@2495 = 06 </action>
</script>
</cheat>
<cheat desc="direct turn">
<script state="on">
<action>maincpu.md@1F6A = 18AF80CD</action>
<action>maincpu.md@1F71 = 18AF80CD</action>
</script>
<script state="run">
<action>maincpu.pq@AF80 = AF8F210FE61ED1CD</action>
<action>maincpu.pq@AF88 = 00C9A802327E6F85</action>
<action>maincpu.pq@AF90 = 4000A0E0C0008000</action>
<action>maincpu.pq@AF98 = 0000000000006020</action>
<!--
AF80 | CD D1 1E : call $1ED1 // read input
AF83 | E6 0F : and $0F
AF85 | 21 8F AF : ld hl,$AF8F
AF88 | 85 : add a,l
AF89 | 6F : ld l,a
AF8A | 7E : ld a,(hl) // convert input to direction
AF8B | 32 02 A8 : ld ($A802),a
AF8E | C9 : ret
AF8F - AF99 : input/direction convertion table
input direction
01 00 : left
02 80 : right
04 C0 : up
05 E0 : upper-left
06 A0 : upper-right
08 40 : down
09 20 : lower-left
0A 60 : lower-right
-->
</script>
<script state="off">
<action>maincpu.md@1F6A = 18A80232 </action>
<action>maincpu.md@1F71 = 18A80232 </action>
<action>maincpu.pq@AF88 = 0000000000000000</action>
<action>maincpu.pq@AF90 = 0000000000000000</action>
<action>maincpu.pq@AF98 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mb@1601 = C9 </action> <!-- disable next sequence at boot -->
<action>maincpu.mw@55DF = 560B </action> <!-- disable auto sound stop? -->
<action>maincpu.mw@588D = 1218 </action> <!-- skip rom check -->
<action>maincpu.mw@00AF = 5A00 </action>
<action>maincpu.mq@5A00 = 803AC20032AA0021</action>
<action>maincpu.mq@5A08 = 3A4F070708E62FC3</action>
<action>maincpu.mq@5A10 = 47B8B11FE62FC320</action>
<action>maincpu.mq@5A18 = FE35012001FEE928</action>
<action>maincpu.mq@5A20 = 042008FE34012002</action>
<action>maincpu.mq@5A28 = 052004FE0618F03E</action>
<action>maincpu.mq@5A30 = 2010FE787786103E</action>
<action>maincpu.mq@5A38 = 132020FE05187E03</action>
<action>maincpu.mq@5A40 = 0432013EC00032AF</action>
<action>maincpu.mq@5A48 = AF000000000000C3</action>
<action>maincpu.mq@5A50 = 000000AE18C30432</action>
<!--
5A00 | 21 00 AA : ld hl,$AA00 // sound code address
5A03 | 32 00 C2 : ld ($C200),a // watchdog
5A06 | 3A 80 C3 : ld a,($C380) // read start button
5A09 | 2F : cpl
5A0A | E6 08 : and $08
5A0C | 07 : rlca
5A0D | 07 : rlca
5A0E | 4F : ld c,a
5A0F | 3A 20 C3 : ld a,($C320) // read other inputs
5A12 | 2F : cpl
5A13 | E6 1F : and $1F
5A15 | B1 : or c
5A16 | B8 : cp b
5A17 | 47 : ld b,a
5A18 | 28 E9 : jr z,$5A03
5A1A | FE 01 : cp $01
5A1C | 20 01 : jr nz,$5A1F
5A1E | 35 : dec (hl) // decrease code -01
5A1F | FE 02 : cp $02
5A21 | 20 01 : jr nz,$5A24
5A23 | 34 : inc (hl) // increase code +01
5A24 | FE 08 : cp $08
5A26 | 20 04 : jr nz,$5A2C
5A28 | 3E F0 : ld a,$F0 // decrease code -10
5A2A | 18 06 : jr $5A32
5A2C | FE 04 : cp $04
5A2E | 20 05 : jr nz,$5A35
5A30 | 3E 10 : ld a,$10 // increase code +10
5A32 | 86 : add a,(hl)
5A33 | 77 : ld (hl),a
5A34 | 78 : ld a,b
5A35 | FE 10 : cp $10
5A37 | 20 03 : jr nz,$5A3C
5A39 | 7E : ld a,(hl) // play sound
5A3A | 18 05 : jr $5A41
5A3C | FE 20 : cp $20
5A3E | 20 13 : jr nz,$5A53
5A40 | AF : xor a // stop sound
5A41 | 32 00 C0 : ld ($C000),a // send sound code
5A44 | 3E 01 : ld a,$01
5A46 | 32 04 C3 : ld ($C304),a
5A49 | 00 : nop
5A4A | 00 : nop
5A4B | 00 : nop
5A4C | 00 : nop
5A4D | 00 : nop
5A4E | 00 : nop
5A4F | AF : xor a
5A50 | 32 04 C3 : ld ($C304),a
5A53 | 18 AE : jr $5A03
-->
</script>
<script state="run">
<output format="----- 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="start : stop sound" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %02X >>" line="19" align="center" >
<argument>maincpu.pb@AA00</argument>
</output>
</script>
<script state="off">
<action>maincpu.mb@1601 = C0 </action>
<action>maincpu.mw@55DF = 55F8 </action>
<action>maincpu.mw@588D = 2386 </action>
<action>maincpu.mw@00AF = 0B93 </action>
<action>maincpu.mq@5A00 = A200A500A800A900</action>
<action>maincpu.mq@5A08 = 98009B009E00A100</action>
<action>maincpu.mq@5A10 = 9000910094009700</action>
<action>maincpu.mq@5A18 = 8500880089008D00</action>
<action>maincpu.mq@5A20 = 78007B007F008100</action>
<action>maincpu.mq@5A28 = 68006D0070007600</action>
<action>maincpu.mq@5A30 = 58005C0060006300</action>
<action>maincpu.mq@5A38 = 430049004E005200</action>
<action>maincpu.mq@5A40 = 2C00320039003E00</action>
<action>maincpu.mq@5A48 = 14001A0020002700</action>
<action>maincpu.mq@5A50 = 0000000008000E00</action>
</script>
</cheat>
</mamecheat>
Code: Select all
<!-- Space Pilot (set 2) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@50A1 = C9</action> <!-- middle enemy -->
<action>maincpu.mb@50DE = C9</action> <!-- boss -->
<action>maincpu.mb@5111 = C9</action> <!-- boss -->
<action>maincpu.mb@513C = 18</action> <!-- missile -->
<action>maincpu.mb@516F = 18</action> <!-- enemy -->
<action>maincpu.mb@51A0 = 18</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@50A1 = D0</action>
<action>maincpu.mb@50DE = D0</action>
<action>maincpu.mb@5111 = D0</action>
<action>maincpu.mb@513C = 30</action>
<action>maincpu.mb@516F = 30</action>
<action>maincpu.mb@51A0 = 30</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>maincpu.md@23F4 = 0A1867CB</action> <!-- button check -->
<action>maincpu.mb@2405 = 28 </action> <!-- button check -->
<action>maincpu.mb@2495 = 03 </action> <!-- fire interval -->
</script>
<script state="off">
<action>maincpu.md@23F4 = 07070707</action>
<action>maincpu.mb@2405 = 20 </action>
<action>maincpu.mb@2495 = 06 </action>
</script>
</cheat>
<cheat desc="direct turn">
<script state="on">
<action>maincpu.md@1F6A = 18AF80CD</action>
<action>maincpu.md@1F71 = 18AF80CD</action>
</script>
<script state="run">
<action>maincpu.pq@AF80 = AF8F210FE61ED1CD</action>
<action>maincpu.pq@AF88 = 00C9A802327E6F85</action>
<action>maincpu.pq@AF90 = 4000A0E0C0008000</action>
<action>maincpu.pq@AF98 = 0000000000006020</action>
<!--
AF80 | CD D1 1E : call $1ED1 // read input
AF83 | E6 0F : and $0F
AF85 | 21 8F AF : ld hl,$AF8F
AF88 | 85 : add a,l
AF89 | 6F : ld l,a
AF8A | 7E : ld a,(hl) // convert input to direction
AF8B | 32 02 A8 : ld ($A802),a
AF8E | C9 : ret
AF8F - AF99 : input/direction convertion table
input direction
01 00 : left
02 80 : right
04 C0 : up
05 E0 : upper-left
06 A0 : upper-right
08 40 : down
09 20 : lower-left
0A 60 : lower-right
-->
</script>
<script state="off">
<action>maincpu.md@1F6A = 18A80232 </action>
<action>maincpu.md@1F71 = 18A80232 </action>
<action>maincpu.pq@AF88 = 0000000000000000</action>
<action>maincpu.pq@AF90 = 0000000000000000</action>
<action>maincpu.pq@AF98 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mb@1601 = C9 </action> <!-- disable next sequence at boot -->
<action>maincpu.mw@55DF = 560B </action> <!-- disable auto sound stop? -->
<action>maincpu.mw@588D = 1218 </action> <!-- skip rom check -->
<action>maincpu.mw@00AF = 5A00 </action>
<action>maincpu.mq@5A00 = 803AC20032AA0021</action>
<action>maincpu.mq@5A08 = 3A4F070708E62FC3</action>
<action>maincpu.mq@5A10 = 47B8B11FE62FC320</action>
<action>maincpu.mq@5A18 = FE35012001FEE928</action>
<action>maincpu.mq@5A20 = 042008FE34012002</action>
<action>maincpu.mq@5A28 = 052004FE0618F03E</action>
<action>maincpu.mq@5A30 = 2010FE787786103E</action>
<action>maincpu.mq@5A38 = 132020FE05187E03</action>
<action>maincpu.mq@5A40 = 0432013EC00032AF</action>
<action>maincpu.mq@5A48 = AF000000000000C3</action>
<action>maincpu.mq@5A50 = 000000AE18C30432</action>
<!--
5A00 | 21 00 AA : ld hl,$AA00 // sound code address
5A03 | 32 00 C2 : ld ($C200),a // watchdog
5A06 | 3A 80 C3 : ld a,($C380) // read start button
5A09 | 2F : cpl
5A0A | E6 08 : and $08
5A0C | 07 : rlca
5A0D | 07 : rlca
5A0E | 4F : ld c,a
5A0F | 3A 20 C3 : ld a,($C320) // read other inputs
5A12 | 2F : cpl
5A13 | E6 1F : and $1F
5A15 | B1 : or c
5A16 | B8 : cp b
5A17 | 47 : ld b,a
5A18 | 28 E9 : jr z,$5A03
5A1A | FE 01 : cp $01
5A1C | 20 01 : jr nz,$5A1F
5A1E | 35 : dec (hl) // decrease code -01
5A1F | FE 02 : cp $02
5A21 | 20 01 : jr nz,$5A24
5A23 | 34 : inc (hl) // increase code +01
5A24 | FE 08 : cp $08
5A26 | 20 04 : jr nz,$5A2C
5A28 | 3E F0 : ld a,$F0 // decrease code -10
5A2A | 18 06 : jr $5A32
5A2C | FE 04 : cp $04
5A2E | 20 05 : jr nz,$5A35
5A30 | 3E 10 : ld a,$10 // increase code +10
5A32 | 86 : add a,(hl)
5A33 | 77 : ld (hl),a
5A34 | 78 : ld a,b
5A35 | FE 10 : cp $10
5A37 | 20 03 : jr nz,$5A3C
5A39 | 7E : ld a,(hl) // play sound
5A3A | 18 05 : jr $5A41
5A3C | FE 20 : cp $20
5A3E | 20 13 : jr nz,$5A53
5A40 | AF : xor a // stop sound
5A41 | 32 00 C0 : ld ($C000),a // send sound code
5A44 | 3E 01 : ld a,$01
5A46 | 32 04 C3 : ld ($C304),a
5A49 | 00 : nop
5A4A | 00 : nop
5A4B | 00 : nop
5A4C | 00 : nop
5A4D | 00 : nop
5A4E | 00 : nop
5A4F | AF : xor a
5A50 | 32 04 C3 : ld ($C304),a
5A53 | 18 AE : jr $5A03
-->
</script>
<script state="run">
<output format="----- 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="start : stop sound" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %02X >>" line="19" align="center" >
<argument>maincpu.pb@AA00</argument>
</output>
</script>
<script state="off">
<action>maincpu.mb@1601 = C0 </action>
<action>maincpu.mw@55DF = 55F8 </action>
<action>maincpu.mw@588D = 2386 </action>
<action>maincpu.mw@00AF = 0B93 </action>
<action>maincpu.mq@5A00 = A200A500A800A900</action>
<action>maincpu.mq@5A08 = 98009B009E00A100</action>
<action>maincpu.mq@5A10 = 9000910094009700</action>
<action>maincpu.mq@5A18 = 8500880089008D00</action>
<action>maincpu.mq@5A20 = 78007B007F008100</action>
<action>maincpu.mq@5A28 = 68006D0070007600</action>
<action>maincpu.mq@5A30 = 58005C0060006300</action>
<action>maincpu.mq@5A38 = 430049004E005200</action>
<action>maincpu.mq@5A40 = 2C00320039003E00</action>
<action>maincpu.mq@5A48 = 14001A0020002700</action>
<action>maincpu.mq@5A50 = 0000000008000E00</action>
</script>
</cheat>
</mamecheat>
"sound test mode" has minimum rom check skipper to enter sound test mode though.
I recommend that you should turn all rom codes OFF at boot, title and game start.