40love: MAME ROM Information. History:
40-0 - Forty-Love (c) 1984 Taito.
A tennis game from Taito.
- TECHNICAL -
This is a four board system - Main, Video, ROM, and Sound boards.
Main Board Number : J1100004A / K1100010A
Sound Board Number : J1100005A / K1100011A
Video Board Number : J1100008A / K1100025A
ROM Board Number : J9100005A / K9100008A
Prom Stickers : A30
Main Board :
NEC D780C-1 (Z80) (@ 4 Mhz)
Motorola M68705P5S (@ 3.072 Mhz)
Mitsubishi M5517P SRAM chip
Fujitsu MB14241 ??? chip
Fujitsu MB81416-10 DRAM chips
TD62003P (lamps/LEDs driver)
xtal (@ 8MHz)
(3x) 8-way DSW
Sound Board :
NEC D780C-1 (Z80) (@ 4 Mhz)
Mitsubishi M5517P SRAM chip
Yamaha YM2149
OKI M5232
Fujitsu MB3731 Audio amp
xtal (@ 8MHz)
Video Board :
(4x) AMD AM93422 RAM chips
(2x) Mitsubishi M5517P SRAM chips
(6 x) Mitsubishi M53357P (=LS157)
xtal (@ 18.432MHz)
Screen orientation : Horizontal
Video resolution : 256 x 224 pixels
Screen refresh : 60.00 Hz
Palette Colors : 1024
Players : 2
Control : 4-way joystick
Buttons : 4
- TRIVIA -
A HiLo All-08A was used to program the game.
- SOURCES -
Game's rom.
MAME Info:
0.57 [Uki]
Bugs:
- [possible] Sprites graphics decoding could be changed to only use color codes 8-15 (now it decodes all 64 colors). Source (ID 02623)
- [possible] Controls may be wrong (BUTTON 3 - not used ?). Source (ID 02624)
- [possible] Pixel layer needs priority? Source (ID 02625)
WIP:
- 0.140u2: Atari Ace take some driver_device classes of 40love/bking/buggychl/msisaac (common code in machine\buggychl.c) that cover multiple drivers and split them so that each driver gets their own driver_device class. In most cases, these drivers got entangled because of audio/mcu code that was shared between multiple drivers.
- 0.140: Angelo Salese removed deprecat.h usage from Forty-Love driver.
- 0.135u3: Fabio Priuli added shared driver data struct to Forty-Love driver.
- 0.129: MooglyGuy added savestate support to Forty-Love.
- 0.123u6: RansAckeR added use of PORT_DIPUNKNOWN_DIPLOC and use of PORT_INCLUDE in Forty-Love. Added 'Unknown' dipswitch.
- 0.122u6: Changed M68705 CPU3 clock speed to 3072000 Hz.
- 0.115: Aaron Giles updated 68705 clocks to take into account the internal divide by 4. Added constant so that it is clear why this is being done. Changed M68705 CPU3 clock speed to 768000 Hz.
- 0.108u2: Roberto Fresca added DIP locations to Forty-Love.
- 0.100u4: Aaron Giles converted Forty-Love driver driver over to using the new memory_configure_bank calls.
- 0.57: Uki added Forty-Love (Taito 1984). MSM5232 sound emulator [Jarek Burczynski, Hiromitsu Shioya].
- 13th December 2001: Uki submitted the Forty-Love driver with pixel layer support and with some other small fixes.
- 8th December 2001: Uki reported progress on emulating the pixel layer in Forty-Love.
- 29th October 2001: Jarek Burczynski sent a driver for Forty-Love, but there are some graphics problems.
Recommended Games (Tennis):
Tournament Table
World Tennis
Pro Tennis (DECO Cassette)
Pro Sports - Bowling, Tennis, and Golf
Tennis (bootleg of Pro Tennis)
Super Doubles Tennis
Super Doubles Tennis (DECO Cassette)
Tennis (PlayChoice-10)
Vs. Tennis
Forty-Love
Passing Shot
World Court
Super World Court
Hot Shots Tennis
Super Tennis (Nintendo Super System)
David Crane's Amazing Tennis (Nintendo Super System)
Grand Slam (Mega Play)
Reality Tennis
Super Slam
Ultimate Tennis
Capcom Sports Club (Tennis)
Virtua Tennis / Power Smash
Virtua Tennis 2 / Power Smash 2
Smash Court Pro Tournament
-
Match '98
Romset: 166 kb / 25 files / 92.1 zip
MAME XML Output:
   | <game name="40love" sourcefile="40love.c"> |
   |    | <description>Forty-Love</description> |
   |    | <year>1984</year> |
   |    | <manufacturer>Taito Corporation</manufacturer> |
   |    | <rom name="a30-19.ic1" size="8192" crc="7baca598" sha1="b1767f5af9b3f484afb4423afe1f9c15db92c2ac" region="maincpu" offset="0"/> |
   |    | <rom name="a30-20.ic2" size="8192" crc="a7b4f2cc" sha1="67f570874fa0feb21f2a9a0712fadf78ebaad91c" region="maincpu" offset="2000"/> |
   |    | <rom name="a30-21.ic3" size="8192" crc="49a372e8" sha1="7c15fac65369d2e90b432c0f5c8e1d7295c379d1" region="maincpu" offset="4000"/> |
   |    | <rom name="a30-22.ic4" size="8192" crc="0c06d2b3" sha1="e5b0c8e57b0a6d131496e168023e12bacc17e93e" region="maincpu" offset="6000"/> |
   |    | <rom name="a30-23.ic5" size="8192" crc="6dcd186e" sha1="c8d88a2f35ba77ea822bdd8133033c8eb0bb5f72" region="maincpu" offset="10000"/> |
   |    | <rom name="a30-24.ic6" size="8192" crc="590c20c8" sha1="93689d6a299dfbe33ffec42d13378091d8589b34" region="maincpu" offset="12000"/> |
   |    | <rom name="a30-08.u08" size="8192" crc="2fc42ee1" sha1="b56e5f9acbcdc476252e188f41ad7249dba6f8e1" region="audiocpu" offset="0"/> |
   |    | <rom name="a30-09.u09" size="8192" crc="3a75abce" sha1="ad2df26789d38196c0677c22ab8f176e99604b18" region="audiocpu" offset="2000"/> |
   |    | <rom name="a30-10.u10" size="8192" crc="393c4b5b" sha1="a8e1dd5c33e929bc832cccc13b85ecd13fff1eb2" region="audiocpu" offset="4000"/> |
   |    | <rom name="a30-11.u37" size="8192" crc="11b2c6d2" sha1="d55690512a37c4df2386a845e0cfb14f8052295b" region="audiocpu" offset="6000"/> |
   |    | <rom name="a30-12.u38" size="8192" crc="f7afd475" sha1="dd09d5ca7fec5e0454f9efb8ebc722561010f124" region="audiocpu" offset="8000"/> |
   |    | <rom name="a30-13.u39" size="8192" crc="e806630f" sha1="09022aae88ea0171a0aacf3260fa3a95e8faeb21" region="audiocpu" offset="a000"/> |
   |    | <rom name="a30-14" size="2048" crc="c4690279" sha1="60bc77e03b9be434bb97a374a2fedeb8d049a660" region="mcu" offset="0"/> |
   |    | <rom name="a30-25.u22" size="8192" crc="15e594cf" sha1="d2d506a55f6ac2c191e5d5b3127021cde366c71c" region="gfx1" offset="0"/> |
   |    | <rom name="a30-26.u23" size="8192" crc="3a45a205" sha1="0939ecaabbb9be2a0719ef252e3f244299734ba6" status="baddump" region="gfx1" offset="2000"/> |
   |    | <rom name="a30-27.u24" size="8192" crc="57c67f6f" sha1="293e5bfa7c859886abd70f78fe2e4b13a3fce3f5" region="gfx1" offset="4000"/> |
   |    | <rom name="a30-28.u25" size="8192" crc="d581d067" sha1="ce132cf2503917f0846b838c6ce4ad4183181bf9" region="gfx1" offset="6000"/> |
   |    | <rom name="a30-29.u62" size="8192" crc="02deaf40" sha1="fb424a40bd9d959664a6d1ddf477fc16e694b9fa" region="gfx2" offset="0"/> |
   |    | <rom name="a30-30.u63" size="8192" crc="439f3731" sha1="4661149baa8472989cc8ac85c51e55df69957d99" region="gfx2" offset="2000"/> |
   |    | <rom name="a30-31.u64" size="8192" crc="7ed70e81" sha1="f90a3ce701ebe746803cf01ea1f6725c552007de" region="gfx2" offset="4000"/> |
   |    | <rom name="a30-32.u65" size="8192" crc="0434655b" sha1="261c5e60e830967564c053dc1d40fbf1e7194fc8" region="gfx2" offset="6000"/> |
   |    | <rom name="a30-15.u03" size="1024" crc="55e38cc7" sha1="823a6d7f29eadf5d12702d782d4297b0d4c65a0e" region="proms" offset="0"/> |
   |    | <rom name="a30-16.u01" size="1024" crc="13997e20" sha1="9fae1cf633409a88263dc66a17b1c2eeccd05f4f" region="proms" offset="400"/> |
   |    | <rom name="a30-17.u02" size="1024" crc="5031f2f3" sha1="1836d82fdc9f39cb318a791af2a935c27baabfd7" region="proms" offset="800"/> |
   |    | <rom name="a30-18.u13" size="1024" crc="78697c0f" sha1="31382ed4c0d44024f7f57a9de6407527f4d5b0d1" region="proms" offset="c00"/> |
   |    | <chip type="cpu" tag="maincpu" name="Z80" clock="4000000"/> |
   |    | <chip type="cpu" tag="audiocpu" name="Z80" clock="4000000"/> |
   |    | <chip type="cpu" tag="mcu" name="M68705" clock="3072000"/> |
   |    | <chip type="audio" tag="mono" name="Speaker"/> |
   |    | <chip type="audio" tag="aysnd" name="AY-3-8910A" clock="2000000"/> |
   |    | <chip type="audio" tag="msm" name="MSM5232" clock="2000000"/> |
   |    | <chip type="audio" tag="dac" name="DAC"/> |
   |    | <display tag="screen" type="raster" rotate="0" width="256" height="224" refresh="60.000000" /> |
   |    | <sound channels="1"/> |
   |    | <input players="2" buttons="4" coins="2" tilt="yes"> |
   |    |    | <control type="joy" ways="4"/> |
   |    | </input> |
   |    | <dipswitch name="Unknown" tag="DSW1" mask="1"> |
   |    |    | <dipvalue name="Off" value="1" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Unknown" tag="DSW1" mask="2"> |
   |    |    | <dipvalue name="Off" value="2" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Free Play" tag="DSW1" mask="4"> |
   |    |    | <dipvalue name="Off" value="4" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Lives" tag="DSW1" mask="24"> |
   |    |    | <dipvalue name="1" value="0"/> |
   |    |    | <dipvalue name="2" value="8"/> |
   |    |    | <dipvalue name="3" value="16" default="yes"/> |
   |    |    | <dipvalue name="4" value="24"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Unknown" tag="DSW1" mask="32"> |
   |    |    | <dipvalue name="Off" value="32" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Flip Screen" tag="DSW1" mask="64"> |
   |    |    | <dipvalue name="Off" value="0" default="yes"/> |
   |    |    | <dipvalue name="On" value="64"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Cabinet" tag="DSW1" mask="128"> |
   |    |    | <dipvalue name="Upright" value="0" default="yes"/> |
   |    |    | <dipvalue name="Cocktail" value="128"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Coin A" tag="DSW2" mask="15"> |
   |    |    | <dipvalue name="9 Coins/1 Credit" value="15"/> |
   |    |    | <dipvalue name="8 Coins/1 Credit" value="14"/> |
   |    |    | <dipvalue name="7 Coins/1 Credit" value="13"/> |
   |    |    | <dipvalue name="6 Coins/1 Credit" value="12"/> |
   |    |    | <dipvalue name="5 Coins/1 Credit" value="11"/> |
   |    |    | <dipvalue name="4 Coins/1 Credit" value="10"/> |
   |    |    | <dipvalue name="3 Coins/1 Credit" value="9"/> |
   |    |    | <dipvalue name="2 Coins/1 Credit" value="8"/> |
   |    |    | <dipvalue name="1 Coin/1 Credit" value="0" default="yes"/> |
   |    |    | <dipvalue name="1 Coin/2 Credits" value="1"/> |
   |    |    | <dipvalue name="1 Coin/3 Credits" value="2"/> |
   |    |    | <dipvalue name="1 Coin/4 Credits" value="3"/> |
   |    |    | <dipvalue name="1 Coin/5 Credits" value="4"/> |
   |    |    | <dipvalue name="1 Coin/6 Credits" value="5"/> |
   |    |    | <dipvalue name="1 Coin/7 Credits" value="6"/> |
   |    |    | <dipvalue name="1 Coin/8 Credits" value="7"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Coin B" tag="DSW2" mask="240"> |
   |    |    | <dipvalue name="9 Coins/1 Credit" value="240"/> |
   |    |    | <dipvalue name="8 Coins/1 Credit" value="224"/> |
   |    |    | <dipvalue name="7 Coins/1 Credit" value="208"/> |
   |    |    | <dipvalue name="6 Coins/1 Credit" value="192"/> |
   |    |    | <dipvalue name="5 Coins/1 Credit" value="176"/> |
   |    |    | <dipvalue name="4 Coins/1 Credit" value="160"/> |
   |    |    | <dipvalue name="3 Coins/1 Credit" value="144"/> |
   |    |    | <dipvalue name="2 Coins/1 Credit" value="128"/> |
   |    |    | <dipvalue name="1 Coin/1 Credit" value="0" default="yes"/> |
   |    |    | <dipvalue name="1 Coin/2 Credits" value="16"/> |
   |    |    | <dipvalue name="1 Coin/3 Credits" value="32"/> |
   |    |    | <dipvalue name="1 Coin/4 Credits" value="48"/> |
   |    |    | <dipvalue name="1 Coin/5 Credits" value="64"/> |
   |    |    | <dipvalue name="1 Coin/6 Credits" value="80"/> |
   |    |    | <dipvalue name="1 Coin/7 Credits" value="96"/> |
   |    |    | <dipvalue name="1 Coin/8 Credits" value="112"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Unknown" tag="DSW3" mask="1"> |
   |    |    | <dipvalue name="Off" value="1" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Unknown" tag="DSW3" mask="2"> |
   |    |    | <dipvalue name="Off" value="2" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Unknown" tag="DSW3" mask="4"> |
   |    |    | <dipvalue name="Off" value="4" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Unknown" tag="DSW3" mask="8"> |
   |    |    | <dipvalue name="Off" value="8" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Display Credit Settings" tag="DSW3" mask="16"> |
   |    |    | <dipvalue name="Off" value="0"/> |
   |    |    | <dipvalue name="On" value="16" default="yes"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Year Display" tag="DSW3" mask="32"> |
   |    |    | <dipvalue name="Off" value="0"/> |
   |    |    | <dipvalue name="On" value="32" default="yes"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Score points to: (Cheat)" tag="DSW3" mask="64"> |
   |    |    | <dipvalue name="Winner" value="64" default="yes"/> |
   |    |    | <dipvalue name="Human" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Coin Door Type" tag="DSW3" mask="128"> |
   |    |    | <dipvalue name="Single Slot" value="0" default="yes"/> |
   |    |    | <dipvalue name="Double Slot" value="128"/> |
   |    | </dipswitch> |
   |    | <driver status="imperfect" emulation="good" color="good" sound="good" graphic="imperfect" savestate="supported" palettesize="1024"/> |
|
|