Y8b Y88888P ,e, 888 Yb 8 dP Y8b Y888P e88 88e " e88 888 `D8K' Y8b Y8P d888 888b 888 d888 888 dP 8 Yb Y8b Y Y888 888P 888 Y888 888 Y8P "88 88" 888 "88 888The website of an old burnout
Blog | About | RSS |
Keytari |
---|
Filed under: Modern Computing, Retro computing |
So, I had a lot of 8 bit computers growing up. I got them from garage sales at a time when people were upgrading to PCs and selling their old machines for for almost nothing. I did have a favorite, though. My Atari 800XL. I had a Commodore 64 and a CP/M running Altos 580, but the Atari's design just made so much sense to me (and it looked cooler, sorry breadbin C64). Life happens and I had to get rid of that machine in a move in the 90s. A few years ago, though, I came across one with a 1050 drive for a reasonable price at a retro gaming convention and grabbed it. Since then I've turned it into the maximally upgraded example of an 800XL. Rapidus 65816 upgrade with 16mb of SDRAM, Ultimate 1mb upgrade card, VBXL video upgrade, FujiNet and SIDE3 (kinda wish I had gone with SIDE2 or an AVG cart, but it works). That wasnt enough though. I had a very powerful 8/16 bit machine now, but it sat o my bench unused most of the time. It annoyed me and so I decided I would find some way to put the machine to daily use. As a keyboard. Now, put the pitchforks down, I would never harm my beloved 800XL by gutting it. Instead I came up with a weird plan. The 800XL has a FastBasic program running on it that captures keystrokes out of the Pokey registers, adds the state of the right hand buttons and control/shift, and sends that as two bytes to my PC. On the PC is a python script that takes the bytes in, uses a cofiguration file to decode them into PC keycodes and injects them into the Linux uinput stack as keypresses. This is all enabled by the FujiNet, which lets me open a TCP socket to my PC over wifi. Currently the protocol itself has no encryption, but it is wrapped in the WPA2 encryption of the wifi connection. This setup is great, honestly, and I've been using it for months. There are a few catches, though. Firstly, the Pokey only shows one keypress (and two modifiers) at a time. No rollover. This makes the software unuseable for gaming. Sorry die hard FPS players. Secondly, if you run a keyboard-heavy setup, you might find the lack of modifiers limiting. I use sway for a compositor and I've taken to using the right hand buttons as additional modifiers. Third, some things dont seem to play nicely with uinput. Particularly old games emulated in wine seem to have some kind of issue processing keystrokes this way. Sorry Warhammer 40K: Dawn of War fans (myself included). I've mentioned this setup to a few people in the local retrocomputing community and have gotten some interest, so I'll be publishing the code in the next day or two (when I figure out where to host it) for others to use. |
Author: Lady Errant Published on: Jan 01, 2025, 12:00 PM GMT Permalink |