I'm not sure about the locking-up yet, but I've tracked down the problem I was having with just a blank screen. Somewhere along the line region 1 of the RGB layer was getting switched off. I've forced it on for now, but proper support for the regions will be in the next release.
The cursor should now be working. I've only tested it with the default cursor that SDL sets. I'm not 100% sure about how SDL is handling it as it has some tie-ins with mouse handling, but you can at least switch it on & off, and use SDL_MoveCursor() to set its position.
The main difference is that the hardware does
not scale the pointer, and it currently sticks to 320x240 resolution regardless of what resolution the screen is in.
SDL only seems to support black and white (& transparent), I'll add a function later to let you choose the foreground and background colours. Maximum size is 64x64 pixels.
There's been a couple of internal alterations to the surface allocator so for now I'm not overwriting the main links, I'd appreciate any feedback on if this version is stable enough.
Source with cursor support
Pre-compiled with cursor support <- don't forget to change filename back to libSDL.a after bunzipping
Opps, forgot to say - I've swapped the X & Y buttons in the new version to how they should be
Thanks to you all for your support,