iteagle: Added save states to iteagle driver.

This commit is contained in:
Ted Green 2017-05-05 14:15:39 -06:00
parent 4d03fc2333
commit 6eafb11caa
6 changed files with 89 additions and 16 deletions

View File

@ -68,6 +68,56 @@ void es1373_device::device_start()
m_timer = timer_alloc(0, nullptr);
m_timer->adjust(attotime::zero, 0, attotime::from_hz(44100/2/16));
// Save states
save_item(NAME(m_ac97_regs));
save_item(NAME(m_es_regs));
save_item(NAME(m_sound_cache));
save_item(NAME(m_src_ram));
save_item(NAME(m_dac1.number));
save_item(NAME(m_dac1.enable));
save_item(NAME(m_dac1.int_en));
save_item(NAME(m_dac1.loop_en));
save_item(NAME(m_dac1.initialized));
save_item(NAME(m_dac1.format));
save_item(NAME(m_dac1.buf_wptr));
save_item(NAME(m_dac1.buf_rptr));
save_item(NAME(m_dac1.buf_count));
save_item(NAME(m_dac1.buf_size));
save_item(NAME(m_dac1.pci_addr));
save_item(NAME(m_dac1.pci_count));
save_item(NAME(m_dac1.pci_size));
save_item(NAME(m_dac2.number));
save_item(NAME(m_dac2.enable));
save_item(NAME(m_dac2.int_en));
save_item(NAME(m_dac2.loop_en));
save_item(NAME(m_dac2.initialized));
save_item(NAME(m_dac2.format));
save_item(NAME(m_dac2.buf_wptr));
save_item(NAME(m_dac2.buf_rptr));
save_item(NAME(m_dac2.buf_count));
save_item(NAME(m_dac2.buf_size));
save_item(NAME(m_dac2.pci_addr));
save_item(NAME(m_dac2.pci_count));
save_item(NAME(m_dac2.pci_size));
save_item(NAME(m_adc.number));
save_item(NAME(m_adc.enable));
save_item(NAME(m_adc.int_en));
save_item(NAME(m_adc.loop_en));
save_item(NAME(m_adc.initialized));
save_item(NAME(m_adc.format));
save_item(NAME(m_adc.buf_wptr));
save_item(NAME(m_adc.buf_rptr));
save_item(NAME(m_adc.buf_count));
save_item(NAME(m_adc.buf_size));
save_item(NAME(m_adc.pci_addr));
save_item(NAME(m_adc.pci_count));
save_item(NAME(m_adc.pci_size));
machine().save().register_postload(save_prepost_delegate(FUNC(es1373_device::postload), this));
}
void es1373_device::postload()
{
remap_cb();
}
void es1373_device::device_reset()

View File

@ -100,6 +100,7 @@ public:
uint64_t io_window_start, uint64_t io_window_end, uint64_t io_offset, address_space *io_space) override;
void set_irq_info(const char *tag, const int irq_num);
void postload(void);
DECLARE_READ32_MEMBER (reg_r);
DECLARE_WRITE32_MEMBER(reg_w);

View File

@ -123,6 +123,12 @@ void voodoo_pci_device::device_start()
}
save_item(NAME(m_pcictrl_reg));
machine().save().register_postload(save_prepost_delegate(FUNC(voodoo_pci_device::postload), this));
}
void voodoo_pci_device::postload()
{
remap_cb();
}
void voodoo_pci_device::device_reset()

View File

@ -29,6 +29,7 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
virtual DECLARE_ADDRESS_MAP(config_map, 32) override;
void postload(void);
void set_cpu_tag(const char *tag);
static void set_type(const int type) {m_type = type;}
void set_fbmem(const int fbmem) {m_fbmem = fbmem;}

View File

@ -162,6 +162,8 @@ static MACHINE_CONFIG_START( iteagle, iteagle_state )
MCFG_PCI_ROOT_ADD( ":pci")
MCFG_VRC4373_ADD( PCI_ID_NILE, ":maincpu")
MCFG_VRC4373_SET_RAM(0x00800000)
MCFG_VRC4373_SET_SIMM0(0x02000000)
MCFG_ITEAGLE_PERIPH_ADD( PCI_ID_PERIPH)
MCFG_IDE_PCI_ADD( PCI_ID_IDE, 0x1080C693, 0x00, 0x0)
MCFG_IDE_PCI_IRQ_ADD( ":maincpu", MIPS3_IRQ2)
@ -584,19 +586,19 @@ ROM_END
*************************************/
GAME( 2000, iteagle, 0, iteagle, iteagle, driver_device, 0, ROT0, "Incredible Technologies", "Eagle BIOS", MACHINE_IS_BIOS_ROOT )
GAME( 1998, virtpool, iteagle, virtpool, virtpool, driver_device, 0, ROT0, "Incredible Technologies", "Virtual Pool", MACHINE_NOT_WORKING ) // random lockups on loading screens
GAME( 2002, carnking, iteagle, carnking, bbh, driver_device, 0, ROT0, "Incredible Technologies", "Carnival King (v1.00.11)", 0 )
GAME( 2000, gtfore01, iteagle, gtfore01, iteagle, driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! (v1.00.25)", 0 )
GAME( 2001, gtfore02, iteagle, gtfore02, iteagle, driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! 2002 (v2.01.06)", 0 )
GAME( 2002, gtfore03, iteagle, gtfore03, iteagle, driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! 2003 (v3.00.10)", 0 )
GAME( 2002, gtfore03a, gtfore03, gtfore03, iteagle, driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! 2003 (v3.00.09)", 0 )
GAME( 2003, gtfore04, iteagle, gtfore04, iteagle, driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! 2004 Extra (v4.00.08)", 0 )
GAME( 2003, gtfore04a, gtfore04, gtfore04, iteagle, driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! 2004 (v4.00.00)", 0 )
GAME( 2004, gtfore05, iteagle, gtfore05, iteagle, driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! 2005 Extra (v5.01.06)", 0 )
GAME( 2004, gtfore05a, gtfore05, gtfore05, iteagle, driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! 2005 Extra (v5.01.02)", 0 )
GAME( 2004, gtfore05b, gtfore05, gtfore05, iteagle, driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! 2005 Extra (v5.01.00)", 0 )
GAME( 2004, gtfore05c, gtfore05, gtfore05, iteagle, driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! 2005 Extra (v5.00.00)", 0 )
GAME( 2005, gtfore06, iteagle, gtfore06, iteagle, driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! 2006 Complete (v6.00.01)", 0 )
GAME( 2002, bbhsc, iteagle, bbhsc, bbh, driver_device, 0, ROT0, "Incredible Technologies", "Big Buck Hunter - Shooter's Challenge (v1.50.07)", MACHINE_NOT_WORKING ) // doesn't boot
GAME( 2002, bbh2sp, iteagle, bbh2sp, bbh, driver_device, 0, ROT0, "Incredible Technologies", "Big Buck Hunter II - Sportsman's Paradise (v2.02.11)", MACHINE_NOT_WORKING ) // SW51-2 needs to be off
GAME( 2006, bbhcotw, iteagle, bbhcotw, bbh, driver_device, 0, ROT0, "Incredible Technologies", "Big Buck Hunter Call of the Wild (v3.02.5)", MACHINE_NOT_WORKING ) // random lockups
GAME( 1998, virtpool, iteagle, virtpool, virtpool, driver_device, 0, ROT0, "Incredible Technologies", "Virtual Pool", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // random lockups on loading screens
GAME( 2002, carnking, iteagle, carnking, bbh, driver_device, 0, ROT0, "Incredible Technologies", "Carnival King (v1.00.11)", MACHINE_SUPPORTS_SAVE )
GAME( 2000, gtfore01, iteagle, gtfore01, iteagle, driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! (v1.00.25)", MACHINE_SUPPORTS_SAVE )
GAME( 2001, gtfore02, iteagle, gtfore02, iteagle, driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! 2002 (v2.01.06)", MACHINE_SUPPORTS_SAVE )
GAME( 2002, gtfore03, iteagle, gtfore03, iteagle, driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! 2003 (v3.00.10)", MACHINE_SUPPORTS_SAVE )
GAME( 2002, gtfore03a, gtfore03, gtfore03, iteagle, driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! 2003 (v3.00.09)", MACHINE_SUPPORTS_SAVE )
GAME( 2003, gtfore04, iteagle, gtfore04, iteagle, driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! 2004 Extra (v4.00.08)", MACHINE_SUPPORTS_SAVE )
GAME( 2003, gtfore04a, gtfore04, gtfore04, iteagle, driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! 2004 (v4.00.00)", MACHINE_SUPPORTS_SAVE )
GAME( 2004, gtfore05, iteagle, gtfore05, iteagle, driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! 2005 Extra (v5.01.06)", MACHINE_SUPPORTS_SAVE )
GAME( 2004, gtfore05a, gtfore05, gtfore05, iteagle, driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! 2005 Extra (v5.01.02)", MACHINE_SUPPORTS_SAVE )
GAME( 2004, gtfore05b, gtfore05, gtfore05, iteagle, driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! 2005 Extra (v5.01.00)", MACHINE_SUPPORTS_SAVE )
GAME( 2004, gtfore05c, gtfore05, gtfore05, iteagle, driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! 2005 Extra (v5.00.00)", MACHINE_SUPPORTS_SAVE )
GAME( 2005, gtfore06, iteagle, gtfore06, iteagle, driver_device, 0, ROT0, "Incredible Technologies", "Golden Tee Fore! 2006 Complete (v6.00.01)", MACHINE_SUPPORTS_SAVE )
GAME( 2002, bbhsc, iteagle, bbhsc, bbh, driver_device, 0, ROT0, "Incredible Technologies", "Big Buck Hunter - Shooter's Challenge (v1.50.07)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // doesn't boot
GAME( 2002, bbh2sp, iteagle, bbh2sp, bbh, driver_device, 0, ROT0, "Incredible Technologies", "Big Buck Hunter II - Sportsman's Paradise (v2.02.11)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // SW51-2 needs to be off
GAME( 2006, bbhcotw, iteagle, bbhcotw, bbh, driver_device, 0, ROT0, "Incredible Technologies", "Big Buck Hunter Call of the Wild (v3.02.5)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // random lockups

View File

@ -93,6 +93,16 @@ void iteagle_fpga_device::device_start()
m_ram[0x0c/4] = 0x00000001;
m_ram[0x10/4] = 0x00000018;
// Save states
save_item(NAME(m_fpga_regs));
save_item(NAME(m_rtc_regs));
save_item(NAME(m_ram));
save_item(NAME(m_prev_reg));
// m_version
save_item(NAME(m_seq_init));
save_item(NAME(m_seq));
save_item(NAME(m_seq_rem1));
save_item(NAME(m_seq_rem2));
}
void iteagle_fpga_device::device_reset()
@ -756,6 +766,9 @@ void iteagle_periph_device::device_start()
m_rtc_regs[0xa] = 0x20; // 32.768 MHz
m_rtc_regs[0xb] = 0x02; // 24-hour format
m_rtc->set_base(m_rtc_regs, sizeof(m_rtc_regs));
// Save states
save_item(NAME(m_ctrl_regs));
}
void iteagle_periph_device::device_reset()