From 9e665d491c1983fb9f4564037d454708f300feb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20K=C3=A4ll=C3=A9n?= Date: Mon, 12 Aug 2024 13:03:19 +0200 Subject: [PATCH] Workaround: gaps in C64 memory map caused problems when emulating 6502 code. --- src/Core/Serialization/Project_v2.cs | 2 +- src/Environments/C64/C64.inc | 6 +++--- subjects/regression.log | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Core/Serialization/Project_v2.cs b/src/Core/Serialization/Project_v2.cs index 16591281e2..c364857f09 100644 --- a/src/Core/Serialization/Project_v2.cs +++ b/src/Core/Serialization/Project_v2.cs @@ -29,7 +29,7 @@ namespace Reko.Core.Serialization { public class Script_v2 { - [XmlAttribute] + [XmlAttribute("enabled")] public bool Enabled; [XmlAttribute] diff --git a/src/Environments/C64/C64.inc b/src/Environments/C64/C64.inc index 163278638f..aa3ccdf71a 100644 --- a/src/Environments/C64/C64.inc +++ b/src/Environments/C64/C64.inc @@ -1,4 +1,4 @@ -[[reko::segment("0000", "zero_page", 0x0100, "rwx", "Zero page")]] +[[reko::segment("0000", "low_memory", 0x0400, "rwx", "Low memory")]] // 6510 CPU's data direction I/O port register; 0 = input, 1 = output @@ -23,8 +23,8 @@ // Bit 7 - Undefined // Yes, some C64 programs put executable code in the stack page... -[[reko::segment("0100", "stack_page", 0x0100, "rwx", "Stack page")]] -[[reko::segment("0200", "os_data", 0x0200, "rw")]] +// [[reko::segment("0100", "stack_page", 0x0100, "rwx", "Stack page")]] +// [[reko::segment("0200", "os_data", 0x0200, "rw")]] [[reko::segment("0400", "screen", 0x0400, "rw")]] [[reko::segment("A000", "basic_ROM", 0x2000, "rx")]] diff --git a/subjects/regression.log b/subjects/regression.log index 5bb1200806..a270dfe25a 100644 --- a/subjects/regression.log +++ b/subjects/regression.log @@ -1135,8 +1135,8 @@ Signature of 'Microsoft Visual C++ 8' detected. *** Elf\AVR32\ls fn00008FF2: error: An error occurred while rewriting procedure to high-level language. Can't collapse fn00008FF2_entry (Tail) => l00008FF0_thunk_fn00008FF2) in procedure fn00008FF2 - at Reko.Structure.StructureAnalysis.CollapseToTailRegion(Region from, Region to, AbsynStatement stm) in c:\dev\uxmal\reko\master\src\Decompiler\Structure\StructureAnalysis.cs:line 960 - at Reko.Structure.StructureAnalysis.VirtualizeEdge(VirtualEdge vEdge) in c:\dev\uxmal\reko\master\src\Decompiler\Structure\StructureAnalysis.cs:line 906 + at Reko.Structure.StructureAnalysis.CollapseToTailRegion(Region from, Region to, AbsynStatement stm) in c:\dev\uxmal\reko\master\src\Decompiler\Structure\StructureAnalysis.cs:line 982 + at Reko.Structure.StructureAnalysis.VirtualizeEdge(VirtualEdge vEdge) in c:\dev\uxmal\reko\master\src\Decompiler\Structure\StructureAnalysis.cs:line 932 at Reko.Structure.StructureAnalysis.VirtualizeReturn(Region n) in c:\dev\uxmal\reko\master\src\Decompiler\Structure\StructureAnalysis.cs:line 312 at Reko.Structure.StructureAnalysis.ProcessUnresolvedRegions() in c:\dev\uxmal\reko\master\src\Decompiler\Structure\StructureAnalysis.cs:line 285 at Reko.Structure.StructureAnalysis.Execute() in c:\dev\uxmal\reko\master\src\Decompiler\Structure\StructureAnalysis.cs:line 172 @@ -2677,4 +2677,4 @@ PE Debug type 14 not supported yet. === PE\x86\VCExeSample\VCExeSample Signature of 'Microsoft Visual C++ 8' detected. -Decompiled 93 binaries in 49,82 seconds. +Decompiled 93 binaries in 37.89 seconds.