| (xorigin << 16) | yorigin );
| ((xorigin + horzOffset) << 16) | (yorigin + vertOffset));
    public void setCursorPosition(int x, int y) {    	// if upper-left corner of cursor is outside of    	// screen, we have to use special registers to clip it    	int xorigin = 0;    	int yorigin = 0;    		        if( x < 0 ) {        	xorigin = -x;        }        	        if( y < 0 ) {         	yorigin = -y;        }    	//Radeon_WaitForFifo( ai, 3 );        io.setReg32(CUR_HORZ_VERT_OFF, CUR_LOCK    			| (xorigin << 16)    			| yorigin );    	io.setReg32(CUR_HORZ_VERT_POSN, CUR_LOCK    			| (((xorigin != 0) ? 0 : x) << 16)    			| ((yorigin != 0) ? 0 : y) );    	io.setReg32(CUR_OFFSET, (int)cursorMem.getOffset() + xorigin + yorigin * 16 );    }