I dusted off the XGameStation this weekend which has been languishing in the cupboard for quite a few years.
Last time I used it I did manage to get the command line (SASM.exe) assembler running under wine and sxprog handled programming the XGS allowing basic development from within Linux. The IDE however would not work at all in wine. Whilst the IDE is very basic and not something I’d use to code in, it is quite useful for programming and debugging the SX chips.
One option is to run SX-Key IDE in a Windows VM with the SX-Key usb programmer redirected to the VM but working within windows is no longer pleasent having used Linux for so long.
So I gave the windows SX-Key IDE another go in wine.
Wine has progressed significantly since I last tried SX-Key in it, which was several years ago. The IDE loaded fine and assembled code without complaint but it would not detect the com port which meant no programming or debugging.
Within the wine installation (I used PlayOnLinux with wine 1.8.7) there’s a dosdevices folder which needs a sym link to the real com port adding.
~/.PlayOnLinux/wineprefix/sx-key-ide/dosdevices/ ln -s /dev/ttyUSB0 com1
However, SX-Key IDE still did not detect the port. After a little duckduckgoing I found a bug report with this attachment. Importing that file into the wine registry and voila! a com port.
Programming can now commence.
I dug out an old colour bar test I wrote back when I first bought the XGS and checked that it programmed, the SX-Key could generate a clock and that the debugger worked. Pleased to say everything ran perfectly.
It’s been that long since I used the XGS that I’ve forgotten all the SX assembly I knew so this weekend may end up taken up coding some basic LED blinking as well as Joystick and Keyboard reading tests.
Now I have an oscilloscope I can finally take a closer look at my PAL video signal generation code too which seems a little off at the top of the TV.
As to what I’ll eventually make for the XGS remains a mystery i.e. I have no idea. If I do make anything beyond the basics I’ll sling the code up on bitbucket in the unlikely chance there’s still others out there using their XGS.