Пока одни энтузиасты воссоздают культовые игровые приставки из прошлого, другие создают нечто из той же эпохи, только совершенно новое.
Консоль, о которой пойдёт речь, называется GameTank. Сейчас она готовится появиться на краудфандинговой площадке CrowdSupply. Сами авторы называют её оригинальной 8-битной игровой приставкой для следующего поколения 8-битных игр.
Да, это не аналог какой-то ранее существовавшей приставки и не устройство для эмуляции этих самых приставок. Это именно новая консоль для новых игр... которые ещё нужно создать. Впрочем, для эмуляции возможности тоже будут, так как это консоль с открытым исходным кодом.
Консоль основана на культовом микропроцессоре MOS Technology 6502. Он использовался в компьютерах Apple I и II, Commodore PET, приставках Atari 2600 и Atari 800, а также во многих других домашних устройствах 70-х и 80-х.
Но GameTank намного интереснее, чем просто какая-то новая версия уже существовавших консолей.
GameTank отличается прежде всего тем, что реализована как физическое устройство, а уже потом — как эмулятор. Её графическая архитектура на основе кадрового буфера позволяет создавать более плавную и динамичную анимацию, чем типичная для 8-битного оборудования.
Эта система использует большие и массивные картриджи и выводит композитный видеосигнал NTSC через разъём RCA. Благодаря своей уникальной аппаратной конструкции, она не предназначена для игр с какой-либо другой платформы, а представляет собой самостоятельную экосистему. Помимо процессоров, система построена на базе базовой логики и микросхем оперативной памяти, а не на ПЛИС или микроконтроллере. Другими словами, это не просто очередной эмулятор, а совершенно новое поколение оборудования для следующего поколения 8-битных игр.
В большинстве консолей 8-битной эпохи «спрайт» — это аппаратная функция, позволяющая размещать изображение в выбранном месте исходящего видеосигнала. Эти изображения имели небольшой фиксированный размер, и на каждой горизонтальной строке можно было отрисовать ограниченное количество спрайтов. Они накладывались на «карту тайлов», которая создавала фон из блоков изображений, размещённых на сетке. Сетку можно было сдвигать целиком, создавая эффект прокрутки, но отдельные тайлы сетки были привязаны к её линиям.
Графическое оборудование внутри GameTank существенно отличается от описанного выше. Вместо фиксированных тайлов и спрайтов, область памяти, называемая «кадровым буфером», содержит данные об отдельных пикселях экранного изображения. Это дополняется большим объёмом внеэкранной памяти («спрайтовой памяти») и схемой блиттера, предназначенной для быстрого копирования байтов из спрайтовой памяти во фреймовый буфер. GameTank оснащён большим объёмом спрайтовой памяти для поддержки больших листов спрайтов, а поскольку блиттер может копировать области данных произвольного размера, эти листы спрайтов могут быть плотно упакованы.
Для разработчиков будет доступен специальный инструмент для перепрошивки ROM-файлов на картриджи, совместимые с GameTank. В целом вся платформа GameTank задумана, как площадка для разработчиков программного и аппаратного обеспечения.
