diff --git a/src/emu/device.c b/src/emu/device.c index d52dd8827ea..16c5c3b2576 100644 --- a/src/emu/device.c +++ b/src/emu/device.c @@ -626,7 +626,7 @@ void device_t::device_pre_save() //------------------------------------------------- // device_post_load - called after the loading a // saved state, so that registered variables can -// be expaneded as necessary +// be expanded as necessary //------------------------------------------------- void device_t::device_post_load() diff --git a/src/emu/machine.c b/src/emu/machine.c index 12524a47efe..76855efad96 100644 --- a/src/emu/machine.c +++ b/src/emu/machine.c @@ -255,7 +255,10 @@ void running_machine::start() primary_screen->register_vblank_callback(vblank_state_delegate(FUNC(running_machine::watchdog_vblank), this)); save().save_item(NAME(m_watchdog_enabled)); save().save_item(NAME(m_watchdog_counter)); - + + // save the random seed or save states might be broken in drivers that use the rand() method + save().save_item(NAME(m_rand_seed)); + // initialize image devices image_init(*this); m_tilemap.reset(global_alloc(tilemap_manager(*this)));