fixed nes regressions from rev. 32216: m_maincpu is not set yet at this stage,

so better perform a single tagmap lookup than crash the emulator ;-). nw.
This commit is contained in:
Fabio Priuli 2014-09-21 20:54:24 +00:00
parent 7cf52f7cce
commit 100082ceda
17 changed files with 33 additions and 33 deletions

View File

@ -129,7 +129,7 @@ void nes_fcg_device::device_start()
{
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
irq_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(1));
irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1));
save_item(NAME(m_irq_enable));
save_item(NAME(m_irq_count));
@ -150,7 +150,7 @@ void nes_lz93d50_24c01_device::device_start()
{
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
irq_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(1));
irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1));
save_item(NAME(m_irq_enable));
save_item(NAME(m_irq_count));
@ -173,7 +173,7 @@ void nes_fjump2_device::device_start()
{
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
irq_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(1));
irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1));
save_item(NAME(m_reg));
}

View File

@ -208,7 +208,7 @@ void nes_mbaby_device::device_start()
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
irq_timer->reset();
timer_freq = m_maincpu->cycles_to_attotime(24576);
timer_freq = machine().device<cpu_device>("maincpu")->cycles_to_attotime(24576);
save_item(NAME(m_irq_enable));
save_item(NAME(m_latch));
@ -243,7 +243,7 @@ void nes_smb3p_device::device_start()
{
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
irq_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(1));
irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1));
save_item(NAME(m_irq_enable));
save_item(NAME(m_irq_count));
@ -297,7 +297,7 @@ void nes_smb2j_device::device_start()
{
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
irq_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(1));
irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1));
save_item(NAME(m_irq_enable));
save_item(NAME(m_irq_count));
@ -320,7 +320,7 @@ void nes_smb2ja_device::device_start()
{
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
irq_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(1));
irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1));
save_item(NAME(m_irq_enable));
save_item(NAME(m_irq_count));
@ -343,7 +343,7 @@ void nes_smb2jb_device::device_start()
{
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
irq_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(1));
irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1));
save_item(NAME(m_irq_enable));
save_item(NAME(m_irq_count));
@ -429,7 +429,7 @@ void nes_lh53_device::device_start()
{
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
irq_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(1));
irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1));
save_item(NAME(m_irq_enable));
save_item(NAME(m_irq_count));
@ -510,7 +510,7 @@ void nes_shuiguan_device::device_start()
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
// always running and checking for IRQ every 114 cycles? or resetting every frame?
irq_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(114));
irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(114));
save_item(NAME(m_irq_enable));
save_item(NAME(m_irq_count));

View File

@ -62,7 +62,7 @@ void nes_cony_device::device_start()
{
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
irq_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(1));
irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1));
save_item(NAME(m_irq_enable));
save_item(NAME(m_irq_count));
@ -98,7 +98,7 @@ void nes_yoko_device::device_start()
{
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
irq_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(1));
irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1));
save_item(NAME(m_irq_enable));
save_item(NAME(m_irq_count));

View File

@ -242,8 +242,8 @@ void nes_datach_device::device_start()
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
serial_timer = timer_alloc(TIMER_SERIAL);
irq_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(1));
serial_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(1000));
irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1));
serial_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1000));
save_item(NAME(m_irq_enable));
save_item(NAME(m_irq_count));

View File

@ -123,7 +123,7 @@ void nes_disksys_device::device_start()
m_disk->floppy_install_unload_proc(nes_disksys_device::unload_proc);
irq_timer = timer_alloc(TIMER_IRQ);
irq_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(1));
irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1));
save_item(NAME(m_fds_motor_on));
save_item(NAME(m_fds_door_closed));

View File

@ -48,7 +48,7 @@ void nes_event_device::device_start()
common_start();
event_timer = timer_alloc(TIMER_EVENT);
event_timer->adjust(attotime::never);
timer_freq = m_maincpu->cycles_to_attotime(1);
timer_freq = machine().device<cpu_device>("maincpu")->cycles_to_attotime(1);
save_item(NAME(m_latch));
save_item(NAME(m_count));

View File

@ -131,7 +131,7 @@ void nes_h3001_device::device_start()
{
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
irq_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(1));
irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1));
save_item(NAME(m_irq_enable));
save_item(NAME(m_irq_count));

View File

@ -209,7 +209,7 @@ void nes_ss88006_device::device_start()
{
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
irq_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(1));
irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1));
save_item(NAME(m_mmc_prg_bank));
save_item(NAME(m_mmc_vrom_bank));

View File

@ -76,7 +76,7 @@ void nes_jy_typea_device::device_start()
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
irq_timer->reset();
timer_freq = m_maincpu->cycles_to_attotime(1);
timer_freq = machine().device<cpu_device>("maincpu")->cycles_to_attotime(1);
save_item(NAME(m_mul));
save_item(NAME(m_latch));

View File

@ -138,7 +138,7 @@ void nes_ks7032_device::device_start()
{
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
irq_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(1));
irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1));
save_item(NAME(m_latch));
save_item(NAME(m_irq_enable));
@ -164,7 +164,7 @@ void nes_ks7017_device::device_start()
{
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
irq_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(1));
irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1));
save_item(NAME(m_latch));
save_item(NAME(m_irq_enable));

View File

@ -129,7 +129,7 @@ void nes_konami_vrc3_device::device_start()
{
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
irq_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(1));
irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1));
save_item(NAME(m_irq_mode));
save_item(NAME(m_irq_enable));
@ -157,7 +157,7 @@ void nes_konami_vrc4_device::device_start()
{
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
irq_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(1));
irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1));
save_item(NAME(m_irq_mode));
save_item(NAME(m_irq_prescale));
@ -198,7 +198,7 @@ void nes_konami_vrc7_device::device_start()
{
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
irq_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(1));
irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1));
save_item(NAME(m_irq_mode));
save_item(NAME(m_irq_prescale));

View File

@ -79,7 +79,7 @@ void nes_ffe4_device::device_start()
{
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
irq_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(1));
irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1));
save_item(NAME(m_exram));
save_item(NAME(m_exram_enabled));

View File

@ -146,7 +146,7 @@ void nes_namcot340_device::device_start()
{
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
irq_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(1));
irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1));
save_item(NAME(m_irq_enable));
save_item(NAME(m_irq_count));
@ -172,7 +172,7 @@ void nes_namcot175_device::device_start()
{
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
irq_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(1));
irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1));
save_item(NAME(m_irq_enable));
save_item(NAME(m_irq_count));
@ -200,7 +200,7 @@ void nes_namcot163_device::device_start()
{
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
irq_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(1));
irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1));
save_item(NAME(m_irq_enable));
save_item(NAME(m_irq_count));

View File

@ -427,7 +427,7 @@ void nes_cityfight_device::device_start()
{
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
irq_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(1));
irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1));
save_item(NAME(m_prg_reg));
save_item(NAME(m_prg_mode));

View File

@ -123,7 +123,7 @@ void nes_sunsoft_3_device::device_start()
{
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
irq_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(1));
irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1));
save_item(NAME(m_irq_enable));
save_item(NAME(m_irq_toggle));
@ -169,7 +169,7 @@ void nes_sunsoft_fme7_device::device_start()
irq_timer = timer_alloc(TIMER_IRQ);
// this has to be hardcoded because some some scanline code only suits NTSC... it will be fixed with PPU rewrite
irq_timer->adjust(attotime::zero, 0, attotime::from_hz((21477272.724 / 12)));
// irq_timer->adjust(attotime::zero, 0, m_maincpu->cycles_to_attotime(1));
// irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1));
save_item(NAME(m_wram_bank));
save_item(NAME(m_latch));

View File

@ -175,7 +175,7 @@ void nes_sunsoft_dcs_device::device_start()
common_start();
ntb_enable_timer = timer_alloc(TIMER_PROTECT);
ntb_enable_timer->reset();
timer_freq = m_maincpu->cycles_to_attotime(107520);
timer_freq = machine().device<cpu_device>("maincpu")->cycles_to_attotime(107520);
save_item(NAME(m_latch1));
save_item(NAME(m_latch2));

View File

@ -84,7 +84,7 @@ void nes_tengen032_device::device_start()
common_start();
irq_timer = timer_alloc(TIMER_IRQ);
irq_timer->reset();
timer_freq = m_maincpu->cycles_to_attotime(4);
timer_freq = machine().device<cpu_device>("maincpu")->cycles_to_attotime(4);
save_item(NAME(m_mmc_prg_bank));
save_item(NAME(m_mmc_vrom_bank));