From: <fd...@us...> - 2008-07-24 22:03:25
|
Revision: 4353 http://jnode.svn.sourceforge.net/jnode/?rev=4353&view=rev Author: fduminy Date: 2008-07-24 22:03:21 +0000 (Thu, 24 Jul 2008) Log Message: ----------- - removed VESAConstants and VESAPlugin constants - cleanup of calls to Unsafe.debug Modified Paths: -------------- trunk/gui/descriptors/org.jnode.driver.video.vesa.xml trunk/gui/src/driver/org/jnode/driver/video/vesa/VESACommand.java trunk/gui/src/driver/org/jnode/driver/video/vesa/VESACore.java trunk/gui/src/driver/org/jnode/driver/video/vesa/VESADriver.java Removed Paths: ------------- trunk/gui/src/driver/org/jnode/driver/video/vesa/VESAConstants.java trunk/gui/src/driver/org/jnode/driver/video/vesa/VESAPlugin.java Modified: trunk/gui/descriptors/org.jnode.driver.video.vesa.xml =================================================================== --- trunk/gui/descriptors/org.jnode.driver.video.vesa.xml 2008-07-24 21:20:06 UTC (rev 4352) +++ trunk/gui/descriptors/org.jnode.driver.video.vesa.xml 2008-07-24 22:03:21 UTC (rev 4353) @@ -5,9 +5,7 @@ name="JNode Video VESA driver" version="@VERSION@" license-name="lgpl" - provider-name="JNode.org" - class="org.jnode.driver.video.vesa.VESAPlugin" - auto-start="true"> + provider-name="JNode.org"> <requires> <import plugin="org.jnode.driver.bus.pci"/> Modified: trunk/gui/src/driver/org/jnode/driver/video/vesa/VESACommand.java =================================================================== --- trunk/gui/src/driver/org/jnode/driver/video/vesa/VESACommand.java 2008-07-24 21:20:06 UTC (rev 4352) +++ trunk/gui/src/driver/org/jnode/driver/video/vesa/VESACommand.java 2008-07-24 22:03:21 UTC (rev 4353) @@ -146,282 +146,6 @@ } public static short getSelector(Address address) { - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); println("getSelector point 1"); long addr = address.toLong(); println("getSelector point 2"); @@ -431,283 +155,6 @@ } private static short getSelector(Object obj) { - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - print("."); - println("getSelector point A"); if (obj == null) return -1; Deleted: trunk/gui/src/driver/org/jnode/driver/video/vesa/VESAConstants.java =================================================================== --- trunk/gui/src/driver/org/jnode/driver/video/vesa/VESAConstants.java 2008-07-24 21:20:06 UTC (rev 4352) +++ trunk/gui/src/driver/org/jnode/driver/video/vesa/VESAConstants.java 2008-07-24 22:03:21 UTC (rev 4353) @@ -1,250 +0,0 @@ -/* - * $Id: VMWareConstants.java,v 1.6 2006/01/01 12:40:42 epr Exp $ - * - * JNode.org - * Copyright (C) 2003-2006 JNode.org - * - * This library is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation; either version 2.1 of the License, or - * (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public - * License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this library; If not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -package org.jnode.driver.video.vesa; - -/** - * - * @author Fabien DUMINY (fduminy at jnode.org) - * - */ -public interface VESAConstants { - - public static final int SVGA_LEGACY_BASE_PORT = 0x4560; - public static final int SVGA_INDEX_PORT = 0x0; - public static final int SVGA_VALUE_PORT = 0x1; - public static final int SVGA_BIOS_PORT = 0x2; - public static final int SVGA_NUM_PORTS = 0x3; - - public static final int SVGA_REG_ID = 0; - public static final int SVGA_REG_ENABLE = 1; - public static final int SVGA_REG_WIDTH = 2; - public static final int SVGA_REG_HEIGHT = 3; - public static final int SVGA_REG_MAX_WIDTH = 4; - public static final int SVGA_REG_MAX_HEIGHT = 5; - public static final int SVGA_REG_DEPTH = 6; - public static final int SVGA_REG_BITS_PER_PIXEL = 7; - public static final int SVGA_REG_PSEUDOCOLOR = 8; - public static final int SVGA_REG_RED_MASK = 9; - public static final int SVGA_REG_GREEN_MASK = 10; - public static final int SVGA_REG_BLUE_MASK = 11; - public static final int SVGA_REG_BYTES_PER_LINE = 12; - public static final int SVGA_REG_FB_START = 13; - public static final int SVGA_REG_FB_OFFSET = 14; - public static final int SVGA_REG_FB_MAX_SIZE = 15; - public static final int SVGA_REG_FB_SIZE = 16; - - public static final int SVGA_REG_CAPABILITIES = 17; - public static final int SVGA_REG_MEM_START = 18; /* - * Memory for command - * FIFO and bitmaps - */ - public static final int SVGA_REG_MEM_SIZE = 19; - public static final int SVGA_REG_CONFIG_DONE = 20; /* - * Set when memory area - * configured - */ - public static final int SVGA_REG_SYNC = 21; /* - * Write to force - * synchronization - */ - public static final int SVGA_REG_BUSY = 22; /* Read to check if sync is done */ - public static final int SVGA_REG_GUEST_ID = 23; /* Set guest OS identifier */ - public static final int SVGA_REG_CURSOR_ID = 24; /* ID of cursor */ - public static final int SVGA_REG_CURSOR_X = 25; /* Set cursor X position */ - public static final int SVGA_REG_CURSOR_Y = 26; /* Set cursor Y position */ - public static final int SVGA_REG_CURSOR_ON = 27; /* Turn cursor on/off */ - - public static final int SVGA_REG_TOP = 28; /* - * Must be 1 greater than the - * last register - */ - - public static final int SVGA_PALETTE_BASE = 1024; /* - * Base of SVGA color - * map - */ - - public static final int SVGA_MAGIC = 0x900000; - public static final int SVGA_ID_INVALID = 0xffffffff; - public static final int SVGA_ID_0 = SVGA_MAGIC << 8; - public static final int SVGA_ID_1 = (SVGA_MAGIC << 8) | 1; - public static final int SVGA_ID_2 = (SVGA_MAGIC << 8) | 2; - - public static final int SVGA_FIFO_MIN = 0; - public static final int SVGA_FIFO_MAX = 1; - public static final int SVGA_FIFO_NEXT_CMD = 2; - public static final int SVGA_FIFO_STOP = 3; - - public static final int SVGA_CMD_UPDATE = 1; - /* - * FIFO layout: - */ - - public static final int SVGA_CMD_RECT_FILL = 2; - /* - * FIFO layout: - */ - - public static final int SVGA_CMD_RECT_COPY = 3; - /* - * FIFO layout: - */ - - public static final int SVGA_CMD_DEFINE_BITMAP = 4; - /* - * FIFO layout: - */ - - public static final int SVGA_CMD_DEFINE_BITMAP_SCANLINE = 5; - /* - * FIFO layout: - */ - - public static final int SVGA_CMD_DEFINE_PIXMAP = 6; - /* - * FIFO layout: - */ - - public static final int SVGA_CMD_DEFINE_PIXMAP_SCANLINE = 7; - /* - * FIFO layout: - */ - - public static final int SVGA_CMD_RECT_BITMAP_FILL = 8; - /* - * FIFO layout: - */ - - public static final int SVGA_CMD_RECT_PIXMAP_FILL = 9; - /* - * FIFO layout: - */ - - public static final int SVGA_CMD_RECT_BITMAP_COPY = 10; - /* - * FIFO layout: Bitmap ID, Source X, Source Y, Dest X, Dest Y, - */ - - public static final int SVGA_CMD_RECT_PIXMAP_COPY = 11; - /* - * FIFO layout: - */ - - public static final int SVGA_CMD_FREE_OBJECT = 12; - /* - * FIFO layout: - */ - - public static final int SVGA_CMD_RECT_ROP_FILL = 13; - /* - * FIFO layout: - */ - - public static final int SVGA_CMD_RECT_ROP_COPY = 14; - /* - * FIFO layout: - */ - - public static final int SVGA_CMD_RECT_ROP_BITMAP_FILL = 15; - /* - * FIFO layout: - */ - - public static final int SVGA_CMD_RECT_ROP_PIXMAP_FILL = 16; - /* - * FIFO layout: - */ - - public static final int SVGA_CMD_RECT_ROP_BITMAP_COPY = 17; - /* - * FIFO layout: ID, Source X, Source Y, - */ - - public static final int SVGA_CMD_RECT_ROP_PIXMAP_COPY = 18; - /* - * FIFO layout: - */ - - public static final int SVGA_CMD_DEFINE_CURSOR = 19; - /* - * FIFO layout: ID, Hotspot X, Hotspot Y, Width, Height, Depth for AND mask, - * Depth for XOR mask, - */ - - public static final int SVGA_CMD_DISPLAY_CURSOR = 20; - /* - * FIFO layout: - */ - - public static final int SVGA_CMD_MOVE_CURSOR = 21; - /* - * FIFO layout: - */ - - public static final int SVGA_CMD_DEFINE_ALPHA_CURSOR = 22; - /* - * FIFO layout: ID, Hotspot X, Hotspot Y, Width, Height, - */ - - public static final int SVGA_CMD_MAX = 22; - - public static final int GUEST_OS_OTHER = 0x5000 + 10; - - /* - * Raster codes - */ - public static final int SVGA_ROP_CLEAR = 0x00; - public static final int SVGA_ROP_AND = 0x01; - public static final int SVGA_ROP_AND_REVERSE = 0x02; - public static final int SVGA_ROP_COPY = 0x03; - public static final int SVGA_ROP_AND_INVERTED = 0x04; - public static final int SVGA_ROP_NOOP = 0x05; - public static final int SVGA_ROP_XOR = 0x06; - public static final int SVGA_ROP_OR = 0x07; - public static final int SVGA_ROP_NOR = 0x08; - public static final int SVGA_ROP_EQUIV = 0x09; - public static final int SVGA_ROP_INVERT = 0x0a; - public static final int SVGA_ROP_OR_REVERSE = 0x0b; - public static final int SVGA_ROP_COPY_INVERTED = 0x0c; - public static final int SVGA_ROP_OR_INVERTED = 0x0d; - public static final int SVGA_ROP_NAND = 0x0e; - public static final int SVGA_ROP_SET = 0x0f; - - /* - * Capabiities - */ - - public static final int SVGA_CAP_RECT_FILL = 0x0001; - public static final int SVGA_CAP_RECT_COPY = 0x0002; - public static final int SVGA_CAP_RECT_PAT_FILL = 0x0004; - public static final int SVGA_CAP_OFFSCREEN = 0x0008; - public static final int SVGA_CAP_RASTER_OP = 0x0010; - public static final int SVGA_CAP_CURSOR = 0x0020; - public static final int SVGA_CAP_CURSOR_BYPASS = 0x0040; - public static final int SVGA_CAP_CURSOR_BYPASS_2 = 0x0080; - public static final int SVGA_CAP_8BIT_EMULATION = 0x0100; - public static final int SVGA_CAP_ALPHA_CURSOR = 0x0200; - public static final int SVGA_CAP_GLYPH = 0x0400; - public static final int SVGA_CAP_GLYPH_CLIPPING = 0x0800; - public static final int SVGA_CAP_OFFSCREEN_1 = 0x1000; - public static final int SVGA_CAP_ALPHA_BLEND = 0x2000; -} Modified: trunk/gui/src/driver/org/jnode/driver/video/vesa/VESACore.java =================================================================== --- trunk/gui/src/driver/org/jnode/driver/video/vesa/VESACore.java 2008-07-24 21:20:06 UTC (rev 4352) +++ trunk/gui/src/driver/org/jnode/driver/video/vesa/VESACore.java 2008-07-24 22:03:21 UTC (rev 4353) @@ -47,7 +47,6 @@ import org.jnode.system.ResourceManager; import org.jnode.system.ResourceNotFreeException; import org.jnode.util.NumberUtils; -import org.jnode.vm.Unsafe; import org.vmmagic.unboxed.Address; /** @@ -55,7 +54,7 @@ * @author Fabien DUMINY (fduminy at jnode.org) * */ -public class VESACore extends AbstractSurface implements VESAConstants, HardwareCursorAPI { +public class VESACore extends AbstractSurface implements HardwareCursorAPI { /** My logger */ private static final Logger log = Logger.getLogger(VESACore.class); @@ -173,11 +172,8 @@ this.blueMaskShift = getMaskShift(blueMask); this.alphaMaskShift = getMaskShift(alphaMask); } catch (NameNotFoundException ex) { - Unsafe.debugStackTrace("error in VESACore", ex); throw new ResourceNotFreeException(ex); } - - Unsafe.debug("\nVESACore created"); } /** @@ -258,7 +254,6 @@ new DirectColorModel(bitsPerPixel, redMask, greenMask, blueMask, alphaMask); return new FrameBufferConfiguration[] {new VESAConfiguration(maxWidth, maxHeight, cm), }; } catch (Throwable t) { - Unsafe.debugStackTrace("error in getConfigs()", t); throw new RuntimeException(t); } } Modified: trunk/gui/src/driver/org/jnode/driver/video/vesa/VESADriver.java =================================================================== --- trunk/gui/src/driver/org/jnode/driver/video/vesa/VESADriver.java 2008-07-24 21:20:06 UTC (rev 4352) +++ trunk/gui/src/driver/org/jnode/driver/video/vesa/VESADriver.java 2008-07-24 22:03:21 UTC (rev 4353) @@ -33,7 +33,6 @@ import org.jnode.driver.video.Surface; import org.jnode.driver.video.UnknownConfigurationException; import org.jnode.system.ResourceNotFreeException; -import org.jnode.vm.Unsafe; import org.jnode.vm.x86.UnsafeX86; import org.vmmagic.unboxed.Address; @@ -42,7 +41,7 @@ * @author Fabien DUMINY (fduminy at jnode.org) * */ -public class VESADriver extends AbstractFrameBufferDriver implements VESAConstants { +public class VESADriver extends AbstractFrameBufferDriver { private FrameBufferConfiguration currentConfig; private VESACore kernel; @@ -82,7 +81,6 @@ } } - Unsafe.debug("\nthrowing UnknownConfigurationException"); throw new UnknownConfigurationException(); } @@ -125,7 +123,6 @@ throw new DriverException( "can't start device (vbeInfoBlock is empty): grub haven't switched to graphic mode"); } - Unsafe.debug("vbeInfoBlock=" + vbeInfoBlock); Address vbeModeInfo = UnsafeX86.getVbeModeInfos(); modeInfoBlock = new ModeInfoBlock(vbeModeInfo); @@ -137,10 +134,8 @@ kernel = new VESACore(this, vbeInfoBlock, modeInfoBlock, (PCIDevice) getDevice()); configs = kernel.getConfigs(); } catch (ResourceNotFreeException ex) { - Unsafe.debugStackTrace("error in VESADriver.startDevice", ex); throw new DriverException(ex); } catch (Throwable t) { - Unsafe.debugStackTrace("error in VESADriver.startDevice", t); throw new DriverException(t); } final Device dev = getDevice(); Deleted: trunk/gui/src/driver/org/jnode/driver/video/vesa/VESAPlugin.java =================================================================== --- trunk/gui/src/driver/org/jnode/driver/video/vesa/VESAPlugin.java 2008-07-24 21:20:06 UTC (rev 4352) +++ trunk/gui/src/driver/org/jnode/driver/video/vesa/VESAPlugin.java 2008-07-24 22:03:21 UTC (rev 4353) @@ -1,147 +0,0 @@ -/* - * $Id: DeviceFinderPlugin.java 2224 2006-01-01 12:49:03Z epr $ - * - * JNode.org - * Copyright (C) 2003-2006 JNode.org - * - * This library is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation; either version 2.1 of the License, or - * (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public - * License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this library; If not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -package org.jnode.driver.video.vesa; - -import javax.naming.NameNotFoundException; - -import org.jnode.plugin.Plugin; -import org.jnode.plugin.PluginDescriptor; -import org.jnode.plugin.PluginException; -import org.jnode.system.ResourceNotFreeException; -import org.jnode.util.NumberUtils; -import org.jnode.vm.Unsafe; -import org.jnode.vm.x86.UnsafeX86; -import org.vmmagic.unboxed.Address; - -/** - * - * @author Fabien DUMINY (fduminy at jnode.org) - * - */ -public class VESAPlugin extends Plugin { - static final boolean DEBUG = false; - - /** - * @param descriptor - */ - public VESAPlugin(PluginDescriptor descriptor) { - super(descriptor); - } - - /** - * Start this plugin - * - * @throws PluginException - */ - protected void startPlugin() throws PluginException { - /* - * 72 | vbe_control_info | (present if flags[11] is set) - * 76 | vbe_mode_info | - * 80 | vbe_mode | - * 82 | vbe_interface_seg | - * 84 | vbe_interface_off | - * 86 | vbe_interface_len - */ - Unsafe.debug("\nstartPlugin. address="); - Address vbeInfos = UnsafeX86.getVbeInfos(); - if (vbeInfos.isZero()) { - Unsafe.debug("No vbeInfos, VESA plugin won't start"); - return; - } - - Unsafe.debug(vbeInfos); - - dump("vbeInfos bytes", vbeInfos, 32); - - // Address vbeControlInfo = Address.fromInt(vbeInfos.loadInt()); - Address vbeControlInfo = UnsafeX86.getVbeControlInfos(); - VbeInfoBlock vbeInfoBlock = new VbeInfoBlock(vbeControlInfo); - dump("vbeControlInfo", vbeControlInfo, 512); // 256 for vbe 2 - - // Address vbeModeInfo = Address.fromInt(vbeInfos.add(4).loadInt()); - Address vbeModeInfo = UnsafeX86.getVbeModeInfos(); - ModeInfoBlock modeInfoBlock = new ModeInfoBlock(vbeModeInfo); - dump("vbeModeInfo", vbeModeInfo, 256); - - short vbeMode = vbeInfos.add(8).loadShort(); - Unsafe.debug("vbeMode=" + NumberUtils.hex(vbeMode) + "\n"); - - short vbeInterfaceSeg = vbeInfos.add(10).loadShort(); - Unsafe.debug("vbeInterfaceSeg=" + NumberUtils.hex(vbeInterfaceSeg) + "\n"); - - short vbeInterfaceOff = vbeInfos.add(12).loadShort(); - Unsafe.debug("vbeInterfaceOff=" + NumberUtils.hex(vbeInterfaceOff) + "\n"); - - int vbeInterfaceLen = vbeInfos.add(14).loadInt(); - // int vbeInterfaceLen = 0x000FFFFF; - Unsafe.debug("vbeInterfaceLen=" + NumberUtils.hex(vbeInterfaceLen) + "\n"); - - int physBasePtr = modeInfoBlock.getRamBase(); - Unsafe.debug("physBasePtr=" + NumberUtils.hex(physBasePtr) + "\n"); - Address vbeMemory = Address.fromInt(physBasePtr); - - Unsafe.debug(NumberUtils.hex(vbeMemory.toInt())); - - try { - System.out.println("VESA detected : " + VESACommand.detect()); - } catch (NameNotFoundException e) { - Unsafe.debugStackTrace("error in startPlugin", e); - } catch (ResourceNotFreeException e) { - Unsafe.debugStackTrace("error in startPlugin", e); - } - } - - /** - * Stop this plugin - * - * @throws PluginException - */ - protected void stopPlugin() throws PluginException { - // Do nothing - } - - private void dump(String message, Address address, int size) { - if (DEBUG) { - StringBuilder sb = new StringBuilder("\n"); - sb.append(message).append(" at address "); - - if (address.isZero()) { - sb.append("NULL"); - } else { - sb.append(NumberUtils.hex(address.toInt())).append(" :\n"); - - Address addr = address; - for (int i = 0; i < size; i++) { - String str = NumberUtils.hex((byte) (addr.loadByte() & 0xFF)); - str = str.substring(str.length() - 2); - sb.append(str).append(' '); - if ((i % 16) == 0) - sb.append('\n'); - - addr = addr.add(1); - } - } - - Unsafe.debug(sb.append("\n").toString()); - } - } -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |