diff --git a/core/hw/maple/maple_devs.cpp b/core/hw/maple/maple_devs.cpp index 725172113..7f6c9abdb 100755 --- a/core/hw/maple/maple_devs.cpp +++ b/core/hw/maple/maple_devs.cpp @@ -306,17 +306,23 @@ struct maple_sega_vmu: maple_base bool serialize(void **data, unsigned int *total_size) override { maple_base::serialize(data, total_size); - REICAST_SA(flash_data,128*1024); - REICAST_SA(lcd_data,192); - REICAST_SA(lcd_data_decoded,48*32); + REICAST_S(flash_data); + REICAST_S(lcd_data); + REICAST_S(lcd_data_decoded); return true ; } bool unserialize(void **data, unsigned int *total_size, serialize_version_enum version) override { maple_base::unserialize(data, total_size, version); - REICAST_USA(flash_data,128*1024); - REICAST_USA(lcd_data,192); - REICAST_USA(lcd_data_decoded,48*32); + REICAST_US(flash_data); + REICAST_US(lcd_data); + REICAST_US(lcd_data_decoded); + for (u8 b : lcd_data) + if (b != 0) + { + config->SetImage(lcd_data_decoded); + break; + } return true ; } diff --git a/shell/libretro/libretro.cpp b/shell/libretro/libretro.cpp index 0ee3adb60..be1898f9f 100644 --- a/shell/libretro/libretro.cpp +++ b/shell/libretro/libretro.cpp @@ -1701,12 +1701,6 @@ bool retro_unserialize(const void * data, size_t size) bool result = dc_loadstate(&data, size); - for (int i = 0 ; i < 4 ; i++) - { - vmu_lcd_changed[i * 2] = true; - lightgun_params[i].dirty = true; - } - if (config::ThreadedRendering) { mtx_serialization.unlock();