コード例 #1
0
        public const ushort PspSeg       = ImageLoadSeg - 16; // 0x192

        public RawProgramMain(
            Processor.x86.CSharpExecutor.Cpu implementation,
            ConfigurationDto configuration,
            MethodInfoCollection methodInfoCollection,
            DefinitionCollection definitionCollection,
            IServiceProvider serviceProvider)
            : base(implementation)
        {
            MethodInfoCollection = methodInfoCollection;
            Configuration        = configuration;
            Implementation       = implementation;
            DefinitionCollection = definitionCollection;
            ServiceProvider      = serviceProvider;

            DosMemory    = new DosMemory(implementation, this);
            DosInterrupt = new DosInterrupt(implementation, this);
            DosTimer     = new DosTimer(implementation, this);
            DosPort      = new DosPort(implementation, this);
            DosDma       = new DosDma(implementation, this);
            DosPic       = new DosPic(implementation, this);

            Implementation.MethodInfoCollection     = MethodInfoCollection;
            implementation.CompiledMethodCollection = this;
            implementation.runIrqs += (sender, args) => DosPic.RunIrqs();
            DosPort.SubscribeToCpuPortEvents();
        }
コード例 #2
0
        public void Start()
        {
            ConnectDecodedMethods(GetType().Assembly);
            ConnectDecodedMethods(Assembly.GetEntryAssembly());

            DosInterrupt.Initialize();
            InitializeX86DosProgram();
            DosTimer.Initialize();

            Implementation.CorrectMethodPosition(0);
        }