Index: ram/itcpos.c
===================================================================
--- ram/itcpos.c	(revision 3577fe1bfbf59a1eaad6fd46acaa24c06bb75b04)
+++ ram/itcpos.c	(revision 0ca44a242cd1be86eca219d9dc1e4ac84e7ee88a)
@@ -11,5 +11,5 @@
 #define	CW_F	0xFFFF
 
-static int16_t itcur[] = {
+static uint16_t itcur[] = {
 
 	CW_0, CW_0, CW_0, CW_0,	/* 0 */
@@ -37,5 +37,5 @@
 */
 
-void itcini(uint16_t color)
+void itcini(int16_t color)
 {
 	if ((v_regs[5] & 0x0180) NE 0x0100)
@@ -70,5 +70,5 @@
 	op->objy = yrow;
 	op->obase = &v_cur[0];
-	op->odtw1 = 0x0400 | (0x03FF & (xcol >> 1));
+	op->odtw1 = (uint16_t)(0x0400 | (0x03FF & (xcol >> 1)));
 
 	SetPri(TCURS, TCPRI);		/* turn on the new location */
Index: ram/itcpos.x
===================================================================
--- ram/itcpos.x	(revision 3577fe1bfbf59a1eaad6fd46acaa24c06bb75b04)
+++ ram/itcpos.x	(revision 0ca44a242cd1be86eca219d9dc1e4ac84e7ee88a)
@@ -17,4 +17,4 @@
 extern	void		advicur(void);
 extern	void		bspicur(void);
-extern	void		itcini(uint16_t color);
+extern	void		itcini(int16_t color);
 extern	void		itcpos(int16_t row, int16_t col);
