Index: ram/etival.c
===================================================================
--- ram/etival.c	(revision 81a59aa1c8b115323c89e4f68c4912c782ca4240)
+++ ram/etival.c	(revision bbf1e661c659606582632626dd1a2248b662dc0c)
@@ -27,5 +27,5 @@
 
 	sprintf(ebuf, "%02d.%02d", vh, vl);
-	ebuf[5] = '0' + pntptr->ipvsrc;
+	ebuf[5] = (int8_t)('0' + pntptr->ipvsrc);
 	fr2dec(pntptr->ipvmlt, &ebuf[6]);
 	ebuf[10] = '\0';
@@ -107,8 +107,8 @@
 		}
 
-		pntptr->ipvsrc = srctmp;	/* set the source */
-		objclr(TTCPRI);			/* turn off the menu cursor */
-		idvlblc();			/* blank the menu area */
-		dswin(22);			/* refresh the screen */
+		pntptr->ipvsrc = (int8_t)srctmp;	/* set the source */
+		objclr(TTCPRI);				/* turn off the menu cursor */
+		idvlblc();				/* blank the menu area */
+		dswin(22);				/* refresh the screen */
 		modinst();
 
@@ -224,6 +224,6 @@
 	if (stccol LT 32) {		/* value */
 
-		ebuf[stccol - 27] = k + '0';
-		dspbuf[0] = k + '0';
+		ebuf[stccol - 27] = (int8_t)(k + '0');
+		dspbuf[0] = (int8_t)(k + '0');
 
 	} else if (stccol EQ 41) {	/* mutiplier sign */
@@ -259,6 +259,6 @@
 	} else {				/* 2nd or 3rd digit */
 
-		ebuf[stccol - 36] = k + '0';
-		dspbuf[0] = k + '0';
+		ebuf[stccol - 36] = (int8_t)(k + '0');
+		dspbuf[0] = (int8_t)(k + '0');
 	}
 
