From ca55ea16f0a113196f64193f5a7f6f32987febcc Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 3 Nov 2022 23:49:05 -0700 Subject: [PATCH] Fill in missing NE header flags --- BurnOutSharp.Models/NewExecutable/Enums.cs | 68 ++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/BurnOutSharp.Models/NewExecutable/Enums.cs b/BurnOutSharp.Models/NewExecutable/Enums.cs index 1aab81ea..8d6f8f6b 100644 --- a/BurnOutSharp.Models/NewExecutable/Enums.cs +++ b/BurnOutSharp.Models/NewExecutable/Enums.cs @@ -5,6 +5,8 @@ namespace BurnOutSharp.Models.NewExecutable [Flags] public enum HeaderFlag : ushort { + #region Program Flags + NOAUTODATA = 0x0000, /// @@ -17,11 +19,75 @@ namespace BurnOutSharp.Models.NewExecutable /// MULTIPLEDATA = 0x0002, + /// + /// Global initialization + /// + GlobalInitialization = 0x0004, + + /// + /// Protected mode only + /// + ProtectedModeOnly = 0x0008, + + /// + /// 8086 instructions + /// + Instructions8086 = 0x0010, + + /// + /// 80286 instructions + /// + Instructions80286 = 0x0020, + + /// + /// 80386 instructions + /// + Instructions80386 = 0x0040, + + /// + /// 80x87 instructions + /// + Instructions80x87 = 0x0080, + + #endregion + + #region Application Flags + + /// + /// Full screen (not aware of Windows/P.M. API) + /// + FullScreen = 0x0100, + + /// + /// Compatible with Windows/P.M. API + /// + WindowsPMCompatible = 0x0200, + + /// + /// Uses Windows/P.M. API + /// + WindowsPM = 0x0400, + + /// + /// OS/2 family application + /// + OS2FamilyApplication = 0x0800, + + /// + /// Unknown (Reserved?) + /// + UnknownReserved = 0x1000, + /// /// Errors detected at link time, module will not load /// ErrorsDetectedAtLinkTime = 0x2000, + /// + /// Unknown (non-conforming program) + /// + UnknownNonConforming = 0x4000, + /// /// Library module. /// The SS:SP information is invalid, CS:IP points @@ -42,6 +108,8 @@ namespace BurnOutSharp.Models.NewExecutable /// dynamic-link to another program. /// LibraryModule = 0x8000, + + #endregion } public enum OperatingSystem : byte