ougonhai.xml
Code: Select all
<!-- Mahjong Ougon no Hai (Japan) -->
<mamecheat version="1">
<cheat desc="winning hand">
<script state="on">
<action>maincpu.mw@19914 = 5A80 </action> <!-- tsumo -->
<action>maincpu.mw@19343 = 5A87 </action> <!-- ron -->
<action>maincpu.mq@05A80 = 1C1EC18A1C5A8E1C</action>
<action>maincpu.mq@05A88 = A03A1EC2141C5A8E</action>
<action>maincpu.mq@05A90 = FE000E3861C0395A</action>
<action>maincpu.mq@05A98 = 1E266440EB373659</action>
<action>maincpu.mq@05AA0 = 3535353232313131</action>
<action>maincpu.mq@05AA8 = 0000373737363636</action>
<!--
5A80 | 1C 8E 5A : call ,$5A8E // tsumo
5A83 | 1C 8A C1 : call ,$C18A
5A86 | 1E : ret
5A87 | 1C 8E 5A : call ,$5A8E // ron
5A8A | 1C 14 C2 : call ,$C214
5A8D | 1E : ret
5A8E | 3A A0 5A : ld hl,$5AA0 // tile conversion routine
5A91 | 39 C0 61 : ld de,$61C0
5A94 | 38 0E 00 : ld bc,$000E
5A97 | FE 59 : ldir
5A99 | 36 37 : ld a,$37
5A9B | EB 40 64 26 : ld ($6440),a
5A9F | 1E : ret
-->
</script>
<script state="off">
<action>maincpu.mw@19914 = C18A </action>
<action>maincpu.mw@19343 = C214 </action>
<action>maincpu.mq@05A80 = 0000000000000000</action>
<action>maincpu.mq@05A88 = 0000000000000000</action>
<action>maincpu.mq@05A90 = 0000000000000000</action>
<action>maincpu.mq@05A98 = 0000000000000000</action>
<action>maincpu.mq@05AA0 = 0000000000000000</action>
<action>maincpu.mq@05AA8 = 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.mw@3DAF = 5AB0 </action>
<action>maincpu.mq@5AB0 = 771C0037EA60003A</action>
<action>maincpu.mq@5AB8 = 816FF8C62867F830</action>
<action>maincpu.mq@5AC0 = 02CE826F8FE202CE</action>
<action>maincpu.mq@5AC8 = F03604CE836F87E2</action>
<action>maincpu.mq@5AD0 = 103607CE846F06C8</action>
<action>maincpu.mq@5AD8 = CE856F2026EA60E2</action>
<action>maincpu.mq@5AE0 = CE866F0BC82EE204</action>
<action>maincpu.mq@5AE8 = 40362BE01C00360A</action>
<action>maincpu.mq@5AF0 = 000000C1C82BE01C</action>
<!--
5AB0 | 3A 00 60 : ld hl,$6000 // sound code address
5AB3 | EA 37 00 : ld (hl),$00 // initalize sound code
5AB6 | 1C 77 30 : call ,$3077 // read input
5AB9 | F8 67 : cp a,b
5ABB | 28 : ld b,a
5ABC | C6 F8 : jr z,$5AB6
5ABE | 6F 81 : cp a,$81
5AC0 | CE 02 : jr nz,$5AC4
5AC2 | E2 8F : dec (hl) // decrease code -01
5AC4 | 6F 82 : cp a,$82
5AC6 | CE 02 : jr nz,$5ACA
5AC8 | E2 87 : inc (hl) // increase code +01
5ACA | 6F 83 : cp a,$83
5ACC | CE 04 : jr nz,$5AD2
5ACE | 36 F0 : ld a,$F0 // decrease code -10
5AD0 | C8 06 : jr ,$5AD8
5AD2 | 6F 84 : cp a,$84
5AD4 | CE 07 : jr nz,$5ADD
5AD6 | 36 10 : ld a,$10 // increase code +10
5AD8 | E2 60 : add a,(hl)
5ADA | EA 26 : ld (hl),a
5ADC | 20 : ld a,b
5ADD | 6F 85 : cp a,$85
5ADF | CE 04 : jr nz,$5AE5
5AE1 | E2 2E : ld a,(hl) // play sound
5AE3 | C8 0B : jr ,$5AF0
5AE5 | 6F 86 : cp a,$86
5AE7 | CE 0A : jr nz,$5AF3
5AE9 | 36 00 : ld a,$00 // stop sound
5AEB | 1C E0 2B : call ,$2BE0
5AEE | 36 40 : ld a,$40
5AF0 | 1C E0 2B : call ,$2BE0
5AF3 | C8 C1 : jr ,$5AB6
-->
</script>
<script state="run">
<output format="----- mahjong ougon no hai sound test mode -----" line="10" align="center" />
<output format="A : decrease code -01" line="11" align="center" />
<output format="B : increase code +01" line="12" align="center" />
<output format="C : decrease code -10" line="13" align="center" />
<output format="D : increase code +10" line="14" align="center" />
<output format="E : play sound" line="15" align="center" />
<output format="F : 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@6000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@3DAF = 3E2A </action>
<action>maincpu.mq@5AB0 = 0000000000000000</action>
<action>maincpu.mq@5AB8 = 0000000000000000</action>
<action>maincpu.mq@5AC0 = 0000000000000000</action>
<action>maincpu.mq@5AC8 = 0000000000000000</action>
<action>maincpu.mq@5AD0 = 0000000000000000</action>
<action>maincpu.mq@5AD8 = 0000000000000000</action>
<action>maincpu.mq@5AE0 = 0000000000000000</action>
<action>maincpu.mq@5AE8 = 0000000000000000</action>
<action>maincpu.mq@5AF0 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
ougonhaib1.xml
Code: Select all
<!-- Mahjong Ougon no Hai (bootleg set 1) -->
<mamecheat version="1">
<cheat desc="winning hand">
<script state="on">
<action>maincpu.mw@19914 = 5A80 </action> <!-- tsumo -->
<action>maincpu.mw@19343 = 5A87 </action> <!-- ron -->
<action>maincpu.mq@05A80 = 1C1EC18A1C5A8E1C</action>
<action>maincpu.mq@05A88 = A03A1EC2141C5A8E</action>
<action>maincpu.mq@05A90 = FE000E3861C0395A</action>
<action>maincpu.mq@05A98 = 1E266440EB373659</action>
<action>maincpu.mq@05AA0 = 3535353232313131</action>
<action>maincpu.mq@05AA8 = 0000373737363636</action>
<!--
5A80 | 1C 8E 5A : call ,$5A8E // tsumo
5A83 | 1C 8A C1 : call ,$C18A
5A86 | 1E : ret
5A87 | 1C 8E 5A : call ,$5A8E // ron
5A8A | 1C 14 C2 : call ,$C214
5A8D | 1E : ret
5A8E | 3A A0 5A : ld hl,$5AA0 // tile conversion routine
5A91 | 39 C0 61 : ld de,$61C0
5A94 | 38 0E 00 : ld bc,$000E
5A97 | FE 59 : ldir
5A99 | 36 37 : ld a,$37
5A9B | EB 40 64 26 : ld ($6440),a
5A9F | 1E : ret
-->
</script>
<script state="off">
<action>maincpu.mw@19914 = C18A </action>
<action>maincpu.mw@19343 = C214 </action>
<action>maincpu.mq@05A80 = 0000000000000000</action>
<action>maincpu.mq@05A88 = 0000000000000000</action>
<action>maincpu.mq@05A90 = 0000000000000000</action>
<action>maincpu.mq@05A98 = 0000000000000000</action>
<action>maincpu.mq@05AA0 = 0000000000000000</action>
<action>maincpu.mq@05AA8 = 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.mw@3DAF = 5AB0 </action>
<action>maincpu.mq@5AB0 = 771C0037EA60003A</action>
<action>maincpu.mq@5AB8 = 816FF8C62867F830</action>
<action>maincpu.mq@5AC0 = 02CE826F8FE202CE</action>
<action>maincpu.mq@5AC8 = F03604CE836F87E2</action>
<action>maincpu.mq@5AD0 = 103607CE846F06C8</action>
<action>maincpu.mq@5AD8 = CE856F2026EA60E2</action>
<action>maincpu.mq@5AE0 = CE866F0BC82EE204</action>
<action>maincpu.mq@5AE8 = 40362BE01C00360A</action>
<action>maincpu.mq@5AF0 = 000000C1C82BE01C</action>
<!--
5AB0 | 3A 00 60 : ld hl,$6000 // sound code address
5AB3 | EA 37 00 : ld (hl),$00 // initalize sound code
5AB6 | 1C 77 30 : call ,$3077 // read input
5AB9 | F8 67 : cp a,b
5ABB | 28 : ld b,a
5ABC | C6 F8 : jr z,$5AB6
5ABE | 6F 81 : cp a,$81
5AC0 | CE 02 : jr nz,$5AC4
5AC2 | E2 8F : dec (hl) // decrease code -01
5AC4 | 6F 82 : cp a,$82
5AC6 | CE 02 : jr nz,$5ACA
5AC8 | E2 87 : inc (hl) // increase code +01
5ACA | 6F 83 : cp a,$83
5ACC | CE 04 : jr nz,$5AD2
5ACE | 36 F0 : ld a,$F0 // decrease code -10
5AD0 | C8 06 : jr ,$5AD8
5AD2 | 6F 84 : cp a,$84
5AD4 | CE 07 : jr nz,$5ADD
5AD6 | 36 10 : ld a,$10 // increase code +10
5AD8 | E2 60 : add a,(hl)
5ADA | EA 26 : ld (hl),a
5ADC | 20 : ld a,b
5ADD | 6F 85 : cp a,$85
5ADF | CE 04 : jr nz,$5AE5
5AE1 | E2 2E : ld a,(hl) // play sound
5AE3 | C8 0B : jr ,$5AF0
5AE5 | 6F 86 : cp a,$86
5AE7 | CE 0A : jr nz,$5AF3
5AE9 | 36 00 : ld a,$00 // stop sound
5AEB | 1C E0 2B : call ,$2BE0
5AEE | 36 40 : ld a,$40
5AF0 | 1C E0 2B : call ,$2BE0
5AF3 | C8 C1 : jr ,$5AB6
-->
</script>
<script state="run">
<output format="----- mahjong ougon no hai sound test mode -----" line="10" align="center" />
<output format="A : decrease code -01" line="11" align="center" />
<output format="B : increase code +01" line="12" align="center" />
<output format="C : decrease code -10" line="13" align="center" />
<output format="D : increase code +10" line="14" align="center" />
<output format="E : play sound" line="15" align="center" />
<output format="F : 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@6000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@3DAF = 3E2A </action>
<action>maincpu.mq@5AB0 = 0000000000000000</action>
<action>maincpu.mq@5AB8 = 0000000000000000</action>
<action>maincpu.mq@5AC0 = 0000000000000000</action>
<action>maincpu.mq@5AC8 = 0000000000000000</action>
<action>maincpu.mq@5AD0 = 0000000000000000</action>
<action>maincpu.mq@5AD8 = 0000000000000000</action>
<action>maincpu.mq@5AE0 = 0000000000000000</action>
<action>maincpu.mq@5AE8 = 0000000000000000</action>
<action>maincpu.mq@5AF0 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
ougonhaib2.xml
Code: Select all
<!-- Mahjong Ougon no Hai (bootleg set 2) -->
<mamecheat version="1">
<cheat desc="winning hand">
<script state="on">
<action>maincpu.mw@19914 = 5A80 </action> <!-- tsumo -->
<action>maincpu.mw@19343 = 5A87 </action> <!-- ron -->
<action>maincpu.mq@05A80 = 1C1EC18A1C5A8E1C</action>
<action>maincpu.mq@05A88 = A03A1EC2141C5A8E</action>
<action>maincpu.mq@05A90 = FE000E3861C0395A</action>
<action>maincpu.mq@05A98 = 1E266440EB373659</action>
<action>maincpu.mq@05AA0 = 3535353232313131</action>
<action>maincpu.mq@05AA8 = 0000373737363636</action>
<!--
5A80 | 1C 8E 5A : call ,$5A8E // tsumo
5A83 | 1C 8A C1 : call ,$C18A
5A86 | 1E : ret
5A87 | 1C 8E 5A : call ,$5A8E // ron
5A8A | 1C 14 C2 : call ,$C214
5A8D | 1E : ret
5A8E | 3A A0 5A : ld hl,$5AA0 // tile conversion routine
5A91 | 39 C0 61 : ld de,$61C0
5A94 | 38 0E 00 : ld bc,$000E
5A97 | FE 59 : ldir
5A99 | 36 37 : ld a,$37
5A9B | EB 40 64 26 : ld ($6440),a
5A9F | 1E : ret
-->
</script>
<script state="off">
<action>maincpu.mw@19914 = C18A </action>
<action>maincpu.mw@19343 = C214 </action>
<action>maincpu.mq@05A80 = 0000000000000000</action>
<action>maincpu.mq@05A88 = 0000000000000000</action>
<action>maincpu.mq@05A90 = 0000000000000000</action>
<action>maincpu.mq@05A98 = 0000000000000000</action>
<action>maincpu.mq@05AA0 = 0000000000000000</action>
<action>maincpu.mq@05AA8 = 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.mw@3DAF = 5AB0 </action>
<action>maincpu.mq@5AB0 = 771C0037EA60003A</action>
<action>maincpu.mq@5AB8 = 816FF8C62867F830</action>
<action>maincpu.mq@5AC0 = 02CE826F8FE202CE</action>
<action>maincpu.mq@5AC8 = F03604CE836F87E2</action>
<action>maincpu.mq@5AD0 = 103607CE846F06C8</action>
<action>maincpu.mq@5AD8 = CE856F2026EA60E2</action>
<action>maincpu.mq@5AE0 = CE866F0BC82EE204</action>
<action>maincpu.mq@5AE8 = 40362BE01C00360A</action>
<action>maincpu.mq@5AF0 = 000000C1C82BE01C</action>
<!--
5AB0 | 3A 00 60 : ld hl,$6000 // sound code address
5AB3 | EA 37 00 : ld (hl),$00 // initalize sound code
5AB6 | 1C 77 30 : call ,$3077 // read input
5AB9 | F8 67 : cp a,b
5ABB | 28 : ld b,a
5ABC | C6 F8 : jr z,$5AB6
5ABE | 6F 81 : cp a,$81
5AC0 | CE 02 : jr nz,$5AC4
5AC2 | E2 8F : dec (hl) // decrease code -01
5AC4 | 6F 82 : cp a,$82
5AC6 | CE 02 : jr nz,$5ACA
5AC8 | E2 87 : inc (hl) // increase code +01
5ACA | 6F 83 : cp a,$83
5ACC | CE 04 : jr nz,$5AD2
5ACE | 36 F0 : ld a,$F0 // decrease code -10
5AD0 | C8 06 : jr ,$5AD8
5AD2 | 6F 84 : cp a,$84
5AD4 | CE 07 : jr nz,$5ADD
5AD6 | 36 10 : ld a,$10 // increase code +10
5AD8 | E2 60 : add a,(hl)
5ADA | EA 26 : ld (hl),a
5ADC | 20 : ld a,b
5ADD | 6F 85 : cp a,$85
5ADF | CE 04 : jr nz,$5AE5
5AE1 | E2 2E : ld a,(hl) // play sound
5AE3 | C8 0B : jr ,$5AF0
5AE5 | 6F 86 : cp a,$86
5AE7 | CE 0A : jr nz,$5AF3
5AE9 | 36 00 : ld a,$00 // stop sound
5AEB | 1C E0 2B : call ,$2BE0
5AEE | 36 40 : ld a,$40
5AF0 | 1C E0 2B : call ,$2BE0
5AF3 | C8 C1 : jr ,$5AB6
-->
</script>
<script state="run">
<output format="----- mahjong ougon no hai sound test mode -----" line="10" align="center" />
<output format="A : decrease code -01" line="11" align="center" />
<output format="B : increase code +01" line="12" align="center" />
<output format="C : decrease code -10" line="13" align="center" />
<output format="D : increase code +10" line="14" align="center" />
<output format="E : play sound" line="15" align="center" />
<output format="F : 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@6000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@3DAF = 3E2A </action>
<action>maincpu.mq@5AB0 = 0000000000000000</action>
<action>maincpu.mq@5AB8 = 0000000000000000</action>
<action>maincpu.mq@5AC0 = 0000000000000000</action>
<action>maincpu.mq@5AC8 = 0000000000000000</action>
<action>maincpu.mq@5AD0 = 0000000000000000</action>
<action>maincpu.mq@5AD8 = 0000000000000000</action>
<action>maincpu.mq@5AE0 = 0000000000000000</action>
<action>maincpu.mq@5AE8 = 0000000000000000</action>
<action>maincpu.mq@5AF0 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
ougonhaib3.xml
Code: Select all
<!-- Mahjong Ougon no Hai (bootleg set 3) -->
<mamecheat version="1">
<cheat desc="winning hand">
<script state="on">
<action>maincpu.mw@19914 = 5A80 </action> <!-- tsumo -->
<action>maincpu.mw@19343 = 5A87 </action> <!-- ron -->
<action>maincpu.mq@05A80 = 1C1EC18A1C5A8E1C</action>
<action>maincpu.mq@05A88 = A03A1EC2141C5A8E</action>
<action>maincpu.mq@05A90 = FE000E3861C0395A</action>
<action>maincpu.mq@05A98 = 1E266440EB373659</action>
<action>maincpu.mq@05AA0 = 3535353232313131</action>
<action>maincpu.mq@05AA8 = 0000373737363636</action>
<!--
5A80 | 1C 8E 5A : call ,$5A8E // tsumo
5A83 | 1C 8A C1 : call ,$C18A
5A86 | 1E : ret
5A87 | 1C 8E 5A : call ,$5A8E // ron
5A8A | 1C 14 C2 : call ,$C214
5A8D | 1E : ret
5A8E | 3A A0 5A : ld hl,$5AA0 // tile conversion routine
5A91 | 39 C0 61 : ld de,$61C0
5A94 | 38 0E 00 : ld bc,$000E
5A97 | FE 59 : ldir
5A99 | 36 37 : ld a,$37
5A9B | EB 40 64 26 : ld ($6440),a
5A9F | 1E : ret
-->
</script>
<script state="off">
<action>maincpu.mw@19914 = C18A </action>
<action>maincpu.mw@19343 = C214 </action>
<action>maincpu.mq@05A80 = 0000000000000000</action>
<action>maincpu.mq@05A88 = 0000000000000000</action>
<action>maincpu.mq@05A90 = 0000000000000000</action>
<action>maincpu.mq@05A98 = 0000000000000000</action>
<action>maincpu.mq@05AA0 = 0000000000000000</action>
<action>maincpu.mq@05AA8 = 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.mw@3DAF = 5AB0 </action>
<action>maincpu.mq@5AB0 = 771C0037EA60003A</action>
<action>maincpu.mq@5AB8 = 816FF8C62867F830</action>
<action>maincpu.mq@5AC0 = 02CE826F8FE202CE</action>
<action>maincpu.mq@5AC8 = F03604CE836F87E2</action>
<action>maincpu.mq@5AD0 = 103607CE846F06C8</action>
<action>maincpu.mq@5AD8 = CE856F2026EA60E2</action>
<action>maincpu.mq@5AE0 = CE866F0BC82EE204</action>
<action>maincpu.mq@5AE8 = 40362BE01C00360A</action>
<action>maincpu.mq@5AF0 = 000000C1C82BE01C</action>
<!--
5AB0 | 3A 00 60 : ld hl,$6000 // sound code address
5AB3 | EA 37 00 : ld (hl),$00 // initalize sound code
5AB6 | 1C 77 30 : call ,$3077 // read input
5AB9 | F8 67 : cp a,b
5ABB | 28 : ld b,a
5ABC | C6 F8 : jr z,$5AB6
5ABE | 6F 81 : cp a,$81
5AC0 | CE 02 : jr nz,$5AC4
5AC2 | E2 8F : dec (hl) // decrease code -01
5AC4 | 6F 82 : cp a,$82
5AC6 | CE 02 : jr nz,$5ACA
5AC8 | E2 87 : inc (hl) // increase code +01
5ACA | 6F 83 : cp a,$83
5ACC | CE 04 : jr nz,$5AD2
5ACE | 36 F0 : ld a,$F0 // decrease code -10
5AD0 | C8 06 : jr ,$5AD8
5AD2 | 6F 84 : cp a,$84
5AD4 | CE 07 : jr nz,$5ADD
5AD6 | 36 10 : ld a,$10 // increase code +10
5AD8 | E2 60 : add a,(hl)
5ADA | EA 26 : ld (hl),a
5ADC | 20 : ld a,b
5ADD | 6F 85 : cp a,$85
5ADF | CE 04 : jr nz,$5AE5
5AE1 | E2 2E : ld a,(hl) // play sound
5AE3 | C8 0B : jr ,$5AF0
5AE5 | 6F 86 : cp a,$86
5AE7 | CE 0A : jr nz,$5AF3
5AE9 | 36 00 : ld a,$00 // stop sound
5AEB | 1C E0 2B : call ,$2BE0
5AEE | 36 40 : ld a,$40
5AF0 | 1C E0 2B : call ,$2BE0
5AF3 | C8 C1 : jr ,$5AB6
-->
</script>
<script state="run">
<output format="----- mahjong ougon no hai sound test mode -----" line="10" align="center" />
<output format="A : decrease code -01" line="11" align="center" />
<output format="B : increase code +01" line="12" align="center" />
<output format="C : decrease code -10" line="13" align="center" />
<output format="D : increase code +10" line="14" align="center" />
<output format="E : play sound" line="15" align="center" />
<output format="F : 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@6000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@3DAF = 3E2A </action>
<action>maincpu.mq@5AB0 = 0000000000000000</action>
<action>maincpu.mq@5AB8 = 0000000000000000</action>
<action>maincpu.mq@5AC0 = 0000000000000000</action>
<action>maincpu.mq@5AC8 = 0000000000000000</action>
<action>maincpu.mq@5AD0 = 0000000000000000</action>
<action>maincpu.mq@5AD8 = 0000000000000000</action>
<action>maincpu.mq@5AE0 = 0000000000000000</action>
<action>maincpu.mq@5AE8 = 0000000000000000</action>
<action>maincpu.mq@5AF0 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
- "winning hand" : Fixed "Ron" in opponent turn.
- "sound test mode" : Added new.
ougonhai still crashes at boot in 0.261 so that the codes for ougonhai is unverified.