Does anyone know how this works exactly? I have read the information in Documents/VGA-softcursor.txt But it doesn't seem to work exactly as described in the text.

From what I have gathered, the first parameter can be set to 0-8(different size blinking cursor) or 16 (solid color cursor). The second param can be set to 8-15 (changes the color of the foreground text). The third param can be set to 16,32,64,128, or any combinations of these (196 for instance) and controls the color of the solid cursor. Also, the second parameter can be used to "unset" values from the third param. ( ...;64;196c = ...;0;128c )

this doesnt really seem to completely follow the text (or do i understand the text incorrectly?).