streetsm.xml
Code: Select all
<!-- Street Smart (US version 2) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@956E = 60</action> <!-- attack -->
<action>maincpu.mb@5E92 = 60</action> <!-- catch level 2 -->
<action>maincpu.mb@5FA0 = 60</action> <!-- catch level 3 -->
<action>maincpu.mb@6736 = 60</action> <!-- throw level 3 -->
<action>maincpu.mb@620A = 60</action> <!-- catch level 5 -->
<action>maincpu.mb@5418 = 60</action> <!-- air throw level 6 -->
<action>maincpu.mb@64E2 = 60</action> <!-- catch level 7 -->
<action>maincpu.mb@63AA = 60</action> <!-- catch level 8 -->
</script>
<script state="off">
<action>maincpu.mb@956E = 6E</action>
<action>maincpu.mb@5E92 = 67</action>
<action>maincpu.mb@5FA0 = 6C</action>
<action>maincpu.mb@6736 = 6C</action>
<action>maincpu.mb@620A = 6C</action>
<action>maincpu.mb@5418 = 6E</action>
<action>maincpu.mb@64E2 = 6C</action>
<action>maincpu.mb@63AA = 6C</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@1F3F = 01</action> <!-- kick -->
<action>maincpu.mb@1F67 = 01</action> <!-- punch -->
</script>
<script state="off">
<action>maincpu.mb@1F3F = 00</action>
<action>maincpu.mb@1F67 = 00</action>
</script>
</cheat>
<cheat desc="attack speed up">
<script state="on">
<action>maincpu.mq@0444C = 4EB90001ED50317C</action>
<action>maincpu.mq@1ED50 = 316900020016B1FC</action>
<action>maincpu.mq@1ED58 = 000400006708B1FC</action>
<action>maincpu.mq@1ED60 = 00040100660A4A28</action>
<action>maincpu.mq@1ED68 = 0030670442680016</action>
<action>maincpu.mq@1ED70 = 4E75FFFFFFFFFFFF</action>
<!--
1ED50 | 3169 0002 0016 : move.w ($2,A1), ($16,A0)
1ED56 | B1FC 0004 0000 : cmpa.l #$40000, A0
1ED5C | 6708 : beq $1ed66
1ED5E | B1FC 0004 0100 : cmpa.l #$40100, A0
1ED64 | 660A : bne $1ed70
1ED66 | 4A28 0030 : tst.b ($30,A0)
1ED6A | 6704 : beq $1ed70
1ED6C | 4268 0016 : clr.w ($16,A0)
1ED70 | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.mq@0444C = 316900020016317C</action>
<action>maincpu.mq@1ED50 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1ED58 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1ED60 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1ED68 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1ED70 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="sound test mode">
<!-- you can't stop sound code 0x3a by sound stop button -->
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mb@01971 = DC</action> <!-- disable right credit display -->
<action>maincpu.mb@01977 = 50</action> <!-- disable left credit display -->
<action>maincpu.mq@01136 = 4EF90001ED803E3C</action>
<action>maincpu.mq@1ED80 = 41F90004000043F9</action>
<action>maincpu.mq@1ED88 = 0008000042A83F5C</action>
<action>maincpu.mq@1ED90 = 4210120010290001</action>
<action>maincpu.mq@1ED98 = B20067F60C0000FB</action>
<action>maincpu.mq@1EDA0 = 660253100C0000F7</action>
<action>maincpu.mq@1EDA8 = 660252100C0000FD</action>
<action>maincpu.mq@1EDB0 = 6604041000100C00</action>
<action>maincpu.mq@1EDB8 = 00FE660406100010</action>
<action>maincpu.mq@1EDC0 = 0C0000EF66021290</action>
<action>maincpu.mq@1EDC8 = 0C0000BF66024211</action>
<action>maincpu.mq@1EDD0 = 60C0FFFFFFFFFFFF</action>
<!--
1ED80 | 41F9 0004 0000 : lea $40000.l, A0 // sound code address
1ED86 | 43F9 0008 0000 : lea $80000.l, A1 // sound latch address
1ED8C | 42A8 3F5C : clr.l ($3f5c,A0) // initialize sound flags
1ED90 | 4210 : clr.b (A0) // initialize sound code
1ED92 | 1200 : move.b D0, D1
1ED94 | 1029 0001 : move.b ($1,A1), D0 // read input ($80001)
1ED98 | B200 : cmp.b D0, D1
1ED9A | 67F6 : beq $1ed92
1ED9C | 0C00 00FB : cmpi.b #-$5, D0
1EDA0 | 6602 : bne $1eda4
1EDA2 | 5310 : subq.b #1, (A0) // decrease code -01
1EDA4 | 0C00 00F7 : cmpi.b #-$9, D0
1EDA8 | 6602 : bne $1edac
1EDAA | 5210 : addq.b #1, (A0) // increase code +01
1EDAC | 0C00 00FD : cmpi.b #-$3, D0
1EDB0 | 6604 : bne $1edb6
1EDB2 | 0410 0010 : subi.b #$10, (A0) // decrease code -10
1EDB6 | 0C00 00FE : cmpi.b #-$2, D0
1EDBA | 6604 : bne $1edc0
1EDBC | 0610 0010 : addi.b #$10, (A0) // increase code +10
1EDC0 | 0C00 00EF : cmpi.b #-$11, D0
1EDC4 | 6602 : bne $1edc8
1EDC6 | 1290 : move.b (A0), (A1) // play sound
1EDC8 | 0C00 00BF : cmpi.b #-$41, D0
1EDCC | 6602 : bne $1edd0
1EDCE | 4211 : clr.b (A1) // stop sound
1EDD0 | 60C0 : bra $1ed92
-->
<action>soundcpu.md@097A = 00C680CD </action>
<action>soundcpu.mq@C680 = 80D30F20A7F8003A</action>
<action>soundcpu.mq@C688 = CD80D3803E0091CD</action>
<action>soundcpu.mq@C690 = 32AF470000C30091</action>
<action>soundcpu.mq@C698 = 78F14632013EF115</action>
<action>soundcpu.mq@C6A0 = FFFFFFFFFFFFFFC9</action>
<!--
C680 | 3A 00 F8 : ld a,($F800) // read sound code from maincpu
C683 | A7 : and a
C684 | 20 0F : jr nz,$C695
C686 | D3 80 : out ($80),a // reset sample
C688 | CD 91 00 : call $0091
C68B | 3E 80 : ld a,$80 // enable sample
C68D | D3 80 : out ($80),a
C68F | CD 91 00 : call $0091
C692 | C3 00 00 : jp $0000 // reset soundcpu
C695 | 47 : ld b,a
C696 | AF : xor a // initialize sound flags
C697 | 32 15 F1 : ld ($F115),a
C69A | 3E 01 : ld a,$01
C69C | 32 46 F1 : ld ($F146),a
C69F | 78 : ld a,b
C6A0 | C9 : ret
-->
</script>
<script state="run">
<output format="----- street smart 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 %2.2X >>" line="19" align="center" >
<argument>maincpu.pb@40000</argument>
</output>
</script>
<script state="off">
<action> maincpu.mb@01971 = DE</action>
<action> maincpu.mb@01977 = 52</action>
<action> maincpu.mq@01136 = 41F900043F2E3E3C</action>
<action> maincpu.mq@1ED80 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1ED88 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1ED90 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1ED98 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDA0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDA8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDB0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDB8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDC0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDC8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDD0 = FFFFFFFFFFFFFFFF</action>
<action>soundcpu.md@0097A = 00F8003A </action>
<action>soundcpu.mq@0C680 = FFFFFFFFFFFFFFFF</action>
<action>soundcpu.mq@0C688 = FFFFFFFFFFFFFFFF</action>
<action>soundcpu.mq@0C690 = FFFFFFFFFFFFFFFF</action>
<action>soundcpu.mq@0C698 = FFFFFFFFFFFFFFFF</action>
<action>soundcpu.mq@0C6A0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action> maincpu.md@107A = 0000107E</action>
<action>soundcpu.mw@0CC4 = 5A18 </action>
</script>
<script state="off">
<action> maincpu.md@107A = 00010680</action>
<action>soundcpu.mw@0CC4 = 013E </action>
</script>
</cheat>
</mamecheat>
streetsm1.xml
Code: Select all
<!-- Street Smart (US version 1) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@9568 = 60</action> <!-- attack -->
<action>maincpu.mb@5E8C = 60</action> <!-- catch level 2 -->
<action>maincpu.mb@5F9A = 60</action> <!-- catch level 3 -->
<action>maincpu.mb@6730 = 60</action> <!-- throw level 3 -->
<action>maincpu.mb@6204 = 60</action> <!-- catch level 5 -->
<action>maincpu.mb@5412 = 60</action> <!-- air throw level 6 -->
<action>maincpu.mb@64DC = 60</action> <!-- catch level 7 -->
<action>maincpu.mb@63A4 = 60</action> <!-- catch level 8 -->
</script>
<script state="off">
<action>maincpu.mb@9568 = 6E</action>
<action>maincpu.mb@5E8C = 67</action>
<action>maincpu.mb@5F9A = 6C</action>
<action>maincpu.mb@6730 = 6C</action>
<action>maincpu.mb@6204 = 6C</action>
<action>maincpu.mb@5412 = 6E</action>
<action>maincpu.mb@64DC = 6C</action>
<action>maincpu.mb@63A4 = 6C</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@1F39 = 01</action> <!-- kick -->
<action>maincpu.mb@1F61 = 01</action> <!-- punch -->
</script>
<script state="off">
<action>maincpu.mb@1F39 = 00</action>
<action>maincpu.mb@1F61 = 00</action>
</script>
</cheat>
<cheat desc="attack speed up">
<script state="on">
<action>maincpu.mq@04446 = 4EB90001EA00317C</action>
<action>maincpu.mq@1EA00 = 316900020016B1FC</action>
<action>maincpu.mq@1EA08 = 000400006708B1FC</action>
<action>maincpu.mq@1EA10 = 00040100660A4A28</action>
<action>maincpu.mq@1EA18 = 0030670442680016</action>
<action>maincpu.mq@1EA20 = 4E75FFFFFFFFFFFF</action>
<!--
1EA00 | 3169 0002 0016 : move.w ($2,A1), ($16,A0)
1EA06 | B1FC 0004 0000 : cmpa.l #$40000, A0
1EA0C | 6708 : beq $1ea16
1EA0E | B1FC 0004 0100 : cmpa.l #$40100, A0
1EA14 | 660A : bne $1ea20
1EA16 | 4A28 0030 : tst.b ($30,A0)
1EA1A | 6704 : beq $1ea20
1EA1C | 4268 0016 : clr.w ($16,A0)
1EA20 | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.mq@04446 = 316900020016317C</action>
<action>maincpu.mq@1EA00 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1EA08 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1EA10 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1EA18 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1EA20 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="sound test mode">
<!-- you can't stop sound code 0x3a by sound stop button -->
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mb@0196B = 4C</action> <!-- disable right credit display -->
<action>maincpu.mb@01971 = C0</action> <!-- disable left credit display -->
<action>maincpu.mq@01136 = 4EF90001ED803E3C</action>
<action>maincpu.mq@1ED80 = 41F90004000043F9</action>
<action>maincpu.mq@1ED88 = 0008000042A83F5C</action>
<action>maincpu.mq@1ED90 = 4210120010290001</action>
<action>maincpu.mq@1ED98 = B20067F60C0000FB</action>
<action>maincpu.mq@1EDA0 = 660253100C0000F7</action>
<action>maincpu.mq@1EDA8 = 660252100C0000FD</action>
<action>maincpu.mq@1EDB0 = 6604041000100C00</action>
<action>maincpu.mq@1EDB8 = 00FE660406100010</action>
<action>maincpu.mq@1EDC0 = 0C0000EF66021290</action>
<action>maincpu.mq@1EDC8 = 0C0000BF66024211</action>
<action>maincpu.mq@1EDD0 = 60C0FFFFFFFFFFFF</action>
<!--
1ED80 | 41F9 0004 0000 : lea $40000.l, A0 // sound code address
1ED86 | 43F9 0008 0000 : lea $80000.l, A1 // sound latch address
1ED8C | 42A8 3F5C : clr.l ($3f5c,A0) // initialize sound flags
1ED90 | 4210 : clr.b (A0) // initialize sound code
1ED92 | 1200 : move.b D0, D1
1ED94 | 1029 0001 : move.b ($1,A1), D0 // read input ($80001)
1ED98 | B200 : cmp.b D0, D1
1ED9A | 67F6 : beq $1ed92
1ED9C | 0C00 00FB : cmpi.b #-$5, D0
1EDA0 | 6602 : bne $1eda4
1EDA2 | 5310 : subq.b #1, (A0) // decrease code -01
1EDA4 | 0C00 00F7 : cmpi.b #-$9, D0
1EDA8 | 6602 : bne $1edac
1EDAA | 5210 : addq.b #1, (A0) // increase code +01
1EDAC | 0C00 00FD : cmpi.b #-$3, D0
1EDB0 | 6604 : bne $1edb6
1EDB2 | 0410 0010 : subi.b #$10, (A0) // decrease code -10
1EDB6 | 0C00 00FE : cmpi.b #-$2, D0
1EDBA | 6604 : bne $1edc0
1EDBC | 0610 0010 : addi.b #$10, (A0) // increase code +10
1EDC0 | 0C00 00EF : cmpi.b #-$11, D0
1EDC4 | 6602 : bne $1edc8
1EDC6 | 1290 : move.b (A0), (A1) // play sound
1EDC8 | 0C00 00BF : cmpi.b #-$41, D0
1EDCC | 6602 : bne $1edd0
1EDCE | 4211 : clr.b (A1) // stop sound
1EDD0 | 60C0 : bra $1ed92
-->
<action>soundcpu.md@097A = 00C680CD </action>
<action>soundcpu.mq@C680 = 80D30F20A7F8003A</action>
<action>soundcpu.mq@C688 = CD80D3803E0091CD</action>
<action>soundcpu.mq@C690 = 32AF470000C30091</action>
<action>soundcpu.mq@C698 = 78F14632013EF115</action>
<action>soundcpu.mq@C6A0 = FFFFFFFFFFFFFFC9</action>
<!--
C680 | 3A 00 F8 : ld a,($F800) // read sound code from maincpu
C683 | A7 : and a
C684 | 20 0F : jr nz,$C695
C686 | D3 80 : out ($80),a // reset sample
C688 | CD 91 00 : call $0091
C68B | 3E 80 : ld a,$80 // enable sample
C68D | D3 80 : out ($80),a
C68F | CD 91 00 : call $0091
C692 | C3 00 00 : jp $0000 // reset soundcpu
C695 | 47 : ld b,a
C696 | AF : xor a // initialize sound flags
C697 | 32 15 F1 : ld ($F115),a
C69A | 3E 01 : ld a,$01
C69C | 32 46 F1 : ld ($F146),a
C69F | 78 : ld a,b
C6A0 | C9 : ret
-->
</script>
<script state="run">
<output format="----- street smart 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 %2.2X >>" line="19" align="center" >
<argument>maincpu.pb@40000</argument>
</output>
</script>
<script state="off">
<action> maincpu.mb@0196B = 4E</action>
<action> maincpu.mb@01971 = C2</action>
<action> maincpu.mq@01136 = 41F900043F2E3E3C</action>
<action> maincpu.mq@1ED80 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1ED88 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1ED90 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1ED98 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDA0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDA8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDB0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDB8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDC0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDC8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDD0 = FFFFFFFFFFFFFFFF</action>
<action>soundcpu.md@0097A = 00F8003A </action>
<action>soundcpu.mq@0C680 = FFFFFFFFFFFFFFFF</action>
<action>soundcpu.mq@0C688 = FFFFFFFFFFFFFFFF</action>
<action>soundcpu.mq@0C690 = FFFFFFFFFFFFFFFF</action>
<action>soundcpu.mq@0C698 = FFFFFFFFFFFFFFFF</action>
<action>soundcpu.mq@0C6A0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action> maincpu.md@107A = 0000107E</action>
<action>soundcpu.mw@0CC4 = 5A18 </action>
</script>
<script state="off">
<action> maincpu.md@107A = 000105E8</action>
<action>soundcpu.mw@0CC4 = 013E </action>
</script>
</cheat>
</mamecheat>
streetsmw.xml
Code: Select all
<!-- Street Smart (World version 1) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@9538 = 60</action> <!-- attack -->
<action>maincpu.mb@5E8C = 60</action> <!-- catch level 2 -->
<action>maincpu.mb@5F9A = 60</action> <!-- catch level 3 -->
<action>maincpu.mb@6730 = 60</action> <!-- throw level 3 -->
<action>maincpu.mb@6204 = 60</action> <!-- catch level 5 -->
<action>maincpu.mb@5412 = 60</action> <!-- air throw level 6 -->
<action>maincpu.mb@64DC = 60</action> <!-- catch level 7 -->
<action>maincpu.mb@63A4 = 60</action> <!-- catch level 8 -->
</script>
<script state="off">
<action>maincpu.mb@9538 = 6E</action>
<action>maincpu.mb@5E8C = 67</action>
<action>maincpu.mb@5F9A = 6C</action>
<action>maincpu.mb@6730 = 6C</action>
<action>maincpu.mb@6204 = 6C</action>
<action>maincpu.mb@5412 = 6E</action>
<action>maincpu.mb@64DC = 6C</action>
<action>maincpu.mb@63A4 = 6C</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@1F39 = 01</action> <!-- kick -->
<action>maincpu.mb@1F61 = 01</action> <!-- punch -->
</script>
<script state="off">
<action>maincpu.mb@1F39 = 00</action>
<action>maincpu.mb@1F61 = 00</action>
</script>
</cheat>
<cheat desc="attack speed up">
<script state="on">
<action>maincpu.mq@04446 = 4EB90001E950317C</action>
<action>maincpu.mq@1E950 = 316900020016B1FC</action>
<action>maincpu.mq@1E958 = 000400006708B1FC</action>
<action>maincpu.mq@1E960 = 00040100660A4A28</action>
<action>maincpu.mq@1E968 = 0030670442680016</action>
<action>maincpu.mq@1E970 = 4E75FFFFFFFFFFFF</action>
<!--
1E950 | 3169 0002 0016 : move.w ($2,A1), ($16,A0)
1E956 | B1FC 0004 0000 : cmpa.l #$40000, A0
1E95C | 6708 : beq $1e966
1E95E | B1FC 0004 0100 : cmpa.l #$40100, A0
1E964 | 660A : bne $1e970
1E966 | 4A28 0030 : tst.b ($30,A0)
1E96A | 6704 : beq $1e970
1E96C | 4268 0016 : clr.w ($16,A0)
1E970 | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.mq@04446 = 316900020016317C</action>
<action>maincpu.mq@1E950 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1E958 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1E960 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1E968 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1E970 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="sound test mode">
<!-- you can't stop sound code 0x3a by sound stop button -->
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mb@0196B = 84</action> <!-- disable credit display -->
<action>maincpu.mq@01136 = 4EF90001ED803E3C</action>
<action>maincpu.mq@1ED80 = 41F90004000043F9</action>
<action>maincpu.mq@1ED88 = 0008000042A83F5C</action>
<action>maincpu.mq@1ED90 = 4210120010290001</action>
<action>maincpu.mq@1ED98 = B20067F60C0000FB</action>
<action>maincpu.mq@1EDA0 = 660253100C0000F7</action>
<action>maincpu.mq@1EDA8 = 660252100C0000FD</action>
<action>maincpu.mq@1EDB0 = 6604041000100C00</action>
<action>maincpu.mq@1EDB8 = 00FE660406100010</action>
<action>maincpu.mq@1EDC0 = 0C0000EF66021290</action>
<action>maincpu.mq@1EDC8 = 0C0000BF66024211</action>
<action>maincpu.mq@1EDD0 = 60C0FFFFFFFFFFFF</action>
<!--
1ED80 | 41F9 0004 0000 : lea $40000.l, A0 // sound code address
1ED86 | 43F9 0008 0000 : lea $80000.l, A1 // sound latch address
1ED8C | 42A8 3F5C : clr.l ($3f5c,A0) // initialize sound flags
1ED90 | 4210 : clr.b (A0) // initialize sound code
1ED92 | 1200 : move.b D0, D1
1ED94 | 1029 0001 : move.b ($1,A1), D0 // read input ($80001)
1ED98 | B200 : cmp.b D0, D1
1ED9A | 67F6 : beq $1ed92
1ED9C | 0C00 00FB : cmpi.b #-$5, D0
1EDA0 | 6602 : bne $1eda4
1EDA2 | 5310 : subq.b #1, (A0) // decrease code -01
1EDA4 | 0C00 00F7 : cmpi.b #-$9, D0
1EDA8 | 6602 : bne $1edac
1EDAA | 5210 : addq.b #1, (A0) // increase code +01
1EDAC | 0C00 00FD : cmpi.b #-$3, D0
1EDB0 | 6604 : bne $1edb6
1EDB2 | 0410 0010 : subi.b #$10, (A0) // decrease code -10
1EDB6 | 0C00 00FE : cmpi.b #-$2, D0
1EDBA | 6604 : bne $1edc0
1EDBC | 0610 0010 : addi.b #$10, (A0) // increase code +10
1EDC0 | 0C00 00EF : cmpi.b #-$11, D0
1EDC4 | 6602 : bne $1edc8
1EDC6 | 1290 : move.b (A0), (A1) // play sound
1EDC8 | 0C00 00BF : cmpi.b #-$41, D0
1EDCC | 6602 : bne $1edd0
1EDCE | 4211 : clr.b (A1) // stop sound
1EDD0 | 60C0 : bra $1ed92
-->
<action>soundcpu.md@097A = 00C680CD </action>
<action>soundcpu.mq@C680 = 80D30F20A7F8003A</action>
<action>soundcpu.mq@C688 = CD80D3803E0091CD</action>
<action>soundcpu.mq@C690 = 32AF470000C30091</action>
<action>soundcpu.mq@C698 = 78F14632013EF115</action>
<action>soundcpu.mq@C6A0 = FFFFFFFFFFFFFFC9</action>
<!--
C680 | 3A 00 F8 : ld a,($F800) // read sound code from maincpu
C683 | A7 : and a
C684 | 20 0F : jr nz,$C695
C686 | D3 80 : out ($80),a // reset sample
C688 | CD 91 00 : call $0091
C68B | 3E 80 : ld a,$80 // enable sample
C68D | D3 80 : out ($80),a
C68F | CD 91 00 : call $0091
C692 | C3 00 00 : jp $0000 // reset soundcpu
C695 | 47 : ld b,a
C696 | AF : xor a // initialize sound flags
C697 | 32 15 F1 : ld ($F115),a
C69A | 3E 01 : ld a,$01
C69C | 32 46 F1 : ld ($F146),a
C69F | 78 : ld a,b
C6A0 | C9 : ret
-->
</script>
<script state="run">
<output format="----- street smart 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 %2.2X >>" line="19" align="center" >
<argument>maincpu.pb@40000</argument>
</output>
</script>
<script state="off">
<action> maincpu.mb@0196B = 86</action>
<action> maincpu.mq@01136 = 41F900043F2E3E3C</action>
<action> maincpu.mq@1ED80 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1ED88 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1ED90 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1ED98 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDA0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDA8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDB0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDB8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDC0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDC8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDD0 = FFFFFFFFFFFFFFFF</action>
<action>soundcpu.md@0097A = 00F8003A </action>
<action>soundcpu.mq@0C680 = FFFFFFFFFFFFFFFF</action>
<action>soundcpu.mq@0C688 = FFFFFFFFFFFFFFFF</action>
<action>soundcpu.mq@0C690 = FFFFFFFFFFFFFFFF</action>
<action>soundcpu.mq@0C698 = FFFFFFFFFFFFFFFF</action>
<action>soundcpu.mq@0C6A0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action> maincpu.md@107A = 0000107E</action>
<action>soundcpu.mw@0CC4 = 5A18 </action>
</script>
<script state="off">
<action> maincpu.md@107A = 00010536</action>
<action>soundcpu.mw@0CC4 = 013E </action>
</script>
</cheat>
</mamecheat>
streetsmj.xml
Code: Select all
<!-- Street Smart (Japan version 1) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@9538 = 60</action> <!-- attack -->
<action>maincpu.mb@5E8C = 60</action> <!-- catch level 2 -->
<action>maincpu.mb@5F9A = 60</action> <!-- catch level 3 -->
<action>maincpu.mb@6730 = 60</action> <!-- throw level 3 -->
<action>maincpu.mb@6204 = 60</action> <!-- catch level 5 -->
<action>maincpu.mb@5412 = 60</action> <!-- air throw level 6 -->
<action>maincpu.mb@64DC = 60</action> <!-- catch level 7 -->
<action>maincpu.mb@63A4 = 60</action> <!-- catch level 8 -->
</script>
<script state="off">
<action>maincpu.mb@9538 = 6E</action>
<action>maincpu.mb@5E8C = 67</action>
<action>maincpu.mb@5F9A = 6C</action>
<action>maincpu.mb@6730 = 6C</action>
<action>maincpu.mb@6204 = 6C</action>
<action>maincpu.mb@5412 = 6E</action>
<action>maincpu.mb@64DC = 6C</action>
<action>maincpu.mb@63A4 = 6C</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@1F39 = 01</action> <!-- kick -->
<action>maincpu.mb@1F61 = 01</action> <!-- punch -->
</script>
<script state="off">
<action>maincpu.mb@1F39 = 00</action>
<action>maincpu.mb@1F61 = 00</action>
</script>
</cheat>
<cheat desc="attack speed up">
<script state="on">
<action>maincpu.mq@04446 = 4EB90001E950317C</action>
<action>maincpu.mq@1E950 = 316900020016B1FC</action>
<action>maincpu.mq@1E958 = 000400006708B1FC</action>
<action>maincpu.mq@1E960 = 00040100660A4A28</action>
<action>maincpu.mq@1E968 = 0030670442680016</action>
<action>maincpu.mq@1E970 = 4E75FFFFFFFFFFFF</action>
<!--
1E950 | 3169 0002 0016 : move.w ($2,A1), ($16,A0)
1E956 | B1FC 0004 0000 : cmpa.l #$40000, A0
1E95C | 6708 : beq $1e966
1E95E | B1FC 0004 0100 : cmpa.l #$40100, A0
1E964 | 660A : bne $1e970
1E966 | 4A28 0030 : tst.b ($30,A0)
1E96A | 6704 : beq $1e970
1E96C | 4268 0016 : clr.w ($16,A0)
1E970 | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.mq@04446 = 316900020016317C</action>
<action>maincpu.mq@1E950 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1E958 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1E960 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1E968 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@1E970 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="sound test mode">
<!-- you can't stop sound code 0x3a by sound stop button -->
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mb@0196B = 84</action> <!-- disable credit display -->
<action>maincpu.mq@01136 = 4EF90001ED803E3C</action>
<action>maincpu.mq@1ED80 = 41F90004000043F9</action>
<action>maincpu.mq@1ED88 = 0008000042A83F5C</action>
<action>maincpu.mq@1ED90 = 4210120010290001</action>
<action>maincpu.mq@1ED98 = B20067F60C0000FB</action>
<action>maincpu.mq@1EDA0 = 660253100C0000F7</action>
<action>maincpu.mq@1EDA8 = 660252100C0000FD</action>
<action>maincpu.mq@1EDB0 = 6604041000100C00</action>
<action>maincpu.mq@1EDB8 = 00FE660406100010</action>
<action>maincpu.mq@1EDC0 = 0C0000EF66021290</action>
<action>maincpu.mq@1EDC8 = 0C0000BF66024211</action>
<action>maincpu.mq@1EDD0 = 60C0FFFFFFFFFFFF</action>
<!--
1ED80 | 41F9 0004 0000 : lea $40000.l, A0 // sound code address
1ED86 | 43F9 0008 0000 : lea $80000.l, A1 // sound latch address
1ED8C | 42A8 3F5C : clr.l ($3f5c,A0) // initialize sound flags
1ED90 | 4210 : clr.b (A0) // initialize sound code
1ED92 | 1200 : move.b D0, D1
1ED94 | 1029 0001 : move.b ($1,A1), D0 // read input ($80001)
1ED98 | B200 : cmp.b D0, D1
1ED9A | 67F6 : beq $1ed92
1ED9C | 0C00 00FB : cmpi.b #-$5, D0
1EDA0 | 6602 : bne $1eda4
1EDA2 | 5310 : subq.b #1, (A0) // decrease code -01
1EDA4 | 0C00 00F7 : cmpi.b #-$9, D0
1EDA8 | 6602 : bne $1edac
1EDAA | 5210 : addq.b #1, (A0) // increase code +01
1EDAC | 0C00 00FD : cmpi.b #-$3, D0
1EDB0 | 6604 : bne $1edb6
1EDB2 | 0410 0010 : subi.b #$10, (A0) // decrease code -10
1EDB6 | 0C00 00FE : cmpi.b #-$2, D0
1EDBA | 6604 : bne $1edc0
1EDBC | 0610 0010 : addi.b #$10, (A0) // increase code +10
1EDC0 | 0C00 00EF : cmpi.b #-$11, D0
1EDC4 | 6602 : bne $1edc8
1EDC6 | 1290 : move.b (A0), (A1) // play sound
1EDC8 | 0C00 00BF : cmpi.b #-$41, D0
1EDCC | 6602 : bne $1edd0
1EDCE | 4211 : clr.b (A1) // stop sound
1EDD0 | 60C0 : bra $1ed92
-->
<action>soundcpu.md@097A = 00C680CD </action>
<action>soundcpu.mq@C680 = 80D30F20A7F8003A</action>
<action>soundcpu.mq@C688 = CD80D3803E0091CD</action>
<action>soundcpu.mq@C690 = 32AF470000C30091</action>
<action>soundcpu.mq@C698 = 78F14632013EF115</action>
<action>soundcpu.mq@C6A0 = FFFFFFFFFFFFFFC9</action>
<!--
C680 | 3A 00 F8 : ld a,($F800) // read sound code from maincpu
C683 | A7 : and a
C684 | 20 0F : jr nz,$C695
C686 | D3 80 : out ($80),a // reset sample
C688 | CD 91 00 : call $0091
C68B | 3E 80 : ld a,$80 // enable sample
C68D | D3 80 : out ($80),a
C68F | CD 91 00 : call $0091
C692 | C3 00 00 : jp $0000 // reset soundcpu
C695 | 47 : ld b,a
C696 | AF : xor a // initialize sound flags
C697 | 32 15 F1 : ld ($F115),a
C69A | 3E 01 : ld a,$01
C69C | 32 46 F1 : ld ($F146),a
C69F | 78 : ld a,b
C6A0 | C9 : ret
-->
</script>
<script state="run">
<output format="----- street smart 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 %2.2X >>" line="19" align="center" >
<argument>maincpu.pb@40000</argument>
</output>
</script>
<script state="off">
<action> maincpu.mb@0196B = 86</action>
<action> maincpu.mq@01136 = 41F900043F2E3E3C</action>
<action> maincpu.mq@1ED80 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1ED88 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1ED90 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1ED98 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDA0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDA8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDB0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDB8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDC0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDC8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@1EDD0 = FFFFFFFFFFFFFFFF</action>
<action>soundcpu.md@0097A = 00F8003A </action>
<action>soundcpu.mq@0C680 = FFFFFFFFFFFFFFFF</action>
<action>soundcpu.mq@0C688 = FFFFFFFFFFFFFFFF</action>
<action>soundcpu.mq@0C690 = FFFFFFFFFFFFFFFF</action>
<action>soundcpu.mq@0C698 = FFFFFFFFFFFFFFFF</action>
<action>soundcpu.mq@0C6A0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action> maincpu.md@107A = 0000107E</action>
<action>soundcpu.mw@0CC4 = 5A18 </action>
</script>
<script state="off">
<action> maincpu.md@107A = 00010536</action>
<action>soundcpu.mw@0CC4 = 013E </action>
</script>
</cheat>
</mamecheat>