Начальная

Windows Commander

Far
WinNavigator
Frigate
Norton Commander
WinNC
Dos Navigator
Servant Salamander
Turbo Browser

Winamp, Skins, Plugins
Необходимые Утилиты
Текстовые редакторы
Юмор

File managers and best utilites

Лучшие эмуляторы игровых консолей для Windows. Эмуляторы приставок


Лучшие эмуляторы игровых консолей для Windows / Хабр

Это уже вторая часть подборки по эмуляторам игровых приставок. В первой части были собраны наиболее популярные и работоспособные эмуляторы под Android. Там же был размещен и опрос о тематике следующей подборки. С большим отрывом победил вариант создания подборки эмуляторов приставок для Windows.

В этом материале я постарался собрать большое количество проверенных временем эмуляторов игровых приставок под Windows. При помощи этих программ можно с легкостью превратить свой ПК в ретро игровую консоль, и наслаждаться классическими играми, от которых остались только лучшие впечатления. Возможно, что-то в подборку не попало. Если это так, указывайте пропущенный эмулятор в комментариях, я добавлю в основной материал.

Принцип работы с эмулятором приставки

Эмулятор игровой приставки — программная оболочка, которая эмулирует работу аппаратной части самого устройства. Разрабатывать эмулятор не так просто — требуется и опыт программирования, и знания точной информации о принципах работы оригинального устройства. Большинство эмуляторов можно разделить на две группы, включая «простые» и «составные» программы. Многие эмуляторы предоставляют даже больший функционал, чем старые консоли (например, сохранение в играх для Dendy и Sega).

С простыми проблем нет — нужно установить программу, загрузить образ игры, и все — можно наслаждаться процессом прохождения. Настроек в таких программах минимум. «Составные» требуют наличия дополнительных компонентов — это BIOS приставки (обычно файл .bin) и различных dll-плагинов. BIOS-файлы защищены правами производителя, так что разработчики эмуляторов не могут встраивать их — в противном случае в каталог программ Google такой эмулятор не попадет. BIOS нужно искать в сети — существует множество сайтов, где эти файлы выкладываются в общий доступ.

Нужны и образы игр. Их разработчики эмуляторов тоже не имеют право встраивать в свое ПО. Образы, или ROM, доступны в интернете. Для Sega или PlayStation количество ROM достигает многих сотен. Сейчас в интернете можно найти образы даже очень редких игр, которые раньше было сложно достать в магазине.

Nintendo Entertainment System (NES)

NESTOPIA UE

Технически классический эмулятор Nestopia уже не поддерживается своими разработчиками. Но есть порт, который поддерживается — NESTOPIA UE. В этом случае UE означает «Undead Edition», это неофициальная версия NESTOPIA. Достоинствами программы является ее простота. Здесь минимум настроек, но эмулятор работает практически со всеми старыми играми для NES, обеспечивая максимально качественное их отображение. NESTOPIA UE — один из лучших эмуляторов восьмибитной приставки.

FCEUX

Это один из наиболее универсальных эмуляторов NES. Приложение все-в-одном предлагает широкие возможности как обычному геймеру, так и продвинутому игроку, который хочет получить максимальный контроль над процессами, происходящими в эмуляторе. Здесь есть инструмент отладки, возможность записи геймплея, инструменты для работы с ROM и вспомогательный инструмент для создания спидранов — процесса скоростного прохождения игры. У этого эмулятора есть порты под Windows, Max OS X и Linux.

Higan
Этот эмулятор — продолжение Bsnes. Первая версия увидела свет в 2005 году. Изначально эмулятор работал под Windows, но затем появились порты под Linux, OS X и FreeBSD. Это отличный эмулятор NES, который совместим с очень большим числом различных игр.

Эмулятор продолжает развиваться — автор ведет активную работу по поддержанию своего проекта. В 2008 году британский журнал WebUser посоветовал эмулятор всем олдскульным геймерам. В 2009 году уже японский журнал посоветовал опробовать эмулятор в работе всем поклонникам старых игр.

Super Nintendo Entertainment System (SNES)

Bsnes-mercury

Этот эмулятор представляет собой модуль SNES для RetroArch. Программа — форк эмулятора BSnes, к которому добавили ряд полезных функций. В текущей версии эмулятора есть возможность загрузки файлов BIOS, чего ранее не было в SNES9X. Эмулятор поддерживает очень большое число игр, с ним работают практически все образы SNES-игр, которые есть в сети. Если у вас есть этот эмулятор, скорее всего, никаких проблем никогда не возникнет.

SNES9X

SNES9X, определенно, один из самых удачных эмуляторов SNES. Он может работать даже с последними релизами для Super Famicom, с чем не справляются некоторые другие эмуляторы. Разработчики оснастили эмулятор большим числом возможностей, включая настройку видео, звука, поддержку читов и мультиплеер. Порты этого эмулятора выпущены под Windows, Max OS X, iOS, Android. SNES9X доступен и в качестве ядра под RetroArch.

ZSNES
ZSNES — это свободный эмулятор игровой консоли SNES, написанный большей частью на ассемблере, для платформ Linux, MS-DOS, и Windows. Разработка ZSNES началась 3 июля 1997 года, а первая версия программы была выпущена 14 октября 1997 года, для платформы MS-DOS. Позднее были выпущены официальные порты для Windows и Linux. Эмулятор стал открытым и был выпущен под лицензией GPL 2 апреля 2001 года. В марте 2006 года репозиторий исходных кодов программы был перемещён с сайта SourceForge.net на BountySource.

Основные возможности эмулятора:

  • Эмуляция большинства чипов расширения SNES
  • Поддержка интерполяции изображения
  • Возможность записи видео
  • Поддержка чит-кодов

Nintendo 64

Project 64

Project 64 — один из наиболее совместимых со всеми играми эмуляторов Nintendo 64. Эта программа не требует BIOS. Плагины настроены по умолчанию, и все работает отлично. Эмуляция звукового сопровождения и видео оригинальной приставки работает очень хорошо. Здесь нет большого количества настроек, чтобы не осложнять жизнь пользователю. Но зато есть поддержка мультиплеера, поддержка читов. Можно настраивать масштаб экрана, обеспечивая себе максимальное удобство геймплея.

Mupen64plus

Еще один модуль для RetroArch, универсального эмулятора, о котором мы поговорим в самом конце статьи. Причем этот модуль — единственный. Здесь огромное количество настроек. Если есть желание, можно без труда поменять многое — и цветовую гамму дисплея, и звук и все, что вообще возможно поменять. Есть порты под Windows, Mac OS X, Android, и Linux.

Nintendo GameCube и Wii

Dolphin

Dolphin — единственный достойный эмулятор Nintendo GameCube и Wii. Работает он едва ли не лучше, чем сами игровые консоли, которые этот софт должен эмулировать. Вдобавок к сглаживанию и возможности быстрого сохранения в играх, вы можете играть с разрешением 1080р. Этой возможности не было в оригинальных приставках. Конечно, есть и несколько багов, но их не так много. Кроме того, работа над эмулятором ведется энтузиастами, так что особых претензий к ним быть не может. Все, что нужно знать — работает эмулятор почти идеально, обеспечивая качественную графику и уютный геймплей.

Gameboy, Gameboy Color, и Gameboy Advance

VBA-M

Для систем Game Boy есть несколько эмуляторов, но лучшим является Game Boy. Работать он может и в качестве автономного эмулятора, и в качестве модуля для RetroArch. Цветопередача, звук, геймплей — все практически идеально. Требовательный пользователь может поработать с графическими фильтрами, настроить звук по своему вкусу, модифицировать еще какие-то настройки. Эмулятор был портирован под Windows, Mac OS X, Linux. Для работы эмулятора требуется Microsoft DirectX, желательно последней версии.

Nintendo DS (и DSi)

No$GBA

Этот эмулятор начал свой путь в мир игр как эмулятор системы Gameboy Advanced. Но сейчас это наиболее универсальный эмулятор NIntendo DS, и единственный, поддерживающий DSi. Это также самый быстрый эмулятор, что было не так просто обеспечить, учитывая наличие двух дисплеев и процессоров в самой приставке. Некоторые функции в эмуляторе отсутствуют (например WiFi и мультиплеер), некоторые игры отображаются не идеально. Но в подавляющем большинстве случаев этот эмулятор обеспечивает вполне комфортную игру. Настроек здесь очень много, так что если вы видите какую-то проблему, ее, вероятнее всего, можно решить настройкой. также здесь есть отладочный инструмент для разработчиков.

DeSmuME

Отличное ядро для RetroArch, хотя есть и ряд ограничений, особенно, если сравнивать этот эмулятор с автономными. Тем не менее, играть в большинство игр можно без всяких проблем, есть ряд настроек. ПО поддерживает и эмуляцию GBA.

Sega

Kega Fusion

Практически идеальный эмулятор Sega — причем не одной консоли Sega Mega, а целого ряда, включая Genesis, Game Gear, Sega CD. Поддержки Saturn и Dreamcast здесь нет. Все остальные приставки эмулируются на отлично, практически полная совместимость с играми для поддерживаемых платформ. Здесь есть поддержка читов, быстрое сохранение, запись видео и аудио, онлайн-игра и поддержка различных геймпадов. Полноэкранный режим, масштабирование и ряд видеофильтров дополняют возможности эмулятора. Порты есть под Windows, Mac OS X и Linux.

Genesis X Plus
А это модуль для RetroArch. Тоже поддерживает эмуляцию таких платформ, как Genesis, Mega Drive, Sega/Mega CD, Master System, Game Gear & SG-1000. Поддерживается большинство игр, есть много настроек. Есть и возможность загрузки BIOS, в случае необходимости.

Dreamcast

Здесь проблемы. Для этой приставки практически нет нормального эмулятора под Windows. Есть ряд попыток эмулировать консоль, включая DEMUL или nullDC. Но здесь поддерживается очень мало игр, большое число проблем с совместимостью, стабильно играть не получится. Интересно, что под Android есть отличный эмулятор Dreamcast — это ReiCast, о нем я писал в прошлой подборке. Но вот под Windows — ничего. Плохо и то, что практически никто не занимается разработкой эмулятора в текущее время.
Demul

DEmul — это эмулятор Dreamcast, являющийся преемником Chankast, другого приложения для запуска игр Dreamcast на ПК, которое в настоящее время больше не поддерживается. Demul — это мультисистемный эмулятор игровых консолей и автоматов фирмы Sega, первоначально предназначавшийся исключительно для эмуляции игровой приставки Sega Dreamcast. В настоящее время эмулятор поддерживает также эмуляцию игровых автоматов на основе Sega Dreamcast: Naomi, Naomi 2 и Atomiswave. В процессе разработки поддержка Sega Model 3, Sega Hikaru, Sega Saturn.Однако, для этого вам понадобится Dreamcast BIOS, который не поставляется вместе с этим эмулятором. На данный момент DEmul может превосходно эмулировать более сотни игр, включая Marvel VS. Capcom, Crazy Taxi, King of Fighters, Sega GT, Sonic Adventure, Star Wars Demolition, Virtua Fighter 3 и Virtua Tennis 2.

PlayStation 1 & 2

PCSX

Идеального эмулятора PlayStation не существует. Но PCSX близок к тому, чтобы его можно было назвать лучшим. Разработчики этого эмулятора сделали все для того, чтобы игрок чувствовал при игре с PCSX погружение в оригинальную атмосферу Play Station. Для того, чтобы эмулятор работал, требуется официальный BIOS приставки, а также несколько видеоплагинов, звуковых плагинов. Версии эмулятора есть для Windows, Max OS X, Linux. Есть и отдельный модуль для универсального эмулятора RetroArch, модуль называется “PCSX-Rearmed". Совсем слабый ПК не сможет нормально работать с этим эмулятором, нужна более-менее современная система.

ePSXe

ePSXe — эмулятор игровой приставки PlayStation. Релиз программы состоялся 14 октября 2000 года. ePSXe распространяется по лицензии freeware.

Как и большинство современных эмуляторов, ePSXe использует плагины для эмуляции графического и звукового процессоров, а также оптического привода приставки. Кроме того, для запуска ePSXe необходим файл BIOS, полученный в результате дампа PlayStation, по этой причине разработчиков эмулятора невозможно обвинить в нарушении авторских прав компании Sony, а использование эмулятора считается абсолютно легальным, если пользователь самостоятельно снял BIOS с личной PlayStation или при наличии у себя данной приставки скачал его из интернета.

ePSXe может запускать игры с компакт-диска либо из различных образов, находящихся на жёстком диске. За некоторыми исключениями, программа может безупречно запускать многие игры для PlayStation; определённую роль играют плагины и их настройки.

На версиях 1.5.x отлично работают приблизительно 95 % игр, и для многих игр существуют специальные патчи формата .ppf, которые улучшают совместимость или помогают решить определённые проблемы.

PCSX2

Эмулятор PS2. Программа до сих пор поддерживается ее разработчиками, которые активно развивают проект. PCSX2 совместим с большинством игр для оригинальной консоли. Как и в предыдущем случае, здесь требуется BIOS, плагины для видео и аудио, привода, а также образы игр (ROM/ISO). Эмулятор выпущен для Windows, Mac OS X и Linux. Но в этом случае характеристики ПК должны быть на высоте, иначе поиграть не выйдет — эмулятор и игры требуют много ресурсов.

PlayStation Portable

PPSSPP

Отличный эмулятор консоли PSP, поддерживающий большинство игр для этого устройства. Если характеристики ПК высокие, то игра будет выглядеть даже лучше, чем на приставке. Эмулятор позволяет увеличить разрешение в два раза, что убирает часть артефактов на полигональных моделях. Кроме того, эмулятор исправляет и дополняет некоторые текстуры, сглаживая их. BIOS здесь не требуется, настройки есть, их довольно много, но все работает отлично и по умолчанию. PPSSPP выпущен под Windows, Max, Linux.

3DS & Wii U

Citra (3DS)

Работа над эмулятором еще ведется, хотя он уже вполне работоспособен. К сожалению, некоторые игры не будут работать с полной скоростью. Даже те игры, что запустятся нормально, будут выглядеть не идеально. Возможно, в будущем этот эмулятор станет работать лучше — разработчики делают все, чтобы так и было. Кстати, для этой платформы не так просто достать образы игр, это еще одна проблема.

CEMU (Wii U)

Как и предыдущий эмулятор, этот еще находится на ранних стадиях разработки. Очень немногие игры для Wii U поддерживаются. Чтобы поиграть хотя бы во что-то, компьютер должен быть очень мощным. Сейчас относительно неплохо идут такие игры, как Mario Kart 8 и Twilight Princess HD. Другие дают стартовый экран, но не загружаются, а если загружаются, играть в них не получится.

PlayStation 3

RPCS3

Это относительно молодой проект эмулятора PlayStation 3. К сожалению, большинство 3D игр этот эмулятор не поддерживает, а если и поддерживает, то для более-менее нормального хода игры требуется очень мощный компьютер. Но вот 2D игры под PlayStation 3 идут отлично — тот же Соник, например.

RPCS3 положил свое начало в 2013 году. На то время эмулятор научили запускать некоторые объемные сэмплы из SDK, а также пару самопальных игр. Все это было не сразу, первые билды эмулятора были неспособны запускать даже самопал, был лишь квадрат и начертания текстур.

Сейчас эмулятор вопроизводит довольно много двумерных игр и несколько трехмерных, хотя в последние играть практически невозможно. Тем не менее, проект продолжает активно развиваться, и вскоре разработчики обещают показать много интересного.

Xbox 360

Xenia

Xenia Git — рабочий эмулятор приставки Xbox 360 с открытым исходным кодом. В его разработке принимают участие многие умельцы. Эмулятор запускает множество игр, причем 3D игр, но, к сожалению, пока что во все поиграть не получится. Ошибок и проблем у этого эмулятора гораздо меньше, чем у эмулятора PS3. Возможно, в скором времени он станет запускать многие игры.

Разработка эмулятора началась в 2014 году, тогда это была только пробная версия, на которой не работало решительно ничиего. Сейчас же прогресс очевиден — запускаются некоторые игры, и запускаются неплохо.

Универсальные эмуляторы

RetroArch

Наверное, это единственный представитель семейства универсальных эмуляторов, который стоит внимания. Вернее, если вы используете этот пакетный эмулятор, вряд ли понадобится что-то еще. RetroArch — эмулятор все-в-одном, он способен запускать игры большинства известных приставок. Поддерживает он и обычные консоли, Sega, Playstation 1 и другие, и портативные — Game Boy Advance и более старые.

Работает эмулятор с отдельными ядрами, каждое из которых, в свою очередь, эмулирует свою консоль. Это значит, что для GBA — одно ядро, для NES — совсем другое. И все эти ядра можно добавлять в RetroArch. По мере выхода новых модулей их тоже можно добавлять в этот «комбайн».

Доступен эмулятор для ОС Windows, Mac OS X, Linux и мобильных операционных систем.

habr.com

Обзор игровой приставки PAP1000 - Sega, GBA и прочие 3D приблуды из прошлого тысячелетия

Обзор игровой мультиприставки с возможностью запуска игр от Sega MegaDrive, GameBoy Advanced и игровых автоматов! Шанс поностальгировать и набить пиксельную морду другу в FullHD. Много фото и немного видео игрового процесса в обзоре.

Как-то раз, сидя одиноким вечером дома я думал над тем, как провести свой очередной день рождения. Всяческие увеселительные заведения вроде баров и клубов уже порядком поднадоели, совсем не праздновать, ссылаясь на кризис в стране и в кармане — тоже не по мне. Решил начать праздновать дома, а там уж как карта ляжет. И встал вопрос — чем развлекаться дома, пока ещё все совсем трезвые и только погружающиеся в атмосферу выходной ночи… Помимо карточных игр для компании типа мафии я внезапно вспомнил про игровые приставки. Сердце трепетно желало виртуальной крови и драки, а вот мозг уныло подсчитывал фиолетовые бумажки в кармане, еще остающиеся после зарплаты. Не беда, подумал я и обратился к китайцам. К моему удивлению, коммунистические соседи численностью в полтора миллиарда, так и не придумали ничего лучше, кроме как клепать всё те же копии Nintendo Entertaiment System, известную у нас по её китайской копии — Dendy, иногда разбавляя всё это копиями Sega Mega Drive в кучах вариаций. Основным рынком китайцев же стали портативные консоли на Android, которые меня по понятными причинам не устраивали — хотелось подключить непотребство к телевизоры, взять в руки джойстик и мысленно перенестись лет 20 назад… Внезапно выход был найден и на сайте TinyDeal я нашел именно ТВ-приставку, обещающую эмуляцию различных устройств, еще и с двумя джойстиками! Цена более чем устраивала, потому и взял на пробу.

Приставка по доброй китайской традиции копировала Sony PlayStation 2 внешне, а также унаследовала от неё контроллеры и даже обещала поддержку беспроводных джойстиков от PS2. Коробка небольшая, я ожила побольше, но не в коробке ж дело? Коробка испещрена различными надписями и картинками в тех же китайских традициях — с обязательной демонстрацией фантастической графики, героев из Tekken, в общем своя ChinaStation, c маджонгом и 小姐.

В коробке комплект: — Приставка — 2 игровых джойстика — TV-OUT кабель — Блок питания — 2 DVD диска — Беспощадная китайская инструкция

Приставка — типичная чорная коробочка, внешне очень похожая на ту самую PlayStation 2. Словно китайцы напали на кладбище Sony или брошенный завод и решили… почему бы и нет? Надо сказать, довольно толстая и при этом очень легкая коробочка…

На передней части находятся разъемы для подключения 2 джойстиков, разъемы идентичные оригинальной PlayStation 2, так что может и заработают беспроводные… Здесь же кнопка включения с индикатором включения (красный огонек), кнопка перезагрузки, а также… Слот под карту SD и под USB. Да, приставка не позволяет в себя вставить диск, корпус не открывается, и принимает в себя только карту памяти и флешку. Надо обратить внимание, что приставка принимает карты памяти именно SD, то есть SDHC в ней не заработают, а USB вообще непонятно зачем здесь — у меня не распозналась флешка ни на 2, ни на 4, ни на сколько бы ещё гигабайт. Возможно, стоит поиграться с строениеем файловой системы, но флешка SD в FAT32 на 4 Гб спокойно определилась.

Сзади у нас — разъем для питания и выход на TV-OUT… И наклеечка PAP1000, под которой должен быть разъем HDMI, а находится простейшая китайская дырка. Вот такой вот интересный корпус.

Я даже не удержался и заглянул внутрь.

Расчлененка и тлен

Китайцы при желании могли приставку сделать раза эдак в 4, а то и 5 меньше. Но во всем виновата страсть к копированию и желание сделать PS2… Несмотря на убогость корпуса, сами платы пропаяны на славу и сделаны вполне аккуратно.

Из других особенностей… Джойстик тут и правда донельзя похож на PS2, однако вместо геометрических фигур на кнопках тут — цифры. Вот и всё отличие. Сделаны на удивление добротно, не в пример корпусу самой приставки.

Блок питания напоминает «толстую» зарядку от Nokia, надеюсь жить он будет дольше, чем его деды в эпоху Dendy и регулярно то сгорающие, то перетиравшие провода.

Здесь же — 2 DVD-диска, щедро сдобренные аж почти 1500 играми (больше 600 — для Sega, 230 — GameBoy Advance и около 64 — для игровых аркадных автоматов). Но никто не мешает скачать ещё игрушек из сети, тем более что ещё поддерживается GameBoy и первый (для полных извращенцев, видимо) и GBC… Dendy у меня не заработала, но может не тот формат был файла…

Главная печалька всего этого китайского ужаса счастья — это способ вывода сигнала. Это то, что старее меня на несколько десятков лет. TV-OUT, он же «тюльпан»… Чтобы подключить ЭТО к моему новенькому Philips 6 серии пришлось почти неделю лазать по радиорынкам и искать переходники с RCA на SCART и miniSCART, которым внезапно оборудован телевизор… Иначе пришлось бы покупать электронный агрегат, придуманный каким-то воспаленным мозгом… RCA-HDMI и стоящий в лучшем случае столько же, сколько сама приставка. Удалось обойтись 300 рублями.

Но вот со всеми разобрались, игры скинули на флешку, воткнули, включили… Приставка охотно подхватила и игры с Sega и красочные с GBA, причем спокойно пережевывая даже трехмерные, как например Driv3r или Tekken… На 32-дюймовом FullHD экране некоторые игры откровенно говоря смотрятся вырвиглазно и даже Sega с её жалкими 16 битами смотрится симпатичнее. Лучше всего выглядят игры с игровых автоматов — приставка охотно запускает игры от NeoGeo и CPS (Capcom Play System), причем по иронии судьбы 2 джойстика получистя одновременно задействовать только в играх с автоматов, в GBA и Sega приставка не понимает, что подключены 2 джойстика и оба считает «первым». Возможно, дело в прошивке, но где взять другую и того, кто разбирается в программировании процессора Ingenic JZ4755? Этот же процессор кстати, отчего то не очень любит некоторые игры — то ли тяжелые, то ли еще что, но воспроизводятся они с небольшими, но заметными подтормаживаниями и звуковыми артефактами. На видео ниже это очень явно в игре Metal Slug X. Правда, это наблюдается и правда далеко не во всех играх.

Кстати, такой же процессор стоит в приставках Dingoo A320 и её копии Ritmix RZX-50, которая работает на ОС DINGUX (Dingoo Linux) с открытым кодом, позволяющей пользователям создавать и модифицировать программы для данного устройства. Данная приставка проигрывает следующие игры: FS — Famicom System — Nintendo Entertainment System = NES = Dendy (формат образов nes) SFS — Super FS = SNES = Super Nintendo (формат образов smc) MD — MegaDrive = Sega MegaDrive (формат образов smd) GB — GameBoy GBC — GameBoy Color GBA — GameBoy Advance GG — Sega GameGear SMS — Sega Master System (8 bit)

Замечу также, что в приставке есть встроенная память (вроде бы на 2 Гб), на которой уже находится 95 игр, причем в основном очень интересные. Так что поиграть можно даже без флешки. А ещё приставка зачем то поддерживает проигрывание видео, непонятно только зачем — перематывать его не получается, некоторые файлы просто не запускаются.

Дальше мой текст кончается, остается посмотреть видео и сделать выводы…

Видеобзор приставки.

Часть 1 — внешний вид, сборка, комплект.

Часть 2 — игровой процесс, запуск видео. Немного играем в Tekken, Mortal Combat 3, Battletoads and Double Dragon, Driv3r, пытаемся запустить GTA Advanced и тыкаем в какую-то аркаду, а также весело режем фашистов в Metal Slug X

Время выводов.Плюсы: 1. Мультиплатформенность — приставка поддерживает Sega Megadrive, GameBoy Advance, NeoGeo и еще ряд менее значимых платформ. 2. Возможность играть вдвоем в ряд игр 3. Поддержка SD карт — рубиться можно в любую игру из сети. 4. Наличие встроенных игр, причем неплохая подборка в приставке и на дисках

Минусы 1. Нельзя играть вдвоем на Sega и GBA (возможно, особенность прошивки) 2. Подтормаживания в ряде «тяжелых» игр с NeoGeo и CPS 3. Приставка не понимает карт памяти SDHC 4. Плохо сделанный корпус

Итого — за 40 с небольшим долларов (куплена по случаю с купоном) получаем очень интересную штуку даже с текущим негуманным курсом. Возможность поностальгировать и порубиться с друзьями или одному в игры детства. Покупать ли? Однозначно! Может и найдется кто-то, кто сможет заставить приставку понимать второй джойстик в Sega и я вновь с другом покатаю по дорогам Road Rush 3…

За сим разрешите откланяться, читайте мои обзоры тут — mysku.ru/my/ZNA/ И задавайте свои вопросы, буду рад ответить!

mysku.ru

Создаем эмулятор приставки / Хабр

Вероятно, многие программисты если и не мечтали, то хотя бы задумывались о написании собственного эмулятора какого-либо процессора. Возможно, некоторые даже экспериментировали с чем-то вроде Z80. Но не многие дошли до финальной реализации эмулятора.

В этой заметке я хотел бы поговорить о создании простого эмулятора игровой платформы CHIP-8 из далеких 70-х. Во-первых, мы прикоснемся к истории, а во-вторых, эта платформа из за своей простоты позволит создать полностью функциональный эмулятор даже начинающим программистам.

Конец
Как бы это странно не было, а начну я с конца. Вот такая программаOPTION BINARY   ; We want a binary file, not an HP48 one.ALIGN OFF       ; And we don't want auto alignement, as some                 ; data can be made of bytes instead of words.       LD  V0, 0     LD  V1, 0  LOOP:     LD  I,  LEFT    ; We draw a left line by default, as the random number                     ; is 0 or 1. If we suppose that it will be 1, we keep                     ; drawing the left line. If it is 0, we change register                     ; I to draw a right line.       RND V2, 1       ; Load in V2 a 0...1 random number       SE  V2, 1       ; It is 1 ? If yes, I still refers to the left line                     ; bitmap.       LD  I,  RIGHT   ; If not, we change I to make it refer the right line                     ; bitmap.       DRW V0, V1, 4   ; And we draw the bitmap at V0, V1.       ADD V0, 4       ; The next bitmap is 4 pixels right. So we update                     ; V0 to do so.       SE  V0, 64      ; If V0==64, we finished drawing a complete line, so we                     ; skip the jump to LOOP, as we have to update V1 too.       JP  LOOP        ; We did not draw a complete line ? So we continue !       LD  V0, 0       ; The first bitmap of each line is located 0, V1.       ADD V1, 4       ; We update V1. The next line is located 4 pixels doan.       SE  V1, 32      ; Have we drawn all the lines ? If yes, V1==32.     JP  LOOP        ; No ? So we continue !   FIN:    JP FIN      ; Infinite loop...   RIGHT:              ; 4*4 bitmap of the left line       DB $1.......     DB $.1......     DB $..1.....     DB $...1....   LEFT:               ; 4*4 bitmap of the right line                     ; And YES, it is like that...     DB $..1.....     DB $.1......     DB $1.......     DB $...1....   занимающая 38 байт и в скомпилированном виде выглядящая так

должна в конечном итоге выполниться в нашем эмуляторе и вывести на экран примерно такую картинку:

С концом покончили, переходим к немного нудной, но необходимой теории.

Архитектура
Итак, что же представляет собой игровая платформа CHIP-8? Владеющие английским языком могут ознакомиться с подробной статьей в википедии, а я же попробую пересказать основные моменты своими словами.

CHIP-8 – это интерпретируемый язык программирования, созданный в середине 70-х годов для игровых приставок COSMAC VIP и Telmac 1800. Программы, написанные и скомпилированные для CHIP-8, выполняются на самих приставках в виртуальных машинах. Ну, по современной аналогии это что-то вроде Java байт-кода. Я же вообще советую забыть на время создания эмулятора о том, что это интерпретируемый язык, и считать, что мы эмулируем железную платформу – некий процессор со своим набором команд. Далее, когда я буду говорить “приставка”, я буду подразумевать CHIP-8.

Наша приставка имеет память, процессор, устройство видео вывода, звук и конечно устройство ввода. Рассмотрим все компоненты подробнее:

Память

Приставка имеет 4Kb основной памяти (RAM). Память начинается со смещения 200h и заканчивается смещением FFFh соответственно. Почему память для программ начинается со смещения 200h? Все очень просто – первые 512 байт памяти в оригинальных приставках как раз занимает интерпретатор языка CHIP-8 в машинных кодах того процессора, на котором построена приставка.

Регистры

В CHIP-8 существует шестнадцать 8-битных регистров данных с именами V0… VF. Регистр VF отвечает за флаг переноса (carry flag) при операциях сложения/вычитания. Также в приставке имеется 16-битный адресный регистр I.

Стек

Стек используется для сохранения адреса возврата, когда завершается выполнение подпрограммы. У оригинальной версии приставки размер стека составляет 48 байт, что соответствует двенадцати уровням вложения подпрограмм. Поскольку мы не ограничены в ресурсах, мы будем использовать 16 уровней вложений. Так делает большинство CHIP-8 эмуляторов.

Таймеры

В приставке присутствуют два 8-битных таймера, они оба уменьшаются с частотой 60 Гц, пока не достигнут нуля. Delay timer: Этот таймер используется для различных задержек в играх, его значение можно читать/изменять с помощью команд. Sound timer: Когда значение таймера отлично от нуля, выводится пищащий звук.

Устройство ввода

Ввод осуществляется с помощью 16 клавиш. В оригинальной приставке клавиши имеют коды от 0h до Fh.Если мы эмулируем на компьютере, то удобнее всего использовать правую NumPad часть клавиатуры, ту, где находятся цифры 0-9 и NumLock. Клавиши '8', '4', '6', и '2' обычно используются для перемещения, хотя и не всегда так. Это зависит от игры.

Графика и звук

В нашей приставке разрешение экрана 64x32 пикселя, один цвет (монохром). Вывод реализован с помощью спрайтов, которые всегда имеют ширину 8 пикселей и могут иметь длину от 1 до 15 пикселей. Если при рисовании спрайт накладывается на другой спрайт, то в точке наложения цвет инвертируется, а регистр VF (carry flag) принимает значение 1. Иначе он принимает значение 0.

Как выше уже было замечено, играется противный пищащий звук, если значение Sound timer отлично от нуля. Я думаю, звук мы реализовывать вообще не будем, не люблю эти бипы.

Команды

Наш процессор (CHIP-8 на самом деле) имеет ровно 35 команд, каждая команда всегда имеет длину два байта. Здесь таблицу команд не буду перепечатывать, она есть в википедии. Можно разобрать несколько примеров оттуда, например: 00E0 Clears the screen. – когда встретим в коде 00E0, просто очистим экран. 6XNN Sets VX to NN. – установить регистр VX в значение NN. Например, если встретили команду 635A, значит нужно в регистр V3 записать значение 5Ah.

Практика
Из рассмотренного выше видно, что эта платформа как нельзя лучше подходит для начала изучения принципов работы эмуляторов. Здесь у нас отсутствуют хитрые маскируемые и не маскированные прерывания, нет кучи периферии с портами ввода-вывода, нет сложных таймеров и так далее. Знай, читай себе команды по два байта из файла, сравнивай их с опкодами да и выполняй что требуется. Да и команд то всего ничего – 35 штук. Есть и подводные камни, а куда без них? Ну что ж, давайте начнем. А начнем мы пожалуй с памяти.

Понятно, что первым делом при запуске эмулятора мы должны проинициализировать нашу виртуальную машину. То есть очистить память, стек, регистры и видеопамять. Как я уже писал выше, смещение, по которому мы будем загружать нашу эмулируемую программу равно 200h. До этого, то есть со смещения 000h до 1FFh, должен находиться оригинальный интерпретатор. В нем, помимо всего прочего, присутствует маленький шрифт, который начинается со смещения 000h и до 050h и занимает 80 байт. Его можно увидеть в исходных кодах моего эмулятора. Да, прошу прощения за свой французский Delphi, но программирую я на нем, не обессудьте. Для простоты я создал такую структуру:

      Display : Array [0..64*32-1] of Byte; //video memory       Memory : Array [0..4095] of Byte; //RAM memory       Stack  : Array [0..15] of Word; //stack       Registers : Array [0..15] of Byte; //registers       rI  : Word = $200;      // I register       SP  : Byte = 0;         // stack counter       PC  : Word = $200;      // mem offset counter       delay_timer : Byte = 255; // delay timer;       sound_timer : Byte = 255; // sound timer;  

Итак, в начале мы заполняем нулями все массивы, затем копируем шрифт (Font: array [1..80] of byte) в массив Memory начиная с нуля и инициализируем все значения:

FillChar(Memory,4096,0); // очищаем основную память Move(Font,Memory,80); // копируем в нее шрифт по смещению 000h FillChar(Stack,16,0); // очищаем стек FillChar(Registers,16,0); // сбрасываем регистры в ноль   rI  := $200;      // адресный регистр I на начало программы PC  := $200;      // смещение массива   SP  := 0;         // счетчик стека delay_timer := 0; // таймеры в нули sound_timer := 0;  

Теперь все подготовлено, можно прочитать в память эмулируемую программу по смещению 200h и браться за интерпретацию кодов. Здесь придется немножко вспомнить, кто такие биты, и как их извлекать из байтов и слов (word). Для простоты я создал процедуру ExecuteOpcode(opcode: word), в которую передается опкод из двух байт, интерпретируется и выполняется. Чтобы понять смысл, можно сверятся с таблицей команд из википедии.

Procedure ExecuteOpcode(opcode :word);Begin     case (op_code and $F000) shr 12 of  // выделяем из опкода первые 4 бита         $00: Begin // опкод начался с нуля                   Case op_code and $00FF of                         // Это у нас опкод 00E0 - очистка экрана                         $E0:  Begin                                     //Делаем дела, то есть  тупо очищаем экран                                     exit;                               End;                         // А это - 00EE - выход из процедуры                         $EE:  Begin                                     // Восстанавливаем из стека адрес, прыгаем на него                                     exit;                               End;                   End;                   // А сюда попадем, если опкод начался с нуля, но не закончился ни E0, ни EE                   // Поэтому либо трапаемся, либо выводим сообщение Invalid Opcode                   exit;              End; //конец проверка на нулевой опкод         $01: Begin // первые четыре бита опкода равно 1 (опкод начался с единицы)                    // Это JMP, jump. Прыгаем на нужный адрес                   PC := op_code and $0FFF;                   exit;              End;         $02: Begin // первые четыре бита опкода равны 2 (опкод начался с двойки)                    // Вызываем подпрограмму.                    // увеличиваем указатель стека                    // заносим в стек текущий адрес                    // и пыгаем на подпрограмму              End;        //        // Так продолжается до опкода, который начинается с 7.        //           $08: Begin  // опкод начался с 8. Здесь нужно смотреть на 4 последних бита                case op_code and $000F of  // последние 4 бита опкода                 // mov vx, vy                 $00: Begin                         // Занесем в регистр VX значение VY                         exit;                      End;                 // or vx, vy                 $01: Begin                         // VX = VX or VY                         exit;                      End;                 //                 // так продолжается до 0E                 //                  End; // конец проверки последних 4 бит опкода                // сюда попадаем, если Invalid Opcode               exit;             End; // конец проверки, если опкод начался на 8   И так далее, думаю идея должна быть более-менее понятна. Во время написания интерпретатора можно пользоваться заглушками для каких-то команд. Теперь, когда мы реализуем основные команды процессора, останется сделать вывод на экран и реализовать устройство ввода. За вывод на экран отвечает команда DXYN. В регистре VX находится координата X, в регистре VY находится координата Y с которых мы должны начать рисовать спрайт. Адресный регистр I в это время указывает на битовый образ спрайта. Я не буду прилагать реализацию рисования графики, думаю тут не должно возникнуть сложностей, тем более всегда можно посмотреть в исходнике в конце данного поста. Так же и с клавиатурой.
Заключение

Конечно все детали реализации я не смог упомянуть в данной заметке. Цель — просто натолкнуть на мысль и показать разбор опкодов. Если кому-то интересно, можно посмотреть мою реализацию эмулятора на Delphi, или найти другие реализации эмуляторов в интернете. Как модно говорить, тысячи их. Начиная от Visual Basic и заканчивая железными решениями. Заранее прошу прощения за мой код, я не приводил его в порядок — вылил как есть. Основной интересный файл там — hchip.pas, в нем реализована вся эмуляция.

Так же существует неплохой англоговорящий форум EmuTalk, в котором специально выделена ветка посвященная эмуляции Chip-8.

Страница, на которой можно скачать наверное один из самых лучших эмуляторов chip8 и игры под него.

Да и вообще, по запросу в гугле «chip-8» можно найти все что нужно.

Что еще можно сделать? Можно немного модифицировать наш эмулятор для поддержки Super chip-8 инструкций и спрайтов. Да много еще чего можно.

Удачного всем дня.

habr.com

Что такое эмуляторы приставок?

До широкого распространения домашних компьютеров приставки были практически единственным средством ощутить всю прелесть видеоигр. Поколение людей, чьё детство неразрывно связано с такими известными геймерскими устройствами, как NES, Sega и другими, до сих пор считают игры того времени одними из лучших. Что такое эмуляторы? Это специальные программы, позволяющие играть в старые приставочные игры на современных компьютерах.что такое эмуляторы

Если вы тоже неравнодушны к старым добрым образцам в 2D-измерении, то эта статья для вас. Особенно если у вас на антресолях не пылится пара приставок от разных фирм производителей. Осталось узнать о том, что такое эмуляторы, и научиться ими пользоваться.

Программ-эмуляторов написано великое множество, ваша задача состоит в том, чтобы найти подходящую. Искать лучше, опираясь на отзывы и оценки знающих людей, так как качество эмуляторов можно определить только после использования оных на практике. Лучше брать не комбайны «100 в 1», а специализированные программы, заточенные под работу с конкретным семейством приставок.

Чем хороши эмуляторы игровых приставок, так это тем, что вам даже не придётся вставать из-за компьютера. Установив их, вы в пару щелчков сможете открыть любимую игру и вспомнить детство. Современные машины обладают достаточной мощностью, чтобы процесс эмуляции никак не отражался на  динамике.эмуляторы sega

Кроме программы желательно иметь джойстик, подойдёт даже геймпад от современных игровых консолей. Условие это не обязательное, но поверьте: на клавиатуре играть в подобные игры крайне неудобно. Эмуляторы sega вообще сопровождаются текстовым файлом, где черным по белому (пусть и на другом языке) честно предупреждают о потребности в джойстике для комфортного времяпрепровождения.

На процедуре установки программы мучения не заканчиваются. Даже если вы подобрали правильную версию эмулятора, необходимо его ещё и настроить. Качество звука, параметры изображения и цветопередачи нуждаются в обязательной подгонке под желаемое качество. В противном случае даже любимая игра, в которую вы рубились с утра до ночи, может показаться вам отвратительной подделкой. Только после тщательной настройки можно наслаждаться процессом.

Так что такое эмуляторы? Мечта детства или мешок ненужных проблем и разочарований? Ответ зависит от ваших познаний в компьютерах. Если вы едва способны запустить стандартную игру для ПК и на этом ваши знания заканчиваются, то лучше обойдите эмуляторы стороной, ибо вас ждёт разочарование.

Если же вы не только ярый фанат приставочных игр, но и способны со знанием дела редактировать файлы конфигурации и не боитесь трудностей в борьбе с багами и тормозами, то смело скачивайте эмулятор и запускайте любимые игры.эмуляторы игровых приставокС другой стороны, трудно найти фаната приставок, который не знает о том, что такое эмуляторы. Проблемы возникают только у тех, кто не застал время приставок и хочет наверстать упущенное. Другое дело, что все игры 1990-х очень сильно отличаются от современных игр AAA класса, так что любители графики не найдут в них для себя ничего полезного и только зря потеряют время.

fb.ru


 

..:::Новинки:::..

Windows Commander 5.11 Свежая версия.

Новая версия
IrfanView 3.75 (рус)

Обновление текстового редактора TextEd, уже 1.75a

System mechanic 3.7f
Новая версия

Обновление плагинов для WC, смотрим :-)

Весь Winamp
Посетите новый сайт.

WinRaR 3.00
Релиз уже здесь

PowerDesk 4.0 free
Просто - напросто сильный upgrade проводника.

..:::Счетчики:::..