platoterm64
platoterm64 copied to clipboard
Plus/4 Port
Got a work-in-progress brewing for a Plus/4 port of PlatoTerm, though it is contingent on a couple of bugfixes in VICE and CC65.
-
PlatoTerm code is in the port/plus4 branch in my fork.
-
CC65 must be built from my feature/plus4-tgi-driver branch (this branch also contains bugfixes for the plus4 runtime and a minor change to the plus4-stdser serial driver, to use Kernal variables for the buffer pointers so that PlatoTerm can keep track of receive buffer usage)
-
VICE needs this patch to fix a bug that prevented the emulated ACIA from generating interrupts (and incidentally make the status register error bits clear when reading the data register, as per the datasheet).
For now, the following are known to be broken/questionable:
-
Keyboard handling - seems to work in PLATO and TTY modes, but goes haywire in the preferences screen. Since I just lifted the keyboard code (and most everything else) from the C64 version, there are probably some PEEK/POKE location differences that I haven't accounted for, or something. Additionally, saw somewhere that the keyboard scancodes are subtly different, but I don't have a summary handy right now.
-
RS232 flow control. As far as real hardware goes, my ESP8266 modem thingy doesn't have RTS/CTS hooked up, which explains the half-rendered screen in the attached picture, but even in VICE, I've seen display glitches that look like flow control issues.
Thom had already opened VICE bug 1084 for the ACIA emulation issue. I've tidied up the patch from my gist and submitted it as a reply. Fingers crossed!
Opened cc65/cc65#967 for the TGI driver and IRQ handler fix.