Index: ram/etres1.c
===================================================================
--- ram/etres1.c	(revision 908b6ab83dbf046b11503a0b547319aed3967a36)
+++ ram/etres1.c	(revision a8b81c22a46a1739c08124ea70a312ed93d8885b)
@@ -16,5 +16,5 @@
 int16_t et_res1(int16_t n)
 {
-	ebuf[0] = anrs[n][abs(angroup)-1];
+	ebuf[0] = (int8_t)anrs[n][abs(angroup)-1];
 	ebflag = TRUE;
 	return(SUCCESS);
@@ -48,11 +48,11 @@
 		if (E_NULL NE (ep = findev(p_cur, t_cur, EV_ANRS, vg, -1))) {
 
-			ep->e_data2 = ival;
+			ep->e_data2 = (int8_t)ival;
 
 		} else if (E_NULL NE (ep = e_alc(E_SIZE2))) {
 
 			ep->e_type  = EV_ANRS;
-			ep->e_data1 = vg;
-			ep->e_data2 = ival;
+			ep->e_data1 = (int8_t)vg;
+			ep->e_data2 = (int8_t)ival;
 			ep->e_time  = t_cur;
 			p_cur = e_ins(ep, ep_adj(p_cur, 0, t_cur))->e_fwd;
@@ -99,5 +99,5 @@
 	(void)n;
 
-	ebuf[0] = k;
+	ebuf[0] = (int8_t)k;
 
 	if (v_regs[5] & 0x0180)
@@ -135,8 +135,8 @@
 
 	val1 = val / 100;
-	ebuf[4] = (val - (val1 * 100)) / 10;
+	ebuf[4] = (int8_t)((val - (val1 * 100)) / 10);
 	val2 = val1 / 10;
-	ebuf[2] = val1 - (val2 * 10);
-	ebuf[1] = val2;
+	ebuf[2] = (int8_t)(val1 - (val2 * 10));
+	ebuf[1] = (int8_t)val2;
 
 	ebflag = TRUE;
@@ -183,5 +183,5 @@
 
 			ep->e_type  = EV_ANVL;
-			ep->e_data1 = vg;
+			ep->e_data1 = (int8_t)vg;
 			ep->e_dn    = (struct s_entry *)((int32_t)val << 16);
 			ep->e_time  = t_cur;
@@ -223,8 +223,8 @@
 
 	val1 = val / 100;
-	buf[4] = '0' + ((val - (val1 * 100)) / 10);
+	buf[4] = (int8_t)('0' + ((val - (val1 * 100)) / 10));
 	val2 = val1 / 10;
-	buf[2] = '0' + (val1 - (val2 * 10));
-	buf[1] = '0' + val2;
+	buf[2] = (int8_t)('0' + (val1 - (val2 * 10)));
+	buf[1] = (int8_t)('0' + val2);
 	buf[3] = '.';
 	buf[5] = '\0';
@@ -255,5 +255,5 @@
 		return(FAILURE);
 
-	ebuf[ec] = k;
+	ebuf[ec] = (int8_t)k;
 
 	if (ec EQ 0)
@@ -355,5 +355,5 @@
 	ec = stccol - cfetp->flcol;
 
-	ebuf[ec] = k + '0';
+	ebuf[ec] = (int8_t)(k + '0');
 
 	if (v_regs[5] & 0x0180)
