diff options
author | Firehawke <Firehawke@users.noreply.github.com> | 2017-12-13 21:31:27 -0700 |
---|---|---|
committer | Firehawke <Firehawke@users.noreply.github.com> | 2017-12-13 21:31:27 -0700 |
commit | 9ece34eb218c5c1960468294c733fd00ac7fa696 (patch) | |
tree | 7160ed8d2cbe2127aaaef0a21f8736403b0f8a7c /src/mame/drivers/de_2.cpp | |
parent | 54155441e9ba9941e85d80c4834a66376a11e791 (diff) |
Revert "Revert "Merge branch 'master' of https://github.com/mamedev/mame""
This reverts commit 54155441e9ba9941e85d80c4834a66376a11e791.
Diffstat (limited to 'src/mame/drivers/de_2.cpp')
-rw-r--r-- | src/mame/drivers/de_2.cpp | 107 |
1 files changed, 38 insertions, 69 deletions
diff --git a/src/mame/drivers/de_2.cpp b/src/mame/drivers/de_2.cpp index 648cfdf89a4..1a458e877fa 100644 --- a/src/mame/drivers/de_2.cpp +++ b/src/mame/drivers/de_2.cpp @@ -3,8 +3,8 @@ /* DataEast/Sega Version 1 and 2 - Main CPU: 6808 @ 4MHz - Audio CPU: 68B09E @ 8MHz (internally divided by 4) + Main CPU: 6808 @ 4MHz (internally divided by 4) + Audio CPU: 68B09E @ 2MHz Audio: YM2151 @ 3.58MHz, MSM5205 @ 384kHz */ @@ -288,7 +288,7 @@ 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)); + output().set_digit_value(m_strobe+16, bitswap<16>(m_segment2, 11, 15, 12, 10, 8, 14, 13, 9, 7, 6, 5, 4, 3, 2, 1, 0)); m_segment2 |= 0x40000; } } @@ -299,7 +299,7 @@ WRITE8_MEMBER( de_2_state::type2alpha3_dig1_w ) m_segment2 |= 0x20000; 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)); + output().set_digit_value(m_strobe+16, bitswap<16>(m_segment2, 11, 15, 12, 10, 8, 14, 13, 9, 7, 6, 5, 4, 3, 2, 1, 0)); m_segment2 |= 0x40000; } } @@ -310,7 +310,7 @@ WRITE8_MEMBER( de_2_state::alpha3_dig1_w ) m_segment2 |= 0x20000; if ((m_segment2 & 0x70000) == 0x30000) { - 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)); + output().set_digit_value(m_strobe+16, bitswap<16>(m_segment2, 7, 15, 12, 10, 8, 14, 13, 9, 11, 6, 5, 4, 3, 2, 1, 0)); m_segment2 |= 0x40000; } } @@ -332,7 +332,7 @@ WRITE8_MEMBER( de_2_state::pia2c_pa_w ) m_segment1 |= 0x10000; if ((m_segment1 & 0x70000) == 0x30000) { - output().set_digit_value(m_strobe, BITSWAP16(m_segment1, 7, 15, 12, 10, 8, 14, 13, 9, 11, 6, 5, 4, 3, 2, 1, 0)); + output().set_digit_value(m_strobe, bitswap<16>(m_segment1, 7, 15, 12, 10, 8, 14, 13, 9, 11, 6, 5, 4, 3, 2, 1, 0)); m_segment1 |= 0x40000; } } @@ -343,7 +343,7 @@ WRITE8_MEMBER( de_2_state::pia2c_pb_w ) m_segment1 |= 0x20000; if ((m_segment1 & 0x70000) == 0x30000) { - output().set_digit_value(m_strobe, BITSWAP16(m_segment1, 7, 15, 12, 10, 8, 14, 13, 9, 11, 6, 5, 4, 3, 2, 1, 0)); + output().set_digit_value(m_strobe, bitswap<16>(m_segment1, 7, 15, 12, 10, 8, 14, 13, 9, 11, 6, 5, 4, 3, 2, 1, 0)); m_segment1 |= 0x40000; } } @@ -383,7 +383,7 @@ WRITE8_MEMBER( de_2_state::type2alpha3_pia34_pa_w ) m_segment2 |= 0x10000; if ((m_segment2 & 0x70000) == 0x30000) { - 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)); + output().set_digit_value(m_strobe+16, bitswap<16>(m_segment2, 7, 15, 12, 10, 8, 14, 13, 9, 11, 6, 5, 4, 3, 2, 1, 0)); m_segment2 |= 0x40000; } } @@ -394,7 +394,7 @@ WRITE8_MEMBER( de_2_state::alpha3_pia34_pa_w ) m_segment2 |= 0x10000; 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)); + output().set_digit_value(m_strobe+16, bitswap<16>(m_segment2, 11, 15, 12, 10, 8, 14, 13, 9, 7, 6, 5, 4, 3, 2, 1, 0)); m_segment2 |= 0x40000; } } @@ -518,9 +518,26 @@ WRITE8_MEMBER(de_2_state::lamps_w) } +static MACHINE_CONFIG_START( de_bg_audio ) + /* sound CPU */ + MCFG_CPU_ADD("audiocpu", MC6809E, XTAL_8MHz / 4) // MC68B09E + MCFG_CPU_PROGRAM_MAP(de_2_audio_map) + + MCFG_SPEAKER_STANDARD_MONO("bg") + + MCFG_YM2151_ADD("ym2151", XTAL_3_579545MHz) + MCFG_YM2151_IRQ_HANDLER(WRITELINE(de_2_state, ym2151_irq_w)) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50) + + MCFG_SOUND_ADD("msm5205", MSM5205, XTAL_384kHz) + MCFG_MSM5205_VCLK_CB(WRITELINE(de_2_state, msm5205_irq_w)) + MCFG_MSM5205_PRESCALER_SELECTOR(S96_4B) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50) +MACHINE_CONFIG_END + static MACHINE_CONFIG_START( de_type1 ) /* basic machine hardware */ - MCFG_DECOCPU_TYPE1_ADD("decocpu",XTAL_8MHz / 2, ":maincpu") + MCFG_DECOCPU_TYPE1_ADD("decocpu", XTAL_8MHz / 2, ":maincpu") MCFG_DECOCPU_DISPLAY(READ8(de_2_state,display_r),WRITE8(de_2_state,display_w)) MCFG_DECOCPU_SOUNDLATCH(WRITE8(de_2_state,sound_w)) MCFG_DECOCPU_SWITCH(READ8(de_2_state,switch_r),WRITE8(de_2_state,switch_w)) @@ -530,25 +547,13 @@ static MACHINE_CONFIG_START( de_type1 ) /* Video */ MCFG_DEFAULT_LAYOUT(layout_de2) - MCFG_FRAGMENT_ADD( genpin_audio ) - - /* sound CPU */ - MCFG_CPU_ADD("audiocpu", M6809E, 8000000) // MC68B09E - MCFG_CPU_PROGRAM_MAP(de_2_audio_map) - - MCFG_SPEAKER_STANDARD_MONO("bg") - MCFG_YM2151_ADD("ym2151", 3580000) - MCFG_YM2151_IRQ_HANDLER(WRITELINE(de_2_state, ym2151_irq_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50) - MCFG_SOUND_ADD("msm5205", MSM5205, 384000) - MCFG_MSM5205_VCLK_CB(WRITELINE(de_2_state, msm5205_irq_w)) - MCFG_MSM5205_PRESCALER_SELECTOR(S96_4B) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50) + MCFG_FRAGMENT_ADD(genpin_audio) + MCFG_FRAGMENT_ADD(de_bg_audio) MACHINE_CONFIG_END static MACHINE_CONFIG_START( de_type2 ) /* basic machine hardware */ - MCFG_DECOCPU_TYPE2_ADD("decocpu",XTAL_8MHz / 2, ":maincpu") + MCFG_DECOCPU_TYPE2_ADD("decocpu", XTAL_8MHz / 2, ":maincpu") MCFG_DECOCPU_DISPLAY(READ8(de_2_state,display_r),WRITE8(de_2_state,display_w)) MCFG_DECOCPU_SOUNDLATCH(WRITE8(de_2_state,sound_w)) MCFG_DECOCPU_SWITCH(READ8(de_2_state,switch_r),WRITE8(de_2_state,switch_w)) @@ -558,25 +563,13 @@ static MACHINE_CONFIG_START( de_type2 ) /* Video */ MCFG_DEFAULT_LAYOUT(layout_de2) - MCFG_FRAGMENT_ADD( genpin_audio ) - - /* sound CPU */ - MCFG_CPU_ADD("audiocpu", M6809E, 8000000) // MC68B09E - MCFG_CPU_PROGRAM_MAP(de_2_audio_map) - - MCFG_SPEAKER_STANDARD_MONO("bg") - MCFG_YM2151_ADD("ym2151", 3580000) - MCFG_YM2151_IRQ_HANDLER(WRITELINE(de_2_state, ym2151_irq_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50) - MCFG_SOUND_ADD("msm5205", MSM5205, 384000) - MCFG_MSM5205_VCLK_CB(WRITELINE(de_2_state, msm5205_irq_w)) - MCFG_MSM5205_PRESCALER_SELECTOR(S96_4B) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50) + MCFG_FRAGMENT_ADD(genpin_audio) + MCFG_FRAGMENT_ADD(de_bg_audio) MACHINE_CONFIG_END static MACHINE_CONFIG_START( de_type2_alpha3 ) /* basic machine hardware */ - MCFG_DECOCPU_TYPE2_ADD("decocpu",XTAL_8MHz / 2, ":maincpu") + MCFG_DECOCPU_TYPE2_ADD("decocpu", XTAL_8MHz / 2, ":maincpu") MCFG_DECOCPU_DISPLAY(READ8(de_2_state,display_r),WRITE8(de_2_state,type2alpha3_display_w)) MCFG_DECOCPU_SOUNDLATCH(WRITE8(de_2_state,sound_w)) MCFG_DECOCPU_SWITCH(READ8(de_2_state,switch_r),WRITE8(de_2_state,switch_w)) @@ -586,25 +579,13 @@ static MACHINE_CONFIG_START( de_type2_alpha3 ) /* Video */ MCFG_DEFAULT_LAYOUT(layout_de2a3) - MCFG_FRAGMENT_ADD( genpin_audio ) - - /* sound CPU */ - MCFG_CPU_ADD("audiocpu", M6809E, 8000000) // MC68B09E - MCFG_CPU_PROGRAM_MAP(de_2_audio_map) - - MCFG_SPEAKER_STANDARD_MONO("bg") - MCFG_YM2151_ADD("ym2151", 3580000) - MCFG_YM2151_IRQ_HANDLER(WRITELINE(de_2_state, ym2151_irq_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50) - MCFG_SOUND_ADD("msm5205", MSM5205, 384000) - MCFG_MSM5205_VCLK_CB(WRITELINE(de_2_state, msm5205_irq_w)) - MCFG_MSM5205_PRESCALER_SELECTOR(S96_4B) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50) + MCFG_FRAGMENT_ADD(genpin_audio) + MCFG_FRAGMENT_ADD(de_bg_audio) MACHINE_CONFIG_END static MACHINE_CONFIG_START( de_type3 ) /* basic machine hardware */ - MCFG_DECOCPU_TYPE3_ADD("decocpu",XTAL_8MHz / 2, ":maincpu") + MCFG_DECOCPU_TYPE3_ADD("decocpu", XTAL_8MHz / 2, ":maincpu") MCFG_DECOCPU_DISPLAY(READ8(de_2_state,display_r),WRITE8(de_2_state,alpha3_display_w)) MCFG_DECOCPU_SOUNDLATCH(WRITE8(de_2_state,sound_w)) MCFG_DECOCPU_SWITCH(READ8(de_2_state,switch_r),WRITE8(de_2_state,switch_w)) @@ -614,20 +595,8 @@ static MACHINE_CONFIG_START( de_type3 ) /* Video */ MCFG_DEFAULT_LAYOUT(layout_de2a3) - MCFG_FRAGMENT_ADD( genpin_audio ) - - /* sound CPU */ - MCFG_CPU_ADD("audiocpu", M6809E, 8000000) // MC68B09E - MCFG_CPU_PROGRAM_MAP(de_2_audio_map) - - MCFG_SPEAKER_STANDARD_MONO("bg") - MCFG_YM2151_ADD("ym2151", 3580000) - MCFG_YM2151_IRQ_HANDLER(WRITELINE(de_2_state, ym2151_irq_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50) - MCFG_SOUND_ADD("msm5205", MSM5205, 384000) - MCFG_MSM5205_VCLK_CB(WRITELINE(de_2_state, msm5205_irq_w)) - MCFG_MSM5205_PRESCALER_SELECTOR(S96_4B) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50) + MCFG_FRAGMENT_ADD(genpin_audio) + MCFG_FRAGMENT_ADD(de_bg_audio) MACHINE_CONFIG_END |