mirror of
https://github.com/holub/mame
synced 2025-06-03 19:36:26 +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()
|
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()
|
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(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 --
|
// set initial audio banks
|
||||||
how does this really work, or is it even necessary? */
|
m_bank_audio_cart[0]->set_entry(0);
|
||||||
m_bank_audio_cart[0]->set_entry(0x1e);
|
m_bank_audio_cart[1]->set_entry(0);
|
||||||
m_bank_audio_cart[1]->set_entry(0x0e);
|
m_bank_audio_cart[2]->set_entry(0);
|
||||||
m_bank_audio_cart[2]->set_entry(0x06);
|
m_bank_audio_cart[3]->set_entry(0);
|
||||||
m_bank_audio_cart[3]->set_entry(0x02);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*************************************
|
/*************************************
|
||||||
*
|
*
|
||||||
* System control register
|
* System control register
|
||||||
@ -853,10 +847,6 @@ void neogeo_state::neogeo_postload()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void neogeo_state::machine_start()
|
void neogeo_state::machine_start()
|
||||||
{
|
{
|
||||||
m_type = NEOGEO_MVS;
|
m_type = NEOGEO_MVS;
|
||||||
|
@ -863,22 +863,6 @@ void neogeo_state::svcsplus_px_hack()
|
|||||||
mem16[0xa110/2] = 0x9750;
|
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) */
|
/* The King of Fighters 2003 (bootleg set 1) */
|
||||||
|
|
||||||
|
@ -1030,11 +1030,16 @@ MACHINE_START_MEMBER(ng_aes_state,neocd)
|
|||||||
m_type = NEOGEO_CD;
|
m_type = NEOGEO_CD;
|
||||||
common_machine_start();
|
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) */
|
/* irq levels for NEOCD (swapped compared to MVS / AES) */
|
||||||
m_vblank_level = 2;
|
m_vblank_level = 2;
|
||||||
m_raster_level = 1;
|
m_raster_level = 1;
|
||||||
|
|
||||||
|
|
||||||
/* initialize the memcard data structure */
|
/* initialize the memcard data structure */
|
||||||
/* NeoCD doesn't have memcard slots, rather, it has a larger internal memory which works the same */
|
/* 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);
|
m_memcard_data = auto_alloc_array_clear(machine(), UINT8, 0x2000);
|
||||||
|
Loading…
Reference in New Issue
Block a user