public override void Start() { if (Device.Status != DeviceStatus.Available) { return; } WriteSettings(VGAText80x25); colorMode = ((miscellaneousOutput.Read8() & 1) == 1); if (colorMode) { offset = 0x8000; bytePerChar = 2; activeControllerIndex = crtControllerIndexColor; activeControllerData = crtControllerDataColor; } else { offset = 0x0; bytePerChar = 1; activeControllerIndex = crtControllerIndex; activeControllerData = crtControllerData; } width = GetValue(CRTCommands.HorizontalDisplayEnableEnd); height = GetValue(CRTCommands.VerticalDisplayEnableEnd); width++; height = 25; Device.Status = DeviceStatus.Online; }
public override void Initialize() { Device.Name = "PCI_0x" + Device.Resources.GetIOPortRegion(0).BaseIOPort.ToString("X"); configAddress = Device.Resources.GetIOPortReadWrite(0, 0); configData = Device.Resources.GetIOPortReadWrite(0, 4); }
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; } }
public override void Initialize() { Device.Name = "CMOS"; commandPort = Device.Resources.GetIOPortReadWrite(0, 0); dataPort = Device.Resources.GetIOPortReadWrite(0, 4); }
/// <summary> /// Initializes this device. /// </summary> public override void Initialize() { Device.Name = "PIT_0x" + Device.Resources.GetIOPortRegion(0).BaseIOPort.ToString("X"); counter0Divisor = Device.Resources.GetIOPortReadWrite(0, 0); // 0x40 modeControlPort = Device.Resources.GetIOPortReadWrite(1, 0); // 0x43 }
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)); }
public override void Initialize() { Device.Name = "VMWARE_SVGA_0x" + Device.Resources.GetIOPortRegion(0).BaseIOPort.ToString("X"); indexPort = Device.Resources.GetIOPortReadWrite(0, 0); valuePort = Device.Resources.GetIOPortReadWrite(0, 1); memory = Device.Resources.GetMemory(0); fifo = Device.Resources.GetMemory(1); }
public override void Initialize() { Device.Name = "PIC_0x" + Device.Resources.GetIOPortRegion(0).BaseIOPort.ToString("X"); masterCommandPort = Device.Resources.GetIOPortReadWrite(0, 0); masterDataPort = Device.Resources.GetIOPortReadWrite(0, 1); slaveCommandPort = Device.Resources.GetIOPortReadWrite(1, 0); slaveDataPort = Device.Resources.GetIOPortReadWrite(1, 1); }
public override void Initialize() { Device.Name = "StandardMouse"; data = Device.Resources.GetIOPortReadWrite(0, 0); // 0x60 command = Device.Resources.GetIOPortReadWrite(1, 0); // 0x64 // Enable the auxiliary mouse device Wait(1); command.Write8(0xA8); // Enable the interrupts Wait(1); command.Write8(0x20); Wait(0); byte status = ((byte)(data.Read8() | 3)); Wait(1); command.Write8(0x60); Wait(1); data.Write8(status); WriteRegister(SetDefaults); WriteRegister(EnableDataReporting); // Get "MouseID", but somehow do nothing with it (?) WriteRegister(0xF2); // Set sample rate to 200 Hz (maximum) // We're gradually going down to 80 Hz, see below WriteRegister(0xF3); WriteRegister(200); // Set sample rate to 100 Hz // See below for final register write of sample rate WriteRegister(0xF3); WriteRegister(100); // Set sample rate to 80 Hz // We're done! WriteRegister(0xF3); WriteRegister(80); // Get "MouseID" WriteRegister(0xF2); byte result = ReadRegister(); if (result == 3) { // The scroll wheel is available } MouseState = byte.MaxValue; }
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; }
public override void Initialize() { Device.Name = "VGAText"; miscellaneousOutput = Device.Resources.GetIOPortReadWrite(0, 0x1C); crtControllerIndex = Device.Resources.GetIOPortReadWrite(0, 0x04); crtControllerData = Device.Resources.GetIOPortReadWrite(0, 0x05); crtControllerIndexColor = Device.Resources.GetIOPortReadWrite(0, 0x24); crtControllerDataColor = Device.Resources.GetIOPortReadWrite(0, 0x25); miscellaneousOutputWrite = Device.Resources.GetIOPortWrite(0, 0x12); sequencerAddress = Device.Resources.GetIOPortReadWrite(0, 0x14); sequencerData = Device.Resources.GetIOPortReadWrite(0, 0x15); graphicsControllerAddress = Device.Resources.GetIOPortReadWrite(0, 0x1E); graphicsControllerData = Device.Resources.GetIOPortReadWrite(0, 0x1F); inputStatus1ReadB = Device.Resources.GetIOPortReadWrite(0, 0x2A); attributeAddress = Device.Resources.GetIOPortReadWrite(0, 0x10); attributeData = Device.Resources.GetIOPortReadWrite(0, 0x11); memory = Device.Resources.GetMemory(0); }