Index: emu/ser.c
===================================================================
--- emu/ser.c	(revision 7eb897153122e40eecb3ff1526857dd335acb9d1)
+++ emu/ser.c	(revision 8e1b1633c6a334db78a3162f8ec73ec97dfe8c03)
@@ -141,27 +141,27 @@
 static void echo(uint8_t c)
 {
-	switch (c) {
-	case '\r':
-		cur_x = 0;
-		break;
-
-	case '\n':
-		down();
-		break;
-
-	case '\b':
-		back();
-		break;
-
-	default:
-		if (c < 32) {
+	if (c < 32) {
+		switch (c) {
+		case '\r':
+			cur_x = 0;
+			break;
+
+		case '\n':
+			down();
+			break;
+
+		case '\b':
+			back();
+			break;
+
+		default:
 			echo('^');
 			echo((uint8_t)(c + '@'));
 			return;
 		}
-
+	}
+	else {
 		mem[cur_y][cur_x] = c;
 		forw();
-		break;
 	}
 
