mirror of
https://github.com/holub/mame
synced 2025-04-25 17:56:43 +03:00
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:
parent
7cf52f7cce
commit
100082ceda
@ -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));
|
||||
}
|
||||
|
@ -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));
|
||||
|
@ -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));
|
||||
|
@ -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));
|
||||
|
@ -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));
|
||||
|
@ -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));
|
||||
|
@ -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));
|
||||
|
@ -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));
|
||||
|
@ -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));
|
||||
|
@ -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));
|
||||
|
@ -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));
|
||||
|
@ -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));
|
||||
|
@ -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));
|
||||
|
@ -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));
|
||||
|
@ -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));
|
||||
|
@ -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));
|
||||
|
@ -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));
|
||||
|
Loading…
Reference in New Issue
Block a user