Revision: 45816
http://sourceforge.net/p/vice-emu/code/45816
Author: gpz
Date: 2025-11-04 13:07:36 +0000 (Tue, 04 Nov 2025)
Log Message:
-----------
copy inverted characters like normal characters from the monitor, as suggested in #2167
Modified Paths:
--------------
trunk/vice/src/arch/gtk3/novte/vte.cc
Modified: trunk/vice/src/arch/gtk3/novte/vte.cc
===================================================================
--- trunk/vice/src/arch/gtk3/novte/vte.cc 2025-11-03 23:51:36 UTC (rev 45815)
+++ trunk/vice/src/arch/gtk3/novte/vte.cc 2025-11-04 13:07:36 UTC (rev 45816)
@@ -4735,6 +4735,7 @@
/*printf("[A:%04x]", codepoint);*/
switch (codeh) {
case 0: /* uppercase, petscii codes in ranges 0x20-0x7f and 0xa0-0xff */
+ case 2: /* inverted uppercase, petscii codes in ranges 0x20-0x7f and 0xa0-0xff */
/* simple petscii -> ascii conversion */
if ((codel >= 0x20) && (codel <= 0x3f)) {
ch = codel;
@@ -4750,6 +4751,7 @@
}
break;
case 1: /* lowercase, petscii codes in ranges 0x20-0x7f and 0xa0-0xff */
+ case 3: /* inverted lowercase, petscii codes in ranges 0x20-0x7f and 0xa0-0xff */
/* simple petscii -> ascii conversion */
if ((codel >= 0x20) && (codel <= 0x3f)) {
ch = codel;
@@ -4767,6 +4769,8 @@
ch = '.';
}
break;
+/* copy the inverted chars as normal chars */
+#if 0
case 2: /* inverted uppercase, petscii codes in ranges 0x20-0x7f and 0xa0-0xff */
ch = '.';
break;
@@ -4773,6 +4777,7 @@
case 3: /* inverted lowercase, petscii codes in ranges 0x20-0x7f and 0xa0-0xff */
ch = '.';
break;
+#endif
default:
ch = '.';
break;
@@ -4811,7 +4816,7 @@
if (ch == 0xee) {
int codepoint = ((ch2 & 0x3f) << 6) | (ch3 & 0x3f);
int codeh = codepoint >> 8;
- int codel = codepoint & 0xff;
+ int codel = codepoint & 0x7f; /* copy inverted chars as normal chars */
/*printf("[B:%04x]", codepoint);*/
switch (codeh) {
case 0: /* uppercase */
@@ -4901,7 +4906,7 @@
if (ch == 0xee) {
int codepoint = ((ch2 & 0x3f) << 6) | (ch3 & 0x3f);
int codeh = codepoint >> 8;
- int codel = codepoint & 0xff;
+ int codel = codepoint & 0x7f; /* copy inverted chars as normal chars */
/*printf("[B:%04x]", codepoint);*/
switch (codeh) {
case 2: /* uppercase */
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|