Home News Forum                            

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

wilytowr: MAME ROM Information.


Wily Tower (c) 1984 Irem.

A platform game where you must climb around lattice of pipes to deactivate power switches for main computer while avoiding robots. Jump on generators to send out disrupters and kill robots.


Main CPU : Z80 (@ 4 Mhz)

Sound CPU : I8039 (@ 533.333 Khz)

Sound Chips : (2x) AY8910 (@ 894.886 Khz)

Screen orientation : Horizontal

Video resolution : 256 x 224 pixels

Screen refresh : 60.00 Hz

Palette colors : 260

Players : 2

Control : 8-way joystick

Buttons : 1


This game is also known as "Atomic Boy".


In difference to "Atomic Boy", Wily Tower has NO storyline.


Game's rom.

MAME Info:

0.61 [Nicola Salmoria]


- 0.138u1: hap fixed very low background music in Wily Tower.

- 0.135u1: Fabio Priuli added driver data struct and save state support to M63 driver.

- 0.126u5: Added sprite wrapping to Irem M63 driver [Tomasz Slanina, Stefan Lindberg].

- 0.126u3: Irem M63 [Stefan Lindberg]: Adjusted 2x AY-3-8910A frequencies to proper 1.5 MHz.

- 0.125u9: Added Irem M63 PCB layout (based on Atomic Boy) [Tomasz Slanina, Stefan Lindberg].

- 0.125u6: Tomasz Slanina added sound emulation to Wily Tower and clone Atomic Boy.

- 14th June 2008: Tomasz Slanina - Added sound emulation - atomboy and fghtbskt req different interrupt (T1) timing than wilytowr, otherwise music/fx tempo is too fast. Maybe both tmings are wrong - must be verified on real PCB. Extra space in atomboy 2764 EPROMs is filled with garbage Z80 code (taken from one of code roms, but from different offset). Fghtbskt has one AY, but every frame writes 0 to 2nd AY regs - probably leftover from Wily Tower sound driver/code. I'm not sure about sound_status write - maybe it's something else or different data (p1?) is used as status.

- 0.125u4: Added 'Unused' dipswitch.

- 0.125u3: Stefan Lindberg added clone Atomic Boy (revision B). Changed Z80 CPU1 and I8039 CPU2 clock speeds to 3MHz. Changed description of clone 'Atomic Boy' to 'Atomic Boy (revision A)'. Renamed (atomboy) to (atomboya).

- 0.124: RansAckeR fixed watchdog resets.

- 0.123u6: RansAckeR added DIP locations for atomboy/wilytowr and fixed coin modes. Added dipswitches 'Bonus Points Rate', 'Coin A/B' and 2x 'Unused'.

- 0.122u6: Changed I8039 CPU2 clock speed to 8MHz.

- 0.61: Nicola Salmoria added Wily Tower (Irem 1984) and clone Atomic Boy (Memetron license 1985). TODO: Unless there is some special logic related to NMI enable, the game doesn't rely on vblank for timing. It all seems to be controlled by the CPU clock. The NMI handler just handles the "Stop Mode" dipswitch. Flip screen (if it's like the other Irem games, the dipswitch has to be polled directly). Sound: it's difficult to guess how the I8039 is connected... there's also a OKI MSM80C39RS chip. One unknown ROM. Samples?

- 9th May 2002: Nicola Salmoria added the color PROMs to Wily Tower.

- 5th May 2002: Nicola Salmoria sent in a preliminary driver for Wily Tower / Atomic Boy but color PROMs are missing and sound isn't emulated.


Other Emulators:

* FB Alpha

Recommended Games (Pipes):

Frisky Tom


Mario Bros.

Mario Bros. (PlayChoice-10)

Wily Tower

Pipe Dream


Romset: 113 kb / 23 files / 36.7 zip

MAME XML Output:

       <game name="wilytowr" sourcefile="m63.c">
              <description>Wily Tower</description>
              <rom name="wt4e.bin" size="8192" crc="a38e4b8a" sha1="e296ba1764d3e8e2a5cc43bdde7f30a522b437ff" region="maincpu" offset="0"/>
              <rom name="wt4h.bin" size="8192" crc="c1405ceb" sha1="c11dd4cd180bc9576e8042e1f56074620ea00f53" region="maincpu" offset="2000"/>
              <rom name="wt4j.bin" size="8192" crc="379fb1c3" sha1="677e4077f6d2140e4fb5c3d86bc7081d3b6cc028" region="maincpu" offset="4000"/>
              <rom name="wt4k.bin" size="8192" crc="2dd6f9c7" sha1="88ba58a1ddd25403211b7f920ba7006ed80c13eb" region="maincpu" offset="6000"/>
              <rom name="wt_a-4m.bin" size="8192" crc="c1f8a7d5" sha1="4307e7604aec728a1f5b0e6a0d6c9f4d37084da3" region="maincpu" offset="8000"/>
              <rom name="wt_a-4n.bin" size="8192" crc="b212f7d2" sha1="dd1c35559982e8bbcb0e778c733a3afb5b6611df" region="maincpu" offset="a000"/>
              <rom name="wt4d.bin" size="4096" crc="25a171bf" sha1="7465dbfa8858d0f5822eb748b96d99753d58d243" region="soundcpu" offset="0"/>
              <rom name="wt_b-5e.bin" size="4096" crc="fe45df43" sha1="9586a5728069e0c293bd17d4663305ce5758ca01" region="gfx1" offset="0"/>
              <rom name="wt_b-5f.bin" size="4096" crc="87a17eff" sha1="cee2ba2889baf08dc6ee1c8e9150bd277f343be9" region="gfx1" offset="1000"/>
              <rom name="wtb5a.bin" size="8192" crc="efc1cbfa" sha1="9a2ea29e64360ef7b143ac1b6a1ba3e672be4a42" region="gfx2" offset="0"/>
              <rom name="wtb5b.bin" size="8192" crc="ab4bfd07" sha1="1d5010413989895c09d8e5ee903d665506836f94" region="gfx2" offset="2000"/>
              <rom name="wtb5d.bin" size="8192" crc="40f23e1d" sha1="abff583021e2cf2d2ec83adbbd4f2e96bfa3e04f" region="gfx2" offset="4000"/>
              <rom name="wt2j.bin" size="4096" crc="d1bf0670" sha1="8d07bce354bb4538948c358fd696304a8e0640b8" region="gfx3" offset="0"/>
              <rom name="wt3k.bin" size="4096" crc="83c39a0e" sha1="da98f887ac5c3d52281eece3d760c41fb9ecfd5c" region="gfx3" offset="1000"/>
              <rom name="wt_a-3m.bin" size="4096" crc="e7e468ae" sha1="17448191b440b668714d83730075938aaaf34b5a" region="gfx3" offset="2000"/>
              <rom name="wt_a-3n.bin" size="4096" crc="0741d1a9" sha1="51f5ee03db8a3f7afbf944b9e3e4ae12b2520269" region="gfx3" offset="3000"/>
              <rom name="wt_a-3p.bin" size="4096" crc="7299f362" sha1="5ba309d789df8432c08d67e4f9e8bf6c447fc425" region="gfx3" offset="4000"/>
              <rom name="wt_a-3s.bin" size="4096" crc="9b37d50d" sha1="a08d4a7654b815cb652be66dbaa097011327f5d5" region="gfx3" offset="5000"/>
              <rom name="wt_a-6d.bin" size="4096" crc="a5dde29b" sha1="8f7545d2022da7c98d47112179dce717f6c3c5e2" region="user1" offset="0"/>
              <rom name="wt_a-5s-.bpr" size="256" crc="041950e7" sha1="8276068bec3f4c5013c773033fca3cd3ed9e82ef" region="proms" offset="0"/>
              <rom name="wt_a-5r-.bpr" size="256" crc="bc04bf25" sha1="37d0e89296760f51df5a0d434dca390fb60bb052" region="proms" offset="100"/>
              <rom name="wt_a-5p-.bpr" size="256" crc="ed819a19" sha1="76f13dcf1674f136375738756e175ceec469d545" region="proms" offset="200"/>
              <rom name="wt_b-9l-.bpr" size="32" crc="d2728744" sha1="e6b1a570854ca90326414874432ab03ec85b9c8e" region="proms" offset="300"/>
              <chip type="cpu" tag="maincpu" name="Z80" clock="3000000"/>
              <chip type="cpu" tag="soundcpu" name="I8039" clock="3000000"/>
              <chip type="audio" tag="mono" name="Speaker"/>
              <chip type="audio" tag="ay1" name="AY-3-8910A" clock="1500000"/>
              <chip type="audio" tag="ay2" name="AY-3-8910A" clock="1500000"/>
              <display tag="screen" type="raster" rotate="180" width="256" height="224" refresh="60.000000" />
              <sound channels="1"/>
              <input players="2" buttons="1" coins="2">
                     <control type="joy" ways="8"/>
              <dipswitch name="Lives" tag="DSW1" mask="3">
                     <dipvalue name="2" value="0"/>
                     <dipvalue name="3" value="1" default="yes"/>
                     <dipvalue name="4" value="2"/>
                     <dipvalue name="5" value="3"/>
              <dipswitch name="Bonus Points Rate" tag="DSW1" mask="12">
                     <dipvalue name="Normal" value="0" default="yes"/>
                     <dipvalue name="x1.2" value="4"/>
                     <dipvalue name="x1.4" value="8"/>
                     <dipvalue name="x1.6" value="12"/>
              <dipswitch name="Coinage" tag="DSW1" mask="240">
                     <dipvalue name="7 Coins/1 Credit" value="96"/>
                     <dipvalue name="6 Coins/1 Credit" value="80"/>
                     <dipvalue name="5 Coins/1 Credit" value="64"/>
                     <dipvalue name="4 Coins/1 Credit" value="48"/>
                     <dipvalue name="3 Coins/1 Credit" value="32"/>
                     <dipvalue name="2 Coins/1 Credit" value="16"/>
                     <dipvalue name="1 Coin/1 Credit" value="0" default="yes"/>
                     <dipvalue name="1 Coin/2 Credits" value="128"/>
                     <dipvalue name="1 Coin/3 Credits" value="144"/>
                     <dipvalue name="1 Coin/4 Credits" value="160"/>
                     <dipvalue name="1 Coin/5 Credits" value="176"/>
                     <dipvalue name="1 Coin/6 Credits" value="192"/>
                     <dipvalue name="1 Coin/7 Credits" value="208"/>
                     <dipvalue name="1 Coin/8 Credits" value="224"/>
                     <dipvalue name="1 Coin/9 Credits" value="112"/>
                     <dipvalue name="Free Play" value="240"/>
              <dipswitch name="Coin A" tag="DSW1" mask="48">
                     <dipvalue name="3 Coins/1 Credit" value="32"/>
                     <dipvalue name="2 Coins/1 Credit" value="16"/>
                     <dipvalue name="1 Coin/1 Credit" value="0" default="yes"/>
                     <dipvalue name="Free Play" value="48"/>
              <dipswitch name="Coin B" tag="DSW1" mask="192">
                     <dipvalue name="1 Coin/2 Credits" value="0" default="yes"/>
                     <dipvalue name="1 Coin/3 Credits" value="64"/>
                     <dipvalue name="1 Coin/5 Credits" value="128"/>
                     <dipvalue name="1 Coin/6 Credits" value="192"/>
              <dipswitch name="Flip Screen" tag="DSW2" mask="1">
                     <dipvalue name="Off" value="0" default="yes"/>
                     <dipvalue name="On" value="1"/>
              <dipswitch name="Cabinet" tag="DSW2" mask="2">
                     <dipvalue name="Upright" value="2" default="yes"/>
                     <dipvalue name="Cocktail" value="0"/>
              <dipswitch name="Coin Mode" tag="DSW2" mask="4">
                     <dipvalue name="Mode 1" value="0" default="yes"/>
                     <dipvalue name="Mode 2" value="4"/>
              <dipswitch name="Unused" tag="DSW2" mask="8">
                     <dipvalue name="Off" value="0" default="yes"/>
                     <dipvalue name="On" value="8"/>
              <dipswitch name="Stop Mode (Cheat)" tag="DSW2" mask="16">
                     <dipvalue name="Off" value="0" default="yes"/>
                     <dipvalue name="On" value="16"/>
              <dipswitch name="Unused" tag="DSW2" mask="32">
                     <dipvalue name="Off" value="0" default="yes"/>
                     <dipvalue name="On" value="32"/>
              <dipswitch name="Invulnerability (Cheat)" tag="DSW2" mask="64">
                     <dipvalue name="Off" value="0" default="yes"/>
                     <dipvalue name="On" value="64"/>
              <dipswitch name="Service Mode" tag="DSW2" mask="128">
                     <dipvalue name="Off" value="0" default="yes"/>
                     <dipvalue name="On" value="128"/>
              <driver status="good" emulation="good" color="good" sound="good" graphic="good" savestate="supported" palettesize="260"/>

emumovies.com      Retro bytes Portal           Bookmark and Share

Developed by: Spesoft  Headsoft     Terms of use     Privacy    Advertise