using System; using System.Collections.Generic; using System.Linq; using Cosmos.Core; namespace Cosmos.Core.IOGroup { /// /// VGA class. See also: . /// public class VGA: IOGroup { /// /// Attribute controller index port. /// public readonly IOPortWrite AttributeController_Index = new IOPortWrite(0x3C0); /// /// Attribute controller write port. /// public readonly IOPortWrite AttributeController_Write = new IOPortWrite(0x3C0); /// /// Attribute controller read port. /// public readonly IOPortRead AttributeController_Read = new IOPortRead(0x3C1); /// /// Miscellaneous output write port. /// public readonly IOPortWrite MiscellaneousOutput_Write = new IOPortWrite(0x3C2); /// /// Sequencer index port. /// public readonly IOPortWrite Sequencer_Index = new IOPortWrite(0x3C4); /// /// Sequencer data port. /// public readonly IOPort Sequencer_Data = new IOPort(0x3C5); /// /// DAC index read port. /// public readonly IOPortWrite DACIndex_Read = new IOPortWrite(0x3C7); /// /// DAC index write port. /// public readonly IOPortWrite DACIndex_Write = new IOPortWrite(0x3C8); /// /// DAC data port. /// public readonly IOPort DAC_Data = new IOPort(0x3C9); /// /// Graphics controller index port. /// public readonly IOPortWrite GraphicsController_Index = new IOPortWrite(0x3CE); /// /// Graphics controller data port. /// public readonly IOPort GraphicsController_Data = new IOPort(0x3CF); /// /// CRT controller index port. /// public readonly IOPortWrite CRTController_Index = new IOPortWrite(0x3D4); /// /// CRT controller data port. /// public readonly IOPort CRTController_Data = new IOPort(0x3D5); /// /// Instant read port. /// public readonly IOPortRead Instat_Read = new IOPortRead(0x3DA); /// /// 128KB at 0xA0000 /// public readonly MemoryBlock VGAMemoryBlock = new MemoryBlock(0xA0000, 1024 * 128); /// /// 32KB at 0xB0000 /// public readonly MemoryBlock MonochromeTextMemoryBlock = new MemoryBlock(0xB0000, 1024 * 32); /// /// 32KB at 0xB8000 /// public readonly MemoryBlock CGATextMemoryBlock = new MemoryBlock(0xB8000, 1024 * 32); } }