X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FModules%2FDisplay%2FBochsGA%2Fbochsvbe.c;h=a6338ae10f9ec03ecc72c81185e465e3a91d4247;hb=e2744a459d1c63435d7348d0bfd0e4b92b0ec9f9;hp=70f0c915c7abb401431dae2d60a551b3a405d20f;hpb=45c91b880402af13c4b8f934c53780d7cba24aac;p=tpg%2Facess2.git diff --git a/KernelLand/Modules/Display/BochsGA/bochsvbe.c b/KernelLand/Modules/Display/BochsGA/bochsvbe.c index 70f0c915..a6338ae1 100644 --- a/KernelLand/Modules/Display/BochsGA/bochsvbe.c +++ b/KernelLand/Modules/Display/BochsGA/bochsvbe.c @@ -47,8 +47,6 @@ enum { VBE_DISPI_INDEX_Y_OFFSET }; -extern void MM_DumpTables(tVAddr Start, tVAddr End); - // === PROTOTYPES === // Driver int BGA_Install(char **Arguments); @@ -63,8 +61,8 @@ void BGA_int_SetMode(Uint16 width, Uint16 height); int BGA_int_ModeInfo(tVideo_IOCtl_Mode *info); int BGA_int_MapFB(void *Dest); // Filesystem -size_t BGA_Read(tVFS_Node *Node, off_t off, size_t len, void *buffer); -size_t BGA_Write(tVFS_Node *Node, off_t off, size_t len, const void *buffer); +size_t BGA_Read(tVFS_Node *Node, off_t off, size_t len, void *buffer, Uint Flags); +size_t BGA_Write(tVFS_Node *Node, off_t off, size_t len, const void *buffer, Uint Flags); int BGA_IOCtl(tVFS_Node *Node, int ID, void *Data); // === GLOBALS === @@ -84,6 +82,7 @@ Uint *gBGA_Framebuffer; const tBGA_Mode *gpBGA_CurrentMode; const tBGA_Mode gBGA_Modes[] = { {640,480,32, 640*480*4}, + {800,480,32, 800*480*4}, // Nice mode for VM testing {800,600,32, 800*600*4}, {1024,768,32, 1024*768*4} }; @@ -141,13 +140,13 @@ int BGA_Install(char **Arguments) void BGA_Uninstall(void) { DevFS_DelDevice( &gBGA_DriverStruct ); - MM_UnmapHWPages( (tVAddr)gBGA_Framebuffer, 768 ); + MM_UnmapHWPages( gBGA_Framebuffer, 768 ); } /** * \brief Read from the framebuffer */ -size_t BGA_Read(tVFS_Node *node, off_t off, size_t len, void *buffer) +size_t BGA_Read(tVFS_Node *node, off_t off, size_t len, void *buffer, Uint Flags) { // Check Mode if(giBGA_CurrentMode == -1) return -1; @@ -164,7 +163,7 @@ size_t BGA_Read(tVFS_Node *node, off_t off, size_t len, void *buffer) /** * \brief Write to the framebuffer */ -size_t BGA_Write(tVFS_Node *Node, off_t Offset, size_t Length, const void *Buffer) +size_t BGA_Write(tVFS_Node *Node, off_t Offset, size_t Length, const void *Buffer, Uint Flags) { if( giBGA_CurrentMode == -1 ) BGA_int_UpdateMode(0); return DrvUtil_Video_WriteLFB(&gBGA_DrvUtil_BufInfo, Offset, Length, Buffer); @@ -221,6 +220,10 @@ int BGA_IOCtl(tVFS_Node *Node, int ID, void *Data) gBGA_CursorPos.x, gBGA_CursorPos.y ); break; + + case VIDEO_IOCTL_SETCURSORBITMAP: + DrvUtil_Video_SetCursor( &gBGA_DrvUtil_BufInfo, Data ); + return 0; default: LEAVE('i', -2);