10 hours ago, Starsickle said:
Just a thought I've had: I'm currently developing on Windows 10, and if I were either a contributor to a github project or using modern tools, I'd benefit from access to the X16's PETSCII Keyboard plugged into the computer while coding or developing.
Would this be possible under the current design? Would it require special drivers or application?
I believe a lot of hardship can be eliminated by allowing the keyboard to work on modern systems in any case. And with less hardship, more software.
Example:
Plug in the X16's Keyboard into my W10 System
<Punch The Keys, For Gods' Sake!>
Get PETSCII Characters just like I would natively.
I'm not sure what the issue is... are you trying to get PETSCII characters in a native Windows app, or in the emulator?
The keyboard is actually a standard Windows keyboard - so it needs no driver support. If you press the ~ key on your PC keyboard while running the emulator, you'll get the left arrow. Shift that and you get the Pi symbol.
Now if you want to get PETSCII in a
Windows program, you need to do the PETSCII to ASCII translation in your program.
To get started, you should download the C64 font by Style, here:
https://style64.org/petscii/ Then look at the PETSCII mapping and figure out how you want your program to store text. The most common way is to use a PETSCII byte stream, then translate the code in the display layer to look like PETSCII glyphs. The simple way to do this is to add $E0 to each character when you draw it on the screen.
You'll still need to do some translation and custom keyboard handling, though: the C= glyphs on the keyboard all need to be handled through a Win key chord, and those characters are not in the same order as the letters they live under. (C= A and C= E are actually next to each other in PETSCII, which makes no sense looking at the keyboard. But it does make sense looking at a PET keyboard...)
So you'll need to address this with a translation table in your editor. Which you'll have to build. Or you can write a text editor for the CX16 and run it in the emulator. That's what I'm planning on doing.