Home News Forum                            

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

ddcrew: MAME ROM Information.


D.D. Crew (c) 1991 Sega.

A multi-player side-scrolling beat'em up.


Sega System 18 hardware

Game ID : 317-0182 / 317-0183 / 317-0184 / 317-0185 / 317-0186 / 317-0187 / 317-0188 / 317-0189 / 317-0190

Main CPU : 68000 (@ 10 Mhz)

Sound CPU : Z80 (@ 8 Mhz)

Sound Chips : (2x) YM3438 (@ 8 Mhz), RF5C68 (@ 10 Mhz)

Players : 4

Control : 8-way joystick

Buttons : 3


Released in June 1991 in Japan.

The stage 2 boss is an homage to Bruce Lee.

The skyline of New York in the game's ending features a very subtle Spider-Man cameo at the top of the Empire State.


FD1094 317-0182

FD1094 317-0183

FD1094 317-0184

* World version (up to 2 players)

FD1094 317-0185

FD1094 317-0186

* US version (up to 4 players)

* has the 'Winners Don't Use Drugs' screen

FD1094 317-0187

* World version (up to 3 players)

FD1094 317-0188

FD1094 317-0189

FD1094 317-0190


Game's rom.

MAME Info:

0.92 [Charles MacDonald, Nicola Salmoria]

0.74u2 [Andrew Prime]

0.36b2 [Andrew Prime]


* Wanted: 317-0183/0185/0188/0189 FD1094 CPUs


- Vertical line glitch during intro. This bug does not occur on v0.90. only after 90+. sjyune (ID 00997)


- 0.138: Changed parent description set 'D. D. Crew (set 4, World, 3 Player, FD1094 317-0190)' to 'D. D. Crew (World, 3 Player, FD1094 317-0190)' clones 'D. D. Crew (set 5, Japan, 2 Player, FD1094 317-0182)' to 'D. D. Crew (Japan, 2 Player, FD1094 317-0182)', 'D. D. Crew (set 3, US, 4 Player, FD1094 317-0186)' to 'D. D. Crew (US, 4 Player, FD1094 317-0186)', 'D. D. Crew (set 2, World, 2 Player, FD1094 317-0184)' to 'D. D. Crew (World, 2 Player, FD1094 317-0184)' and 'D. D. Crew (set 1, World, 4 Player, FD1094 317-0187)' to 'D. D. Crew (World, 4 Player, FD1094 317-0187)'.

- 0.118u1: Changed description of clone 'D. D. Crew (set 1, World, 4 Player, FD1094 317-?)' to 'D. D. Crew (set 1, World, 4 Player, FD1094 317-0187)'. Fixed rom names.

- 0.99: Nicola Salmoria and Chris Hardy fixed 1-bit errors in decryption keys for D.D.Crew (set 4, FD1094 317-0190) - Game now playable.

- 0.95u2: Chack'n added clone 'D. D. Crew (set 5, Japan, 2 Player, FD1094 317-0182)'. Chris Hardy added FD1094 317-0190 key to D. D. Crew (set 4, World, 3 Player). Hangs when you select character, needs investigation. Changed description to 'D. D. Crew (set 4, World, 3 Player, FD1094 317-0190)'.

- 0.93: David Haywood fixed cpu2 rom loading.

- 0.92: Changed 'D. D. Crew (US, 4 Player, FD1094 317-0186)' to clone '(set 3, US, 4 Player, FD1094 317-0186)', '(World, 3 Player, FD1094 317-0187)' to parent 'D. D. Crew (set 4, World, 3 Player, FD1094 317-0187)', '(World, 4 Player, FD1094 317-?)' to '(set 1, World, 4 Player, FD1094 317-?)' and '(World, 2 Player, FD1094 317-0184)' to '(set 2, World, 2 Player, FD1094 317-0184)'. Renamed (ddcrew) to (ddcrewu), (ddcrewc) to (ddcrew), (ddcrewa) to (ddcrew1) and (ddcrewb) to (ddcrew2).

- 0.90u4: Andreas Thorsen and Thierry added FD1094 317-0184 key to clone D.D.Crew (World, 2 Player, FD1094 317-0184).

- 0.90u1: Big Sega update [Aaron Giles]. Note that in the process, there is now a 1-pixel column error on DDCrew's attract mode. These are known issues that I will try to address soon.

- 0.89u1: Aaron Giles fixed column scroll (attract mode scrolls properly now) and cleaned up inputs in D.D. Crew - Game now playable. Thierry Lescot added 317-unknown.key to D.D. Crew (World, 4 Player). Added dipswitches 'Credits needed', 'Switch To Start', 'Coin Chute', 'Demo Sounds', 'Player Start/Continue' and 'Difficulty'. Changed description of clone '(Europe, 4 Player, FD1094 317-?)' to '(World, 4 Player, FD1094 317-?)', '(Europe, 2 Player, FD1094 317-0184)' to '(World, 2 Player, FD1094 317-0184)' and '(Europe, 3 Player, FD1094 317-0187)' to '(World, 3 Player, FD1094 317-0187)'.

- 24th November 2004: Thierry Lescot - Dumped the cpus from D.D.Crew (Europe, 4 Player), Ryukyu and Bloxeed (system18, japan).

- 0.89: David Haywood improved inputs in DDCrew, all 4 Players can now be used, although only the service coin works.

- 0.88u7: Many improvements to Sega System 18 driver [Aaron Giles]. D.D. Crew is fully playable but requires inputs to be fixed (currently only service coin and controls for 1 player work). Fixed gfx1/2 rom loading. Changed description to 'D. D. Crew (US, 4 Player, FD1094 317-0186)' and clones '(Europe, 4 Player, 317-?)' to '(Europe, 4 Player, FD1094 317-?)', '(Europe, 2 Player, 317-0184)' to '(Europe, 2 Player, FD1094 317-0184)' and '(Europe, 3 Player, 317-0187)' to '(Europe, 3 Player, FD1094 317-0187)'.

- 0.88u3: Added new 317-0186.key.

- 0.88u2: Added FD1094 317-0186.key to 'D. D. Crew (US, 4 Player, 317-0186)'.

- 0.88u1: Fixed D. D. Crew - Game now playable [Charles MacDonald, Nicola Salmoria, David Haywood]. Incomplete sound emulation, still some serious gfx problems in places. Changed region gfx1/2 to gfx3/4.

- 28th October 2004: David Haywood - I've added some crude banking support to D.D. Crew and Clutch Hitter, improves some (but not all) gfx.

- 0.88: Charles MacDonald and Nicola Salmoria added clones D. D. Crew (Europe, 2 Player, 317-0184), (Europe, 3 Player, 317-0187) and (Europe, 4 Player, 317-?). Fixed some issues with System18 emulation. Changed description of 'DD Crew' to 'D. D. Crew (US, 4 Player, 317-0186)'.

- 30th September 2004: Charles MacDonald - Here's D.D. Crew (System 18, 317-0186) decrypted and running. This game has a custom chip on the ROM board that adds a layer of abstraction to the regular sprite and tile banking controls. It may also be used for accessing program ROM contents with data shuffled around as a form of protection. The VDP seems to be heavily used, getting that hooked up will probably make for more interesting screenshots. I think this is why the bootleg D.D. Crew board had such a poor looking title screen, because the bootleggers just left out the VDP chip rather than copy it which would be a fairly difficult task. I'd bet the bootleg version of Alien Storm has no background graphics in the first person shooting stages for the same reason, even though the VDP setup code is still present. D.D. Crew pipes nearly all of the video data through the protection chip, so the game looks terrible even though it's running correctly. It also gets the address of some tables through the chip, which come out wrong and cause problems. The protection chip is programmable and has 16 registers that are updated during V-Blank, so it's not exactly simple. I tackled this game in a completely different way compared to what was done with Tetris. Instead of putting fragments of encrypted code together, I decrypted the entire ROM in each state that the game used. The 68000 emulator was modified to keep track of the decryption state and switch decrypted ROM images as needed. If a state is ever selected that has no corresponding table, the emulator exits gracefully and tells me what to dump next. Because the game actually works, this shows that current assumptions about how the decryption state is managed are correct. The upshot of this method is that you no longer have to identify all of the executable code in a game, just the states that are used. This can be determined by running the game in an emulator in the reset state, and dumping more data each time an unknown state comes up. D.D. Crew only uses 6 or so states, so analyzing disassemblies was all that was needed. I'll try to get the graphics fixed soon. The banking/protection chip will hopefully not be a problem, I have several System 18 boards with the same part and can run tests on it.

- 18th September 2004: Charles MacDonald - Great news, I've been able to sucessfully decrypt any 16K block from D.D. Crew. It should be possible to decrypt the entire game at this point. Because D.D. Crew is so large, I'm going to work on Tetris first. The decryption state can be changed by the programmer at almost any point in the game's code, you have to trace through the code which is a tedious process. D.D. Crew changes the state a lot but only uses the same few arguments, so one solution would be to decrypt the entire ROM multiple times with different compares being used, and then patch together the correct parts. Tetris only changes the state four times in the startup code and doesn't do anything afterwards, making it a better choice to work with.

- 16th September 2004: Charles MacDonald - Today I dumped about 512MB worth of tables for D.D Crew and was able to decrypt a reasonable portion of the startup code using a much smaller subset of that data. Also, comparisons between the Tetris CPU tests and D.D. Crew CPU show all the usual similarities; the direct opcodes are the same, PC relative instructions are missing, decryption repeats every 16K, etc. No surprises which is a good thing, I'd assume all other FD1094 CPUs work in the same way. A new finding is that within a 16K block, certain addresses (no relation to each other, seems random) have the same table output. So you don't get completely unique tables for every address within a 16K block. In theory this means a smaller set of tables would be needed per block, but there doesn't seem to be any apparent way to tell which addresses will decrypt identically. The D.D. Crew decryption was done using tables from $10000-$12000. The initial PC and SP don't come out correctly, even though they should work with table data from offsets $10000-$10007. At least determining the entry point is pretty easy to do, not being able to decrypt it (so far) will not be a problem for other games.

- 18th March 2004: Charles MacDonald fixed Z80 clock (8.192 Mhz -> 8.00 MHz).

- 0.74u2: Added DD Crew (Sega 1991).

- 0.36b2: Andrew Prime added DD Crew (Testdriver).


Other Emulators:

* FB Alpha

Recommended Games (Heroes Fighter):

Knuckle Joe

My Hero



Trojan (PlayChoice-10)


Black Panther

Double Dragon

Double Dragon II

Double Dragon 3

Double Dragon (PlayChoice-10)

Double Dragon (Neo-Geo)

Ginga NinkyouDen



Shinobi (Mega-Tech)

Shinobi / FZ-2006

The Revenge of Shinobi (Mega-Tech)

Shinobi III (Mega Play)

Bad Dudes vs. Dragonninja

Shadow Warriors


Crime Fighters


Final Fight

Gang Wars

Last Battle (Mega-Tech)

Ninja Gaiden (PlayChoice-10)

Ninja Gaiden Episode II (PlayChoice-10)

Ninja Gaiden Episode III (PlayChoice-10)

Shadow Dancer

Shadow Dancer (Mega-Tech)

Tough Turf

The Combatribes

Crude Buster


Mug Smashers

64th. Street

Brute Force

Burning Fight

Captain Commando

D. D. Crew

Karate Blazers

Riot City

Streets of Rage (Mega-Tech)

Streets of Rage II (Mega Play)


B.Rap Boys

Big Fight

Guardians of the 'Hood


Silent Dragon

Thunder Hoop

TH Strikes Back

Undercover Cops

Cadillacs and Dinosaurs

Denjin Makai

Knuckle Bash

Knuckle Bash 2

Ninja Baseball Batman

The Punisher

Violent Storm

Zero Team

Pretty Soldier Sailor Moon

Black Touch '96

Final Fight 2 (SNES bootleg)

Ghost Chaser Densei (SNES bootleg)

Iron (SNES bootleg)


Sonic Blast Man 2 Special Turbo

Gaia Crusaders

Vamp 1/2

Jue Zhan Tian Huang

Thunder Heroes

Demolish Fist

Romset: 7560 kb / 20 files / 2.87 zip

MAME XML Output:

       <game name="ddcrew" sourcefile="segas18.c">
              <description>D. D. Crew (World, 3 Players, FD1094 317-0190)</description>
              <rom name="epr-14160.a4" size="262144" crc="b9f897b7" sha1="65cee6c8006f328eee648e144e11fa60b1433ff5" region="maincpu" offset="0"/>
              <rom name="epr-14161.a6" size="262144" crc="bb03c1f0" sha1="9e7fbd2cda448992c6cbf4b96078b57305def097" region="maincpu" offset="1"/>
              <rom name="mpr-14139.a5" size="262144" crc="06c31531" sha1="d084cb72bf83578b34e959bb60a0695faf4161f8" region="maincpu" offset="200000"/>
              <rom name="mpr-14141.a7" size="262144" crc="080a494b" sha1="64522dccbf6ed856ab80aa185454183df87d7ae9" region="maincpu" offset="200001"/>
              <rom name="317-0190.key" size="8192" crc="2d502b11" sha1="c4e94da59b0e15a5a302ebe88988d1657e7e9814" region="user1" offset="0"/>
              <rom name="epr-14127.c1" size="262144" crc="2228cd88" sha1="5774bb6a401c3da05c5f3c9d3996b20bb3713cb2" region="gfx1" offset="0"/>
              <rom name="epr-14128.c2" size="262144" crc="edba8e10" sha1="25a2833ead4ca363802ddc2eb97c40976502921a" region="gfx1" offset="40000"/>
              <rom name="epr-14129.c3" size="262144" crc="e8ecc305" sha1="a26d0c5c7826cd315f8b2c27e5a503a2a7b535c4" region="gfx1" offset="80000"/>
              <rom name="mpr-14134.c10" size="524288" crc="4fda6a4b" sha1="a9e582e494ab967e8f3ccf4d5844bb8ef889928c" region="gfx2" offset="1"/>
              <rom name="mpr-14142.a10" size="524288" crc="3cbf1f2a" sha1="80b6b006936740087786acd538e28aca85fa6894" region="gfx2" offset="0"/>
              <rom name="mpr-14135.c11" size="524288" crc="e9c74876" sha1="aff9d071e77f01c6937188bf67be38fa898343e6" region="gfx2" offset="200001"/>
              <rom name="mpr-14143.a11" size="524288" crc="59022c31" sha1="5e1409fe0f29284dc6a3ffacf69b761aae09f132" region="gfx2" offset="200000"/>
              <rom name="mpr-14136.c12" size="524288" crc="720d9858" sha1="8ebcb8b3e9555ca48b28908d47dcbbd654398b6f" region="gfx2" offset="400001"/>
              <rom name="mpr-14144.a12" size="524288" crc="7775fdd4" sha1="a03cac039b400b651a4bf2167a8f2338f488ce26" region="gfx2" offset="400000"/>
              <rom name="epr-14137.c13" size="524288" crc="846c4265" sha1="58d0c213d085fb4dee18b7aefb05087d9d522950" region="gfx2" offset="600001"/>
              <rom name="epr-14145.a13" size="524288" crc="0e76c797" sha1="9a44dc948e84e5acac36e80105c2349ee78e6cfa" region="gfx2" offset="600000"/>
              <rom name="epr-14133.c7" size="131072" crc="cff96665" sha1="b4dc7f1a03415ebebdb99a82ae89328c345e7678" region="soundcpu" offset="10000"/>
              <rom name="mpr-14132.c6" size="524288" crc="1fae0220" sha1="8414c74318ea915816c6b67801ac7c8c3fc905f9" region="soundcpu" offset="90000"/>
              <rom name="mpr-14131.c5" size="524288" crc="be5a7d0b" sha1="c2c598b0cf711273fdd568f3401375e9772c1d61" region="soundcpu" offset="110000"/>
              <rom name="epr-14130.c4" size="524288" crc="948f34a1" sha1="d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982" region="soundcpu" offset="190000"/>
              <chip type="cpu" tag="maincpu" name="68000" clock="10000000"/>
              <chip type="cpu" tag="soundcpu" name="Z80" clock="8000000"/>
              <chip type="audio" tag="mono" name="Speaker"/>
              <chip type="audio" tag="ym1" name="YM3438" clock="8000000"/>
              <chip type="audio" tag="ym2" name="YM3438" clock="8000000"/>
              <chip type="audio" tag="rfsnd" name="RF5C68" clock="10000000"/>
              <display tag="screen" type="raster" rotate="0" width="320" height="224" refresh="57.230000" pixclock="5128036" htotal="342" hbend="0" hbstart="320" vtotal="262" vbend="0" vbstart="224" />
              <sound channels="1"/>
              <input players="4" buttons="3" coins="4" service="yes">
                     <control type="joy" ways="8"/>
              <dipswitch name="Coin A" tag="COINAGE" mask="15">
                     <dipvalue name="4 Coins/1 Credit" value="7"/>
                     <dipvalue name="3 Coins/1 Credit" value="8"/>
                     <dipvalue name="2 Coins/1 Credit" value="9"/>
                     <dipvalue name="2 Coins/1 Credit, 5/3, 6/4" value="5"/>
                     <dipvalue name="2 Coins/1 Credit, 4/3" value="4"/>
                     <dipvalue name="1 Coin/1 Credit" value="15" default="yes"/>
                     <dipvalue name="1 Coin/1 Credit, 5/6" value="3"/>
                     <dipvalue name="1 Coin/1 Credit, 4/5" value="2"/>
                     <dipvalue name="1 Coin/1 Credit, 2/3" value="1"/>
                     <dipvalue name="2 Coins/3 Credits" value="6"/>
                     <dipvalue name="1 Coin/2 Credits" value="14"/>
                     <dipvalue name="1 Coin/3 Credits" value="13"/>
                     <dipvalue name="1 Coin/4 Credits" value="12"/>
                     <dipvalue name="1 Coin/5 Credits" value="11"/>
                     <dipvalue name="1 Coin/6 Credits" value="10"/>
                     <dipvalue name="Free Play (if Coin B too) or 1/1" value="0"/>
              <dipswitch name="Coin B" tag="COINAGE" mask="240">
                     <dipvalue name="4 Coins/1 Credit" value="112"/>
                     <dipvalue name="3 Coins/1 Credit" value="128"/>
                     <dipvalue name="2 Coins/1 Credit" value="144"/>
                     <dipvalue name="2 Coins/1 Credit, 5/3, 6/4" value="80"/>
                     <dipvalue name="2 Coins/1 Credit, 4/3" value="64"/>
                     <dipvalue name="1 Coin/1 Credit" value="240" default="yes"/>
                     <dipvalue name="1 Coin/1 Credit, 5/6" value="48"/>
                     <dipvalue name="1 Coin/1 Credit, 4/5" value="32"/>
                     <dipvalue name="1 Coin/1 Credit, 2/3" value="16"/>
                     <dipvalue name="2 Coins/3 Credits" value="96"/>
                     <dipvalue name="1 Coin/2 Credits" value="224"/>
                     <dipvalue name="1 Coin/3 Credits" value="208"/>
                     <dipvalue name="1 Coin/4 Credits" value="192"/>
                     <dipvalue name="1 Coin/5 Credits" value="176"/>
                     <dipvalue name="1 Coin/6 Credits" value="160"/>
                     <dipvalue name="Free Play (if Coin A too) or 1/1" value="0"/>
              <dipswitch name="Credits needed" tag="DSW" mask="1">
                     <dipvalue name="1 to start, 1 to continue" value="1" default="yes"/>
                     <dipvalue name="2 to start, 1 to continue" value="0"/>
              <dipswitch name="Switch to Start" tag="DSW" mask="2">
                     <dipvalue name="Start" value="2" default="yes"/>
                     <dipvalue name="Attack" value="0"/>
              <dipswitch name="Coin Chute" tag="DSW" mask="4">
                     <dipvalue name="Common" value="4" default="yes"/>
                     <dipvalue name="Individual" value="0"/>
              <dipswitch name="Demo Sounds" tag="DSW" mask="8">
                     <dipvalue name="Off" value="8"/>
                     <dipvalue name="On" value="0" default="yes"/>
              <dipswitch name="Player Start/Continue" tag="DSW" mask="48">
                     <dipvalue name="3/3" value="48" default="yes"/>
                     <dipvalue name="2/3" value="32"/>
                     <dipvalue name="2/2" value="16"/>
                     <dipvalue name="3/4" value="0"/>
              <dipswitch name="Difficulty" tag="DSW" mask="192">
                     <dipvalue name="Easy" value="128"/>
                     <dipvalue name="Normal" value="192" default="yes"/>
                     <dipvalue name="Hard" value="64"/>
                     <dipvalue name="Hardest" value="0"/>
              <driver status="good" emulation="good" color="good" sound="good" graphic="good" savestate="unsupported" palettesize="8192"/>

emumovies.com      Retro bytes Portal           Bookmark and Share

Developed by: Spesoft  Headsoft     Terms of use     Privacy    Advertise