Введение

XGameStation – это серия встроенных систем, разработанных в первую очередь как специализированная домашняя игровая консоль, созданная Андре ЛаМоттом и продаваемая его компанией Nurve Networks LLC. Изначально разработанная для обучения программистов электронике и разработке видеоигр, более новые модели уделяют больше внимания проектированию логических схем, многоядерному программированию, программированию игр, а также проектированию и программированию встроенных систем с использованием популярных микроконтроллеров.

Версии прототипов

XGameStation изначально задумывалась как портативная система под названием nanoGear, основанная на микропроцессоре 68HC12 – современном производном 6809. Система также должна была включать в себя современные версии микропроцессоров 6502 и Z80, для ретро-кодеров и хакеров, а также для упрощения эмуляции классических компьютерных и видеоигровых систем. После нескольких итераций планы изменились, и было решено использовать микропроцессор ARM и ПЛИС (FPGA), на которой был реализован разработанный специально графический процессор. Однако после завершения проекта стало ясно, что получившаяся система слишком дорога и сложна для начинающих. В итоге, планы снова изменились, что привело к созданию XGS Micro Edition на базе микроконтроллера SX52. Система на основе ARM и ПЛИС была переименована в XGS Mega Edition после выпуска Micro Edition, но, несмотря на планы по продаже, она так и не поступила в продажу.

Оригинальная XGameStation

Тогда оригинальная XGameStation была анонсирована в августе 2003 года.

XGS Micro Edition (ME) (англ. XGS Micro Edition) (англ. XGS Micro Edition) (англ. ME) (англ.

XGS Micro Edition был анонсирован в 2004 году. XGS Micro Edition – это предварительно собранная видеоигровая консоль, основанная на микроконтроллере SX52, представляющем собой высокоскоростной PIC-микроконтроллер с тактовой частотой 80 МГц, обеспечивающий производительность 80 MIPS. Генерация цветного телевизионного видеосигнала осуществляется программно на микроконтроллере. Звук генерируется чипом ROHM BU8763. Для ввода данных система оснащена одним разъемом PS/2 для подключения клавиатуры или мыши, а также двумя портами DB 9 для подключения джойстиков, совместимых с Atari. Программирование может выполняться на языке ассемблера или на разработанном специально для XGS Basic, либо на ПК с последующей передачей программы на консоль, либо непосредственно на самой системе. В комплекте имеются дополнительные пакеты для создания собственных карт расширения и наборы для электронных экспериментов. Micro Edition включает в себя модуль XGameStation, книгу "Дизайн собственной видеоигровой консоли" – подробное руководство в формате PDF, обучающее основам электроники, блок питания, A/V-кабели, джойстик, COM-кабель и дополнительные материалы, такие как PDF-версия одной из предыдущих книг Андре ЛаМотта "Трюки мастеров программирования игр для Windows".

Видеосигнал, генерируемый программным обеспечением

Наиболее примечательной особенностью процессора SX52 является его способность генерировать цветной видеосигнал исключительно программными средствами, при этом сохраняя достаточную мощность для одновременного запуска программ, использующих этот видеовывод для создания простой видеоигры или игровой демонстрации. Эти программы могут как развиться в полноценную (играбельную) игру, так и остаться лишь демонстрацией, поскольку часто объём памяти процессора SX52 оказывается недостаточным для их поддержки. Некоторые разработчики также создают неигровые видеодемонстрации, чтобы продемонстрировать возможности видеосистемы.

Устаревший статус SX52

SX52 был снят с производства компанией Parallax, которая сейчас занимается упаковкой кристаллов микроконтроллеров серии SX, производимых Ubicom, поскольку у них не было корпуса с 52 выводами. Однако, по словам сотрудников XGameStation, запасов чипов SX52 достаточно для всех их будущих нужд. 31 июля 2009 года Parallax объявила о прекращении выпуска всей линейки микроконтроллеров SX.

XGS Pico Edition (PE) (полное издание)

Pico Edition – упрощенная версия Micro Edition в виде набора для самостоятельной сборки. Pico Edition была анонсирована в 2005 году. Pico Edition основана на микроконтроллере SX28, который, как и SX52, является высокоскоростным микроконтроллером PIC, работающим на частоте 80 МГц, что обеспечивает производительность 80 МИПС, хотя объем оперативной памяти и флэш-памяти у него меньше. Как и в Micro Edition, цветной телевизионный видеосигнал генерируется программно на микроконтроллере. Однако, в отличие от Micro Edition, аудиосигнал также генерируется непосредственно микроконтроллером, а не отдельным чипом. Для ввода система просто считывает нажатия кнопок, подключенных к ее входным выводам. Программирование осуществляется на языке ассемблера или на разработанном специально XGS Basic, на ПК, а затем программа переносится на консоль. Pico выпускается в нескольких вариантах комплектов: комплект 1.0, который включает в себя макетную плату, CD с инструкциями по сборке и отобранные главы той же электронной книги, что и в Micro Edition, а также те же дополнительные материалы, микроконтроллер SX28 и дискретные компоненты системы; комплект 2.0, состоящий из комплекта 1.0 и беспаечной печатной платы (которая также доступна как отдельное дополнение); и стартовый комплект игровой консоли, который включает в себя комплект 2.0, печатную версию книги "Черное искусство разработки видеоигровых консолей", а также паяльник и припой.

XGS AVR 8-Bit и XGS PIC 16-Bit системы разработки

Выпущенные 26 декабря 2008 года, XGS AVR 8 Bit и XGS PIC 16 Bit – это комплекты разработки встроенных систем, предназначенные в качестве высококонкурентных решений начального и среднего уровня для соответствующих микроконтроллеров. Системы были разработаны совместно и поэтому имеют много общего в дизайне, за исключением основного процессора. Видеосигнал генерируется программно, как в XGS Micro и Pico Editions, однако для генерации цветовой поднесущей видеосигнала предусмотрено аппаратное обеспечение. Аудиосигнал также генерируется непосредственно микроконтроллером. Для ввода, как и в XGS Micro, предусмотрены два порта DB 9 и порт PS/2. Однако, в отличие от совместимости с джойстиками Atari, порты DB 9 совместимы с геймпадами Nintendo (хотя для прямого подключения контроллера NES или SNES потребуется адаптер для распиновки). В отличие от предыдущих систем XGS и Hydra, программирование осуществляется преимущественно на C/C++ с использованием системных библиотек, хотя также поддерживается программирование на ассемблере и разработанный пользователем XGS Basic. Код XGS Basic работает на обеих системах без изменений. В отличие от XGS Micro Edition, редактирование кода непосредственно на системе невозможно – требуется компьютер. Процессор XGS AVR 8 Bit – это Atmel MEGA AVR 644P с 64K FLASH и 4K SRAM, работающий на частоте более 28 MIPS. Процессор XGS PIC 16 Bit – это PIC24 с 256K FLASH и 16K SRAM, работающий на частоте более 40 MIPS.

Система Гидра

В 2006 году Андре ЛаМот выпустил свой новый HYDRA Game Development Kit – систему, значительно превосходящую XGS Micro Edition по мощности. В отличие от других систем Nurve, Hydra не использует брендинг XGS. В основе Hydra лежит многоядерный микроконтроллер Parallax Propeller, архитектура которого схожа с микропроцессором Cell, применяемым в PlayStation 3. Propeller работает на частоте 80 МГц и использует восемь процессорных ядер, называемых COG, для достижения производительности в 160 MIPS. Он также обладает значительно большим объемом памяти, чем SX52 Micro Edition: 32 КБ RAM и 32 КБ ROM, содержащих растровый шрифт для видеогенератора (Propeller способен генерировать высококачественное цветное изображение VGA или PAL/NTSC с использованием программного обеспечения и специальной вспомогательной логики, встроенной в каждое ядро процессора), таблицы математических функций и интерпретатор многопоточного языка SPIN. Каждое процессорное ядро также имеет собственную оперативную память объемом 2 КБ (512 32-битных слов) выделенной памяти. Для ввода данных система оснащена двумя портами PS/2 для мыши и клавиатуры (которые поставляются в комплекте) и двумя портами для игровых контроллеров, совместимых с NES (один игровой контроллер входит в комплект). Система также имеет мини-интерфейс USB для программирования, порт RJ11 Ethernet и 128 КБ Serial Flash EEPROM для хранения данных. Дополнительно доступны расширения, такие как внешняя карта RAM объемом 512 КБ.