diff --git a/higan/sfc/cartridge/load.cpp b/higan/sfc/cartridge/load.cpp index a66ff00b..7c2c31ee 100644 --- a/higan/sfc/cartridge/load.cpp +++ b/higan/sfc/cartridge/load.cpp @@ -261,9 +261,12 @@ auto Cartridge::loadEpsonRTC(Markup::Node node) -> void { if(auto fp = platform->open(ID::SuperFamicom, node["ram"]["name"].text(), File::Read)) { uint8 data[16] = {0}; - for(auto& byte : data) fp->read(); + for(auto& byte : data) byte = fp->read(); epsonrtc.load(data); } + else { + epsonrtc.load(); + } for(auto leaf : node.find("map")) loadMap(leaf, {&EpsonRTC::read, &epsonrtc}, {&EpsonRTC::write, &epsonrtc}); } @@ -273,9 +276,12 @@ auto Cartridge::loadSharpRTC(Markup::Node node) -> void { if(auto fp = platform->open(ID::SuperFamicom, node["ram"]["name"].text(), File::Read)) { uint8 data[16] = {0}; - for(auto& byte : data) fp->read(); + for(auto& byte : data) byte = fp->read(); sharprtc.load(data); } + else { + sharprtc.load(); + } for(auto leaf : node.find("map")) loadMap(leaf, {&SharpRTC::read, &sharprtc}, {&SharpRTC::write, &sharprtc}); } diff --git a/higan/sfc/coprocessor/sharprtc/sharprtc.cpp b/higan/sfc/coprocessor/sharprtc/sharprtc.cpp index 46b7bd4d..efc28fef 100644 --- a/higan/sfc/coprocessor/sharprtc/sharprtc.cpp +++ b/higan/sfc/coprocessor/sharprtc/sharprtc.cpp @@ -22,8 +22,6 @@ auto SharpRTC::init() -> void { } auto SharpRTC::load() -> void { - return; - second = 0; minute = 0; hour = 0; diff --git a/higan/sfc/system/system.cpp b/higan/sfc/system/system.cpp index c965d882..007caa76 100644 --- a/higan/sfc/system/system.cpp +++ b/higan/sfc/system/system.cpp @@ -80,8 +80,6 @@ auto System::load(Emulator::Interface* interface) -> bool { if(cartridge.has.ARMDSP) armdsp.load(); if(cartridge.has.HitachiDSP) hitachidsp.load(); if(cartridge.has.NECDSP) necdsp.load(); - if(cartridge.has.EpsonRTC) epsonrtc.load(); - if(cartridge.has.SharpRTC) sharprtc.load(); if(cartridge.has.SPC7110) spc7110.load(); if(cartridge.has.SDD1) sdd1.load(); if(cartridge.has.OBC1) obc1.load(); @@ -118,8 +116,6 @@ auto System::unload() -> void { if(cartridge.has.ARMDSP) armdsp.unload(); if(cartridge.has.HitachiDSP) hitachidsp.unload(); if(cartridge.has.NECDSP) necdsp.unload(); - if(cartridge.has.EpsonRTC) epsonrtc.unload(); - if(cartridge.has.SharpRTC) sharprtc.unload(); if(cartridge.has.SPC7110) spc7110.unload(); if(cartridge.has.SDD1) sdd1.unload(); if(cartridge.has.OBC1) obc1.unload();