Admirable as the speed improvement to BASIC is on the X16, it would be great if there were an option to run it at around the same speed as native machine code. Perhaps this could be accomplished using a socket or an expansion card that makes use of a Raspberry Pi Pico? I'm not an electrical engineer, so I don't know how hard this would be to achieve, but I thought it would be inexpensive, effective, and in keeping with the spirit of retro machines, as they often had such accelerator addons. Sure, the Pi Pico is "way more computer" than the X16, but if used only for this specific purpose it would look like any other DIP chip, if a heatsink were applied to the top, and it would be insanely cost effective (a whole $5).
Quote
READY
BASIC++
ERROR: Accelerator not found
READY
BASIC--
?
Here the BASIC++ command changes subsequent RUN commands to copy the X16's BASIC RAM to the Pico, where the Pico then compiles BASIC into machine code, loads the result into the banked RAM of the X16, and then tells the X16 to execute code. The compiler would add code to handle the required bank switching, making it invisible to the user. This would allow the program to remain loaded in the normal BASIC RAM area so it's still there when exiting the program and returning to the READY prompt. Also, compiling such a small program on the Pico would likely appear instantaneous, meaning it wouldn't feel like there was a downside to running BASIC programs this way. Finally, the user needs only type BASIC-- to return normal functionality to the RUN command.
I suppose that makes the Pi Pico less a co-processor and more an unnaturally efficient compiler! But, I think this concept makes good use of the X16's capabilities, really putting them first - ultimately the program runs 100% on the X16.