diff --git a/GeneratedCode.cs b/GeneratedCode.cs index 4a43c48..e59dd8e 100644 --- a/GeneratedCode.cs +++ b/GeneratedCode.cs @@ -22,9 +22,7 @@ public RewrittenOverrides(Dictionary func DefineGeneratedCodeOverrides(); SetProvidedInterruptHandlersAsOverridden(); } - - public Dictionary FunctionInformations => _functionInformations; - + public void DefineGeneratedCodeOverrides() { DefineFunction(EntrySegmentAddress, 0x0, EntryPoint_OpenLogoHnmFileAndRun_1000_0000_10000, false); @@ -50,7 +48,7 @@ public virtual Action EntryPoint_OpenLogoHnmFileAndRun_1000_0000_10000(int offse Memory.SetZeroTerminatedString(MemoryUtils.ToPhysicalAddress(DS,DI), ".HNM", 5); } // Open file handle (LOGO.HNM) - Machine.Dos.DosInt21Handler.OpenFile(false); + Machine.Dos.DosInt21Handler.OpenFileorDevice(false); DX = 0x2E; if (!CarryFlag) { @@ -559,7 +557,7 @@ public void CommonUnknown_display_1000_0E59_10E59() public void UpdatePaletteDataAddress_1000_0E86_10E86() { SegmentedAddress pointer = PaletteDataAddress; - ushort newSegmentOffset = (ushort)(UInt16[pointer.ToPhysical()] + pointer.Offset); + ushort newSegmentOffset = (ushort)(UInt16[pointer] + pointer.Offset); ushort newSegment = (ushort)((newSegmentOffset >> 4) + pointer.Segment); ushort newOffset = (ushort)(newSegmentOffset & 0xF); WritePaletteDataAddress(newSegment, newOffset); diff --git a/GeneratedCode_DecompiledAsm.cs b/GeneratedCode_DecompiledAsm.cs index 6f5a4c6..3c6963b 100644 --- a/GeneratedCode_DecompiledAsm.cs +++ b/GeneratedCode_DecompiledAsm.cs @@ -30,12 +30,9 @@ public GeneratedOverrides_DecompiledAsm(Dictionary FunctionInformations => _functionInformations; - public void DefineGeneratedCodeOverrides() { // 0x1000 @@ -74,22 +71,6 @@ public void DefineGeneratedCodeOverrides() DefineFunction(cs1, 0x11BD, Nop_1000_11BD_111BD, false); } - public void DetectCodeRewrites() - { - DefineExecutableArea(0x10000, 0x10090); - DefineExecutableArea(0x10970, 0x10CAF); - DefineExecutableArea(0x10CF4, 0x10ED4); - DefineExecutableArea(0x10EFE, 0x10F07); - DefineExecutableArea(0x10F30, 0x1103A); - DefineExecutableArea(0x1105F, 0x1106E); - DefineExecutableArea(0x11085, 0x11091); - DefineExecutableArea(0x1109A, 0x110C1); - DefineExecutableArea(0x110F4, 0x111C7); - DefineExecutableArea(0xF0008, 0xF000B); - DefineExecutableArea(0xF0014, 0xF0017); - DefineExecutableArea(0xF0020, 0xF0023); - } - /// /// First pass rewrite done by the .NET Roslyn compiler (ReadyToRun pre-compilation) /// diff --git a/GeneratedCode_OriginalAsm.cs b/GeneratedCode_OriginalAsm.cs index c8ffee2..0a94706 100644 --- a/GeneratedCode_OriginalAsm.cs +++ b/GeneratedCode_OriginalAsm.cs @@ -31,12 +31,9 @@ public GeneratedOverrides_OriginalAsm(Dictionary FunctionInformations => _functionInformations; - + public void DefineGeneratedCodeOverrides() { // 0x1000 @@ -76,22 +73,6 @@ public void DefineGeneratedCodeOverrides() DefineFunction(cs1, 0x11BD, Nop_1000_11BD_111BD, false); } - public void DetectCodeRewrites() - { - DefineExecutableArea(0x10000, 0x10090); - DefineExecutableArea(0x10970, 0x10CAF); - DefineExecutableArea(0x10CF4, 0x10ED4); - DefineExecutableArea(0x10EFE, 0x10F07); - DefineExecutableArea(0x10F30, 0x1103A); - DefineExecutableArea(0x1105F, 0x1106E); - DefineExecutableArea(0x11085, 0x11091); - DefineExecutableArea(0x1109A, 0x110C1); - DefineExecutableArea(0x110F4, 0x111C7); - DefineExecutableArea(0xF0008, 0xF000B); - DefineExecutableArea(0xF0014, 0xF0017); - DefineExecutableArea(0xF0020, 0xF0023); - } - public virtual Action EntryPoint_OpenLogoHnmFileAndRun_1000_0000_10000(int loadOffset) { // MOV AX,0x111c (1000_0000 / 0x10000) diff --git a/PaletteData.cs b/PaletteData.cs index 7476d0b..3dbd4d9 100644 --- a/PaletteData.cs +++ b/PaletteData.cs @@ -11,7 +11,7 @@ class PaletteData : MemoryBasedDataStructure { public SegmentedAddress _address; - public PaletteData(IByteReaderWriter byteReaderWriter, SegmentedAddress baseAddress): base(byteReaderWriter, baseAddress.ToPhysical()) + public PaletteData(IByteReaderWriter byteReaderWriter, SegmentedAddress baseAddress): base(byteReaderWriter, baseAddress.Linear) { _address = baseAddress; } diff --git a/logo.csproj b/logo.csproj index f01428e..f5ea39d 100644 --- a/logo.csproj +++ b/logo.csproj @@ -16,6 +16,12 @@ - + + \ No newline at end of file