XGameStation series

Last updated

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, [1] [2] newer models concentrate more on logic design, multi-core programming, game programming, and embedded system design and programming with popular microcontrollers.

Contents

Prototype Versions

The XGameStation was originally conceived of as a handheld system called the nanoGear [3] 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. [4]

XGS Micro Edition (ME)

The XGS Micro Edition was announced in 2004. [5] The XGS Micro Edition is a pre-built video game console based around the SX52 microcontroller, [6] 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". [7]

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. [8] On July 31, 2009, Parallax announced that the whole line of SX microcontrollers will be discontinued. [9]

XGS Pico Edition (PE)

A XGS Pico Edition implemented on a breadboard. XGameStation Pico Edition (4512239588).jpg
A XGS Pico Edition implemented on a breadboard.

The Pico Edition is a simplified version of the Micro Edition in a build-it-yourself kit. [10] The Pico Edition was announced in 2005. [11] The Pico Edition is based around the SX28 microcontroller, [12] 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 [13] (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

A Hydra Game Development Kit. Hydra Game Development Kit (5195230120).jpg
A Hydra Game Development Kit.

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.

Related Research Articles

<span class="mw-page-title-main">Microprocessor</span> Computer processor contained on an integrated-circuit chip

A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit (IC), or a small number of ICs. The microprocessor contains the arithmetic, logic, and control circuitry required to perform the functions of a computer's central processing unit (CPU). The IC is capable of interpreting and executing program instructions and performing arithmetic operations. The microprocessor is a multipurpose, clock-driven, register-based, digital integrated circuit that accepts binary data as input, processes it according to instructions stored in its memory, and provides results as output. Microprocessors contain both combinational logic and sequential digital logic, and operate on numbers and symbols represented in the binary number system.

MIPS is a family of reduced instruction set computer (RISC) instruction set architectures (ISA) developed by MIPS Computer Systems, now MIPS Technologies, based in the United States.

<span class="mw-page-title-main">Instructions per second</span> Measure of a computers processing speed

Instructions per second (IPS) is a measure of a computer's processor speed. For complex instruction set computers (CISCs), different instructions take different amounts of time, so the value measured depends on the instruction mix; even for comparing processors in the same family the IPS measurement can be problematic. Many reported IPS values have represented "peak" execution rates on artificial instruction sequences with few branches and no cache contention, whereas realistic workloads typically lead to significantly lower IPS values. Memory hierarchy also greatly affects processor performance, an issue barely considered in IPS calculations. Because of these problems, synthetic benchmarks such as Dhrystone are now generally used to estimate computer performance in commonly used applications, and raw IPS has fallen into disuse.

<span class="mw-page-title-main">Microcontroller</span> Small computer on a single integrated circuit

A microcontroller is a small computer on a single VLSI integrated circuit (IC) chip. A microcontroller contains one or more CPUs along with memory and programmable input/output peripherals. Program memory in the form of ferroelectric RAM, NOR flash or OTP ROM is also often included on chip, as well as a small amount of RAM. Microcontrollers are designed for embedded applications, in contrast to the microprocessors used in personal computers or other general purpose applications consisting of various discrete chips.

<span class="mw-page-title-main">Embedded system</span> Computer system with a dedicated function

An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is embedded as part of a complete device often including electrical or electronic hardware and mechanical parts. Because an embedded system typically controls physical operations of the machine that it is embedded within, it often has real-time computing constraints. Embedded systems control many devices in common use. In 2009, it was estimated that ninety-eight percent of all microprocessors manufactured were used in embedded systems.

<span class="mw-page-title-main">PIC microcontrollers</span> Programmable single-chip 16-bit microprocessor for computer

PIC is a family of microcontrollers made by Microchip Technology, derived from the PIC1650 originally developed by General Instrument's Microelectronics Division. The name PIC initially referred to Peripheral Interface Controller, and is currently expanded as Programmable Intelligent Computer. The first parts of the family were available in 1976; by 2013 the company had shipped more than twelve billion individual parts, used in a wide variety of embedded systems.

<span class="mw-page-title-main">Coprocessor</span> Type of computer processor

A coprocessor is a computer processor used to supplement the functions of the primary processor. Operations performed by the coprocessor may be floating-point arithmetic, graphics, signal processing, string processing, cryptography or I/O interfacing with peripheral devices. By offloading processor-intensive tasks from the main processor, coprocessors can accelerate system performance. Coprocessors allow a line of computers to be customized, so that customers who do not need the extra performance do not need to pay for it.

<span class="mw-page-title-main">André LaMothe</span> American computer scientist

André LaMothe is a computer scientist, author, hardware engineer, and game programmer, known for writing books about game development.

<span class="mw-page-title-main">BASIC Stamp</span> Microcontrollers

The BASIC Stamp is a microcontroller with a small, specialized BASIC interpreter (PBASIC) built into ROM. It is made by Parallax, Inc. and has been popular with electronics hobbyists since the early 1990s.

Parallax Inc. is a privately held company in Rocklin, California. Parallax Inc. designs, manufactures, and sells BASIC Stamp microcontrollers, Propeller microcontrollers, microcontroller accessories, educational robot kits, and educational curriculum.

<span class="mw-page-title-main">R3000</span> RISC microprocessor

The R3000 is a 32-bit RISC microprocessor chipset developed by MIPS Computer Systems that implemented the MIPS I instruction set architecture (ISA). Introduced in June 1988, it was the second MIPS implementation, succeeding the R2000 as the flagship MIPS microprocessor. It operated at 20, 25 and 33.33 MHz.

<span class="mw-page-title-main">Parallax Propeller</span> Multi-core microcontroller

The Parallax P8X32A Propeller is a multi-core processor parallel computer architecture microcontroller chip with eight 32-bit reduced instruction set computer (RISC) central processing unit (CPU) cores. Introduced in 2006, it is designed and sold by Parallax, Inc.

<span class="mw-page-title-main">HYDRA Game Development Kit</span>

The HYDRA Game Development Kit launched in September 2006, and was developed by André LaMothe who designed the prior XGameStation series of consoles. Like the XGameStation, HYDRA is an open system, allowing anyone to create games for it. However, while still designed to teach electronics and programming, the system places greater focus on homebrew games. Compared to the prior XGameStation consoles, the HYDRA uses a more complex and powerful CPU - the then recently released Parallax Propeller processing unit, which has eight 32 bit RISC CPUs called cogs with 32 KB built in RAM and 32 KB built in ROM.

Parallax SX is a discontinued line of microcontrollers that was marketed by Parallax, from a design by Ubicom. Designed to be architecturally similar to the PIC microcontrollers used in the original versions of the BASIC Stamp, SX microcontrollers replaced the PIC in several subsequent versions of that product.

<span class="mw-page-title-main">Microprocessor development board</span> Type of printed circuit board

A microprocessor development board is a printed circuit board containing a microprocessor and the minimal support logic needed for an electronic engineer or any person who wants to become acquainted with the microprocessor on the board and to learn to program it. It also served users of the microprocessor as a method to prototype applications in products.

<span class="mw-page-title-main">Single-board microcontroller</span>

A single-board microcontroller is a microcontroller built onto a single printed circuit board. This board provides all of the circuitry necessary for a useful control task: a microprocessor, I/O circuits, a clock generator, RAM, stored program memory and any necessary support ICs. The intention is that the board is immediately useful to an application developer, without requiring them to spend time and effort to develop controller hardware.

<span class="mw-page-title-main">ATmega328</span> 8-bit microcontroller

The ATmega328 is a single-chip microcontroller created by Atmel in the megaAVR family. It has a modified Harvard architecture 8-bit RISC processor core.

<span class="mw-page-title-main">Apache Mynewt</span> Real-time operating system

Apache Mynewt is a modular real-time operating system for connected Internet of things (IoT) devices that must operate for long times under power, memory, and storage constraints. It is free and open-source software incubating under the Apache Software Foundation, with source code distributed under the Apache License 2.0, a permissive license that is conducive to commercial adoption of open-source software.

<span class="mw-page-title-main">RP2040</span> ARM-architecture microcontroller by the Raspberry Pi Foundation

RP2040 is a 32-bit dual ARM Cortex-M0+ microcontroller integrated circuit by Raspberry Pi Ltd. In January 2021, it was released as part of the Raspberry Pi Pico board.

References

  1. Slashdot article about the XGameStation
  2. "The XGameStation lets you build your own console". Engadget. Retrieved 15 May 2022.
  3. Game Buzz article about the XGameStation Archived March 3, 2016, at the Wayback Machine
  4. "News + releases". Sunday Herald Sun (Melbourne). August 24, 2003. Retrieved 20 May 2022.
  5. "The XGameStation Micro Edition Home-Brew Game Development Kit for Hobbyists and Students Has Been Released". GamesIndustry.biz. Retrieved 18 May 2022.
  6. "XGameStation: A Modern Vintage Game System". Retro Thing. Retrieved 18 May 2022.
  7. Article about teaching electronics with the XGameStation Archived March 3, 2016, at the Wayback Machine
  8. End of life announcement for SX processors packaged by Ubicom
  9. "Parallax Forums". Archived from the original on June 16, 2009. Retrieved August 17, 2009.
  10. XGameStation Pico Edition Archived July 13, 2007, at the Wayback Machine
  11. Jenkins, David (29 June 2005). "XGameStation Pico Edition Launched". Game Developer. Retrieved 18 May 2022.
  12. Torrone, Phillip (June 26, 2007). "Hydra console game development kit - Make". Make: DIY Projects and Ideas for Makers. Retrieved 15 May 2022.
  13. "Nurve anuncia la XGameStation Pico Edition Kit 2.0 - Engadget Spanish". 18 November 2006. Archived from the original on 18 November 2006. Retrieved 15 May 2022.