diff options
author | mahlemiut <mahlemiut@users.noreply.github.com> | 2013-06-15 12:44:28 +0000 |
---|---|---|
committer | mahlemiut <mahlemiut@users.noreply.github.com> | 2013-06-15 12:44:28 +0000 |
commit | 0832a5bfbf976f032caffc08b40a00004a89e886 (patch) | |
tree | 72f37da3cff50094c1e554b7af6e7bfa046b3e15 /src/mame/drivers/de_2.c | |
parent | a68244146511532c4b820664d761ef9c701fab95 (diff) |
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]
Diffstat (limited to 'src/mame/drivers/de_2.c')
-rw-r--r-- | src/mame/drivers/de_2.c | 60 |
1 files changed, 55 insertions, 5 deletions
diff --git a/src/mame/drivers/de_2.c b/src/mame/drivers/de_2.c index e15a671c9d9..4ab44632410 100644 --- a/src/mame/drivers/de_2.c +++ b/src/mame/drivers/de_2.c @@ -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) |