Index: ram/etdyn.c
===================================================================
--- ram/etdyn.c	(revision 081eee061d4c2c0d2d492e5b18ec5417d735eb9d)
+++ ram/etdyn.c	(revision cdb0f3658443cf23f315d0cc7bf5ea12fcf7034b)
@@ -16,5 +16,5 @@
 int16_t et_dyn(int16_t n)
 {
-	ebuf[0] =grpdyn[n] + '0';
+	ebuf[0] = (int8_t)(grpdyn[n] + '0');
 	ebuf[1] = '\0';
 	ebflag = TRUE;
@@ -43,11 +43,11 @@
 		if (E_NULL NE (ep = findev(p_cur, t_cur, EV_DYN, n, -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_DYN;
-			ep->e_data1 = n;
-			ep->e_data2 = ival;
+			ep->e_data1 = (int8_t)n;
+			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;
@@ -102,5 +102,5 @@
 	(void)n;
 
-	ebuf[0]  = k + '0';
+	ebuf[0]  = (int8_t)(k + '0');
 
 	if (v_regs[5] & 0x0180)
