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 = "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 = "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.MemoryRegionCount - 1)); }
/// <summary> /// Setups this hardware device driver /// </summary> /// <param name="hardwareResources"></param> /// <returns></returns> public override bool Setup(HardwareResources hardwareResources) { this.HardwareResources = hardwareResources; base.Name = "IDE_0x" + base.HardwareResources.GetIOPortRegion(0).BaseIOPort.ToString("X"); DataPort = base.HardwareResources.GetIOPortReadWrite(0, 0); ErrorPort = base.HardwareResources.GetIOPortReadWrite(0, 1); FeaturePort = base.HardwareResources.GetIOPortReadWrite(0, 1); SectorCountPort = base.HardwareResources.GetIOPortReadWrite(0, 2); LBALowPort = base.HardwareResources.GetIOPortReadWrite(0, 3); LBAMidPort = base.HardwareResources.GetIOPortReadWrite(0, 4); LBAHighPort = base.HardwareResources.GetIOPortReadWrite(0, 5); DeviceHeadPort = base.HardwareResources.GetIOPortReadWrite(0, 6); CommandPort = base.HardwareResources.GetIOPortWrite(0, 7); StatusPort = base.HardwareResources.GetIOPortReadWrite(0, 7); ControlPort = base.HardwareResources.GetIOPortWrite(1, 0); AltStatusPort = base.HardwareResources.GetIOPortReadWrite(1, 6); for (var drive = 0; drive < DrivesPerConroller; drive++) { driveInfo[drive].Present = false; driveInfo[drive].MaxLBA = 0; } base.DeviceStatus = DeviceStatus.Online; return(true); }
protected override void Initialize() { Device.Name = "AMDPCNet_0x" + Device.Resources.GetIOPortRegion(0).BaseIOPort.ToString("X"); ioProm1 = Device.Resources.GetIOPortReadWrite(0, 0x0); ioProm4 = Device.Resources.GetIOPortReadWrite(0, 0x4); rdp = Device.Resources.GetIOPortReadWrite(0, 0x10); rap = Device.Resources.GetIOPortReadWrite(0, 0x14); bdp = Device.Resources.GetIOPortReadWrite(0, 0x1C); initBlock = Device.Resources.GetMemory(0); txDescriptor = Device.Resources.GetMemory(1); rxDescriptor = Device.Resources.GetMemory(2); buffers = Device.Resources.GetMemory(3); bufferSize = 2048; uint len = (ushort)(~bufferSize); len = ((len + 1) & 0x0FFF) | 0x8000F000; physicalBufferAddress = HAL.GetPhysicalAddress(buffers); for (uint index = 0; index < 16; index++) { uint offset = index * 4; rxDescriptor.Write32((offset + 1) * 4, len); rxDescriptor.Write32((offset + 2) * 4, physicalBufferAddress + (bufferSize * index)); txDescriptor.Write32((offset + 2) * 4, physicalBufferAddress + (bufferSize * (index + 16))); } nextTXDesc = 0; }
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); }
/// <summary> /// Initializes this device. /// </summary> protected override void Initialize() { Device.Name = "PIT_0x" + Device.Resources.GetIOPortRegion(0).BaseIOPort.ToString("X"); modeControlPort = Device.Resources.GetIOPortReadWrite(0, 3); counter0Divisor = Device.Resources.GetIOPortReadWrite(0, 0); }
/// <summary> /// Setups this hardware device driver /// </summary> /// <param name="hardwareResources"></param> /// <returns></returns> public override bool Setup(HardwareResources hardwareResources) { this.HardwareResources = hardwareResources; base.Name = "GenericVGA"; byte portBar = (byte)(base.HardwareResources.IOPointRegionCount - 1); miscellaneousOutputRead = base.HardwareResources.GetIOPortReadWrite(portBar, 0x1C); crtControllerIndex = base.HardwareResources.GetIOPortReadWrite(portBar, 0x04); crtControllerData = base.HardwareResources.GetIOPortReadWrite(portBar, 0x05); crtControllerIndexColor = base.HardwareResources.GetIOPortReadWrite(portBar, 0x24); crtControllerDataColor = base.HardwareResources.GetIOPortReadWrite(portBar, 0x25); dacPaletteMask = base.HardwareResources.GetIOPortReadWrite(portBar, 0x16); dacIndexRead = base.HardwareResources.GetIOPortReadWrite(portBar, 0x17); dacIndexWrite = base.HardwareResources.GetIOPortReadWrite(portBar, 0x18); dacData = base.HardwareResources.GetIOPortReadWrite(portBar, 0x19); inputStatus1 = base.HardwareResources.GetIOPortReadWrite(portBar, 0x12); miscellaneousOutputWrite = base.HardwareResources.GetIOPortWrite(portBar, 0x12); sequencerAddress = base.HardwareResources.GetIOPortReadWrite(portBar, 0x14); sequencerData = base.HardwareResources.GetIOPortReadWrite(portBar, 0x15); graphicsControllerAddress = base.HardwareResources.GetIOPortReadWrite(portBar, 0x1E); graphicsControllerData = base.HardwareResources.GetIOPortReadWrite(portBar, 0x1F); inputStatus1ReadB = base.HardwareResources.GetIOPortReadWrite(portBar, 0x2A); attributeAddress = base.HardwareResources.GetIOPortReadWrite(portBar, 0x10); attributeData = base.HardwareResources.GetIOPortReadWrite(portBar, 0x11); memory = base.HardwareResources.GetMemory((byte)(base.HardwareResources.MemoryRegionCount - 1)); return(true); }
/// <summary> /// Setups this hardware device driver /// </summary> /// <param name="hardwareResources"></param> /// <returns></returns> public override bool Setup(HardwareResources hardwareResources) { this.HardwareResources = hardwareResources; base.Name = "AMDPCNet_0x" + hardwareResources.GetIOPortRegion(0).BaseIOPort.ToString("X"); ioProm1 = hardwareResources.GetIOPortReadWrite(0, 0x0); ioProm4 = hardwareResources.GetIOPortReadWrite(0, 0x4); rdp = hardwareResources.GetIOPortReadWrite(0, 0x10); rap = hardwareResources.GetIOPortReadWrite(0, 0x14); bdp = hardwareResources.GetIOPortReadWrite(0, 0x1C); initBlock = hardwareResources.GetMemory(0); txDescriptor = hardwareResources.GetMemory(1); rxDescriptor = hardwareResources.GetMemory(2); buffers = hardwareResources.GetMemory(3); bufferSize = 2048; uint len = (ushort)(~bufferSize); len = ((len + 1) & 0x0FFF) | 0x8000F000; physicalBufferAddress = HAL.GetPhysicalAddress(buffers); for (uint index = 0; index < 16; index++) { uint offset = index * 4; rxDescriptor.Write32((offset + 1) * 4, len); rxDescriptor.Write32((offset + 2) * 4, physicalBufferAddress + (bufferSize * index)); txDescriptor.Write32((offset + 2) * 4, physicalBufferAddress + (bufferSize * (index + 16))); } nextTXDesc = 0; return(true); }
public override void Initialize() { Device.Name = "CMOS"; commandPort = Device.Resources.GetIOPortReadWrite(0, 0); dataPort = Device.Resources.GetIOPortReadWrite(0, 4); }
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); }
protected 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); }
/// <summary> /// Setups this hardware device driver /// </summary> /// <param name="hardwareResources"></param> /// <returns></returns> public override bool Setup(HardwareResources hardwareResources) { this.HardwareResources = hardwareResources; base.Name = "CMOS"; commandPort = base.HardwareResources.GetIOPortReadWrite(0, 0); dataPort = base.HardwareResources.GetIOPortReadWrite(0, 4); return(true); }
/// <summary> /// Setups this hardware device driver /// </summary> /// <returns></returns> public override bool Setup(HardwareResources hardwareResources) { this.HardwareResources = hardwareResources; base.Name = "PCI_0x" + base.HardwareResources.GetIOPortRegion(0).BaseIOPort.ToString("X"); configAddress = base.HardwareResources.GetIOPortReadWrite(0, 0); configData = base.HardwareResources.GetIOPortReadWrite(0, 4); return(true); }
/// <summary> /// Initializes this device. /// </summary> protected override void Initialize() { Device.Name = "StandardKeyboard"; commandPort = Device.Resources.GetIOPortReadWrite(0, 0); dataPort = Device.Resources.GetIOPortReadWrite(1, 0); fifoBuffer = new byte[fifoSize]; fifoStart = 0; fifoEnd = 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; }
/// <summary> /// Setups this hardware device driver /// </summary> /// <returns></returns> public override bool Setup(HardwareResources hardwareResources) { this.HardwareResources = hardwareResources; base.Name = "VMWARE_SVGA_0x" + hardwareResources.GetIOPortRegion(0).BaseIOPort.ToString("X"); indexPort = hardwareResources.GetIOPortReadWrite(0, 0); valuePort = hardwareResources.GetIOPortReadWrite(0, 1); HAL.DebugWrite("**G**"); memory = base.HardwareResources.GetMemory(0); HAL.DebugWrite("**I**"); fifo = base.HardwareResources.GetMemory(1); HAL.DebugWrite("**J**"); return(true); }
/// <summary> /// Setups the standard keyboard driver /// </summary> /// <returns></returns> public override bool Setup(HardwareResources hardwareResources) { this.HardwareResources = hardwareResources; base.Name = "StandardKeyboard"; commandPort = base.HardwareResources.GetIOPortReadWrite(0, 0); dataPort = base.HardwareResources.GetIOPortReadWrite(1, 0); fifoBuffer = new byte[fifoSize]; fifoStart = 0; fifoEnd = 0; return(true); }
protected override void Initialize() { // Set the driver's name Device.Name = "S3Trio64V2"; // Store portmanager byte portBar = (byte)(Device.Resources.IOPointRegionCount - 1); vgaEnableController = Device.Resources.GetIOPortReadWrite(portBar, Register.VgaEnable); miscOutputReader = Device.Resources.GetIOPortReadWrite(portBar, Register.MiscOutRead); miscOutputWriter = Device.Resources.GetIOPortReadWrite(portBar, Register.MiscOutWrite); crtcControllerIndex = Device.Resources.GetIOPortReadWrite(portBar, Register.CrtcIndex); crtcControllerData = Device.Resources.GetIOPortReadWrite(portBar, Register.CrtcData); seqControllerIndex = Device.Resources.GetIOPortReadWrite(portBar, Register.SequenceIndex); seqControllerData = Device.Resources.GetIOPortReadWrite(portBar, Register.SequenceData); }
/// <summary> /// Initializes this device. /// </summary> protected override void Initialize() { Device.Name = "COM_0x" + Device.Resources.GetIOPortRegion(0).BaseIOPort.ToString("X"); rbrBase = Device.Resources.GetIOPortReadWrite(0, 0); // Receive Buffer Register (read only) thrBase = Device.Resources.GetIOPortWrite(0, 0); // Transmitter Holding Register (write only) ierBase = Device.Resources.GetIOPortReadWrite(0, 1); // Interrupt Enable Register dllBase = Device.Resources.GetIOPortReadWrite(0, 0); // Divisor Latch (LSB and MSB) dlmBase = Device.Resources.GetIOPortReadWrite(0, 1); iirBase = Device.Resources.GetIOPortReadWrite(0, 2); // Interrupt Identification Register (read only) fcrBase = Device.Resources.GetIOPortWrite(0, 2); // FIFO Control Register (write only, 16550+ only) lcrBase = Device.Resources.GetIOPortReadWrite(0, 3); // Line Control Register mcrBase = Device.Resources.GetIOPortReadWrite(0, 4); // Modem Control Register lsrBase = Device.Resources.GetIOPortReadWrite(0, 5); // Line Status Register msrBase = Device.Resources.GetIOPortReadWrite(0, 6); // Modem Status Register scrBase = Device.Resources.GetIOPortReadWrite(0, 7); // Scratch Register (16450+ and some 8250s, special use with some boards) fifoBuffer = new byte[fifoSize]; fifoStart = 0; fifoEnd = 0; }
protected 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); }
/// <summary> /// Setups this hardware device driver /// </summary> /// <param name="hardwareResources"></param> /// <returns></returns> public override bool Setup(HardwareResources hardwareResources) { // Store reference to hardware resources this.HardwareResources = hardwareResources; // Set the driver's name base.Name = "S3Trio64V2"; // Store portmanager byte portBar = (byte)(base.HardwareResources.IOPointRegionCount - 1); vgaEnableController = base.HardwareResources.GetIOPortReadWrite(portBar, Register.VgaEnable); miscOutputReader = base.HardwareResources.GetIOPortReadWrite(portBar, Register.MiscOutRead); miscOutputWriter = base.HardwareResources.GetIOPortReadWrite(portBar, Register.MiscOutWrite); crtcControllerIndex = base.HardwareResources.GetIOPortReadWrite(portBar, Register.CrtcIndex); crtcControllerData = base.HardwareResources.GetIOPortReadWrite(portBar, Register.CrtcData); seqControllerIndex = base.HardwareResources.GetIOPortReadWrite(portBar, Register.SequenceIndex); seqControllerData = base.HardwareResources.GetIOPortReadWrite(portBar, Register.SequenceData); // Everything went fine return(true); }