Index: ram/dcopy.c
===================================================================
--- ram/dcopy.c	(revision 99fed2e8f3fa1e05758085f57b76b6fe5f056e09)
+++ ram/dcopy.c	(revision ea9a16289219e0524917f001eecdb42af7310664)
@@ -41,5 +41,5 @@
 	mphead.F_Res1   = 0L;			/* reserved area #1 */
 	mphead.F_Res2   = (int32_t)&Lo_RAM;	/* text base */
-	mphead.F_Res3   = 0xFFFF;		/* flag word */
+	mphead.F_Res3   = (int16_t)0xFFFF;	/* flag word */
 
 	/* ***** initialize for a (possibly) new disk here ***** */
Index: ram/dopatch.c
===================================================================
--- ram/dopatch.c	(revision 99fed2e8f3fa1e05758085f57b76b6fe5f056e09)
+++ ram/dopatch.c	(revision ea9a16289219e0524917f001eecdb42af7310664)
@@ -317,5 +317,5 @@
 	case PA_SLIN:		/* sequence line */
 
-		seqline[suba] = dat1;
+		seqline[suba] = (int16_t)dat1;
 		seqdupd |= ((uint16_t)1 << suba);
 		break;
Index: ram/etagpt.c
===================================================================
--- ram/etagpt.c	(revision 99fed2e8f3fa1e05758085f57b76b6fe5f056e09)
+++ ram/etagpt.c	(revision ea9a16289219e0524917f001eecdb42af7310664)
@@ -20,5 +20,5 @@
 	grp = 0x00FF & (n >> 8);
 
-	ebuf[0] = grp2prt[grp][0];
+	ebuf[0] = (int8_t)grp2prt[grp][0];
 	ebuf[1] = '\0';
 
Index: ram/etscor.c
===================================================================
--- ram/etscor.c	(revision 99fed2e8f3fa1e05758085f57b76b6fe5f056e09)
+++ ram/etscor.c	(revision ea9a16289219e0524917f001eecdb42af7310664)
@@ -88,5 +88,5 @@
 
 	ec = stccol - cfetp->flcol;
-	ebuf[ec]  = k + '0';
+	ebuf[ec] = (int8_t)(k + '0');
 
 	if (v_regs[5] & 0x0180)
Index: ram/etsnbt.c
===================================================================
--- ram/etsnbt.c	(revision 99fed2e8f3fa1e05758085f57b76b6fe5f056e09)
+++ ram/etsnbt.c	(revision ea9a16289219e0524917f001eecdb42af7310664)
@@ -109,5 +109,5 @@
 
 	ec = stccol - cfetp->flcol;
-	ebuf[ec]  = k + '0';
+	ebuf[ec] = (int8_t)(k + '0');
 
 	if (v_regs[5] & 0x0180)
Index: ram/etstrn.c
===================================================================
--- ram/etstrn.c	(revision 99fed2e8f3fa1e05758085f57b76b6fe5f056e09)
+++ ram/etstrn.c	(revision ea9a16289219e0524917f001eecdb42af7310664)
@@ -101,5 +101,5 @@
 		k += '0';
 
-	ebuf[ec] = k;
+	ebuf[ec] = (int8_t)k;
 
 	if (v_regs[5] & 0x0180)
Index: ram/etvel.c
===================================================================
--- ram/etvel.c	(revision 99fed2e8f3fa1e05758085f57b76b6fe5f056e09)
+++ ram/etvel.c	(revision ea9a16289219e0524917f001eecdb42af7310664)
@@ -98,5 +98,5 @@
 
 	ec = stccol - cfetp->flcol;	/* setup edit buffer column */
-	ebuf[ec]  = k + '0';
+	ebuf[ec]  = (int8_t)(k + '0');
 
 	if (v_regs[5] & 0x0180)
Index: ram/etwhrv.c
===================================================================
--- ram/etwhrv.c	(revision 99fed2e8f3fa1e05758085f57b76b6fe5f056e09)
+++ ram/etwhrv.c	(revision ea9a16289219e0524917f001eecdb42af7310664)
@@ -145,5 +145,5 @@
 	} else {
 
-		ebuf[ec] = dspbuf[0] = k + '0';
+		ebuf[ec] = dspbuf[0] = (int8_t)(k + '0');
 		ebuf[4]  = dspbuf[1] = '\0';
 	}
Index: ram/im700.c
===================================================================
--- ram/im700.c	(revision 99fed2e8f3fa1e05758085f57b76b6fe5f056e09)
+++ ram/im700.c	(revision ea9a16289219e0524917f001eecdb42af7310664)
@@ -716,5 +716,6 @@
 
 	for (i = 0; i < 12; i++)	/* setup default values for gtctab */
-		gtctab[i] = ((i+3) << 12) | ((i+3) << 8) | ((i+3) << 4) | (i+3);
+		gtctab[i] = (uint16_t)
+			(((i+3) << 12) | ((i+3) << 8) | ((i+3) << 4) | (i+3));
 
 	editsw  = FALSE;		/* setup edit switch state */
Index: ram/m7menu.c
===================================================================
--- ram/m7menu.c	(revision 99fed2e8f3fa1e05758085f57b76b6fe5f056e09)
+++ ram/m7menu.c	(revision ea9a16289219e0524917f001eecdb42af7310664)
@@ -403,5 +403,5 @@
 		vbank(0);
 
-	vbfill4(menuob, 128, 0, 0, 511, 349, mbak);
+	vbfill4(menuob, 128, 0, 0, 511, 349, exp_c(mbak));
 
 	vcputsv(menuob, 64, mlcv, mbak,  1,  2,   ml01, 14);
Index: ram/ptwrite.c
===================================================================
--- ram/ptwrite.c	(revision 99fed2e8f3fa1e05758085f57b76b6fe5f056e09)
+++ ram/ptwrite.c	(revision ea9a16289219e0524917f001eecdb42af7310664)
@@ -114,5 +114,5 @@
 #endif
 
-			switch (cb = (PE_SPEC & patches[pp].paspec)) {
+			switch (cb = (int8_t)(PE_SPEC & patches[pp].paspec)) {
 
 			case PA_KEY:
Index: ram/wscalc.c
===================================================================
--- ram/wscalc.c	(revision 99fed2e8f3fa1e05758085f57b76b6fe5f056e09)
+++ ram/wscalc.c	(revision ea9a16289219e0524917f001eecdb42af7310664)
@@ -108,5 +108,5 @@
 
 	for (wspnt = 0; wspnt < NUMWPCAL; wspnt++)
-		wsbuf[wspnt] = (hwave[wspnt] * hfac) >> 16;
+		wsbuf[wspnt] = (int16_t)((hwave[wspnt] * hfac) >> 16);
 }
 
