Эмуляторы денди
Содержание:
- Эмулятор для PS1 ePSXe 1.7 + Все что ему нужно [2008, Emulator]
- Emulators[edit]
- Эмулятор Денди для ПК — Nestopia
- Picture Processing Unit
- MOS 6502: регистры, режимы адресации и инструкции
- Emulation issues[edit]
- Гже скачать эмулятор Денди на компьютер?
- Пример кода PPU для отрисовки
- FCEUX
- Маппер
- BIOS
- Игры по тегам
Эмулятор для PS1 ePSXe 1.7 + Все что ему нужно [2008, Emulator]
Год выпуска: 2008Жанр: EmulatorРазработчик: http://epsxe.com/Издательство: http://epsxe.com/ devsite: http://epsxe.com/Язык интерфейса: ЕngПлатформа: Mac OS X 10.5.x, Linux Debian Sarge, WindowsСистемные требования: Windows 98-vista 100 hz 16 ram 32 mb videoОписание: Хотите поиграть в Tekken 3 или Gran Turismo 2, но не хотите/не можете купить для этого PlayStation? Тогда вам определенно нужен ePSXe. В настоящее время это лучший эмулятор знаменитой приставки от Sony. Поддерживаются практически все известные игры, в том числе и те, которые ранее не удавалось запустить на РС (Final Fantasy …
Emulators[edit]
Name | Platform(s) | Latest Version | FDS | Libretro Core | Accuracy | Active | Recommended |
---|---|---|---|---|---|---|---|
PC / x86 | |||||||
Mesen | ✓ | ✓ | Cycle | ✗ | ✓ | ||
Nestopia UE | ✓ | ✓ | Cycle | ✓ | ✓ | ||
puNES | ✓ | ✗ | Cycle | ✓ | ✓ | ||
✓ | ✗ | High | ✓ | ✓ | |||
RockNES | ✓ | ✗ | High | ✓ | ✓ | ||
3dSen | ✗ | ✗ | ? | ✓ | ~ | ||
FinalBurn Neo | ✓ | ✓ | ? | ✓ | ✗ | ||
Nintendulator | ✗ | ✗ | Cycle | ✓ | ✗ | ||
Nintaco | ✓ | ✗ | Cycle | ✓ | ✗ | ||
My Nes | ✗ | ✗ | Mid | ✓ | ✗ | ||
BizHawk | ✓ | ✗ | Cycle | ✓ | ✗ | ||
higan | ✓ | ✓ (as bsnes v083) | Cycle | ✓ | ✗ | ||
✗ | ✗ | Cycle | ~ | ✗ | |||
✗ | ✗ | Cycle | ✗ | ✗ | |||
nemulator | ✗ | ✗ | High | ✓ | ✗ | ||
cxNES | ✓ | ✗ | Mid | ✗ | ✗ | ||
FakeNES GT | 0.59 b3 | ✓ | ✗ | Mid | ✗ | ✗ | |
FCEUX | ✓ | ✗ | Mid | ✓ | ✗ | ||
✗ | ✓ | Mid | ✓ (libretro) | ✗ | |||
MAME | ✓ | ✓ | Mid | ✓ | ✗ | ||
HDNes | ✗ | ✗ | Low | ✗ | ✗ | ||
Jnes | ✓ | ✗ | Low | ✓ | ✗ | ||
NESticle | ✗ | ✗ | Low | ✗ | ✗ | ||
QuickNES | ✗ | ✓ | Low | ✗ | ✗ | ||
VirtuaNES | ~ | ✗ | Low | ✗ | ✗ | ||
✗ | ✗ | Low | ✗ | ✗ | |||
✗ | ✗ | Low | ✗ | ✗ | |||
Nescala | ✗ | ✗ | ? | ✓ | ✗ | ||
✗ | ✗ | ? | ✓ | ✗ | |||
Mobile / ARM | |||||||
Nestopia | 1.44 | ✓ | ✓ | High | ? | ✓ | |
GPFCE | ✓ | ✗ | High | ✗ | ✓ | ||
Nostalgia.NES | ✓ | ✗ | High | ✓ | ✗ | ||
Jnes | ✓ | ✗ | Low | ✓ | ✗ | ||
VNES | ? | ✗ | Low | ✗ | ✗ | ||
Consoles | |||||||
Switch Online | 2.3.0 | ✓ | ✗ | High | ✓ | ✓ | |
NesterJ | ✓ | ✗ | Mid | ? | ✓ | ||
Virtual Console | N/A | ✓ | ✗ | Mid | ? | ✓ | |
Nestopia | 1.44 | ✓ | ✓ | Mid | ? | ✓ | |
FCE Ultra GX | ✓ | ✗ | Mid | ? | ✓ | ||
✗ | ✗ | ? | ✗ | ✗ | |||
NESBox | ✗ | ✗ | ? | ✓ | ✗ | ||
NesterDC SENesterDCNester DS +Nester3D | 1.1 (NesterDC SE)1.7 (NesterDC)0.3.9 (Nester DS +)0.1.2 (Nester3D, Coming Soon) | ✓ | ✓ | Mid | ✓ | ✗ | |
VirtuaNES for 3DS | ✓ | ✗ | ? | ✓ | ✗ | ||
Project Nested | ? | ✗ | Low | ✓ | ✗ | ||
NeMul | ? | ? | ✗ | Low | ✗ | ✗ |
- ↑ Only available as a libretro core (e.g. RetroArch).
- AoEX is based on NesterJ 1.12 Plus 0.61 RM, so it includes features like rewind, cheat code support, rotated/mirrored screen, sepia palette, support for rare mappers (the pirate bootleg FF7 works on it), etc. Its compatibility is inferior to 1.13 beta 2.
- Coming Soon, Based from NesterJ.
Comparisonsedit
- Mesen is the most accurate NES emulator according to currently established NES test ROM suites. It should be the emulator of choice for those who desire the utmost accuracy. Mesen is also very user-friendly and supports a lot of features that other emulators are missing such as; HD packs, netplay, auto-updating, good built-in filters, both .zip and goodmerged file loading, etc.
- puNES is the second most accurate NES/FDS emulator according to a separate test battery run by the TASVideos community. It should be noted that puNES used to have one mapper that Mesen didn’t: 116, which allows games like Kart Fighter and Somari to be supported. This has since been added to Mesen.
- Nestopia also has a high ranking in those same tests. Even so, Nestopia has issues with The Young Indiana Jones Chronicles and doesn’t display the status bar in Mickey’s Safari in Letterland correctly (among other problems). Nestopia Undead Edition is a fork of Nestopia meant to keep it alive and fix the aforementioned bugs. This version is generally recommended over vanilla. Even the libretro core for Nestopia is in the Undead Edition.
- Nintendulator and My Nes also have a fairly high ranking in those tests.
- FCEUX scores rather low in these tests, despite being a recommended emulator on TAS Videos. The New PPU is more accurate than the Old PPU, thankfully. The emulator is still useful, though, thanks to its robust Lua scripting and incorporating FCEUmm into its feature set.
- VirtuaNES also scores quite low in the tests, but in turn supports several obscure that are not available on other emulators.
- For official emulation, there is Nintendo’s own Virtual Console or Nintendo Switch Online. The Wii has a significantly larger library of NES games to choose from than the 3DS or Wii U, especially from third-party publishers.
There are many other NES emulators not listed here, as the NES has more emulators than any other system (new ones are started all the time). Only those that are well known or stand out in some way are covered here.
Эмулятор Денди для ПК — Nestopia
Прекрасный эмулятор «Денди». Имеет необходимое число параметров настройки. К тому же поддерживает русский язык. Для установки русского языка: options — Language . После чего потребуется перезапуск эмулятора.
Как запустить игру Денди на ПК.
Игра Денди на компьютере представляет собой небольшой по размеру файл с одним из расширений: .nes .unf .fds .nsf . Открываются игры просто: Файл — Открыть (выбрать нужный файл). Но благодаря эмулятору Nestopia есть гораздо более удобный способ запуска игр. Рекомендуется все игры которые у вас есть поместить в одну папку. Затем зайдите в окно настроек ( опции — настройки ) и проставьте галочки в поле — ассоциации файлов. Нажмите ОК. Эти данные будут занесены в реестр, и означать, что файлы с такими расширениями открываются эмулятором Денди. И Теперь, открыв папку с играми Денди в стандартном проводнике Windows вы увидите, что они красиво обозначены иконками картриджей. Для запуска игры сделайте двойной клик по любой выбранной игре и она сразу откроется в эмуляторе.
Настройка управления Эмулятора Nestopia.
Играть можно как с клавиатуры так и с геймпада. Для полного комфорта конечно рекомендуется последний. Настраивается управление очень просто: вкладка Опции — Управление. Откроется окно для назначения клавиш. Для клавиатуры по умолчанию имеются предустановки, но для геймпада кнопки нужно назначить. Окно имеет три области и выпадающий список:
- Устройство — это выбор устройства, для которого производится настройка.
- Клавиша — это список кнопок джойстика приставки.
- Назначение — здесь устанавливается соответствие кнопок джойстика Денди к клавиатуре или геймпаду.
- Джойстики — список найденных геймпадов.
- Алгоритм следующий: Выбираем устройство Джойстик 1. В качестве примера используем геймпад.
- Нажимаем кнопку Назначить всё. В соответствии списку Клавиша нажимаем кнопки на геймпаде.
- В качестве Джойстик 2 может быть также назначен другой геймпад (выбрать его из списка джойстики ) или клавиатура.
- После настройки нажимаем ОК.
Как улучшить графику Денди.
Так как изначально игры Денди имеют низкое разрешение, то играть на современных мониторах не очень хорошо (в смысле во весь экран). Но здесь приходит на помощь функции масштабирования. Заходим в опции-видео.В вкладке Фильтр выбираем один из фильтров. Рекомендуется либо ScaleX либо Hqx. Каждый фильтр имеет свои настройки. Устанавливайте максимальное масштабирование. Стоит заметить , что не для всех игр эти фильтры работают одинаково, на одних играх лучше работает ScaleX, на других Hqx, а некоторые лучше оставить в стандартном. Результат применения фильтра можно увидеть ниже.
Стандартный фильтр:После Применения фильтра Hqx ( масштабирование 4X ):Обратите внимание на линии облаков, гор, водопада
Сохранение
Эмулятор позволяет делать быстрые сохранения в любом месте игры. Сохранения производятся в так называемые слоты. Для того чтобы сохранить: Shift+ (клавиша от 0 до 9 ). Для загрузки сохранения: клавиша от 0 до 9 в зависимости от нужного слота.
Picture Processing Unit
Ключевую роль в отрисовке играет PPU — Picture Processing Unit. Именно благодаря ему у NES для своего времени была хорошая графика. 256 на 240 пикселей и палитра из 64 цветов прекрасно смотрелись на телевизорах того времени.
Если посчитать, то выйдет, что для хранения одного изображения на экране понадобится 45 Кбайт. Сейчас это значение выглядит смешно, но еще тридцать лет назад эта цифра была непосильна для консолей. Поэтому PPU достигает компромисса между эффективностью, памятью и качеством картинки.
Скриншот из Castlevania
Отрисовка фона
Весь экран можно разделить на 32 × 30 тайлов, каждый из которых — квадрат 8 × 8 пикселей. Четыре тайла составляют блок. Можно добавить разметку, чтобы лучше видеть структуру картинки.
Тайлы и блоки
Сетка темно-зеленая в случае с блоками и светло-зеленая для тайлов.
Все символы рисуются как пиксель-арт, в котором может быть только четыре цвета (2 бита на пиксель, 16 байт на тайл). Таким образом, все изображение занимает 15 Кбайт, тогда как PPU доступно только около 12 Кбайт.
Пример пиксель-арта |
Адрес | Назначение |
---|---|
$0000 — $0FFF | Таблица символов 0(CHR ROM) |
$1000 — $1FFF | Таблица символов 1(CHR ROM) |
$2000 — $23FF | Таблица имен 0 |
$2400 — $27FF | Таблица имен 1 |
$2800 — $2BFF | Таблица имен 2 |
$2C00 — $2FFF | Таблица имен 3 |
$3000 — $3EFF | Ссылки на $2000 — $2EFF |
$3F00 — $3F1F | Палитры |
Таблица имен
Для еще большей экономии места существуют таблицы имен и таблицы атрибутов. Каждый байт в таблице имен назначает, какой символ будет находиться в тайле, своеобразный индекс в таблице шаблонов. На одну таблицу имен уходит 960 байт в памяти PPU.
Скриншот с таблицей имен
Палитры
В NES есть внутренняя палитра из 64 цветов. Также есть восемь палитр (четыре для фона, четыре для спрайтов), состоящие из четырех цветов, один из которых — цвет фона. Создатель игр может менять эти палитры, чтобы добиться наилучшей картинки. Таким образом, в них хранятся индексы внутренней палитры NES.
Пример игровых палитр
В таблице атрибутов хранятся как раз индексы палитр. Каждый из этих индексов соответствует одному блоку, поэтому внутри одного блока можно использовать только четыре цвета. Благодаря этим особенностям игры на NES выглядят так, будто состоят из отдельных блоков, хотя во многих случаях разработчики игр умело обходят ограничения консоли.
За выбор палитры отвечает таблица атрибутов, последний компонент отрисовки.
Таблица атрибутов
Каждой таблице имен соответствует одна таблица атрибутов. Атрибуты занимают по два бита на блок и указывают на одну из четырех палитр, которую стоит использовать для отрисовки блока.
Скриншот с палитрами
Как вы заметили, в разных блоках расположены разные палитры, всего их четыре. Но разработчики научились умело скрывать это, чередуя палитры и тайлы. Так как на один атрибут уходит два бита, то на всю таблицу уходит не более 64 байт. Всего с учетом того, что NES имеет две таблицы шаблонов (или 512 символов), четыре таблицы имен и четыре таблицы атрибутов, в итоге занято около 12 Кбайт. Существенно меньше и намного более гибко!
Отрисовка спрайтов
Для того чтобы рисовать динамические объекты, существуют спрайты. Их отрисовка несильно отличается от отрисовки фона, но тут есть ряд особенностей.
PPU имеет отдельную память — OAM (object attribute memory), в которой находятся параметры разных спрайтов. Всего спрайтов может быть до 64, каждый спрайт занимает четыре байта. Они отвечают за индекс символа для отрисовки, позицию на экране (x, y), флаги. Во флагах находится номер палитры, флаг отражения по вертикали и горизонтали, а также приоритет спрайта.
Флаги отражения предназначены для простого отражения спрайта по вертикали и горизонтали. Это позволяет экономить на памяти для спрайтов и сохранить время процессора. Приоритет отвечает за то, какой спрайт должен быть отрисован, если спрайты перекрываются. Часто используются комбинации из нескольких спрайтов для отрисовки больших объектов — например, персонажей.
Простой спрайт и комбинация спрайтов |
MOS 6502: регистры, режимы адресации и инструкции
NES неспроста снискала мировую популярность. Разработчики оборудования пытались создать наиболее производительные решения, применяя разного рода уловки. Разработчики игр досконально изучали особенности платформы и находили новые трюки, чтобы создать красивую картинку. Порой даже очень красивую картинку для своего времени.
Как и в случае с компьютером, основная логика программ выполняется на центральном процессоре приставки. Поэтому лучше всего начинать написание эмулятора именно с него. В NES установлен восьмибитный процессор MOS 6502 с комплексным набором инструкций (то есть как у Intel, а не как у ARM или PowerPC).
У процессора MOS 6502 шесть регистров, один из которых недоступен пользователю:
- A — регистр, куда складываются результаты всех арифметических операций;
- X, Y — индексные регистры;
- SP — указатель на вершину стека;
- P — регистр флагов, в x86 EFLAGS выполняет ту же функцию;
- PC — счетчик команд, регистр, который указывает, какую команду выполнять следующей. Этот регистр недоступен напрямую.
Режимов адресации великое множество, и узнать о них будет полезно и за рамками этой статьи.
Название | Определение | Пример |
---|---|---|
Аккумуляторный | Операндом инструкции является аккумулятор | Арифметический сдвиг влево |
Предполагаемый | Операнд явно указывается инструкцией | Перенос значения A в X |
Немедленный | Операнд дается в инструкции | Загрузка значения в A |
По абсолютному адресу | Операндом является значение по абсолютному адресу | Загрузка значения в X |
По адресу в нулевой странице | По абсолютному адресу первых 256 байт | Загрузка значения в Y |
Относительный | Адрес задается относительно PC | Ветвление, если предыдущий операнд равен 0 |
Всего у нашего процессора 256 инструкций, из которых 78 — это настоящие инструкции без учета разных режимов адресации. Сразу сократим работу: мы не будем писать обработчик для всех 256 инструкций. Напишем обработчики для всех режимов адресации и для 78 инструкций.
Начнем с кода для режима адресации нулевой страницы.
1 |
void addr_mode_zp() { cpu_addr=ram_getb(reg.PC); reg.PC++; } |
В данном случае инструкция состоит из двух байт: один — это сама инструкция, второй — адрес операнда инструкции. Функция возвращает значения байта в RAM по адресу.
А вот пример кода для инструкции .
1 |
void op_stx() { ram_setb(cpu_addr,reg.X); } |
Функция заменяет значение байта в RAM по адресу (операнд инструкции) на значение регистра .
Таблица инструкций
Также не стоит забывать, что MOS 6502 — мультицикличный процессор и разные инструкции могут выполняться разное время. Поэтому, чтобы выверить точное время выполнения, нужно знать, за сколько циклов выполняется инструкция.
Emulation issues[edit]
Mappersedit
A key difference between many emulators nowadays is how many mappers they support.
- No Mapper: Supported on every emulator even official Nintendo emulators.
- Official Mappers (UNROM, AOROM, MMC1-6): Most emulators, as well as Nintendo’s Virtual Console (but not their GBA emulators), will cover these.
- Third Party Mappers (Various: e.g. Konami’s VRC6/VRC7) While officially licensed by Nintendo, they were not allowed outside Japan. As a result, for their Western releases, many games that took advantage of their features (advanced ROM mapping, extra sound channels) were reprogrammed significantly and shipped on the official mappers, often with simplified soundtracks. A lot of fan emulators worth their salt will cover these. With those, you cover the entire officially licensed library.
- Unlicensed Mappers: Mostly used by pirate cartridges, often long past the console’s official commercial lifespan. Only the more accurate emulators (Mesen, FCEUX) will even bother covering them in a whack-a-mole quest for every new one discovered to this very day. If you’re not interested in unlicensed Chinese or Russian bootlegs or newer unofficial NES demakes, it isn’t a problem.
The NES ROM information isn’t sufficient to describe the cartridge and emulate it, so emulators have to include the layout and behavior of these mappers in their code, while the ROM header tells the emulator which mapper to choose. So unlike with other consoles, no matter how accurate a given NES emulator will get, it will still never be able to run newly discovered ROM dumps from cartridges that used a so-far unknown mapper. Thus, Unlicensed NES support will be inevitably incomplete and a constant work-in-progress, hence claims some emulators are «inaccurate».
Related to this issue: This is why most emulators won’t run unheadered NES ROMs. Newer versions of Nestopia can open those, but they’re handled in a slightly different way: the information that would have been included in the iNES header is instead provided in emulator configuration files that get summoned as long as the ROM’s hash matches exactly the No-Intro dump of that given game (which is inconvenient for romhacks).
QD FDS Supportedit
Games dumped off the Famicom Disc System come into two major types:
- .fds format: Most common format. Ubiquitous in ROM sets (GoodSets, No-Intro). Omits some checksum data.
- .qd format (stands for QuickDisk): Only ever used in official Nintendo re-releases. Almost identical to fds, but a full dump with checksum data. May omit padding.
The checksum data in question would be checked at BIOS startup to verify the integrity of the image and whether it was tampered with, in which case it will throw an anti-piracy error. As of now, no NES emulators support the alternate more complete dumps, as well as fudging that check’s result to always return a negative. To emulate a .qd image, stripping the checksum data with a custom script is needed.
Overscanedit
- Main article: Overscan
Example of faulty visuals that are exposed when no overscan is cropped. Note the blank blue area to the left and the green garbage on the right. On NTSC CRT TVs, these areas may or may not be visible
Several NES games need their overscan to be cropped to look proper. Unfortunately, there is no standard level of overcropping. Many games require different levels for best results. For example, Super Mario Bros. 3 requires quite a bit of cropping, however, the same level of cropping will obscure the letters of the status bar in Castlevania games.
Color Paletteedit
- Main article: Famicom Color Palette
Unlike consoles such as the SNES, which natively generate their image in pure RGB, the Famicom normally generates and outputs an encoded NTSC video signal. This must then be decoded by the TV’s built-in NTSC decoder, which means the resulting color palette often varies depending on the display’s decoder. For this reason, NES games will appear to have different colors on different TV sets. To properly emulate this part of the NES experience, many Famicom emulators have a variety of different palettes to choose from.
The 3DS and Wii U versions of Virtual Console use extremely dark color palettes. This is apparently not an accuracy issue, but rather an anti-epilepsy measure. For the Nintendo Switch Online service, the games were directly edited to remove seizure-inducing patterns, allowing it to use a normal palette.
Гже скачать эмулятор Денди на компьютер?
Наш хит-парад начинает эмулятор Dendy на компьютер Jnes.
Это прекрасная программа для запуска игр от Нинтендо. Благодаря удачным программным реализациям, эмулятор Jnes отлично передает звук и картинку игр. Вам будет очень тяжело найти разницу между эмулятором и оригиналом. Приятным бонусом для пользователей является возможность настраивать звук и управление. Также наверняка вам придется по вкусу русифицированный интерфейс.
Не менее привлекательной функцией программы Jnes является возможность сохранения игрового прогресса. Само приложение практически не нагружает систему, поэтому может работать даже на самом старом Пентиуме. Эмулятор денди на компьютер Jnes определенно понравится вам!
Не менее прекрасным вариантом является и Nestopia, который идеально подходит для запуска образов игр Нинтендо. Возвращайтесь в культовый восьмибитный мир и просто наслаждайтесь.
Эмулятор имеет возможность настройки графики (яркость, контрастность, разрешение экрана). Вдобавок есть и встроенные фильтры, которые значительно улучшают картинку.
Если хотите запечатлеть самые памятные моменты во время игры через эмулятор, то Nestopia для вас! Ведь в этой программе есть функция скриншотов и даже записи видео со звуком.
Скачать эмулятор денди на компьютер Nestopia вы можете на официальном сайте разработчика.
Известно, что чем проще, тем лучше. Именно этим руководствовались создатели эмулятора VirtuaNES.
Их детище, действительно, получилось и простым, и многофункциональным. Практически все игры от компании Нинтендо без всяких проблем запускаются на VirtuaNES. А гибкая система настроек, возможность сохранения игрового прогресса и запись видео лишь усиливают впечатление от эмулятора. Если хотите использовать русскую версию программы, то скачивайте VirtuaNES на официальном сайте разработчиков.
Также программа VirtuaNES приятно удивляет пользовательским интерфейсом. Создатели постарались на славу и пользователям доступны широкие настройки управления. Есть и возможность настройки горячих клавиш, что весьма пригодится во время захватывающих игр.
Эмулятор денди на компьютер UberNES хоть и замыкает наш список, но аутсайдером он являться не может.
Ведь это один из самых ярких представителей среди своих собратьев. Разработчики решили утереть нос конкурентам и создали невероятно функциональный эмулятор игр компании NES. UberNES умеет и запускать все игры денди, и обладает встроенным редактором видео, и напичкан целой кучей полезных инструментов.
Помимо этого, UberNES весьма удобен и для игр – имеется полный список всех игр с кратким описанием каждой из них. Нужно лишь раз создать библиотеку с играми, чтобы она всегда была в эмуляторе. Вам остается только выбирать любимую игру и наслаждаться процессом!
Сегодня мы постарались собрать самые лучшие эмуляторы денди на компьютер. Конечно, список может быть более внушительным, но чтобы вспомнить молодость не нужно слишком много программ. Выбирайте любую из нашего списка и вперед. К восьмибитным приключениям!
Пример кода PPU для отрисовки
PPU отрисовывает линии по очереди. Так будет выглядеть код для отрисовки линии для фона.
1 |
void ppu_draw_tile_line(inttile,intscreen_x,intscreen_y,intny,intpal) { uint8_t low,high; inti,clr; low=ppu_getb(tile+ny%8); high=ppu_getb(tile+ny%8+8); for(i=;i<8;i++){ intclr0,clr1; if(scr_x+i<||scr_x+i>255) continue; clr0=(high>>(7-i))& 1; clr1=(low>>(7-i))& 1; clr=(clr0<<1)|clr1; set_pixel(screen_y,screen_x+i,ppu_getb(pal+clr)); } } ppu_draw_bg_line() { intx,y,nx,ny; intscreen_x,screen_y; uint16_t patt,name,name_right,attrib_left,attrib_right; screen_y=ppu.scanline; y=ppu.PPUSCROLL_Y+ppu.scanline; ny=y%240; patt=ppu_bg_patt_tbl(); name_left=ppu_get_name_tbl_left(ppu.PPUSCROLL_X,y); name_right=ppu_get_name_tbl_right(ppu.PPUSCROLL_X,y); attrib_left=name_left+0x3C0; attrib_right=name_right+0x3C0; for(screen_x=-ppu.PPUSCROLL_X%8;screen_x<256;screen_x+=8){ uint16_t name,attrib,pal; inttile,tile_idx; x=screen_x+ppu.PPUSCROLL_X; nx=x%256; if(x<) continue; if(x<256){ name=name_left; attrib=attrib_left; }else{ name=name_right; attrib=attrib_right; } tile_idx=ppu_getb(name+(ny>>3)*32+(nx>>3)); tile=patt+tile_idx *16; pal=attrib+(ny>>5)*8+(nx>>5); pal=ppu_getb(pal); if(ny%32>=16) pal>>=4; if(nx%32>=16) pal>>=2; pal=0x3f00+(pal%4)*4; ppu_draw_tile_line(tile,screen_x,screen_y,ny,pal); } } |
На одном экране может присутствовать больше одной таблицы имен. Поэтому в коде нужно учитывать и это.
Две таблицы имен на экране
Функция получает на вход адрес тайла, координаты, по которым он должен появиться, номер строки и палитру. На выходе она отрисовывает одну из линий этого тайла. Функция отвечает за получение байта памяти из PPU.
В функции происходит непосредственная отрисовка одной линии заднего вида. Функция проходит по всем тайлам и отрисовывает их с учетом скроллинга. Для этого она в первую очередь определяет, какую таблицу имен использовать. Она также находит индекс тайла в таблице имен и его адрес в таблице шаблонов. После этого функция находит номер палитры в таблице атрибутов, а позже и адрес самой палитры.
FCEUX
FCEUX — это эмулятор консольных игр, который поддерживает такие игровые консоли, как Nintendo Entertainment System (NES / Dendy), Nintendo Famicom и Famicom Disk System (FDS). Он в равной степени поддерживает, как европейскую систему аналогового телевещания PAL, так и разработанную в Америке систему NTSC. Эмулятор может напрямую работать со средой исполнения Windows, но также есть и кроссплатформенная версия основанная на библиотеке SDL.
FCEUX это эволюция ранее созданного эмулятора FCE Ultra. С течением времени FCE Ultra поделился на множество независимых ветвей разработки. Разработчики FCEUX решили объединить отдельные элементы FCE Ultra, FCE rerecording, FCEUXD, FCEUXDSP, FCEUXDSP CE, FCEU и FCEU-mm в одном проекте.
Основная идея, которая стоит за FCEUX, это создание максимально точного эмулятора, который бы обладал самыми интересными функциями для казуальных игроков, но при этом предоставлял бы продвинутым пользователям расширенный функционал.
К числе функций FCEUX относятся:
- полная эмуляция звука (все пять каналов)
- поддержка до четырех контроллеров
- поддержка пистолетов
- эмуляция GameGenie
- поддержка заархивированных ROM-файлов (PKZIP, gzip)
- поддержка сетевой игры по TCP/IP
Технически подкованные игроки вероятно порадуются наличию инструментов предназначенных для отладки, взлома ромов, создания карт и так далее. Также эмулятор поддерживает скриптинг на языке Lua.
Маппер
Маппер – это специальный встроенный в картридж чип, используемый для управления памятью. Они очень широко использовались в картриджах для Dendy. Мапперы позволяют слегка расширить возможности консоли для реализации в играх тех или иных специальных эффектов. Часто мапперы использовались в пиратских картриджах для реализации меню (картриджи типа 4 игры в 1, 100 в 1 и т.д.). Но их использовали не только пираты – многие уважаемые компании, в частности, Konami и Nintendo, часто ставили в свои картриджи мапперы для улучшения графики и звука. Один и тот же маппер мог использоваться в нескольких играх, но некоторые из них были созданы для конкретных игр. Например, для игры Virtua Racing компания Sega разработала специальный чип для реализации векторной графики
Из-за отсутствия критически важного файла для игры до сих пор нет эмулятора (хотя она была переиздана для Nintendo Switch в серии Sega Ages). Поэтому чем больше мапперов поддерживает эмулятор, тем лучше его совместимость с разными играми
BIOS
BIOS расшифровывается как Basic Input Output System» – базовая система ввода-вывода. Это программа, записанная в постоянной памяти устройства, используемая для управления консолью или игровым автоматом. Программисты эмуляторов не эмулируют саму BIOS, потому что ее можно скопировать из оригинального устройства уже в готовой форме. Следовательно, в некоторых эмуляторах вам может потребоваться BIOS самой системы. Хотя это характерно только для новых эмуляторов – рано или поздно автор эмулятора осознает, что не стоит заставлять вас качать дополнительный файл, если вам нужна непосредственная интеграция BIOS в эмулятор, а преимущества таких систем не очень значительны. В любом случае, просто имейте в виду, что для эмуляции некоторых консолей может потребоваться BIOS.
Игры по тегам
обучение поле чудес драка рыбалка ходилка на одном месте ролики настольная игра скролл-шутер сборники дебильные прокрутка выбор бизнес пинг понг гонки футбольные древность пожар брокер машины футуристические стрельба по экрану космос полиция хоккей арифметика детские аля тетрис тамагочи замок вид сверху необычные не работает бездорожье танцы вождение охота монополия карате танки сумо современные игры разное кон-фу квест световой пистолет рыцарь сборник игр бокс дзюдо боевик избей их всех кун-фу природа спорт казино юмор шпион ребус птицы уличная драка магия 3D джойстик телешоу животные президент пятнашки бейсбол самолеты дракон игравой автомат RPG солдатик женщина монстры роботы тест от третьего лица традиционные олимпийские игры клавиатура уника шашки fantasy коньки маджонг картридж реслинг комар скачки банда улица крикет реального времени игрушки 2D пошаговая стратегия супергерой военные игры панда воин ужасы тренажер гольф фентейзи обучающие инопланетянен ковбой скейтборд логические ниндзя разные покемон музыка караоке тетрис комнатные игры пистолет стрельба динозавры бильярд prg дисней борьба шоу мотокросс лабиринт регби космическая стрелялка велосипед сега консольные RPG приключение баскетбол драки квесты пешком домино миссия подводная лодка бродилка подгонка стратегия тв пляж цирк космический корабль ставки сноуборд формула 1 самурай волейбол рисовать море газета альтернативные автомобиль шахматы викторина футбол реактивные самолеты леталка пазл вампиры лодки симулятор грузовик основные игры путешествие слова научно-фантастические подводный мир теннис космонавт бои на машинах ролевые игры лыжи софтбол карты катеры от первого лица магнат мечи война поиск предметов экшн набор программ бои серийные авто мультфильм пинбол на русском языке лошади боулинг полет эмулятор экономические стратегии вертолет один на один вирус аркада самолет мотоциклы головоломка слот гарри