コード例 #1
0
        public static bool InitVBE(BaseHardwareAbstraction hal)
        {
            if (!VBE.IsVBEAvailable)
            {
                return(false);
            }

            uint memorySize = (uint)(VBE.ScreenWidth * VBE.ScreenHeight * (VBE.BitsPerPixel / 8));

            _lfb = hal.GetPhysicalMemory(VBE.MemoryPhysicalLocation, memorySize);

            switch (VBE.BitsPerPixel)
            {
            case 8: Framebuffer = new FrameBuffer8bpp(_lfb, VBE.ScreenWidth, VBE.ScreenHeight, 0, VBE.Pitch); break;

            case 16: Framebuffer = new FrameBuffer16bpp(_lfb, VBE.ScreenWidth, VBE.ScreenHeight, 0, VBE.Pitch); break;

            case 24: Framebuffer = new FrameBuffer24bpp(_lfb, VBE.ScreenWidth, VBE.ScreenHeight, 0, VBE.Pitch); break;

            case 32: Framebuffer = new FrameBuffer32bpp(_lfb, VBE.ScreenWidth, VBE.ScreenHeight, 0, VBE.Pitch); break;

            default:
                return(false);
            }

            return(true);
        }
コード例 #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
 /// <summary>
 /// Initializes a new instance of the <see cref="FrameBuffer24bpp"/> class.
 /// </summary>
 /// <param name="buffer">The memory.</param>
 /// <param name="width">The width.</param>
 /// <param name="height">The height.</param>
 /// <param name="offset">The offset.</param>
 /// <param name="depth">The depth.</param>
 public FrameBuffer24bpp(ConstrainedPointer buffer, uint width, uint height, uint offset, uint depth)
 {
     this.buffer = buffer;
     this.width  = width;
     this.height = height;
     this.offset = offset;
     this.depth  = depth;
 }
コード例 #4
0
ファイル: VMwareSVGAII.cs プロジェクト: uxmal/MOSA-Project
        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);
        }
コード例 #5
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);
        }
コード例 #6
0
 public static uint PointerTest4(ConstrainedPointer pointer)
 {
     return(pointer.Read32(10));
 }
コード例 #7
0
        public static uint PointerTest3()
        {
            var pointer = new ConstrainedPointer(new IntPtr(1), 100);

            return(pointer.Read32(10));
        }