Wednesday, 20 July 2005

XGS has arrived.

It only took 8 days to arrive but the wait was almost painful. I made do reading the forums and documents on the XGS website, I have to make do no longer. Below is a picture of the XGS just unpacked, along with joystick, user guide, ebook and SX programming manual. Not shown is the expansion module, sx key programmer, logic exploration kit and logic probe.



Now the moment of truth, time to hook it up to the tv. The demo on the XGS was NTSC, fortunately my tv supports both NTSC and PAL and heres the result.



Once I've managed to produce something with the XGS I'll get it hooked up through composite0 then I can take a few screenshots rather than photos of the TV :P

Now to upload some custom code.

To get this working in Linux I needed to download SX-IDE from Rainer Blessing's website. This requires QT4 to install and Wine for the assembler to work. It uses gsxprog so you need an SX-Key as well.

Since SXIDE requires an assembler and the only one available at the moment is for windows, it will run the assembler via wine. To get the assembler installed in the first place, just run the XGS cd install.exe under wine. Then copy the s.exe from your wine folder into your sxide directory. The README for SXIDE covers the setup, it's very straightforward.

After connecting the SX-Key to the XGS header pins, programming was as simple as flicking a switch, then clicking assemble and program in sxide.

Now I know everything works I guess its time to crack open all the manuals and start learning how to program for the sx chip, the xgs hardware and also how the hardware all works (which afterall is the reason for buying this).

I want to thank Rainer Blessing for creating SXIDE for Linux. Even though its only at version 0.7 it can run the windows assembler, communicate with the sx-key and program the device as well as support syntax highlighting within the IDE. I'd also like to thank the gsxprog team without who I guess we wouldn't have an SXIDE, or at least not so quickly :)

Saturday, 9 July 2005

Retro fun

Hardware is fun, theres something about knowing how everything works under the hood even if you don't really need to know. Which probably explains why I tend to dismantle most of the digital gadgets I've bought sooner or later. With my other interest been game programming, what could be better than doing both at the same time.

Step in the XGameStation.



It may not be as powerful as the next gen xbox360, PS3 or even the original XBox, but then why would you want something so powerful when the purpose is learning how everything works? That said, looking at the specs the XGS is no lightweight, with more power than the original NES and SNES. I've played around with the dreamcast in the past, programming small demos and games for it but programming for hardware is different to knowing exactly how it works.



Yes the games are nothing ground breaking, although I do remember how hard I tried as a kid trying to make similar games :) There's something about tinkering around with hardware, I enjoy it, it's geeky I know but what can you do :/ Although been able to program for the XGS is attractive, that's only part of the reason for buying it, after all I can code more advanced games for the PC with much less hassle. However, having the hardware to hack and all the documentation explaining however everything works is the first step to building your own custom console. How cool is that. I can see it now, my own custom Pong machine :) Well, we have to be realistic after all :P

The only problem I can see is that the tool chain is for windows only. Still I've always got my laptop if I can't get the compiler and programmer working under wine in linux. I'm sure it won't be long before a linux toolchain is created by the community though, even if its harder to work with than the version that ships for windows. [No sooner had I posted this someone pointed me to a linux ide and uploader]

Once everythings up and running, it would really be intresting to try a Retro GID for the XGS :) Perhaps even a retro GID split over two GID's, one building a simple console, with the second programming it :P I know its been talked about in the past, who knows :)

Now begins the waiting... :(