Home News Forum                            

Play your favorite classic games and more with the GameEx front end. Read more.

shanghai: MAME ROM Information.


Shangai (c) 1988 Sunsoft.

Szechuan-style solitaire mahjong.


Main CPU : V30 (@ 8 Mhz)

Sound Chips : YM2203 (@ 4 Mhz)

Screen orientation : Horizontal

Video resolution : 384 x 280 pixels

Screen refresh : 30.00 Hz

Palette colors : 256

Players : 2

Control : 8-way joystick

Buttons : 3


Released in March 1988.

Shanghai and its sequels are 'Szechuan'-style solitaire mahjong games where the object is to match identical pairs of tiles until the board is clear or you are unable to make another move. This type of solitaire mahjong can also be referred to as 'Shanghai', hence the game title. The stacked-tile arrangement presented here is one of many traditional Chinese 'Szechuan'-style solitaire mahjong arrangements.


1. Shangai (1988)

2. Shangai II (1989)

3. Super Shangai Dragon's Eye (1992)

4. Shangai III (1993)

5. Sanrio Shanghai (1994, Nintendo Super Famicom)

6. Shanghai - Banri no Choujou (1995)

7. Shanghai - Great Moments (1995, PC [MS Windows])

8. Game no Tatsujin - The Shanghai (1995, Sony Playstation)

9. Shanghai Dynasty (1997, PC [MS Windows])

10. Shangai Matekibuyuu (1998)

11. Shanghai Pocket (1998, Nintendo Game Boy & Game Boy Color)

11. Shanghai Pocket (1999, Wonder Swan)

12. Shanghai - Second Dynasty (1999, PC [MS Windows])

13. Shanghai Mahjong (2000, PC [MS Windows])

14. Shanghai - Four Elements (2000, Sony Playstation 2)

15. Shanghai Shoryu Sairin (2000)

16. Shanghai Mini (2000, NeoGeo Pocket Color)

17. Shanghai - Sangoku Pai Tatagi (2002, Sony Playstation 2)

18. Shanghai Advance (2002, Nintendo Game Boy Advance)

19. Super Shanghai 2005 (2004, Sony PlayStation 2)

20. Tsuushin Shanghai (2005, Sony PlayStation 2)


Staff : M. Maeda, K. Yoshida, A. Takeuchi, M. Nomura, K. Kitazumi, K. Okumura, Sakakibara, Yoshinari, T. Shiono, S. Saitoh


* Consoles :

Nintendo Famicom (1987)

Sega Master System (1988)

Nintendo Game Boy (1989)

Atari Lynx (1990)

Sony PlayStation (2000, "Shanghai [Value 1500 Series]")

* Computers :

Commodore C64 (1986)

Commodore Amiga (1986)

Atari ST (1986)

Apple II (1987)

PC9801 (System Soft)

FM Towns PC (1990)


Game's rom.

MAME Info:

0.36b15 [Nicola Salmoria]

0.35RC1 [Nicola Salmoria]

< Japan >


- Cursor rollover problem. Gmitra (ID 01003)


- 0.126u5: Robiza implemented MWR (memory width register) in Shanghai to avoid hardcoded 384 value for screen width.

- 0.126u4: Robiza fixed window in Shanghai.

- 12th October 2005: Charles MacDonald - Getting a bunch of PCBs to work with in the next few weeks: Shanghai for HD63484 tests.

- 13th January 2001: Nicola Salmoria fixed the window border graphics in the Shanghai driver.

- 12th January 2001: Nicola Salmoria added window graphics emulation to the Shanghai driver and he added support for Shanghai II.

- 0.37b11: Changed description to 'Shanghai (Japan)' and V30 CPU1 clock speed to 8MHz and YM2203 to 4MHz.

- 0.36b15: Nicola Salmoria added Shanghai (Sunsoft 1988 (licensed from Activision)).

- 0.35RC1: Added Shanghai (Testdriver).

- 2nd June 1999: Nicola sent in a preliminary Shanghai driver, but it stumbles on a bug of the i86 core.

- 30th May 1999: Nicola has begun working on Shanghai, but it contains a strange graphics chip so the progress will probably be very slow.

Recommended Games (Shanghai):


Shanghai II

Shanghai III

Shanghai - The Great Wall

Shanghai Matekibuyuu

Shanghai Shoryu Sairin

Shanghai Sangokuhai Tougi

Super Shanghai 2005

Dragon Punch


Super Shanghai Dragon's Eye



Dragon World

Dragon World II

Dragon World 3

Dragon World 3 EX

Dragon World 2001

Romset: 384 kb / 6 files / 132.0 zip

MAME XML Output:

       <game name="shanghai" sourcefile="shanghai.c">
              <description>Shanghai (Japan)</description>
              <rom name="shg-22a.rom" size="65536" crc="e0a085be" sha1="e281043f97c4cd34a33eb1ec7154abbe67a9aa03" region="maincpu" offset="a0001"/>
              <rom name="shg-21a.rom" size="65536" crc="4ab06d32" sha1="02667d1270b101386b947d5b9bfe64052e498041" region="maincpu" offset="a0000"/>
              <rom name="shg-28a.rom" size="65536" crc="983ec112" sha1="110e120e35815d055d6108a7603e83d2d990c666" region="maincpu" offset="c0001"/>
              <rom name="shg-27a.rom" size="65536" crc="41af0945" sha1="dfc4638a17f716ccc8e59f275571d6dc1093a745" region="maincpu" offset="c0000"/>
              <rom name="shg-37b.rom" size="65536" crc="3f192da0" sha1="e70d5da5d702e9bf9ac6b77df62bcf51894aadcf" region="maincpu" offset="e0001"/>
              <rom name="shg-36b.rom" size="65536" crc="a1d6af96" sha1="01c4c22bf03b3d260fffcbc6dfc5f2dd2bcba14a" region="maincpu" offset="e0000"/>
              <chip type="cpu" tag="maincpu" name="V30" clock="8000000"/>
              <chip type="audio" tag="mono" name="Speaker"/>
              <chip type="audio" tag="ymsnd" name="YM2203" clock="4000000"/>
              <display tag="screen" type="raster" rotate="0" width="384" height="280" refresh="30.000000" pixclock="3225600" htotal="384" hbend="0" hbstart="384" vtotal="280" vbend="0" vbstart="280" />
              <sound channels="1"/>
              <input players="2" buttons="3" coins="3">
                     <control type="joy" ways="8"/>
              <dipswitch name="Service Mode" tag="DSW1" mask="1">
                     <dipvalue name="Off" value="1" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Allow Continue" tag="DSW1" mask="2">
                     <dipvalue name="No" value="0"/>
                     <dipvalue name="Yes" value="2" default="yes"/>
              <dipswitch name="Coin B" tag="DSW1" mask="28">
                     <dipvalue name="5 Coins/1 Credit" value="0"/>
                     <dipvalue name="4 Coins/1 Credit" value="4"/>
                     <dipvalue name="3 Coins/1 Credit" value="8"/>
                     <dipvalue name="2 Coins/1 Credit" value="12"/>
                     <dipvalue name="1 Coin/1 Credit" value="28" default="yes"/>
                     <dipvalue name="1 Coin/2 Credits" value="24"/>
                     <dipvalue name="1 Coin/3 Credits" value="20"/>
                     <dipvalue name="1 Coin/4 Credits" value="16"/>
              <dipswitch name="Coin A" tag="DSW1" mask="224">
                     <dipvalue name="5 Coins/1 Credit" value="0"/>
                     <dipvalue name="4 Coins/1 Credit" value="32"/>
                     <dipvalue name="3 Coins/1 Credit" value="64"/>
                     <dipvalue name="2 Coins/1 Credit" value="96"/>
                     <dipvalue name="1 Coin/1 Credit" value="224" default="yes"/>
                     <dipvalue name="1 Coin/2 Credits" value="192"/>
                     <dipvalue name="1 Coin/3 Credits" value="160"/>
                     <dipvalue name="1 Coin/4 Credits" value="128"/>
              <dipswitch name="Confirmation" tag="DSW2" mask="1">
                     <dipvalue name="No" value="1" default="yes"/>
                     <dipvalue name="Yes" value="0"/>
              <dipswitch name="Help" tag="DSW2" mask="2">
                     <dipvalue name="Off" value="0"/>
                     <dipvalue name="On" value="2" default="yes"/>
              <dipswitch name="2 Players Move Time" tag="DSW2" mask="12">
                     <dipvalue name="8" value="12"/>
                     <dipvalue name="10" value="8" default="yes"/>
                     <dipvalue name="12" value="4"/>
                     <dipvalue name="14" value="0"/>
              <dipswitch name="Bonus Time for Making Pair" tag="DSW2" mask="48">
                     <dipvalue name="3" value="48"/>
                     <dipvalue name="4" value="32" default="yes"/>
                     <dipvalue name="5" value="16"/>
                     <dipvalue name="6" value="0"/>
              <dipswitch name="Start Time" tag="DSW2" mask="192">
                     <dipvalue name="30" value="192"/>
                     <dipvalue name="60" value="128"/>
                     <dipvalue name="90" value="64" default="yes"/>
                     <dipvalue name="120" value="0"/>
              <driver status="imperfect" emulation="good" color="good" sound="good" graphic="imperfect" savestate="unsupported" palettesize="256"/>

emumovies.com      Retro bytes Portal           Bookmark and Share

Developed by: Spesoft  Headsoft     Terms of use     Privacy    Advertise