Home News Forum                            

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

dunkshot: MAME ROM Information.


Dunk Shot (c) 1986 Sega.

A basketball game.


Sega System 16B hardware

Game ID : 317-0022

Main CPU : 68000 (@ 10 Mhz)

Sound CPU : Z80 (@ 5 Mhz)

Sound Chips : YM2151 (@ 4 Mhz), UPD7759 (@ 640 Khz)

Players : 4

Control : trackball

Buttons : 2


Even if titlescreen says 1986, Dunk Shot was released in January 1987 in Japan.

Licensed to Atari for US distribution.

Alfa Records released a limited-edition soundtrack album for this game (Sega Game Music Vol.3 - 28XA-109) on 10/10/1987.


Game's rom.

Machine's picture.

MAME Info:

0.74u2 [Andrew Prime]

0.36b2 [Andrew Prime]


- 0.143u8: Kanikani fixed DIP locations in Dunk Shot.

- 0.127u1: Atari Ace moved FD1089 decryption keys to external files. Added 317-0022.key to Dunk Shot.

- 0.126u5: Changed description to 'Dunk Shot (FD1089A 317-0022)'.

- 0.95: Fixed rom names.

- 0.94u2: Sonikos fixed DIPs in Dunk Shot. Added dipswitches 'VS Time', 'Difficulty' and 'CPU Starts With +6 Pts.'.

- 0.91u2: Fixed cpu2 roms addresses ($20000, 30000).

- 0.90u1: Charles MacDonald added complete FD1089 table to Dunk Shot (317-0022) and Aaron Giles fixed graphics and hooked up controls - Game now playable. Changed description to 'Dunk Shot (FD1089 317-0022)'. Fixed cpu1/gfx2 rom loading. Added dipswitches 'Demo Sounds', 'Difficulty', 'Lives' and 'Bonus Life'.

- 3rd January 2005: Aaron Giles - A bit sooner than I expected! Nicola submitted the first pass at the FD1089A/B decryption, and it's quite impressive. There are a number of new games this enables, including Action Fighter and Dunk Shot, as well as a number of alternate versions of Alien Syndrome, Alex Kidd, SDI, Time Scanner, and Aurail. Luckily, as Charles guessed, Action Fighter seems to work fine on MAME, without the graphics issues he mentioned on his site. The game appears to be something of a Spy Hunter ripoff, letting you pilot various vehicles, chasing down bad guys. Dunk Shot needed some tweaking to get working, but it's fully playable now as well, including controls for all four players. All the new variants of existing games are hooked up now and their controls are working. Hopefully I'll get the chance to finish up the sprite consolidation in the next couple of days so that I can submit this giant updated mass of goodness!

- 11th December 2004: Charles MacDonald - Got Dunk Shot fixed, works fine now. The weird thing is that it's a System 16B game but the video hardware seems to be a little different. I developed a utility to encrypt a test program for direct use on the Dunk Shot FD1089A, and have confirmed that it cannot execute unencrypted code. So patching the original game code on a per-game basis to extract data seems to still be necessary, at least for the time being. This makes the process more difficult but certainly not impossible.

- 5th December 2004: Charles MacDonald - Here's Dunk Shot (System 16B, 317-0022) decrypted and running. Thanks to Dave Widel for donating the CPU, and ShinobiZ & COY for providing the original and bootleg Dunk Shot ROM sets. This is the first FD1089A game that has been decrypted. While it it's encryption method is less complex, finding the right place to insert your own decryption routine is extremely difficult. This is because all data as well as code is encrypted (no vector table changes, hard to know where code starts/stops) and there are no direct instructions, which was the most important finding that led to the FD1094 being figured out. As eight of every 16 bits are encrypted, you have a 50/50 chance of identifying code sequences, which improves as the size of the search data increases. I'll work on getting better screenshots, not sure what the game is up to currently.

- 0.88u7: Changed description to 'Dunk Shot (FD1089? 317-0022?)'.

- 0.88u6: Changed description to 'Dunk Shot (FD1094 317-0022?)'. Changed Z80 CPU2 clock speed to 5MHz and palettesize to 6144 colors. Added uPD7759 sound.

- 29th October 2004: Charles MacDonald - I've been able to decrypt a large portion of the game "Dunk Shot" which uses a FD1089A. It turns out the program ROMs from the bootleg dump (used as a reference to locate code in the encrypted ROMs) weren't completely bad, the decrypted data and opcodes are stored separately and in unusual locations within each ROM. There should probably be more data (about 1/3 of the original content is accounted for) but it was more than enough to get started with.

- 0.74u2: Added Dunk Shot (Sega 1986).

- 0.36b2: Andrew Prime added Dunk Shot (Testdriver).

Other Emulators:

* FB Alpha

Recommended Games (Basketball):

Tournament Table


Fighting Basketball

Super Basketball

Jump Shot

Double Dribble

Double Dribble (PlayChoice-10)

Dunk Shot

Magic Johnson's Fast Break (Arcadia)

Arch Rivals

Super Real Basketball (Mega-Tech)

USA Pro Basketball (Tourvision PCE bootleg)

Punk Shot

Rim Rockin' Basketball

NCAA Basketball (Nintendo Super System)



Run and Gun

Run and Gun 2

Hard Dunk

Street Hoop

Dunk Mania

Super Slams

Hoops '96

NBA Hangtime

Capcom Sports Club (Basketball)

NBA Play By Play

1 on 1 Government

Virtua NBA

Romset: 680 kb / 22 files / 284.8 zip

MAME XML Output:

       <game name="dunkshot" sourcefile="segas16b.c">
              <description>Dunk Shot (FD1089A 317-0022)</description>
              <rom name="epr-10467.a1" size="32768" crc="29774114" sha1="3a88739213afd4ef7807ddbd3acdfddeb9636fd3" region="maincpu" offset="1"/>
              <rom name="epr-10470.a4" size="32768" crc="8c60761f" sha1="aba009f482df7023b460ab20e50225ab5f6dff6d" region="maincpu" offset="0"/>
              <rom name="epr-10468.a2" size="32768" crc="e2d5f97a" sha1="bf7b4a029580633fee65be89d5c9c83ff76a8484" region="maincpu" offset="10001"/>
              <rom name="epr-10471.a5" size="32768" crc="22777314" sha1="fbc35505a94c8d4bdb44ee058e9e2e9e9b377c5c" region="maincpu" offset="10000"/>
              <rom name="epr-10469.a3" size="32768" crc="aa442b81" sha1="24f455bc59147ccd948fd89e2048a118b5591d84" region="maincpu" offset="20001"/>
              <rom name="epr-10472.a6" size="32768" crc="206027a6" sha1="2b7d4754639d7023bc00f5e0fe9de4d2a971e487" region="maincpu" offset="20000"/>
              <rom name="epr-10485.b9" size="32768" crc="f16dda29" sha1="88f3aa5e6f827e124c5bba0978a6ccfde8cb6fe7" region="gfx1" offset="0"/>
              <rom name="epr-10486.b10" size="32768" crc="311d973c" sha1="c4765917ba788ed45a801499f3d873a86c418eb8" region="gfx1" offset="8000"/>
              <rom name="epr-10487.b11" size="32768" crc="a8fb179f" sha1="8a748d537b3d327c41d6dac17342de9be068e53b" region="gfx1" offset="10000"/>
              <rom name="epr-10481.b5" size="32768" crc="feb04bc9" sha1="233dc8e3b887a88ac114723d58a909a58f0ae771" region="gfx2" offset="0"/>
              <rom name="epr-10477.b1" size="32768" crc="f9d3b2cb" sha1="b530fe16882c718122bfd1de098f39e54993de28" region="gfx2" offset="1"/>
              <rom name="epr-10482.b6" size="32768" crc="5bc07618" sha1="f4c88f81b407d467f958181770ea4fd32aab3daf" region="gfx2" offset="20000"/>
              <rom name="epr-10478.b2" size="32768" crc="5b5c5c92" sha1="1c6f1cafa0788678c80ade11560f4a8d8bb7272a" region="gfx2" offset="20001"/>
              <rom name="epr-10483.b7" size="32768" crc="7cab4f9e" sha1="2310a9fe604f78d74d84bea301c95e6f0e6a6085" region="gfx2" offset="40000"/>
              <rom name="epr-10479.b3" size="32768" crc="e84190a0" sha1="23a8799adf81e1884a8c6b4c55397b8bca2f1850" region="gfx2" offset="40001"/>
              <rom name="epr-10484.b8" size="32768" crc="bcb5fcc9" sha1="eb8d557c908e6265f96a5a7e832e19776a9e576c" region="gfx2" offset="60000"/>
              <rom name="epr-10480.b4" size="32768" crc="5dffd9dd" sha1="256b24613c952d89dbb9971c9091d5a8a7f363b0" region="gfx2" offset="60001"/>
              <rom name="epr-10473.a7" size="32768" crc="7f1f5a27" sha1="7ff91b95c883b395ab4ff5e440d78e553a09e623" region="soundcpu" offset="0"/>
              <rom name="epr-10474.a8" size="32768" crc="419a656e" sha1="aa734ae835761badeb069f99acc5fded2a19b3a3" region="soundcpu" offset="10000"/>
              <rom name="epr-10475.a9" size="32768" crc="17d55e85" sha1="0c414bafecbfaa82679cc155f15f5255c186358d" region="soundcpu" offset="20000"/>
              <rom name="epr-10476.a10" size="32768" crc="a6be0956" sha1="fc4d6e25e0b46679f94fddbb1850fb0b02f8d84b" region="soundcpu" offset="30000"/>
              <rom name="317-0022.key" size="8192" crc="4eedc66d" sha1="50588fa13bf25a2d1322579cdc9937450543c978" region="fd1089a" offset="0"/>
              <chip type="cpu" tag="maincpu" name="68000" clock="10000000"/>
              <chip type="cpu" tag="soundcpu" name="Z80" clock="5000000"/>
              <chip type="audio" tag="mono" name="Speaker"/>
              <chip type="audio" tag="ymsnd" name="YM2151" clock="4000000"/>
              <chip type="audio" tag="upd" name="UPD7759" clock="640000"/>
              <display tag="screen" type="raster" rotate="0" width="320" height="224" refresh="60.054389" pixclock="6293700" htotal="400" hbend="0" hbstart="320" vtotal="262" vbend="0" vbstart="224" />
              <sound channels="1"/>
              <input players="4" buttons="2" coins="2" service="yes">
                     <control type="trackball" minimum="0" maximum="255" sensitivity="75" keydelta="5" reverse="yes"/>
              <dipswitch name="Unused" tag="DSW2" mask="1">
                     <dipvalue name="Off" value="1" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Demo Sounds" tag="DSW2" mask="2">
                     <dipvalue name="Off" value="2"/>
                     <dipvalue name="On" value="0" default="yes"/>
              <dipswitch name="VS Time" tag="DSW2" mask="12">
                     <dipvalue name="2P 1:30/ 3P 2:00/ 4P 2:30" value="8"/>
                     <dipvalue name="2P 2:00/ 3P 2:30/ 4P 3:00" value="12" default="yes"/>
                     <dipvalue name="2P 2:30/ 3P 3:00/ 4P 3:30" value="4"/>
                     <dipvalue name="2P 3:00/ 3P 3:30/ 4P 4:00" value="0"/>
              <dipswitch name="Difficulty" tag="DSW2" mask="48">
                     <dipvalue name="Easy" value="32"/>
                     <dipvalue name="Normal" value="48" default="yes"/>
                     <dipvalue name="Hard" value="16"/>
                     <dipvalue name="Hardest" value="0"/>
              <dipswitch name="CPU Starts With +6 Pts." tag="DSW2" mask="64">
                     <dipvalue name="Off" value="64" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Unused" tag="DSW2" mask="128">
                     <dipvalue name="Off" value="128" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Coin A" tag="DSW1" 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="DSW1" 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"/>
              <driver status="good" emulation="good" color="good" sound="good" graphic="good" savestate="unsupported" palettesize="6144"/>

emumovies.com      Retro bytes Portal           Bookmark and Share

Developed by: Spesoft  Headsoft     Terms of use     Privacy    Advertise