Skip to content

Commit 2d1e4de

Browse files
authored
Merge pull request #82 from shattered/_1146f52
Initial support for Robotron PC 1715W in libcuss.
2 parents a6a79ca + d0689b2 commit 2d1e4de

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

cpmtools/libcuss/goto.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,16 @@ void con_goto(uint16_t x, uint16_t y)
4343
cpm_printstring0(buffer);
4444
cpm_bios_conout('H');
4545
}
46+
#elif defined LIBCUSS_ROBOTRON
47+
if (!x && !y)
48+
cpm_bios_conout(LIBCUSS_HOME);
49+
else
50+
{
51+
static uint8_t gotoseq[] = "\033xx";
52+
gotoseq[1] = y + 0x80;
53+
gotoseq[2] = x + 0x80;
54+
cpm_printstring0((char*) gotoseq);
55+
}
4656
#else
4757
#error "No libcuss configuration specified."
4858
#endif

cpmtools/libcuss/libcuss.h

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,10 @@ extern void con_revoff(void);
5353
#define SCREENWIDTH 80
5454
#define SCREENHEIGHT 25
5555
#define LIBCUSS_ADM3
56+
#elif defined LIBCUSS_RT1715W
57+
#define SCREENWIDTH 80
58+
#define SCREENHEIGHT 24
59+
#define LIBCUSS_ROBOTRON
5660
#else
5761
#error "No libcuss configuration specified."
5862
#endif
@@ -102,5 +106,17 @@ extern void con_revoff(void);
102106
#define LIBCUSS_KEY_RIGHT "\014"
103107
#endif
104108

109+
#if defined LIBCUSS_ROBOTRON
110+
#define LIBCUSS_HOME '\x01'
111+
#define LIBCUSS_CLEAR "\x0c"
112+
#define LIBCUSS_CLEAREOL "\x16"
113+
#define LIBCUSS_NEWLINE "\r\n"
114+
115+
#define LIBCUSS_KEY_LEFT "\x08"
116+
#define LIBCUSS_KEY_DOWN "\x07"
117+
#define LIBCUSS_KEY_UP "\x09"
118+
#define LIBCUSS_KEY_RIGHT "\x06"
119+
#endif
120+
105121
#endif
106122

0 commit comments

Comments
 (0)