regulus.xml
Code: Select all
<!-- Regulus (315-5033, Rev A.) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@2556 = 58</action> <!-- background -->
<action>maincpu.ob@25D1 = C9</action> <!-- pitfall -->
<action>maincpu.ob@2980 = C3</action> <!-- enemy -->
<action>maincpu.ob@35A9 = C3</action> <!-- laser -->
<action>maincpu.ob@363E = C3</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@2556 = DF</action>
<action>maincpu.ob@25D1 = D8</action>
<action>maincpu.ob@2980 = CA</action>
<action>maincpu.ob@35A9 = CA</action>
<action>maincpu.ob@363E = CA</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@2AE3 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@2AE3 = 90</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x02">02 </item>
<item value="0x04">03 </item>
<item value="0x06">04 </item>
<item value="0x08">05 (fast)</item>
</parameter>
<script state="on">
<!-- y position -->
<action>maincpu.od@27C3 = 23FFFFCD</action>
<action>maincpu.md@27C3 = FFB2D0FF</action>
<!-- x position -->
<action>maincpu.od@27C8 = DDFFFFCD</action>
<action>maincpu.md@27C8 = FFB2DEFF</action>
<!-- main routine -->
<action>maincpu.mq@B2D0 = B2DAF2003E0728A7</action>
<action>maincpu.mq@B2D8 = 28A7C90B77DD44ED</action>
<action>maincpu.mq@B2E0 = 44EDB2E8F2003E07</action>
<action>maincpu.mq@B2E8 = FFFFFFFFC90C77DD</action>
<!--
B2D0 | A7 : and a // y position
B2D1 | 28 07 : jr z,$B2DA
B2D3 | 3E xx : ld a,$xx
B2D5 | F2 DA B2 : jp p,$B2DA
B2D8 | ED 44 : neg
B2DA | DD 77 0B : ld (ix+$0b),a
B2DD | C9 : ret
B2DE | A7 : and a // x position
B2DF | 28 07 : jr z,$B2E8
B2E1 | 3E xx : ld a,$xx
B2E3 | F2 E8 B2 : jp p,$B2E8
B2E6 | ED 44 : neg
B2E8 | DD 77 0C : ld (ix+$0c),a
B2EB | C9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@B2D4 = param</action>
<action>maincpu.mb@B2E2 = param</action>
</script>
<script state="off">
<action>maincpu.od@27C3 = 230B77DD </action>
<action>maincpu.md@27C3 = AB0BFFDD </action>
<action>maincpu.od@27C8 = DDAC77DD </action>
<action>maincpu.md@27C8 = DD0C7755 </action>
<action>maincpu.mq@B2D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B2D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B2E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B2E8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed - shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x05">02 </item>
<item value="0x0a">03 </item>
<item value="0x0f">04 </item>
<item value="0x14">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@3079 = param</action>
</script>
<script state="off">
<action>maincpu.mb@3079 = 05</action>
</script>
</cheat>
<cheat desc="fast bomb">
<script state="on">
<action>maincpu.mb@2A53 = C7</action>
<action>maincpu.ob@2A85 = 3E</action>
<action>maincpu.mb@2A86 = 01</action>
</script>
<script state="off">
<action>maincpu.mb@2A53 = 67</action>
<action>maincpu.ob@2A85 = D6</action>
<action>maincpu.mb@2A86 = 06</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@0138 = B2F0 </action>
<action>maincpu.mq@B2F0 = 00DBC2002116D3AF</action>
<action>maincpu.mq@B2F8 = 01207FFEFA2847B8</action>
<action>maincpu.mq@B300 = EFFE340120BFFE35</action>
<action>maincpu.mq@B308 = DFFE0618F03E0420</action>
<action>maincpu.mq@B310 = FE787786103E0520</action>
<action>maincpu.mq@B318 = 051880F67E0520FB</action>
<action>maincpu.mq@B320 = 1814D3AF0320FDFE</action>
<action>maincpu.mq@B328 = FFFFFFFFFFFFFFCD</action>
<!--
B2F0 | AF : xor a // enable sound
B2F1 | D3 16 : out ($16),a
B2F3 | 21 00 C2 : ld hl,$C200 // sound code address
B2F6 | DB 00 : in a,($00) // read input
B2F8 | B8 : cp b
B2F9 | 47 : ld b,a
B2FA | 28 FA : jr z,$B2F6
B2FC | FE 7F : cp $7F
B2FE | 20 01 : jr nz,$B301
B300 | 35 : dec (hl) // decrease code -01
B301 | FE BF : cp $BF
B303 | 20 01 : jr nz,$B306
B305 | 34 : inc (hl) // increase code +01
B306 | FE EF : cp $EF
B308 | 20 04 : jr nz,$B30E
B30A | 3E F0 : ld a,$F0 // decrease code -10
B30C | 18 06 : jr $B314
B30E | FE DF : cp $DF
B310 | 20 05 : jr nz,$B317
B312 | 3E 10 : ld a,$10 // increase code +10
B314 | 86 : add a,(hl)
B315 | 77 : ld (hl),a
B316 | 78 : ld a,b
B317 | FE FB : cp $FB
B319 | 20 05 : jr nz,$B320
B31B | 7E : ld a,(hl) // play sound
B31C | F6 80 : or $80
B31E | 18 05 : jr $B325
B320 | FE FD : cp $FD
B322 | 20 03 : jr nz,$B327
B324 | AF : xor a // stop sound
B325 | D3 14 : out ($14),a // send sound code
B327 | 18 CD : jr $B2F6
-->
</script>
<script state="run">
<output format="----- regulus 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@C200</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@0138 = 0857 </action>
<action>maincpu.mq@B2F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B2F8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B300 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B308 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B310 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B318 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B320 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B328 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
reguluso.xml
Code: Select all
<!-- Regulus (315-5033) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@2502 = 04</action> <!-- background -->
<action>maincpu.ob@257D = C9</action> <!-- pitfall -->
<action>maincpu.ob@292C = C3</action> <!-- enemy -->
<action>maincpu.ob@3555 = C3</action> <!-- laser -->
<action>maincpu.ob@35EA = C3</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@2502 = 8B</action>
<action>maincpu.ob@257D = D8</action>
<action>maincpu.ob@292C = CA</action>
<action>maincpu.ob@3555 = CA</action>
<action>maincpu.ob@35EA = CA</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@2A8F = 00</action>
</script>
<script state="off">
<action>maincpu.mb@2A8F = 90</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x02">02 </item>
<item value="0x04">03 </item>
<item value="0x06">04 </item>
<item value="0x08">05 (fast)</item>
</parameter>
<script state="on">
<!-- y position -->
<action>maincpu.od@276F = 23FFFFCD</action>
<action>maincpu.md@276F = FFB2D0FF</action>
<!-- x position -->
<action>maincpu.od@2774 = DDFFFFCD</action>
<action>maincpu.md@2774 = FFB2DEFF</action>
<!-- main routine -->
<action>maincpu.mq@B2D0 = B2DAF2003E0728A7</action>
<action>maincpu.mq@B2D8 = 28A7C90B77DD44ED</action>
<action>maincpu.mq@B2E0 = 44EDB2E8F2003E07</action>
<action>maincpu.mq@B2E8 = FFFFFFFFC90C77DD</action>
<!--
B2D0 | A7 : and a // y position
B2D1 | 28 07 : jr z,$B2DA
B2D3 | 3E xx : ld a,$xx
B2D5 | F2 DA B2 : jp p,$B2DA
B2D8 | ED 44 : neg
B2DA | DD 77 0B : ld (ix+$0b),a
B2DD | C9 : ret
B2DE | A7 : and a // x position
B2DF | 28 07 : jr z,$B2E8
B2E1 | 3E xx : ld a,$xx
B2E3 | F2 E8 B2 : jp p,$B2E8
B2E6 | ED 44 : neg
B2E8 | DD 77 0C : ld (ix+$0c),a
B2EB | C9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@B2D4 = param</action>
<action>maincpu.mb@B2E2 = param</action>
</script>
<script state="off">
<action>maincpu.od@276F = 230B77DD </action>
<action>maincpu.md@276F = 230B77DD </action>
<action>maincpu.od@2774 = DD0C77DD </action>
<action>maincpu.md@2774 = DD0C77DD </action>
<action>maincpu.mq@B2D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B2D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B2E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B2E8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed - shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x05">02 </item>
<item value="0x0a">03 </item>
<item value="0x0f">04 </item>
<item value="0x14">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@3025 = param</action>
</script>
<script state="off">
<action>maincpu.mb@3025 = 05</action>
</script>
</cheat>
<cheat desc="fast bomb">
<script state="on">
<action>maincpu.mb@29FF = C7</action>
<action>maincpu.ob@2A31 = 3E</action>
<action>maincpu.mb@2A32 = 01</action>
</script>
<script state="off">
<action>maincpu.mb@29FF = 67</action>
<action>maincpu.ob@2A31 = D6</action>
<action>maincpu.mb@2A32 = 06</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@0138 = B2F0 </action>
<action>maincpu.mq@B2F0 = 00DBC2002116D3AF</action>
<action>maincpu.mq@B2F8 = 01207FFEFA2847B8</action>
<action>maincpu.mq@B300 = EFFE340120BFFE35</action>
<action>maincpu.mq@B308 = DFFE0618F03E0420</action>
<action>maincpu.mq@B310 = FE787786103E0520</action>
<action>maincpu.mq@B318 = 051880F67E0520FB</action>
<action>maincpu.mq@B320 = 1814D3AF0320FDFE</action>
<action>maincpu.mq@B328 = FFFFFFFFFFFFFFCD</action>
<!--
B2F0 | AF : xor a // enable sound
B2F1 | D3 16 : out ($16),a
B2F3 | 21 00 C2 : ld hl,$C200 // sound code address
B2F6 | DB 00 : in a,($00) // read input
B2F8 | B8 : cp b
B2F9 | 47 : ld b,a
B2FA | 28 FA : jr z,$B2F6
B2FC | FE 7F : cp $7F
B2FE | 20 01 : jr nz,$B301
B300 | 35 : dec (hl) // decrease code -01
B301 | FE BF : cp $BF
B303 | 20 01 : jr nz,$B306
B305 | 34 : inc (hl) // increase code +01
B306 | FE EF : cp $EF
B308 | 20 04 : jr nz,$B30E
B30A | 3E F0 : ld a,$F0 // decrease code -10
B30C | 18 06 : jr $B314
B30E | FE DF : cp $DF
B310 | 20 05 : jr nz,$B317
B312 | 3E 10 : ld a,$10 // increase code +10
B314 | 86 : add a,(hl)
B315 | 77 : ld (hl),a
B316 | 78 : ld a,b
B317 | FE FB : cp $FB
B319 | 20 05 : jr nz,$B320
B31B | 7E : ld a,(hl) // play sound
B31C | F6 80 : or $80
B31E | 18 05 : jr $B325
B320 | FE FD : cp $FD
B322 | 20 03 : jr nz,$B327
B324 | AF : xor a // stop sound
B325 | D3 14 : out ($14),a // send sound code
B327 | 18 CD : jr $B2F6
-->
</script>
<script state="run">
<output format="----- regulus 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@C200</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@0138 = 077A </action>
<action>maincpu.mq@B2F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B2F8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B300 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B308 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B310 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B318 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B320 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B328 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
regulusu.xml
Code: Select all
<!-- Regulus (not encrypted) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@2556 = 58</action> <!-- background -->
<action>maincpu.mb@25D1 = C9</action> <!-- pitfall -->
<action>maincpu.mb@2980 = C3</action> <!-- enemy -->
<action>maincpu.mb@35A9 = C3</action> <!-- laser -->
<action>maincpu.mb@363E = C3</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@2556 = DF</action>
<action>maincpu.mb@25D1 = D8</action>
<action>maincpu.mb@2980 = CA</action>
<action>maincpu.mb@35A9 = CA</action>
<action>maincpu.mb@363E = CA</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@2AE3 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@2AE3 = 90</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x02">02 </item>
<item value="0x04">03 </item>
<item value="0x06">04 </item>
<item value="0x08">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@27C3 = 23B2D0CD </action> <!-- y position -->
<action>maincpu.md@27C8 = DDB2DECD </action> <!-- x position -->
<action>maincpu.mq@B2D0 = B2DAF2003E0728A7</action>
<action>maincpu.mq@B2D8 = 28A7C90B77DD44ED</action>
<action>maincpu.mq@B2E0 = 44EDB2E8F2003E07</action>
<action>maincpu.mq@B2E8 = FFFFFFFFC90C77DD</action>
<!--
B2D0 | A7 : and a // y position
B2D1 | 28 07 : jr z,$B2DA
B2D3 | 3E xx : ld a,$xx
B2D5 | F2 DA B2 : jp p,$B2DA
B2D8 | ED 44 : neg
B2DA | DD 77 0B : ld (ix+$0b),a
B2DD | C9 : ret
B2DE | A7 : and a // x position
B2DF | 28 07 : jr z,$B2E8
B2E1 | 3E xx : ld a,$xx
B2E3 | F2 E8 B2 : jp p,$B2E8
B2E6 | ED 44 : neg
B2E8 | DD 77 0C : ld (ix+$0c),a
B2EB | C9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@B2D4 = param</action>
<action>maincpu.mb@B2E2 = param</action>
</script>
<script state="off">
<action>maincpu.md@27C3 = 230B77DD </action>
<action>maincpu.md@27C8 = DD0C77DD </action>
<action>maincpu.mq@B2D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B2D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B2E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B2E8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed - shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x05">02 </item>
<item value="0x0a">03 </item>
<item value="0x0f">04 </item>
<item value="0x14">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@3079 = param</action>
</script>
<script state="off">
<action>maincpu.mb@3079 = 05</action>
</script>
</cheat>
<cheat desc="fast bomb">
<script state="on">
<action>maincpu.mb@2A53 = C7 </action>
<action>maincpu.mw@2A85 = 013E</action>
</script>
<script state="off">
<action>maincpu.mb@2A53 = 67 </action>
<action>maincpu.mw@2A85 = 06D6</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@0138 = B2F0 </action>
<action>maincpu.mq@B2F0 = 00DBC2002116D3AF</action>
<action>maincpu.mq@B2F8 = 01207FFEFA2847B8</action>
<action>maincpu.mq@B300 = EFFE340120BFFE35</action>
<action>maincpu.mq@B308 = DFFE0618F03E0420</action>
<action>maincpu.mq@B310 = FE787786103E0520</action>
<action>maincpu.mq@B318 = 051880F67E0520FB</action>
<action>maincpu.mq@B320 = 1814D3AF0320FDFE</action>
<action>maincpu.mq@B328 = FFFFFFFFFFFFFFCD</action>
<!--
B2F0 | AF : xor a // enable sound
B2F1 | D3 16 : out ($16),a
B2F3 | 21 00 C2 : ld hl,$C200 // sound code address
B2F6 | DB 00 : in a,($00) // read input
B2F8 | B8 : cp b
B2F9 | 47 : ld b,a
B2FA | 28 FA : jr z,$B2F6
B2FC | FE 7F : cp $7F
B2FE | 20 01 : jr nz,$B301
B300 | 35 : dec (hl) // decrease code -01
B301 | FE BF : cp $BF
B303 | 20 01 : jr nz,$B306
B305 | 34 : inc (hl) // increase code +01
B306 | FE EF : cp $EF
B308 | 20 04 : jr nz,$B30E
B30A | 3E F0 : ld a,$F0 // decrease code -10
B30C | 18 06 : jr $B314
B30E | FE DF : cp $DF
B310 | 20 05 : jr nz,$B317
B312 | 3E 10 : ld a,$10 // increase code +10
B314 | 86 : add a,(hl)
B315 | 77 : ld (hl),a
B316 | 78 : ld a,b
B317 | FE FB : cp $FB
B319 | 20 05 : jr nz,$B320
B31B | 7E : ld a,(hl) // play sound
B31C | F6 80 : or $80
B31E | 18 05 : jr $B325
B320 | FE FD : cp $FD
B322 | 20 03 : jr nz,$B327
B324 | AF : xor a // stop sound
B325 | D3 14 : out ($14),a // send sound code
B327 | 18 CD : jr $B2F6
-->
</script>
<script state="run">
<output format="----- regulus 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@C200</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@0138 = 0857 </action>
<action>maincpu.mq@B2F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B2F8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B300 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B308 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B310 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B318 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B320 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B328 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>