From 1345e4ff4f2cda51d94123356647879c9f45e0d3 Mon Sep 17 00:00:00 2001
From: deuce <>
Date: Sun, 3 May 2020 07:26:30 +0000
Subject: [PATCH] Fix weird font reset issue in PETSCII emulation.

---
 src/conio/cterm.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/conio/cterm.c b/src/conio/cterm.c
index 8fbafa6c29..602d746ba3 100644
--- a/src/conio/cterm.c
+++ b/src/conio/cterm.c
@@ -5311,16 +5311,24 @@ CIOLIBEXPORT char* CIOLIBCALL cterm_write(struct cterminal * cterm, const void *
 
 							/* Font change... whee! */
 							case 14:	/* Lower case font */
-								if(ti.currmode == C64_40X25)
+								if(ti.currmode == C64_40X25) {
 									SETFONT(33,FALSE,1);
-								else	/* Assume C128 */
+									cterm->altfont[1] = 33;
+								}
+								else {	/* Assume C128 */
 									SETFONT(35,FALSE,1);
+									cterm->altfont[1] = 35;
+								}
 								break;
 							case 142:	/* Upper case font */
-								if(ti.currmode == C64_40X25)
+								if(ti.currmode == C64_40X25) {
 									SETFONT(32,FALSE,1);
-								else	/* Assume C128 */
+									cterm->altfont[1] = 32;
+								}
+								else {	/* Assume C128 */
 									SETFONT(34,FALSE,1);
+									cterm->altfont[1] = 34;
+								}
 								break;
 							case 18:	/* Reverse mode on */
 								c64_set_reverse(cterm, 1);
-- 
GitLab