de_2: Moved Laser War to de_2, as CPU Type 1 and Alphanumeric Type 1 are

very much similar to Type 2.  de_1.c is no longer needed.
       Added layout for Alphanumeric Type 3 games. [Barry Rodewald]
This commit is contained in:
mahlemiut 2013-06-15 12:44:28 +00:00
parent a682441465
commit 0832a5bfbf
4 changed files with 211 additions and 7 deletions

1
.gitattributes vendored
View File

@ -4728,6 +4728,7 @@ src/mame/layout/crusnexo.lay svneol=native#text/plain
src/mame/layout/darius.lay svneol=native#text/plain
src/mame/layout/dblaxle.lay svneol=native#text/plain
src/mame/layout/de2.lay svneol=native#text/plain
src/mame/layout/de2a3.lay svneol=native#text/plain
src/mame/layout/deadeye.lay svneol=native#text/plain
src/mame/layout/demon.lay svneol=native#text/plain
src/mame/layout/dendego.lay svneol=native#text/plain

View File

@ -1,5 +1,9 @@
/*
DataEast/Sega Version 2
DataEast/Sega Version 1 and 2
Main CPU: 6808 @ 4MHz
Audio CPU: 68B09E @ 8MHz (internally divided by 4)
Audio: YM2151 @ 3.58MHz, MSM5205 @ 384kHz
*/
@ -11,8 +15,10 @@
#include "sound/2151intf.h"
#include "sound/msm5205.h"
#include "de2.lh"
#include "de2a3.lh"
// To start Secret Service, hold I, O and Left ALT while pressing Start.
// To start Laser War, hold S, D, and F while pressing Start.
// Data East CPU board is similar to Williams System 11, but without the generic audio board.
// For now, we'll presume the timings are the same.
@ -63,6 +69,7 @@ protected:
public:
DECLARE_DRIVER_INIT(de_2);
DECLARE_MACHINE_RESET(de_2);
DECLARE_MACHINE_RESET(de_2_alpha3);
DECLARE_WRITE8_MEMBER(sample_w);
DECLARE_WRITE8_MEMBER(pia34_pa_w);
DECLARE_READ8_MEMBER(switch_r);
@ -94,6 +101,7 @@ public:
UINT8 m_sample_data;
bool m_more_data;
bool m_nmi_enable;
bool m_is_alpha3;
private:
UINT32 m_segment1;
@ -245,6 +253,14 @@ MACHINE_RESET_MEMBER(de_2_state, de_2)
{
membank("sample_bank")->set_entry(0);
m_more_data = false;
m_is_alpha3 = false;
}
MACHINE_RESET_MEMBER(de_2_state, de_2_alpha3)
{
membank("sample_bank")->set_entry(0);
m_more_data = false;
m_is_alpha3 = true;
}
DRIVER_INIT_MEMBER(de_2_state, de_2)
@ -385,7 +401,10 @@ WRITE8_MEMBER( de_2_state::dig1_w )
m_segment2 |= 0x30000;
if ((m_segment2 & 0x70000) == 0x30000)
{
output_set_digit_value(m_strobe+16, BITSWAP16(m_segment2, 11, 15, 12, 10, 8, 14, 13, 9, 7, 6, 5, 4, 3, 2, 1, 0));
if(m_is_alpha3) // Alphanumeric type 2 uses 7 segment LEDs on the bottom row, type 3 uses 14 segment LEDs
output_set_digit_value(m_strobe+16, BITSWAP16(m_segment2, 7, 15, 12, 10, 8, 14, 13, 9, 11, 6, 5, 4, 3, 2, 1, 0));
else
output_set_digit_value(m_strobe+16, BITSWAP16(m_segment2, 11, 15, 12, 10, 8, 14, 13, 9, 7, 6, 5, 4, 3, 2, 1, 0));
m_segment2 |= 0x40000;
}
}
@ -582,6 +601,35 @@ static MACHINE_CONFIG_START( de_2, de_2_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( de_2_alpha3, de_2 )
MCFG_MACHINE_RESET_OVERRIDE(de_2_state, de_2_alpha3)
MCFG_DEFAULT_LAYOUT(layout_de2a3)
MACHINE_CONFIG_END
/*-------------------------------------------------------------------
/ Laser War - CPU Rev 1 /Alpha Type 1 - 32K ROM - 32/64K Sound Roms
/-------------------------------------------------------------------*/
ROM_START(lwar_a83)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("lwar8-3.c5", 0x8000, 0x8000, CRC(eee158ee) SHA1(54db2342bdd15b16fee906dc65f183a957fd0012))
ROM_REGION(0x10000, "audiocpu", 0)
ROM_LOAD("lwar_e9.snd", 0x8000, 0x8000, CRC(9a6c834d) SHA1(c6e2c4658db4bd8dfcbb0351793837cdff30ba28))
ROM_REGION(0x40000, "sound1", 0)
ROM_LOAD("lwar_e6.snd", 0x00000, 0x10000, CRC(7307d795) SHA1(5d88b8d883a2f17ca9fa30c7e7ac29c9f236ac4d))
ROM_LOAD("lwar_e7.snd", 0x10000, 0x10000, CRC(0285cff9) SHA1(2c5e3de649e419ec7944059f2a226aaf58fe2af5))
ROM_END
ROM_START(lwar_e90)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("lwar9-0.e5", 0x8000, 0x8000, CRC(b596151f) SHA1(10dade79ded71625770ec7e21ea50b7aa64023d0))
ROM_REGION(0x10000, "audiocpu", 0)
ROM_LOAD("lwar_e9.snd", 0x8000, 0x8000, CRC(9a6c834d) SHA1(c6e2c4658db4bd8dfcbb0351793837cdff30ba28))
ROM_REGION(0x40000, "sound1", 0)
ROM_LOAD("lwar_e6.snd", 0x00000, 0x10000, CRC(7307d795) SHA1(5d88b8d883a2f17ca9fa30c7e7ac29c9f236ac4d))
ROM_LOAD("lwar_e7.snd", 0x10000, 0x10000, CRC(0285cff9) SHA1(2c5e3de649e419ec7944059f2a226aaf58fe2af5))
ROM_END
/*-----------------------------------------------------------------------------------
/ Monday Night Football - CPU Rev 2 /Alpha Type 3 16/32K Roms - 32/64K Sound Roms
/----------------------------------------------------------------------------------*/
@ -702,10 +750,12 @@ ROM_START(torp_e21)
ROM_LOAD("torpef4.rom", 0x10000, 0x10000, CRC(83a4e7f3) SHA1(96deac9251fe68cc0319ac009becd424c4e444c5))
ROM_END
GAME(1989, mnfb_c27, 0, de_2, de_2, de_2_state, de_2, ROT0, "Data East", "Monday Night Football (2.7, 50cts)", GAME_IS_SKELETON_MECHANICAL)
GAME(1990, poto_a32, 0, de_2, de_2, de_2_state, de_2, ROT0, "Data East", "The Phantom of the Opera (3.2)", GAME_IS_SKELETON_MECHANICAL)
GAME(1987, lwar_a83, 0, de_2, de_2, de_2_state, de_2, ROT0, "Data East", "Laser War (8.3)", GAME_IS_SKELETON_MECHANICAL)
GAME(1987, lwar_e90, lwar_a83, de_2, de_2, de_2_state, de_2, ROT0, "Data East", "Laser War (9.0 Europe)", GAME_IS_SKELETON_MECHANICAL)
GAME(1989, mnfb_c27, 0, de_2_alpha3, de_2, de_2_state, de_2, ROT0, "Data East", "Monday Night Football (2.7, 50cts)", GAME_IS_SKELETON_MECHANICAL)
GAME(1990, poto_a32, 0, de_2_alpha3, de_2, de_2_state, de_2, ROT0, "Data East", "The Phantom of the Opera (3.2)", GAME_IS_SKELETON_MECHANICAL)
GAME(1989, play_a24, 0, de_2, de_2, de_2_state, de_2, ROT0, "Data East", "Playboy 35th Anniversary (2.4)", GAME_IS_SKELETON_MECHANICAL)
GAME(1989, robo_a34, 0, de_2, de_2, de_2_state, de_2, ROT0, "Data East", "Robocop (3.4)", GAME_IS_SKELETON_MECHANICAL)
GAME(1989, robo_a34, 0, de_2_alpha3, de_2, de_2_state, de_2, ROT0, "Data East", "Robocop (3.4)", GAME_IS_SKELETON_MECHANICAL)
GAME(1988, ssvc_a26, 0, de_2, de_2, de_2_state, de_2, ROT0, "Data East", "Secret Service (2.6)", GAME_IS_SKELETON_MECHANICAL)
GAME(1988, ssvc_b26, ssvc_a26, de_2, de_2, de_2_state, de_2, ROT0, "Data East", "Secret Service (2.6 alternate sound)", GAME_IS_SKELETON_MECHANICAL)
GAME(1988, tmac_a24, 0, de_2, de_2, de_2_state, de_2, ROT0, "Data East", "Time Machine (2.4)", GAME_IS_SKELETON_MECHANICAL)

153
src/mame/layout/de2a3.lay Normal file
View File

@ -0,0 +1,153 @@
<!-- de2a3.lay -->
<!-- Data East Alphanumeric Display Type 3 -->
<!-- 2013-06-15: Initial version. [Barry Rodewald] -->
<mamelayout version="2">
<element name="digit" defstate="0">
<led14segsc>
<color red="1.0" green="0.0" blue="0.0" />
</led14segsc>
</element>
<element name="ldigit" defstate="0">
<led7seg>
<color red="1.0" green="0.0" blue="0.0" />
</led7seg>
</element>
<element name="diagled" defstate="0">
<disk>
<color red="1.0" green="0.0" blue="0.0" />
</disk>
</element>
<element name="background">
<rect>
<bounds left="0" top="0" right="1" bottom="1" />
<color red="0.0" green="0.0" blue="0.0" />
</rect>
</element>
<element name="P3"><text string="Player 1"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="P4"><text string="Player 2"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="P5"><text string="Player 3"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="P6"><text string="Player 4"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<view name="Default Layout">
<!-- Background -->
<backdrop element="background">
<bounds left="0" top="20" right="318" bottom="394" />
</backdrop>
<!-- LEDs -->
<!-- Player 1 Score -->
<bezel name="digit0" element="digit">
<bounds left="10" top="45" right="30" bottom="84" />
</bezel>
<bezel name="digit1" element="digit">
<bounds left="34" top="45" right="54" bottom="84" />
</bezel>
<bezel name="digit2" element="digit">
<bounds left="58" top="45" right="78" bottom="84" />
</bezel>
<bezel name="digit3" element="digit">
<bounds left="82" top="45" right="102" bottom="84" />
</bezel>
<bezel name="digit4" element="digit">
<bounds left="106" top="45" right="126" bottom="84" />
</bezel>
<bezel name="digit5" element="digit">
<bounds left="130" top="45" right="150" bottom="84" />
</bezel>
<bezel name="digit6" element="digit">
<bounds left="154" top="45" right="174" bottom="84" />
</bezel>
<bezel name="digit7" element="digit">
<bounds left="178" top="45" right="198" bottom="84" />
</bezel>
<!-- Player 2 Score -->
<bezel name="digit8" element="digit">
<bounds left="202" top="45" right="222" bottom="84" />
</bezel>
<bezel name="digit9" element="digit">
<bounds left="226" top="45" right="246" bottom="84" />
</bezel>
<bezel name="digit10" element="digit">
<bounds left="250" top="45" right="270" bottom="84" />
</bezel>
<bezel name="digit11" element="digit">
<bounds left="274" top="45" right="294" bottom="84" />
</bezel>
<bezel name="digit12" element="digit">
<bounds left="298" top="45" right="318" bottom="84" />
</bezel>
<bezel name="digit13" element="digit">
<bounds left="322" top="45" right="342" bottom="84" />
</bezel>
<bezel name="digit14" element="digit">
<bounds left="346" top="45" right="366" bottom="84" />
</bezel>
<bezel name="digit15" element="digit">
<bounds left="370" top="45" right="390" bottom="84" />
</bezel>
<!-- Player 3 Score -->
<bezel name="digit16" element="digit">
<bounds left="10" top="100" right="30" bottom="139" />
</bezel>
<bezel name="digit17" element="digit">
<bounds left="34" top="100" right="54" bottom="139" />
</bezel>
<bezel name="digit18" element="digit">
<bounds left="58" top="100" right="78" bottom="139" />
</bezel>
<bezel name="digit19" element="digit">
<bounds left="82" top="100" right="102" bottom="139" />
</bezel>
<bezel name="digit20" element="digit">
<bounds left="106" top="100" right="126" bottom="139" />
</bezel>
<bezel name="digit21" element="digit">
<bounds left="130" top="100" right="150" bottom="139" />
</bezel>
<bezel name="digit22" element="digit">
<bounds left="154" top="100" right="174" bottom="139" />
</bezel>
<bezel name="digit23" element="digit">
<bounds left="178" top="100" right="198" bottom="139" />
</bezel>
<!-- Player 4 Score -->
<bezel name="digit24" element="digit">
<bounds left="202" top="100" right="222" bottom="139" />
</bezel>
<bezel name="digit25" element="digit">
<bounds left="226" top="100" right="246" bottom="139" />
</bezel>
<bezel name="digit26" element="digit">
<bounds left="250" top="100" right="270" bottom="139" />
</bezel>
<bezel name="digit27" element="digit">
<bounds left="274" top="100" right="294" bottom="139" />
</bezel>
<bezel name="digit28" element="digit">
<bounds left="298" top="100" right="318" bottom="139" />
</bezel>
<bezel name="digit29" element="digit">
<bounds left="322" top="100" right="342" bottom="139" />
</bezel>
<bezel name="digit30" element="digit">
<bounds left="346" top="100" right="366" bottom="139" />
</bezel>
<bezel name="digit31" element="digit">
<bounds left="370" top="100" right="390" bottom="139" />
</bezel>
<bezel element="P3"><bounds left="10" right="174" top="30" bottom="42" /></bezel>
<bezel element="P4"><bounds left="190" right="354" top="30" bottom="42" /></bezel>
<bezel element="P5"><bounds left="10" right="174" top="88" bottom="100" /></bezel>
<bezel element="P6"><bounds left="190" right="354" top="88" bottom="100" /></bezel>
</view>
</mamelayout>

View File

@ -1890,7 +1890,6 @@ $(MAMEOBJ)/pinball.a: \
$(DRIVERS)/by68701.o \
$(DRIVERS)/byvid.o \
$(DRIVERS)/capcom.o \
$(DRIVERS)/de_1.o \
$(DRIVERS)/de_2.o \
$(DRIVERS)/de_3.o \
$(DRIVERS)/de_3b.o \
@ -2327,7 +2326,8 @@ $(DRIVERS)/corona.o: $(LAYOUT)/re800.lh \
$(DRIVERS)/darius.o: $(LAYOUT)/darius.lh
$(DRIVERS)/de_2.o: $(LAYOUT)/de2.lh
$(DRIVERS)/de_2.o: $(LAYOUT)/de2.lh \
$(LAYOUT)/de2a3.lh
$(DRIVERS)/destroyr.o: $(LAYOUT)/destroyr.lh