# XGameStation series

The XGameStation is a series of embedded systems, primarily designed as a dedicated home video game console, created by Andre LaMothe and sold by his company Nurve Networks LLC. Originally designed to teach electronics and video game development to programmers, newer models concentrate more on logic design, multi-core programming, game programming, and embedded system design and programming with popular microcontrollers.

## Prototype Versions

The XGameStation was originally conceived of as a handheld system called the nanoGear based around the 68HC12 microprocessor, a modern derivative of the 6809. The system would also contain modern derivatives of the 6502 and Z-80 microprocessors, for retro coders and hackers, and to make emulation of classic computer and video game systems easier. After several iterations, the plan changed to use an ARM microprocessor and an FPGA on which a custom designed GPU was implemented. But after finishing this project it was decided that the resulting system was cost prohibitive and much too advanced for beginners. Instead, the plan was changed again finally resulting in the XGS Micro Edition, based on the SX52 microcontroller. The ARM and FPGA-based system was renamed the XGS Mega Edition after the release of the Micro Edition, and though planned to be sold, it was never released.

## Original XGameStation

Then original XGameStation was announced by August 2003.

## XGS Micro Edition (ME)

The XGS Micro Edition was announced in 2004. The XGS Micro Edition is a pre-built video game console based around the SX52 microcontroller, which is a high-speed PIC microcontroller running at 80 MHz for a total of 80 MIPS. The color television video signal is generated in software on the microcontroller. Sound is generated by a ROHM BU8763 chip. For input, the system has a single PS/2 connector for keyboard or mouse input, as well as two DB-9 for connecting Atari-compatible joysticks. Programming is done in assembly language or in a custom written XGS Basic, either on a PC and then transferred to the console or on the system itself. It has add-on packs for creating your own expansion card and electronic experimenting kit. The Micro Edition contains the XGameStation unit, "Designing Your Own Video Game Console" - a detailed book in PDF format teaching the basics of electronics, a power supply, A/V cables, a joystick, a COM cable, and a few extras such as a PDF version of one of Andre LaMothe's previous books "Tricks of the Windows Game Programming Gurus".

### Video signal generated by software

The most remarkable aspect of the SX52 Processor is its ability to create a color video signal using only software, and still have the power to simultaneously run the software that uses this video display in order to create an elementary video game or game demo. These latter programs may or may not evolve into a real (playable) game, as often the memory of the SX52 processor is too restricted to support them. Some people also write non-game video demos to show off the video display possibilities of the system.

### Obsolete status of the SX52

The SX52 has been made obsolete by Parallax, the company that now packages the SX-series of micro controller dies, made by Ubicom, because they did not have a package with 52 pins. However, according to the people at XGameStation, there are enough SX52 chips available for all their future needs. On July 31, 2009, Parallax announced that the whole line of SX microcontrollers will be discontinued.

## XGS Pico Edition (PE)

The Pico Edition is a simplified version of the Micro Edition in a build-it-yourself kit. The Pico Edition was announced in 2005. The Pico Edition is based around the SX28 microcontroller, which, like the SX52, is a high-speed PIC microcontroller running at 80 MHz for a total of 80 MIPS, though it has less RAM and Flash capacity. Like the Micro Edition, the color television video signal is generated in software on the microcontroller. However, unlike the Micro Edition, the audio signal is also generated directly by the microcontroller and not by an external chip. For input, the system simply reads pushbuttons connected to its input pins. Programming is done in assembly language or in a custom written XGS Basic, on a PC and then transferred to the console. The Pico comes in several different kit forms: the 1.0 kit which comes with a breadboard, a CD with assembly instructions and selected chapters of the same ebook as the Micro Edition and the same extras, the SX28, and the discrete components of the system; and the 2.0 kit, which consists of the 1.0 kit and a solderless PCB (which is also available as an add-on separately); and the Game Console Starter Kit, which includes the 2.0 kit, a hard copy of "The Black Art of Video Game Console Design", and a soldering iron and solder.

## XGS AVR 8-Bit and XGS PIC 16-Bit Development Systems

Released on December 26, 2008, the XGS AVR 8-Bit and XGS PIC 16-Bit development systems are embedded system development kits, meant to be very competitive entry/midrange development kits for their respective microcontrollers. The systems were designed together and so share much of the same design other than the main processor. The video signal is generated in software like the XGS Micro and Pico Editions; however, there is color helper hardware to generate the colorburst part of the video signal. The audio signal is also generated directly by the microcontroller. For input, like the XGS Micro, two DB-9 ports and a PS/2 port are supplied. However, instead of being compatible with Atari joysticks, the DB-9 ports are compatible with Nintendo gamepads (though directly connecting an NES or SNES controller would require a pin adapter). Unlike the prior XGS and Hydra systems, programming is primarily in C/C++, utilizing system-specific libraries, though assembly programming and a custom written XGS Basic are also available. The XGS Basic code runs on both systems without modification. Unlike the XGS Micro Edition, code cannot be edited on the system itself - a PC is required. The XGS AVR 8-Bit processor is an Atmel MEGA AVR 644P with 64K FLASH and 4K SRAM running at over 28 MIPS. The XGS PIC 16-Bit processor is a PIC24 with 256K FLASH and 16K SRAM running at over 40 MIPS.

## Hydra System

In 2006 Andre LaMothe launched his new HYDRA Game Development Kit, a much more powerful system than the XGS Micro Edition. Unlike the other systems by Nurve, the Hydra does not carry the XGS branding. The Hydra uses the multi-core Parallax Propeller microcontroller, which has an architecture resembling the Cell microprocessor used in the PlayStation 3. The Propeller runs at 80 MHz and uses eight processor cores, called COGs, to reach a performance of 160 MIPS. It also has much more memory than the Micro Edition's SX52: 32K RAM and a 32K ROM which contains a bitmap font for the video display generator, (the Propeller can generate a high quality VGA or PAL/NTSC color picture using software and some special support logic built into each CPU core), tables for mathematical function, and an interpreter for the multi threaded SPIN language. Each CPU core also has its own 2K RAM (512 32bit words) of dedicated memory. For input, the system has two PS/2 ports for a mouse and keyboard (which are sold with the system) and two NES compatible game controller ports (one game controller is included). The system also has a mini USB interface for programming the system, an RJ-11 Ethernet port, and a 128K serial Flash EEPROM for storage. There are also add-ons, such as a 512K external RAM card.