diff --git a/src/mame/drivers/neogeo.c b/src/mame/drivers/neogeo.c index 93122992102..e73b72940f5 100644 --- a/src/mame/drivers/neogeo.c +++ b/src/mame/drivers/neogeo.c @@ -173,13 +173,10 @@ void neogeo_state::adjust_display_position_interrupt_timer() { - if ((m_display_counter + 1) != 0) - { - attotime period = attotime::from_hz(NEOGEO_PIXEL_CLOCK) * (m_display_counter + 1); - if (LOG_VIDEO_SYSTEM) logerror("adjust_display_position_interrupt_timer current y: %02x current x: %02x target y: %x target x: %x\n", m_screen->vpos(), m_screen->hpos(), (m_display_counter + 1) / NEOGEO_HTOTAL, (m_display_counter + 1) % NEOGEO_HTOTAL); + attotime period = attotime::from_hz(NEOGEO_PIXEL_CLOCK) * (m_display_counter + 1); + if (LOG_VIDEO_SYSTEM) logerror("adjust_display_position_interrupt_timer current y: %02x current x: %02x target y: %x target x: %x\n", m_screen->vpos(), m_screen->hpos(), (m_display_counter + 1) / NEOGEO_HTOTAL, (m_display_counter + 1) % NEOGEO_HTOTAL); - m_display_position_interrupt_timer->adjust(period); - } + m_display_position_interrupt_timer->adjust(period); } @@ -213,9 +210,9 @@ void neogeo_state::neogeo_set_display_counter_lsb( UINT16 data ) void neogeo_state::update_interrupts() { - m_maincpu->set_input_line(m_vblank_level, m_vblank_interrupt_pending ? ASSERT_LINE : CLEAR_LINE); - m_maincpu->set_input_line(m_raster_level, m_display_position_interrupt_pending ? ASSERT_LINE : CLEAR_LINE); m_maincpu->set_input_line(3, m_irq3_pending ? ASSERT_LINE : CLEAR_LINE); + m_maincpu->set_input_line(m_raster_level, m_display_position_interrupt_pending ? ASSERT_LINE : CLEAR_LINE); + m_maincpu->set_input_line(m_vblank_level, m_vblank_interrupt_pending ? ASSERT_LINE : CLEAR_LINE); } @@ -686,18 +683,15 @@ void neogeo_state::neogeo_audio_cpu_banking_init() } } - /* set initial audio banks -- - how does this really work, or is it even necessary? */ - m_bank_audio_cart[0]->set_entry(0x1e); - m_bank_audio_cart[1]->set_entry(0x0e); - m_bank_audio_cart[2]->set_entry(0x06); - m_bank_audio_cart[3]->set_entry(0x02); + // set initial audio banks + m_bank_audio_cart[0]->set_entry(0); + m_bank_audio_cart[1]->set_entry(0); + m_bank_audio_cart[2]->set_entry(0); + m_bank_audio_cart[3]->set_entry(0); } - - /************************************* * * System control register @@ -853,10 +847,6 @@ void neogeo_state::neogeo_postload() } - - - - void neogeo_state::machine_start() { m_type = NEOGEO_MVS; diff --git a/src/mame/machine/neoboot.c b/src/mame/machine/neoboot.c index 27bf09a04fe..eec6d0fd16c 100644 --- a/src/mame/machine/neoboot.c +++ b/src/mame/machine/neoboot.c @@ -863,22 +863,6 @@ void neogeo_state::svcsplus_px_hack() mem16[0xa110/2] = 0x9750; } -#ifdef UNUSED_FUNCTION -UINT16 mv0_bank_ram[ 0x10/2 ]; - -READ16_MEMBER( neogeo_state::mv0_bankswitch_r ) -{ - return mv0_bank_ram[ offset ]; -} - -WRITE16_MEMBER( neogeo_state::mv0_bankswitch_w ) -{ - UINT32 bankaddress = (mv0_bank_ram[ 0 ] >> 8) + (mv0_bank_ram[ 1 ] << 8) + 0x100000; - COMBINE_DATA( &mv0_bank_ram[ offset ] ); - neogeo_set_main_cpu_bank_address( bankaddress ); -} -#endif - /* The King of Fighters 2003 (bootleg set 1) */ diff --git a/src/mess/drivers/ng_aes.c b/src/mess/drivers/ng_aes.c index 7891c4e2935..7d9ebcf003c 100644 --- a/src/mess/drivers/ng_aes.c +++ b/src/mess/drivers/ng_aes.c @@ -1030,11 +1030,16 @@ MACHINE_START_MEMBER(ng_aes_state,neocd) m_type = NEOGEO_CD; common_machine_start(); + // set initial audio banks (different on NEOCD) + m_bank_audio_cart[0]->set_entry(0x1e); + m_bank_audio_cart[1]->set_entry(0x0e); + m_bank_audio_cart[2]->set_entry(0x06); + m_bank_audio_cart[3]->set_entry(0x02); + /* irq levels for NEOCD (swapped compared to MVS / AES) */ m_vblank_level = 2; m_raster_level = 1; - /* initialize the memcard data structure */ /* NeoCD doesn't have memcard slots, rather, it has a larger internal memory which works the same */ m_memcard_data = auto_alloc_array_clear(machine(), UINT8, 0x2000);