コード例 #1
0
ファイル: IDEController.cs プロジェクト: uxmal/MOSA-Project
        public override void Initialize()
        {
            Device.Name        = "IDE_0x" + Device.Resources.GetIOPortRegion(0).BaseIOPort.ToString("X");
            Device.ComponentID = Device.Resources.GetIOPortRegion(0).BaseIOPort;

            DataPort        = Device.Resources.GetIOPortReadWrite(0, 0);
            ErrorPort       = Device.Resources.GetIOPortReadWrite(0, 1);
            FeaturePort     = Device.Resources.GetIOPortReadWrite(0, 1);
            SectorCountPort = Device.Resources.GetIOPortReadWrite(0, 2);
            LBALowPort      = Device.Resources.GetIOPortReadWrite(0, 3);
            LBAMidPort      = Device.Resources.GetIOPortReadWrite(0, 4);
            LBAHighPort     = Device.Resources.GetIOPortReadWrite(0, 5);
            DeviceHeadPort  = Device.Resources.GetIOPortReadWrite(0, 6);
            CommandPort     = Device.Resources.GetIOPortWrite(0, 7);
            StatusPort      = Device.Resources.GetIOPortReadWrite(0, 7);
            ControlPort     = Device.Resources.GetIOPortWrite(1, 0);
            AltStatusPort   = Device.Resources.GetIOPortReadWrite(1, 6);

            MaximumDriveCount = 2;

            for (var drive = 0; drive < DrivesPerConroller; drive++)
            {
                driveInfo[drive].Present = false;
                driveInfo[drive].MaxLBA  = 0;
            }
        }
コード例 #2
0
        public override void Initialize()
        {
            Device.Name = "GenericVGA_0x" + Device.Resources.GetIOPortRegion(0).BaseIOPort.ToString("X");

            byte portBar = (byte)(Device.Resources.IOPointRegionCount - 1);

            miscellaneousOutputRead = Device.Resources.GetIOPortReadWrite(portBar, 0x1C);
            crtControllerIndex      = Device.Resources.GetIOPortReadWrite(portBar, 0x04);
            crtControllerData       = Device.Resources.GetIOPortReadWrite(portBar, 0x05);
            crtControllerIndexColor = Device.Resources.GetIOPortReadWrite(portBar, 0x24);
            crtControllerDataColor  = Device.Resources.GetIOPortReadWrite(portBar, 0x25);
            dacPaletteMask          = Device.Resources.GetIOPortReadWrite(portBar, 0x16);
            dacIndexRead            = Device.Resources.GetIOPortReadWrite(portBar, 0x17);
            dacIndexWrite           = Device.Resources.GetIOPortReadWrite(portBar, 0x18);
            dacData                   = Device.Resources.GetIOPortReadWrite(portBar, 0x19);
            inputStatus1              = Device.Resources.GetIOPortReadWrite(portBar, 0x12);
            miscellaneousOutputWrite  = Device.Resources.GetIOPortWrite(portBar, 0x12);
            sequencerAddress          = Device.Resources.GetIOPortReadWrite(portBar, 0x14);
            sequencerData             = Device.Resources.GetIOPortReadWrite(portBar, 0x15);
            graphicsControllerAddress = Device.Resources.GetIOPortReadWrite(portBar, 0x1E);
            graphicsControllerData    = Device.Resources.GetIOPortReadWrite(portBar, 0x1F);
            inputStatus1ReadB         = Device.Resources.GetIOPortReadWrite(portBar, 0x2A);
            attributeAddress          = Device.Resources.GetIOPortReadWrite(portBar, 0x10);
            attributeData             = Device.Resources.GetIOPortReadWrite(portBar, 0x11);

            memory = Device.Resources.GetMemory((byte)(Device.Resources.AddressRegionCount - 1));
        }
コード例 #3
0
        public override void Initialize()
        {
            Device.Name = "StandardKeyboard";

            dataPort    = Device.Resources.GetIOPortReadWrite(0, 0);                // 0x60
            statusPort  = Device.Resources.GetIOPortRead(1, 0);                     // 0x64
            commandPort = Device.Resources.GetIOPortWrite(1, 0);                    // 0x64

            fifoBuffer = new byte[fifoSize];
            fifoStart  = 0;
            fifoEnd    = 0;
        }