From 38bd307bf3e777425f37b1d1ddc64d39c40843d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Deuc=D0=B5?= <shurd@sasktel.net> Date: Mon, 3 Mar 2025 19:20:44 -0500 Subject: [PATCH] Fix Mode7 APS handling The code is 0x1C, not 0x1E, and it's row then column. --- src/conio/cterm.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/conio/cterm.c b/src/conio/cterm.c index de66b06d39..76fb0d4d70 100644 --- a/src/conio/cterm.c +++ b/src/conio/cterm.c @@ -5740,10 +5740,10 @@ CIOLIBEXPORT size_t cterm_write(struct cterminal * cterm, const void *vbuf, int } cterm->sequence = 0; break; - case 31: + case 28: if (cterm->sequence < 3) break; - gotoxy(cterm->escbuf[1] + 1, cterm->escbuf[2] + 1); + gotoxy((cterm->escbuf[2] - ' ') + 1, (cterm->escbuf[1] - ' ') + 1); cterm->sequence = 0; break; default: @@ -6435,18 +6435,18 @@ CIOLIBEXPORT size_t cterm_write(struct cterminal * cterm, const void *vbuf, int prnpos = prn; cterm->escbuf[cterm->sequence++] = ch[0]; break; - case 30: // APH (Active Position Home) + case 28: // APS (Active Position Set) Move to position X,Y uctputs(cterm, prn); prn[0]=0; prnpos = prn; - gotoxy(CURR_MINX, CURR_MINY); - prestel_new_line(cterm); + cterm->escbuf[cterm->sequence++] = ch[0]; break; - case 31: // Move to position X,Y + case 30: // APH (Active Position Home) uctputs(cterm, prn); prn[0]=0; prnpos = prn; - cterm->escbuf[cterm->sequence++] = ch[0]; + gotoxy(CURR_MINX, CURR_MINY); + prestel_new_line(cterm); break; case 127: // Destructive backspace *prnpos++ = '\b'; -- GitLab