Home News Forum                            

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

subs: MAME ROM Information.


Subs (c) 1979 Atari.


Game ID : 033714

Main CPU : M6502 (@ 756 Khz)

Sound Chips : Discrete (@ 756 Khz)

Screen orientation : Horizontal

Video resolution : 512 x 224 pixels

Screen refresh : 57.00 Hz

Palette Colors : 4

Players : 2

Control : dial

Buttons : 1


Released in May 1979. Subs was the first multi-monitor game. Players stood on opposite sites of each other and used radar to find the others hidden sub and blow it away. In addition to the dual monitor, this was the first game with an operator optional add-a-coin or regular credit coinage mode. In add-a-coin mode, the game can be set on eight different times per coin.


Designed and programmed by : John Ray, Phil Hash

Hardware Engineer : John Ray


Game's rom.

Machine's picture.

MAME Info:

0.34b2 [Mike Balfour]

Artwork available


- 0.145u8: Miodrag Milanovic fixed some recent vblank port related regressions in Subs.

- 0.143u1: Angelo Salese removed deprecat.h usage in Subs.

- 2nd August 2010: Mr. Do - Re-did the overlay for Subs, based on better photos.

- 0.136: Tafoid added DIP locations to Subs.

- 0.131: Aaron Giles merged memory maps in Subs.

- 6th May 2007: Mr. Do - Based on the game manual and a few game photos, re-created the overlay for Subs. It actually makes the game more playable, now that you know where your borders are.

- 0.112: Aaron Giles fixed Player 2 sonar.

- 0.106u10: David Haywood added dualscreen support (2x 256x224) to Subs.

- 0.86u5: Inigo Luja fixed 'Language' dipswitch.

- 0.69: Derrick Renaud added preliminary discrete sound to Subs (driver still needs Sonar sounds to be done). Removed 2nd button.

- 0.37b15: Changed visible area to 512x224.

- 0.36b9: Changed palettesize from 6 to 4 colors.

- 0.36b4: Changed VSync to 57Hz.

- 0.34b2: Mike Balfour added Subs (Atari 1977). Note: This game uses two monitors, one for each player, aimed away from each other. The emulation displays both monitors side by side on the screen. A lot of the challenge is lost when you can see both monitors. Unfortunately, there is no other simple solution to allow 2-player support on a single-monitor computer. Also, Subs is mildly dependent on its overlay. Without the overlay, it might not be obvious that the playfield is circular in shape, and the blinking white box actually illuminates a box labelled "Sonar".

Recommended Games (Submarine):

Sea Wolf

Sea Wolf II


Invinco / Deep Scan




Wolf Pack

Fire One





Tomahawk 777

Battle of Atlantis



Battle Cruiser M-12


Turbo Sub

Up Scope

The Deep


Battle Shark

Guts n' Glory (Depth Charge + Submarine)

In The Hunt

Romset: 11 kb / 10 files / 7.42 zip

MAME XML Output:

       <game name="subs" sourcefile="subs.c">
              <rom name="34196.e2" size="256" crc="7c7a04c3" sha1="269d9f7573cc5da4412f53d647127c4884435353" region="maincpu" offset="2000"/>
              <rom name="34194.e1" size="256" crc="6b1c4acc" sha1="3a743b721d9e7e9bdc4533aeeab294eb0ea27500" region="maincpu" offset="2000"/>
              <rom name="34190.p1" size="2048" crc="a88aef21" sha1="3811c137041ca43a6e49fbaf7d9d8ef37ba190a2" region="maincpu" offset="2800"/>
              <rom name="34191.p2" size="2048" crc="2c652e72" sha1="097b665e803cbc57b5a828403a8d9a258c19e97f" region="maincpu" offset="3000"/>
              <rom name="34192.n2" size="2048" crc="3ce63d33" sha1="a413cb3e0d03dc40a50f5b03b76a4edbe7906f3e" region="maincpu" offset="3800"/>
              <rom name="34211.m4" size="2048" crc="fa8d4409" sha1="a83b7a835212d31fe421d537fa0d78f234c26f5b" region="gfx1" offset="0"/>
              <rom name="34216.d7" size="512" crc="941d28b4" sha1="89388ec06546dc567aa5dbc6a7898974f2871ecc" region="gfx2" offset="0"/>
              <rom name="34218.e7" size="512" crc="f4f4d874" sha1="d99ad9a74611f9851f6bfa6000ebd70e1a364f5d" region="gfx2" offset="200"/>
              <rom name="34217.d8" size="512" crc="a7a60da3" sha1="34fc21cc1ca69d58d3907094dc0a3faaf6f461b3" region="gfx2" offset="400"/>
              <rom name="34219.e8" size="512" crc="99a5a49b" sha1="2cb429f8de73c7d78dc83e47f1448ea4340c333d" region="gfx2" offset="600"/>
              <chip type="cpu" tag="maincpu" name="M6502" clock="756000"/>
              <chip type="audio" tag="lspeaker" name="Speaker"/>
              <chip type="audio" tag="rspeaker" name="Speaker"/>
              <chip type="audio" tag="discrete" name="DISCRETE"/>
              <display tag="lscreen" type="raster" rotate="0" width="256" height="224" refresh="57.000000" />
              <display tag="rscreen" type="raster" rotate="0" width="256" height="224" refresh="57.000000" />
              <sound channels="2"/>
              <input players="2" buttons="1" coins="2" service="yes" tilt="yes">
                     <control type="dial" minimum="0" maximum="255" sensitivity="100" keydelta="20"/>
              <dipswitch name="Demo Sounds" tag="DSW" mask="1">
                     <dipvalue name="Off" value="1"/>
                     <dipvalue name="On" value="0" default="yes"/>
              <dipswitch name="Credit/Time" tag="DSW" mask="2">
                     <dipvalue name="Each Coin Buys Time" value="0" default="yes"/>
                     <dipvalue name="Fixed Time" value="2"/>
              <dipswitch name="Language" tag="DSW" mask="12">
                     <dipvalue name="English" value="0" default="yes"/>
                     <dipvalue name="French" value="4"/>
                     <dipvalue name="Spanish" value="8"/>
                     <dipvalue name="German" value="12"/>
              <dipswitch name="Free Play" tag="DSW" mask="16">
                     <dipvalue name="Off" value="0" default="yes"/>
                     <dipvalue name="On" value="16"/>
              <dipswitch name="Game Length" tag="DSW" mask="224">
                     <dipvalue name="0:30 Minutes" value="0"/>
                     <dipvalue name="1:00 Minutes" value="32"/>
                     <dipvalue name="1:30 Minutes" value="64" default="yes"/>
                     <dipvalue name="2:00 Minutes" value="96"/>
                     <dipvalue name="2:30 Minutes" value="128"/>
                     <dipvalue name="3:00 Minutes" value="160"/>
                     <dipvalue name="3:30 Minutes" value="192"/>
                     <dipvalue name="4:00 Minutes" value="224"/>
              <driver status="imperfect" emulation="good" color="good" sound="imperfect" graphic="good" savestate="unsupported" palettesize="4"/>

emumovies.com      Retro bytes Portal           Bookmark and Share

Developed by: Spesoft  Headsoft     Terms of use     Privacy    Advertise