Wishbone Monitor Controller Mouse Sprite Module

Description

Wishbone Monitor Controller Mouse Sprite Module is a future extension to the existing VGA core. The need for such a module is pretty obvious I think. It takes a lot of time to keep track of mouse cursor position and prevent destroying it. Alternatively you can remove the mouse from the screen prior each WR access and restore it afterwards. Not only it takes a lot of time it also makes the cursor blinking and interfere with the refresh of the screen. HW support for mouse cursor overlay can make graphical application's life much easier.

The planned functionality will use one 512 bytes chuck on on-chip RAM. The 32x32 pixel image of the mouse with 2 bits per pixel is planned to be placed there. The 512 bytes of available memory allows for 2 mouse images to be stored. The overlay engine than takes care of reading the content and put it on the output video data. As the memory is dual-ported there can no collisions occur. Thus de-coupling is not needed for this functionality and the overlaying can be done in the part of the core synchronized with the pixel clock.

The meaning of each pixel planned to be the following:
00No effect, transparent
01Invert all bits of the underlaying pixel. Allways done on all 8 pixels of the output even when BPP is less than 8.
10Opaue: replace output with all bits with 0s
11Opaue: replace output with all bits with 1s

Author & Maintainer

Andras Tantos