VBE_DISPI_INDEX_Y_OFFSET\r
};\r
\r
-extern void MM_DumpTables(tVAddr Start, tVAddr End);\r
-\r
// === PROTOTYPES ===\r
// Driver\r
int BGA_Install(char **Arguments);\r
int BGA_int_ModeInfo(tVideo_IOCtl_Mode *info);\r
int BGA_int_MapFB(void *Dest);\r
// Filesystem\r
-size_t BGA_Read(tVFS_Node *Node, off_t off, size_t len, void *buffer);\r
-size_t BGA_Write(tVFS_Node *Node, off_t off, size_t len, const void *buffer);\r
+size_t BGA_Read(tVFS_Node *Node, off_t off, size_t len, void *buffer, Uint Flags);\r
+size_t BGA_Write(tVFS_Node *Node, off_t off, size_t len, const void *buffer, Uint Flags);\r
int BGA_IOCtl(tVFS_Node *Node, int ID, void *Data);\r
\r
// === GLOBALS ===\r
const tBGA_Mode *gpBGA_CurrentMode;\r
const tBGA_Mode gBGA_Modes[] = {\r
{640,480,32, 640*480*4},\r
+ {800,480,32, 800*480*4}, // Nice mode for VM testing\r
{800,600,32, 800*600*4},\r
{1024,768,32, 1024*768*4}\r
};\r
void BGA_Uninstall(void)\r
{\r
DevFS_DelDevice( &gBGA_DriverStruct );\r
- MM_UnmapHWPages( (tVAddr)gBGA_Framebuffer, 768 );\r
+ MM_UnmapHWPages( gBGA_Framebuffer, 768 );\r
}\r
\r
/**\r
* \brief Read from the framebuffer\r
*/\r
-size_t BGA_Read(tVFS_Node *node, off_t off, size_t len, void *buffer)\r
+size_t BGA_Read(tVFS_Node *node, off_t off, size_t len, void *buffer, Uint Flags)\r
{\r
// Check Mode\r
if(giBGA_CurrentMode == -1) return -1;\r
/**\r
* \brief Write to the framebuffer\r
*/\r
-size_t BGA_Write(tVFS_Node *Node, off_t Offset, size_t Length, const void *Buffer)\r
+size_t BGA_Write(tVFS_Node *Node, off_t Offset, size_t Length, const void *Buffer, Uint Flags)\r
{\r
if( giBGA_CurrentMode == -1 ) BGA_int_UpdateMode(0);\r
return DrvUtil_Video_WriteLFB(&gBGA_DrvUtil_BufInfo, Offset, Length, Buffer);\r
gBGA_CursorPos.x, gBGA_CursorPos.y\r
);\r
break;\r
+\r
+ case VIDEO_IOCTL_SETCURSORBITMAP:\r
+ DrvUtil_Video_SetCursor( &gBGA_DrvUtil_BufInfo, Data );\r
+ return 0;\r
\r
default:\r
LEAVE('i', -2);\r