From 852e6b7af4771259c2cb2904ee5f5975ce056bc1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Deuc=D0=B5?= <shurd@sasktel.net>
Date: Sun, 9 Feb 2025 16:49:42 -0500
Subject: [PATCH] A couple more Atari ST VT52 fixes...

FF and VT both move down one line, scrolling if necessary.

The rest of the unsupported control characters have no effect
(ie: work like NUL)

Delete shows the delta.
---
 src/conio/cterm.c | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/src/conio/cterm.c b/src/conio/cterm.c
index 0256bd6658..2bfca12a70 100644
--- a/src/conio/cterm.c
+++ b/src/conio/cterm.c
@@ -6475,6 +6475,14 @@ CIOLIBEXPORT size_t cterm_write(struct cterminal * cterm, const void *vbuf, int
 						switch(buf[j]) {
 							case 0:
 								break;
+							case 1:
+							case 2:
+							case 3:
+							case 4:
+							case 5:
+							case 6:
+								// Ignored
+								break;
 							case 7:			/* Beep */
 								lastch = 0;
 								uctputs(cterm, prn);
@@ -6490,12 +6498,39 @@ CIOLIBEXPORT size_t cterm_write(struct cterminal * cterm, const void *vbuf, int
 									#endif
 								}
 								break;
+							case 11:
+							case 12:
+								// VT and FF both move down one row and scroll.
+								uctputs(cterm, prn);
+								prn[0]=0;
+								prnpos = prn;
+								adjust_currpos(cterm, 0, 1, true);
+								break;
+							case 14:
+							case 15:
+							case 16:
+							case 17:
+							case 18:
+							case 19:
+							case 20:
+							case 21:
+							case 22:
+							case 23:
+							case 24:
+							case 25:
+							case 26:
+								break;
 							case 27:		/* ESC */
 								uctputs(cterm, prn);
 								prn[0]=0;
 								prnpos = prn;
 								cterm->sequence=1;
 								break;
+							case 28:
+							case 29:
+							case 30:
+							case 31:
+								break;
 							default:
 								lastch = ch[0];
 								*prnpos++ = ch[0];
-- 
GitLab