mirror of
https://github.com/holub/mame
synced 2025-05-30 09:33:05 +03:00
specific initial z80 banks only applies to NEOCD, normally set to 0 on boot
This commit is contained in:
parent
b59ef368a2
commit
691024fcec
@ -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;
|
||||
|
@ -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) */
|
||||
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user