In Voidstar’s latest video, they demonstrate how to write code that utilizes an RS-232 interface as a substitute for a system keyboard. In this example, a Tandy Model 102 serves as the keyboard, connected via an RS-232 null-modem cable to the serial card interface of a Commander X16.
The code is written using BASLOAD, a native utility on the X16 that converts plain-text BASIC without line numbers into regular CBM BASIC. However, the core principles of the code can be adapted to other programming languages.
The software operates using an Interrupt Service Routine (ISR) that runs alongside the main system kernel. To enhance the visual aspect, SEMIBIGFONT is used. Initially, the plan was to stream the received ASCII characters in this larger font, but it was later decided to pipe the input directly to the kernel, enabling remote system operation. This approach works as long as the invoked program does not heavily rely on the Golden RAM region. To address potential conflicts, the ISR can be moved to banked memory, or a better solution is to adjust BASIC’s MEMTOP and place the handler above that region.
The X16 system featured in the video is a custom-built “Carbon Fiber” Developer Edition PR900, capable of running for over 10 hours on battery, complete with a 12″ VGA LCD, built-in speakers, 4-port SNES connections, an IEC-emulated disk drive, and a USB charger port. To the left of it is the X16 #PR16, running Tony’s excellent SLIDESHOW, housed in a blue case available from Bit by Bit Synths.
The code presented here is available in the Commander X16 forum:
https://cx16forum.com/forum/viewtopic.php?t=7953