diff options
Diffstat (limited to 'src/mame/drivers/nycaptor.cpp')
-rw-r--r-- | src/mame/drivers/nycaptor.cpp | 40 |
1 files changed, 10 insertions, 30 deletions
diff --git a/src/mame/drivers/nycaptor.cpp b/src/mame/drivers/nycaptor.cpp index 913dfc71c28..7c2e1a6a11c 100644 --- a/src/mame/drivers/nycaptor.cpp +++ b/src/mame/drivers/nycaptor.cpp @@ -255,22 +255,6 @@ READ8_MEMBER(nycaptor_state::sound_status_r) } -MACHINE_RESET_MEMBER(nycaptor_state,ta7630) -{ - int i; - double db = 0.0; - double db_step = 0.50; /* 0.50 dB step (at least, maybe more) */ - double db_step_inc = 0.275; - - for (i = 0; i < 16; i++) - { - double max = 100.0 / pow(10.0, db/20.0 ); - m_vol_ctrl[15 - i] = max; - /*logerror("vol_ctrl[%x] = %i (%f dB)\n", 15 - i, m_vol_ctrl[15 - i], db);*/ - db += db_step; - db_step += db_step_inc; - } -} WRITE8_MEMBER(nycaptor_state::nmi_disable_w) { @@ -342,7 +326,7 @@ static ADDRESS_MAP_START( nycaptor_slave_map, AS_PROGRAM, 8, nycaptor_state ) AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("sharedram") ADDRESS_MAP_END -static ADDRESS_MAP_START( nycaptor_sound_map, AS_PROGRAM, 8, nycaptor_state ) +static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, nycaptor_state ) AM_RANGE(0x0000, 0xbfff) AM_ROM AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_RANGE(0xc800, 0xc801) AM_DEVWRITE("ay1", ay8910_device, address_data_w) @@ -354,7 +338,7 @@ static ADDRESS_MAP_START( nycaptor_sound_map, AS_PROGRAM, 8, nycaptor_state ) AM_RANGE(0xd000, 0xd000) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_DEVWRITE("soundlatch2", generic_latch_8_device, write) AM_RANGE(0xd200, 0xd200) AM_READNOP AM_WRITE(nmi_enable_w) AM_RANGE(0xd400, 0xd400) AM_WRITE(nmi_disable_w) - AM_RANGE(0xd600, 0xd600) AM_DEVWRITE("soundlatch", generic_latch_8_device, acknowledge_w) + AM_RANGE(0xd600, 0xd600) AM_DEVWRITE("dac", dac_byte_interface, write) //otherwise no girl's scream in cycle shooting, see MT03975 AM_RANGE(0xe000, 0xefff) AM_NOP ADDRESS_MAP_END @@ -436,11 +420,6 @@ static ADDRESS_MAP_START( cyclshtg_slave_map, AS_PROGRAM, 8, nycaptor_state ) AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("sharedram") ADDRESS_MAP_END -static ADDRESS_MAP_START( cyclshtg_sound_map, AS_PROGRAM, 8, nycaptor_state ) - AM_RANGE(0xd600, 0xd600) AM_DEVWRITE("dac", dac_byte_interface, write) //otherwise no girl's scream, see MT03975 - AM_IMPORT_FROM( nycaptor_sound_map ) -ADDRESS_MAP_END - READ8_MEMBER(nycaptor_state::unk_r) { return machine().rand(); @@ -728,7 +707,6 @@ void nycaptor_state::machine_start() membank("bank1")->configure_entries(0, 4, memregion("maincpu")->base() + 0x10000, 0x4000); save_item(NAME(m_generic_control_reg)); - save_item(NAME(m_vol_ctrl)); save_item(NAME(m_char_bank)); save_item(NAME(m_palette_bank)); @@ -737,15 +715,13 @@ void nycaptor_state::machine_start() void nycaptor_state::machine_reset() { - MACHINE_RESET_CALL_MEMBER(ta7630); +// MACHINE_RESET_CALL_MEMBER(ta7630); m_generic_control_reg = 0; m_char_bank = 0; m_palette_bank = 0; m_gfxctrl = 0; - - memset(m_vol_ctrl, 0, sizeof(m_vol_ctrl)); } static MACHINE_CONFIG_START( nycaptor ) @@ -760,7 +736,7 @@ static MACHINE_CONFIG_START( nycaptor ) MCFG_CPU_VBLANK_INT_DRIVER("screen", nycaptor_state, irq0_line_hold) /* IRQ generated by ??? */ MCFG_CPU_ADD("audiocpu", Z80,8000000/2) - MCFG_CPU_PROGRAM_MAP(nycaptor_sound_map) + MCFG_CPU_PROGRAM_MAP(sound_map) MCFG_CPU_PERIODIC_INT_DRIVER(nycaptor_state, irq0_line_hold, 2*60) /* IRQ generated by ??? */ MCFG_DEVICE_ADD("bmcu", TAITO68705_MCU,2000000) @@ -818,6 +794,10 @@ static MACHINE_CONFIG_START( nycaptor ) // pin 22 Noise Output not mapped // Does the DAC also exist on this board? nycaptor writes 0x80 to 0xd600 + // Update: of course it exists, sound board seems common Taito design. + MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC + MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) + MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MACHINE_CONFIG_END static MACHINE_CONFIG_START( cyclshtg ) @@ -831,7 +811,7 @@ static MACHINE_CONFIG_START( cyclshtg ) MCFG_CPU_VBLANK_INT_DRIVER("screen", nycaptor_state, irq0_line_hold) MCFG_CPU_ADD("audiocpu", Z80,8000000/2) - MCFG_CPU_PROGRAM_MAP(cyclshtg_sound_map) + MCFG_CPU_PROGRAM_MAP(sound_map) MCFG_CPU_PERIODIC_INT_DRIVER(nycaptor_state, irq0_line_hold, 2*60) #ifdef USE_MCU @@ -905,7 +885,7 @@ static MACHINE_CONFIG_START( bronx ) MCFG_CPU_VBLANK_INT_DRIVER("screen", nycaptor_state, irq0_line_hold) MCFG_CPU_ADD("audiocpu", Z80,8000000/2) - MCFG_CPU_PROGRAM_MAP(cyclshtg_sound_map) + MCFG_CPU_PROGRAM_MAP(sound_map) MCFG_CPU_PERIODIC_INT_DRIVER(nycaptor_state, irq0_line_hold, 2*60) MCFG_QUANTUM_TIME(attotime::from_hz(120)) |