Skip to content

Latest commit

 

History

History

DingooNES

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	DingooNES v1.6 for Native OS by lion_rsm
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



Что это?
~~~~~~~~
DingooNES - это эмулятор 8-битной игровой консоли Nintendo Entertainment System / Famicom / Dendy (далее просто NES) для портативной игровой консоли Dingoo A320 (SIM-версия для Native OS). DingooNES является частью пакета эмуляторов "Dingoo Emulation Pack by lion_rsm".



Чем этот эмулятор лучше аналогов?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
На данный момент под Dingoo Native OS существует только стандартный эмулятор NES - NES.SIM. Эмулятор DingooNES обладает рядом преимуществ перед своим аналогом:
	- унифицированный пользовательский интерфейс с удобным и интуитивно понятным управлением;
	- высокая скорость эмуляции, превосходная совместимость с играми;
	- функция быстрой перемотки эмуляции вперед (Fast forward);
	- загрузка сжатых ROM файлов игр, а так же функция автоматического сжатия ROM файлов;
	- полноэкранное аппаратное масштабирования с использованием IPU;
	- возможность выбора страны/региона перед запуском игры;
	- поддержка игр в телевизионных стандартах NTSC и PAL;
	- поддержка светового пистолета NES Zapper с дополнительной функцией автонаведения на цель;
	- поддержка игр для Famicom Disk System и Nintendo Vs. System;
	- поддержка Game Genie чит-кодов;
	- поддержка обложек игровых картриджей.



Установка эмулятора
~~~~~~~~~~~~~~~~~~~
Распакуйте zip архив на компьютер в любую папку. В папке окажутся несколько файлов, среди которых будут:

	DingooNES.sim	- собственно, сам эмулятор;
	disksys.rom     - файл BIOS для поддержки FDS;
	README			- данное руководство;

Файл DingooNES.sim скопируйте в папку GAME вашей игровой консоли Dingoo A320, предварительно удалив оттуда старый эмулятор NES.SIM. Если в папке GAME присутствует конфигурационный файл DingooNES.cfg от предыдущей версии эмулятора, то его так же необходимо удалить. 

Добавьте в Dingoo игры для NES (Nintendo Entertainment System) в формате .nes или .fds, если таковые отсутствуют.



Использование эмулятора
~~~~~~~~~~~~~~~~~~~~~~~
Выберите пункт "Interesting game" в меню "Game center" на вашей Dingoo. В браузере файлов отыщите свою папку с играми NES, выберите интересующую игру и нажмите кнопку "A". Запустится эмулятор DingooNES, который загрузит и запустит на выполнение выбранную вами игру. Для входа в меню эмулятора нажмите одновременно "Start" и "Select" или кнопку "Power".



Поддержка сжатых ROM файлов
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Эмулятор DingooNES поддерживает загрузку ROM файлов, сжатых по алгоритму ZIP. Для создания сжатого ROM файла необходимо соответствующий файл .nes или .fds упаковать при помощи подходящего архиватора в .zip. Полученный .zip необходимо переименовать обратно в .nes или .fds и закинуть в Dingoo. При открытии файла игры эмулятор автоматически распознает сжатие и производит распаковку. 

Так же эмулятор способен самостоятельно сжимать ROM файлы. Если данная функция активна и загруженная игра не была сжата ранее, эмулятор при выходе предложит сжать ROM файл данной игры. Используйте возможность сжатия NES ROM файлов для экономии памяти Dingoo!



Поддержка игр для Famicom Disk System и Nintendo Vs. System
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Файлы с расширением .fds представляют собой образы дисков для Famicom Disk System (http://en.wikipedia.org/wiki/Famicom_Disk_System), которые можно открыть в эмуляторе DingooNES. Для корректной работы эмулятора с FDS необходимо идущий в комплекте файл BIOS disksys.rom скопировать в ту же папку, где находится DingooNES.sim. Некоторые FDS игры в процессе загрузки требуют от пользователя сменить сторону диска. Выполнить данную операцию можно при помощи комбинации горячих клавиш "L"+"R"+"Select". Советую испробовать игры для FDS, некоторые известные тайтлы выглядят необычно!

Игры для Nintendo Vs. System (http://en.wikipedia.org/wiki/Nintendo_Vs._System) представляют собой обычные .nes файлы, у которых, как правило, в названии присутствует суффикс (VS) и в каждой такой игре, чтобы начать играть, необходимо вставить монетку. В эмуляторе DingooNES вставить виртуальную монетку можно при помощи комбинации горячих клавиш "L"+"R"+"Start". Некоторые из VS игр расчитаны исключительно на управление посредством светового пистолета, поэтому часть опций эмулятора, связанных с настройкой геймпада, может быть заблокирована. Определенно стоит попробовать игры для Nintendo Vs. System, т. к. некоторые из них, например "Duck Hunt (VS)", смотрятся куда более интересно, чем их стандартные NES аналоги!



Поддержка светового пистолета
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Данный эмулятор имеет поддержку светового пистолета NES Zapper. DingooNES автоматически распознает игры, использующие NES Zapper, и активирует поддержку светового пистолета, при этом поверх изображения появляется маркер прицела. Управление позицией маркера осуществляется клавишами "Up", "Down", "Left", "Right", выстрел осуществляется клавишей "A" (при настройке управления по умолчанию). Если в игре активен световой пистолет, то управление из геймпада NES недоступно, доступны лишь клавиши "Select" и "Start", которые можно использовать для выбора режима и запуска игры соответственно. Отключить на время световой пистолет и вернуть управление на геймпад NES можно в настройках эмулятора "Input settings".

Так же эмулятор DingooNES имеет функцию автоматического поиска и наведения на цель, которую можно активировать в настройках управления. В зависимости от игры, данная функция может как сильно облегчить, так и неоправдано усложнить геймплей, поэтому пользователь сам должен решать, в каких играх активировать эту функцию. Алгоритм автоматического поиска и наведения на цель работает паралельно ручному управлению маркером прицела и имеет более низкий приоритет, т. е. всегда можно вручную подкорректировать положение маркера. Алгоритм способен распознавать до двух, желательно движущихся, целей. После выстрела маркер автоматически перемещается на альтернативную найденную цель. Переключаться на альтернативную цель можно и без осуществления выстрела, для этого необходимо нажимать клавишу "B" (при настройке управления по умолчанию).



Поддержка Game Ganie чит-кодов
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
В эмуляторе DingooNES можно использовать чит-коды Game Genie для получения неуязвимости, бесконечных жизней, необходимого оружия и так далее. Для активации этой функции в папку с игрой необходимо добавить специальный файл, в котором описан набор чит-кодов. Файл должен иметь такое же имя, как у файла игры и расширение .cht. Во время загрузки игры автоматически загружается и файл с Game Genie чит-кодами, при этом, если все прошло успешно, в основном меню эмулятора становится доступным пункт "Cheating".

Подготовка чит-файла: сначала необходимо найти в интернете список Game Genie чит-кодов для интересующей игры, например, здесь - http://www.gamegenie.com/cheats/gamegenie/nes/index.html. Список читов, к примеру, для игры "Terminator 2 - Judgment Day" может иметь такой вид:

SXOATOVK Infinite lives
PANXPLGA Start with 1 life
PANXPLGE Start with 9 lives
GXVTXZAX Infinite life energy
XNVOSOKN Super jump
OXNVKXPK + VNNVSXNN Take minimal damage
PAOOVZZA + PAUOXZZA Slower running
LAOOVZZA + LAUOXZZA Faster running
LESPKGZA + LEVPEGZA Faster and longer jumping

Далее необходимо любым доступным способом создать чит-файл (обычный текстовый файл) и наполнить его Game Genie чит-кодами в специальном формате. Далее пример такого файла для все той же игры "Terminator 2 - Judgment Day":

;Infinite lives
SXOATOVK

;Start with 1 life
PANXPLGA

;Start with 9 lives
PANXPLGE

;Infinite life energy
GXVTXZAX

;Super jump
XNVOSOKN

;Take minimal damage
OXNVKXPK
VNNVSXNN

;Slower running
PAOOVZZA
PAUOXZZA

;Faster running
LAOOVZZA
LAUOXZZA

;Faster and longer jumping
LESPKGZA
LEVPEGZA

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



Поддержка обложек картриджей
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DingooNES умеет загружать файлы обложек картриджей. Обложка отображается во всех меню эмулятора, кроме основного меню. Файл обложки представляет собой изображение в формате PNG 24-bit с размерами 136-146 х 200 px для портретной ориентации и 200 х 136-146 px для альбомной ориентации. Файл с изображением обложки должен иметь такое же имя, как и файл игры, для которой создана обложка. Примеры обложек для некоторых игр можно найти в пакете поставки эмулятора.



Основное меню эмулятора
~~~~~~~~~~~~~~~~~~~~~~~
Resume
	Выход из меню и возврат в игру. Так же в игру можно вернуться по нажатию клавиши "B".
	
Save state
	Сохранение текущего игрового состояния в файл. Файл состояния сохраняется в той же папке, где расположена игра. Имя файла состоит из названия игры и расширения от .sv0 до .sv9. Клавишами "Left" и "Right" можно выбрать логический слот, в который будет сохраняться состояние, клавишей "A" производится сохранение. Всего доступно 10 слотов. В окошке справа отображается скриншот игрового состояния, сохраненного в выбранном слоте.
	
Load state
	Загрузка игрового состояния из файла. Файл должен располагаться в той же папке, что и игра, название должно совпадать с названием игры а расширение должно быть от .sv0 до .sv9. Клавишами "Left" и "Right" необходимо выбрать слот с нужным игровым состоянием и по клавише "A" загрузить его. После загрузки игрового состояния эмулятор автоматически вернется в игру. Находясь на пункте "Load state" или "Save state", по нажатию на клавишу "X" можно удалить игровое состояние из выбраного слота, при этом, после подтверждения ваших намерений, удаляется соответствующий файл игрового состояния.

Cheating
	Опция активизируется после удачной загрузки файла с Game Genie чит-кодами для текущей игры. После выбора данной опции открывается меню со списком доступных Game Genie читов. Каждый чит в любое время можно включить или выключить клавишами "Left" и "Right". По нажатию клавиши "A" можно посмотреть полное имя чита. Часто бывает так, что тот или иной чит начинает действовать только после сброса игры.
	
Skip frames
	Данная опция указывает на то, сколько проэмулированных кадров будет опущено до момента отрисовки на экран. Опция позволяет повысить скорость эмуляции за счет потери в плавности изображения. Значение "0" означает, что на экран отрисовываются все проэмулированные кадры. Значение "AUTO" означает, что эмулятор самостоятельно решает какие кадры и когда будут опущены для достижения 100% скорости эмуляции игры. Клавишами "Left" и "Right" можно выбрать необходимое значение, по нажатию клавиши "A" будет выбрано значение "AUTO". Если быстродействия эмулятора не достаточно, рекомендуется выставить эту опцию в "AUTO".
	
Full screen
	Опция позволяет настроить вывод изображения либо растянутым на всю площадь экрана Dingoo, либо на вывод в родном разрешении по центру экрана с обрамляющими черными полями. При недостаточной скорости эмуляции рекомендуется выставить опцию в "OFF", т.к. отрисовка в родном разрешении не требует масштабирования и работает быстрее.
	
Sound volume
	Данная опция позволяет задать громкость звука либо отключить звук вовсе. Клавишами "Left" и "Right" можно выбрать необходимое значение, по нажатию клавиши "A" будет выбрано значение "OFF". Если скорость эмуляции недостаточна, попробуйте выставить значение опции в "OFF".
	
Advanced sets
	Меню с набором дополнительных опций.
	
Reset
	Сброс игры в начальное состояние. В последующем диалоговом экране необходимо подтвердить свои действия.
	
Exit
	Выход из DingooNES и возврат в меню Dingoo.



Дополнительное меню эмулятора
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Video settings -> Fullscreen scaling
	Данная опция позволяет задать алгоритм масштабирования изображения при выводе на экран. Значение "HARDWARE" говорит о том, что используется аппаратный блок IPU, выполняющий билинейное масштабирование изображения. Опция актуальна если "Full screen" выставлено в "ON".
	
Video settings -> Vertical stretch
	Данная опция позволяет отключить масштабирование изображения по вертикали. Масштабирование по вертикали выполняется, когда оригинальное разрешение по вертикали меньше 240 точек, например для NTSC игр с разрешением 256x224 точки. При отключенном масштабировании по вертикали, в конечном изображении могут присутствовать пустые черные поля, но при этом изображение в целом получается более четким. Опция актуальна если "Full screen" выставлено в "ON" и изображение выводтся на LCD экран Dingoo.
	
Sound settings -> Sample rate
	Опция позволяет задать частоту дискретизации для звукового потока, генерируемого эмулятором. Чем ниже значение, тем выше скорость эмуляции но хуже качество звука.

Input settings
	Данное меню позволяет задать соответствие реальных клавиш Dingoo клавишам виртуального геймпада NES. Можно переопределить только часть клавиш, в переопределении которых есть смысл.
	
Input settings -> NES Zapper enable
	Данная опция позволяет деактивировать световой пистолет и переключить управление на геймпад (может быть необходимо в некоторых играх, использующих геймпад наряду со световым пистолетом). Для деактивации светового пистолета выставите значение опции в "OFF". Опция актуальна, если игра поддерживает световой пистолет NES Zapper.
	
Input settings -> NES Zapper auto aim
	С помошью данной опции можно активировать функцию автоматического поиска и наведения на цель, описанную в разделе "Поддержка светового пистолета". Опция актуальна, если игра поддерживает световой пистолет NES Zapper.
	
Input settings -> Diagonals helper
	Конструкция крестовины Dingoo весьма неудачна, нажимать ее по диагонали очень трудно, при этом точность срабатывания оставляет желять лучшего. Данная опция активирует функцию, призванную улучшить срабатывание диагональных комбинаций клавиш.
	
Input settings -> Turbo signal mode
	Данная опция позволяет задать форму сигнала для клавиш "Turbo A" и "Turbo B" из набора предопределенных шаблонов. Если вы наблюдаете в игре проблемы с турбо кнопками, попробуйте подобрать значение этой опции.
	
CPU speed, MHz
	Данная опция позволяет задать частоту работы центрального процессора Dingoo во время эмуляции игры NES. Нормальное значение частоты работы процессора - 336 MHz. При входе в меню эмулятор автоматически понижает частоту до 336 MHz. Чем выше значение данной опции, тем выше скорость эмуляции, тем быстрее разряжается батарея вашей Dingoo. Клавишами "Left" и "Right" можно выбрать необходимое значение из предопределенного списка, по нажатию клавиши "A" значение опции будет увеличиваться на единицу. Однако, как выяснилось, есть целый ряд частот, которые не приводят к какому-либо разгону процессора, поэтому рекомендуется использовать частоты из предопределенного списка. Значения выше 400 MHz вы выставляете на свой страх и риск, автор эмулятора не несет ответственности за последствия, вызванные вашей манипуляцией с частотой процессора!
	
Show FPS mode
	FPS (Frames Per Second) - это количество кадров, которое эмулятор успевает отрисовать на экран или проэмулировать (в зависимости от режима подсчета) за одну секунду. При значении опции "OFF" вывод счетчика FPS на экран отключен. При значении "RENDERED" на экран выводится количество отрисованных кадров, при значении "EMULATED" - количество виртуальных проэмулированных кадров. По данному значению удобно судить об общей скорости эмуляции. Чем выше значение на экране, тем лучше. Номинальное значение FPS для NTSC игр ~ 60, для PAL ~ 50 в режиме подсчета "EMULATED". Если вы не понимаете назначения этой опции, то ее лучше держать в выключеном состоянии.

Save global settings
	Запись настроек эмулятора в файл "DingooNES.cfg" в папку, где расположен сам эмулятор (как правило, это папка "GAME"). Если файл "DingooNES.cfg" присутствует, он загружается и применяется при запуске эмулятора.
	
Save game settings
	Запись настроек эмулятора в файл с именем текущей загруженной игры и расширением .cfg, в папку с игрой. Данный файл конфигурации имеет более высокий приоритет, чем "DingooNES.cfg" и если он присутствует для загружаемой игры, он загружается и применяется вместо "DingooNES.cfg". Данный механизм позволяет иметь особые настройки эмулятора для конкретной игры.
	
About emulator
	Краткая информация по эмулятору, автору и горячих клавишах управления.



Дополнительное меню специальных настроек при запуске эмулятора
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Часть редко изменяемых настроек, а так же настроек, которые должны применяться перед загрузкой ROM файла игры, вынесена в дополнительное меню специальных настроек эмулятора. Попасть в это меню можно путем удерживания клавиши "Select" во время запуска эмулятора. Для сохранения измененных настроек необходимо войти в основное меню эмулятора, перейти в "Advanced sets" и активировать "Save global settings" или "Save game settings".

Country/Region
	Данная опция позволяет задать аппаратную конфигурацию консоли в зависимости от выбранной страны/региона. Загружаемая игра может вести себя на различной аппаратной конфигурации по-разному, например, иметь разные разрешение/частоту кадров, разные тайминги аппаратных компонентов, специфическую локализацию текстов/титульных экранов, аппаратную привязку к региону и тому подобное. Значения опции и отличия в аппаратной конфигурации:

		AUTO - автоматический выбор региона на основе некоторых характеристик ROM файла
		US   - американский регион - видеостандарт - NTSC
		EU   - европейский регион  - видеостандарт - PAL
		JP   - азиатский регион    - видеостандарт - NTSC

Auto compress ROM
	Данная опция позволяет включить функцию автоматического сжатия ROM файла текущей загруженной игры при выходе из эмулятора. Если вы не хотите сжимать ROM файлы ваших NES игр, то выставите данную опцию в "OFF".

Old school mode
	Если вы ощущаете себя матёрым волком старой игровой школы, можете выставить данную опцию в "ON" :)

Default setings
	Сброс настроек эмулятора в значения, заданные по умолчанию. Впоследствии сброшенные в начальное состояние настройки можно сохранить при помощи "Save global settings" или "Save game settings" из меню "Advanced sets".

Continue
	Выход из данного дополнительного меню с последующей загрузкой ROM файла игры и переходом DingooNES в режим эмуляции.



Комбинации горячих клавиш в игре
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
В любой момент игры по комбинации клавиш "Start"+"Select" или "Power" вы можете войти в основное меню эмулятора. Так же во время игры можно быстро сохранить в оперативной памяти текущее игровое состояние, нажав комбинацию клавиш "R"+"Select". Загрузить состояние из памяти можно по нажатии "L"+"Start". Комбинации клавиш "L"+"R"+"Up" и "L"+"R"+"Down" позволяют увеличить или уменьшить громкость звука. Удерживание комбинации клавиш "L"+"R"+"Right" переводит эмулятор в режим "Fast forward", позволяя ускоренно перематывать геймплей вперед. Для смены стороны диска FDS предусмотрена комбинация клавиш "L"+"R"+"Select", для вставки виртуальной монетки - "L"+"R"+"Start" (см. "Поддержка игр для Famicom Disk System и Nintendo Vs. System").



Работа эмулятора при подключении Dingoo к телевизору
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Если эмулятор запускается на Dingoo, подключенной к телевизору, опции "Full screen", "Vertical stretch" и "CPU speed, MHz" блокируются. При этом опция "Full screen" выставляется в значение "ON", "Vertical stretch" выставляется в "OFF", а "CPU speed, MHz" - в "336". Значение последнего параметра вызвано тем, что видеовывод Dingoo на телевизор корректно работает только на частоте процессора 336 MHz.



Об авторе
~~~~~~~~~
DingooNES создан усилиями lion_rsm в 2011-2012 годах. Свои замечания, предложения и багрепорты можете оставлять на сайте http://a320.emulate.su.



История изменений
~~~~~~~~~~~~~~~~~
v1.6 - 09.10.2012
	Добавлена поддержка Game Genie чит-кодов, добавлен в главное меню пункт "Cheating".
	Незначительные изменения и улучшения в GUI.
	Добавлена поддержка отображения обложек игровых картриджей.
	Незначительные изменения и улучшения в коде.

v1.5 - 14.09.2012
	Исправлено описание комбинаций горячих клавиш в секции "About emulator".
	Немного улучшена скорость эмуляции.
	Теперь опция "Auto compress ROM" по умолчанию выключена.

v1.4 - 09.05.2012
	Изменены тексты некоторых информационных сообщений.
	Изменен формат и добавлена проверка версии файла конфигурации (*.cfg) для решения проблемы, приводившей к зависаниям эмулятора при использовании  старого несовместимого файла конфигурации.
	Изменен формат и добавлена проверка принадлежности файла игрового состояния (*.sv0 - *.sv9) эмулятору DingooNES.
	Специальные режимы запуска эмулятора упразднены, вместо них реализована возможность попасть в дополнительное меню при запуске эмулятора.
	Добавлено дополнительное меню специальных настроек эмулятора (Extra menu), часть настроек перенесена в данное меню.
	Добавлен экспериментальный режим работы эмулятора "Old school mode" для хардкорных игроков.
	Улучшения во внешнем виде и анимации пользовательского интерфейса (теперь он еще более сексуален!).
	Масштабный рефакторинг кода, перевод эмулятора на универсальный фреймворк эмуляции.

v1.3 - 04.04.2012
	Исправлено ряд багов в работе счетчика FPS.
	Незначительные изменения и улучшения в коде.

v1.2 - 25.03.2012:
	Добавлена поддержка игр в формате Famicom Disk System (FDS).
	Добавлена поддержка игр в формате Nintendo Vs. System.
	Улучшена поддержка светового пистолета.
	Добавлена возможность переназначения клавиш "Start" и "Select".
	Частота работы CPU по умолчанию выставлена в стандартные 336 МГц.
	Незначительные улучшения в коде.

v1.1 - 16.03.2012:
	На 15% ускорен полноэкранный рендеринг изображения.
	Исправлен баг, при котором после возврата из меню в игру перезаписывалось быстрое сохранение.
	Добавлен алгоритм и опция "Diagonals helper", добавлена опция "Turbo signal mode", улучшено поведение турбо кнопок.
	Добавлена поддержка светового пистолета NES Zapper, добавлен алгоритм автопоиска целей, добавлены соответствующие опции в "Input settings".
	Добавлена опция "System timing mode" для принудительного выбора таймингов системы.
	Добавлена опция "Vertical stretch" для управления масштабированием изображения по вертикали.
	Небольшие улучшения в пользовательском графическом интерфейсе.
	Множество небольших улучшений в коде.
	
v1.0 - 07.03.2012:
	Первый публичный релиз.