Hello Huihong, On 09/12/2011 06:30 PM, Huihong Luo wrote:
We are exploring the possibility of implementing this old stuff. In particular, the mouse and graphics drivers. Seems mouse integration shouldn't be that difficult. However, for video cards, it will take quite some time. I have a question, does C:\virtualbox-dev\vbox\include\VBox\Hardware\VBoxVideoVBE.h contains all the video card's registry information? In other words, do these constants sufficient to develop the display driver? 95/98 uses totally different driver model, and needs to implment in real mode using assembly code. So wanted to know what is the minimum requirement?
See the files in src/VBox/Additions/common/VBoxVideo for a first approximation. Those were my first attempt at sharing video driver code between Linux and Windows. For a minimal driver, the functions VBoxVideoGetVRAMSize() and VBoxVideoSetModeRegisters() in Modesetting.cpp which can be used without any of the rest. Those functions are so basic they ought to be re-usable in 16bit code, or let me know if that can be achieved with trivial changes. If you wish to go further, HGSMIBase.cpp contains APIs for setting up the buffers used for communicating with the graphics device (sending commands and receiving replies and notifications) and for doing the actual communication. Modesetting.cpp uses them to set multi-monitor graphics modes (and the older APIs I mentioned for single-monitor mode-setting). VBVABase.cpp contains dirty rectangle notification code, particularly for accelerating remote display. Feel free to send API documentation patches! I wrote the existing documentation as I was getting to grips with the API (which was win32 only, and I am a Linux developer...) so it is a bit unclear. See src/VBox/Additions/x11/vboxvideo/vbva.c for am example of how to set up the graphics card. pointer.c and setmode.c in that directory build on top of that. Hope that helps a bit. Regards, Michael -- ORACLE Deutschland B.V. & Co. KG Michael Thayer Werkstrasse 24 VirtualBox engineering 71384 Weinstadt, Germany mailto:[email protected] Hauptverwaltung: Riesstr. 25, D-80992 München Registergericht: Amtsgericht München, HRA 95603 Komplementärin: ORACLE Deutschland Verwaltung B.V. Hertogswetering 163/167, 3543 AS Utrecht, Niederlande Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697 Geschäftsführer: Jürgen Kunz, Marcel van de Molen, Alexander van der Ven _______________________________________________ vbox-dev mailing list [email protected] http://vbox.innotek.de/mailman/listinfo/vbox-dev
