From 064360d41fa0ff20da0a91a8f31b52612cda02ab Mon Sep 17 00:00:00 2001 From: Ilari Liusvaara Date: Fri, 2 Jul 2010 02:52:20 +0300 Subject: [PATCH] Fix selfmodify mode to be actually saved to savestate. Oops, selfmodify wasn't saved to savestate, only to initialization segment... Fix it to be saved properly. --- Changelog.utf8 | 5 +++-- VERSIONINFO | 2 +- org/jpc/emulator/processor/Processor.java | 6 ++++++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Changelog.utf8 b/Changelog.utf8 index dd357c1..513b34f 100644 --- a/Changelog.utf8 +++ b/Changelog.utf8 @@ -1,7 +1,8 @@ -Changes since JPC-RR Release 10.12: -=================================== +Changes from JPC-RR Release 10.12 to JPC-RR Release 10.13: +========================================================== - Use new LDT when loading registers in jump to TSS. - Add optional fast instruction reloading on selfmodify. +- Fix selfmodify mode to be actually saved to savestate. Changes from JPC-RR Release 10.11 to JPC-RR Release 10.12: ========================================================== diff --git a/VERSIONINFO b/VERSIONINFO index 3e01f1a..4e31022 100644 --- a/VERSIONINFO +++ b/VERSIONINFO @@ -1 +1 @@ -10.13-WIP +10.13 diff --git a/org/jpc/emulator/processor/Processor.java b/org/jpc/emulator/processor/Processor.java index d2e7c61..9bf7401 100644 --- a/org/jpc/emulator/processor/Processor.java +++ b/org/jpc/emulator/processor/Processor.java @@ -262,6 +262,7 @@ public class Processor implements HardwareComponent output.println("\tzeroCalculated " + zeroCalculated + " carryMethod " + carryMethod); output.println("\tcarryCalculated " + carryCalculated + " carryLong " + carryLong); output.println("\tcarryOne " + carryOne + " carryTwo " + carryTwo); + output.println("\treloadCurrentBlockOnModification " + reloadCurrentBlockOnModification); output.println("\tcs "); if(cs != null) cs.dumpStatus(output); output.println("\tds "); if(ds != null) ds.dumpStatus(output); output.println("\tes "); if(es != null) es.dumpStatus(output); @@ -400,6 +401,7 @@ public class Processor implements HardwareComponent } output.dumpBoolean(false); output.dumpBoolean(eflagsWaiting); + output.dumpBoolean(reloadCurrentBlockOnModification); } public Processor(SRLoader input) throws IOException @@ -501,6 +503,10 @@ public class Processor implements HardwareComponent modelSpecificRegisters.put(key, value); } eflagsWaiting = input.loadBoolean(); + reloadCurrentBlockOnModification = false; + if(input.objectEndsHere()) + return; + reloadCurrentBlockOnModification = input.loadBoolean(); } -- 2.11.4.GIT