Эмуляция > Эмуляторы портативных консолей
Эмуляция Nintendo 3DS (Общая тема)
<< < (90/104) > >>
Tempest:



Вся необходимая информация находится под спойлером ниже: На данных момент существует три эмулятора системы:

Citra - единственный сейчас активно развивающийся:

* Домашняя страница: Citra - Experimental 3DS Emulator
* Git исходники: GitHub - citra-emu/citra: A Nintendo 3DS Emulator
* Скачать последние официальные ревизии: nightly builds или EmuCR: Citra
* Системные файлы из прошивки 3DS и ключи шифрования:  Home_Folder(2018).zip *
* Конфиг файлов сохранений:  fw45.rar, fw112 (Можно задампить со своей консоли по инструкции здесь и здесь) **
* Распространяемые пакеты: vcredist 2015 и vcredist 2017 (Для решения проблемы запуска, связанной с нехваткой библиотек)
* Неофициальный список совместимости от pcmaker'а: ссылка (устарел)
* Официальный список совместимости: ссылкаЗапустится на любом ПК с x64 OS: linux/osx/win и видеокартой, совместимой с OpenGL 3.3.

* Для Windows, в новых версиях эмулятора каталог для файлов по умолчанию: %AppData%\Citra
Если этот вариант не устраивает, то можно перевести Citra в портативный режим, создав папку user в каталоге рядом с citra-qt.exe и распаковать системные файлы туда.
Для linux и macOS: ~/.local/share/citra-emu/
** Для Windows, в новых версиях эмулятора каталог для Config Savegame по умолчанию: %AppData%\Citra\nand\data\00000000000000000000000000000000\sysdata\00010017\00000000
Для портативного режима: <Папка эмулятора>\user\nand\data\00000000000000000000000000000000\sysdata\00010017\00000000


Два других, давно не обновляющиеся эмулятора - 3dmoo и TronDS:

* Git исходники 3dmoo: plutooo/3dmoo · GitHub
* Последние ревизии 3dmoo: EmuCR: 3dmoo
* Домашняя страница TronDS: TronDS a Nintendo 3DS Emulator
Расшифровка ROM'ов:
С развитием 3DS сцены и появлением возможности дампинга бутромов, в сети стали появляться всевозможные программы, позволяющие производить расшифровку без использования консоли. Примеры некоторых из них:

 decrypt_v2.zip - новый скрипт (в форматах .py и .exe) для расшифровки ромов. Поддерживает 3DS и CIA, умеет работать с файлом seeddb.bin, последнюю версию которого можно стянуть отсюда.

 Batch CIA 3DS Decryptor.zip - батник и набор утилит для автоматизированной расшифровки игр, патчей и dlc. (Источник)

На данный момент это самые удобные варианты расшифровки.
Мультиплатформенный скрипт 3ds_decrypt_v2.py (Требует наличия python 2.7 с установленным pyCrypto), или его вариация в виде экзешника для Windows:  3ds_decrypt_v2.rar (Не требует установленного python и чего-либо ещё).
Скрипт поддерживает все известные на данный момент методы шифрования картриджевых игр: Normal Crypto, 7.x Crypto, New3DS и Zero-Key.

Расшифровать ром можно командой:

--- Код: ---python 3ds_decrypt_v2.py "0207 - New Super Mario Bros. 2 (Europe) (En,Fr,De,Es,It,Nl,Pt,Ru).3ds"
--- Конец кода ---
Для *.exe версии достаточно просто перетащить на программу зашифрованный ром.
Для расшифровки игр в установочных архивах CIA существует скрипт: eshop_content_to_cxi.py (Требует наличия python 2.7 с установленным pyCrypto) и его вариация в виде экзешника для Windows:  eshop_content_to_cxi.rar (Не требует установленного python и чего-либо ещё). Данный скрипт расшифровывает не сам CIA, а лишь распакованные из него контейнеры CXI (файлы контента), расшифрованные версии которых, впрочем, без проблем открываются эмулятором Citra.

Извлечь контейнеры CXI из зашифрованного CIA можно с помощью консольной программы ctrtool, команда:

--- Код: ---ctrtool.exe --contents="game" --tik="game.cetk" --tmd="game.tmd" -p -x "game.cia"
--- Конец кода ---
Только для Windows - Пакетный файл распаковки контента из множества CIA разом:

--- Код: ---for %%a in (*.cia) do ctrtool.exe --contents="%%~na" --tik="%%~na.cetk" --tmd="%%~na.tmd" -p -x "%%a"
--- Конец кода ---
На выходе должны получиться файлы вроде "game.0000.0000002" и "game.0001.0000003". Где '0000' - это индекс контента, а '00000002' - название файла контента.

Расшифровка файлов контента производится командой:

--- Код: ---python eshop_content_to_cxi.py <content_filename> <DECRYPTED_KEY!> <Content_Index> <Seed>
--- Конец кода ---

Аргументы командной строки. Почти все, за вычетом  'seed' являются обязательными, если только тот не используется игрой:
content_filename = Имя файла контента (например '00000000')
DECRYPTED_KEY! = Расшифрованный TitleKey, который можно подсмотреть в "базе ключей" по ссылке ниже. Чтобы найти его, потребуется также узнать TitleId игры.
Content_Index = Индекс контента, обычно '0000' для игры, '0001' для мануала, и '0002' для данных "загружаемой игры".
Seed = Ключ шифрования seed, который можно подсмотреть в "базе ключей" по ссылке ниже. Если контент использует seed шифрование, но параметр не указан в командной строке, скрипт даст сбой.

База ключей и Seed'ов на 4612 игр. TitleId можно подсмотреть с помощью ctrtool, либо здесь или здесь.
Так же никто не мешает качать уже расшифрованные ромы с каких-либо сайтов или торрент трекеров.
А еще, можно извлекать из расшифрованных архивов CIA игры в понятном эмулятору формате CXI. Для этого воспользуйтесь одной из этих программ: CIA-Extractor или ciatocxi (Большая вероятность встретить расшифрованный CIA у релизов с лычками Cryptofixed, Firmware Spoof и Region Free. UNDUB'ы расшифрованы почти всегда.)

Полезные ссылки:
Архив расшифрованных демо-версий: ссылка (Ядиск)
Памятка по элементам управления New Nintendo 3DS: ссылка
Настройка размера и положения окон в эмуляторe Citra через редактирование файла qt-config.ini: ссылка

Напоминание: для вопросов "Где скачать ту или иную игру?" существует отдельный раздел форума!
brotoad:
Извините если вопрос тупой или где то было уже. А нет возможности поместить один экран над другим и вообще как то более свободно управлять расположение и размером?
pedro:
brotoad, F10, или экспериментировать с настройками Layout в qt-config.ini.
Skay:
brotoad, я для зельды находил такой конфиг, в стиме еще на эти места набиндил нажатия, и все на геймпад.


[qoute]
[Controls]
button_a="engine:sdl,button:0,joystick:0"
button_b="engine:sdl,button:1,joystick:0"
button_x="engine:sdl,button:2,joystick:0"
button_y="engine:sdl,button:3,joystick:0"
button_up="engine:sdl,joystick:0,hat:0,direction:up"
button_down="engine:sdl,joystick:0,hat:0,direction:down"
button_left="engine:sdl,joystick:0,hat:0,direction:left"
button_right="engine:sdl,joystick:0,hat:0,direction:right"
button_l="engine:sdl,button:4,joystick:0"
button_r="engine:sdl,button:5,joystick:0"
button_start="engine:sdl,button:7,joystick:0"
button_select="engine:sdl,button:6,joystick:0"
button_zl="engine:keyboard,code:49"
button_zr="engine:keyboard,code:50"
button_home="engine:keyboard,code:66"
circle_pad="axis_x:0,engine:sdl,axis_y:1,joystick:0"
c_stick="axis_x:3,engine:sdl,axis_y:4,joystick:0"
motion_device="engine:motion_emu,update_period:100,sensitivity:0.01"
touch_device=engine:emu_window

[Core]
use_cpu_jit=true

[Renderer]
use_hw_renderer=true
use_shader_jit=true
resolution_factor=3
use_vsync=true
toggle_framelimit=true
bg_red=0
bg_green=0
bg_blue=0

[Layout]
layout_option=1
swap_screen=false
custom_layout=true
custom_top_left=0
custom_top_top=0
custom_top_right=1920
custom_top_bottom=1080
custom_bottom_left=1600
custom_bottom_top=840
custom_bottom_right=1920
custom_bottom_bottom=1080

[Audio]
output_engine=auto
enable_audio_stretching=true
output_device=auto

[Camera]
camera_outer_right_name=blank
camera_outer_right_config=
camera_inner_name=blank
camera_inner_config=
camera_outer_left_name=blank
camera_outer_left_config=

[Data%20Storage]
use_virtual_sd=true

[System]
is_new_3ds=false
region_value=-1

[Miscellaneous]
log_filter=*:Info

[Debugging]
use_gdbstub=false
gdbstub_port=24689

[UI]
Paths\romsPath=F:/Gaming/emulators/3ds/citra+nax+input+v2/citra nax input v2
Paths\symbolsPath=
Paths\gameListRootDir=D:/Citra/Roms
Paths\gameListDeepScan=false
Paths\recentFiles=D:/Citra/Roms/loz-oot_ru.0.cxi, D:\\Citra\\Roms\\loz-oot_ru.0.cxi, F:/Gaming/emulators/3ds/Citra-GCCKU-Citra-04.02.2017/Zelda Ocarina of Time 3D.3ds, "F:/Gaming/emulators/3ds/Citra-GCCKU-Citra-04.02.2017/0134 - Kid Icarus - Uprising (Europe) (En,Fr,De,Es,It) Decrypted.3ds", F:/Gaming/emulators/3ds/Citra-GCCKU-Citra-04.02.2017/1623 - The.Legend.of.Zelda.Majoras.Mask.3D.EUR.3DS-CONTRAST Decrypted.3ds, F:/Gaming/emulators/3ds/citra+nax+input+v2/citra nax input v2/1623 - The.Legend.of.Zelda.Majoras.Mask.3D.EUR.3DS-CONTRAST Decrypted.3ds
singleWindowMode=true
displayTitleBars=true
confirmClose=true
firstStart=false
Shortcuts\Disassembler\Set%20Breakpoint\KeySeq=F9
Shortcuts\Disassembler\Set%20Breakpoint\Context=2
Shortcuts\Disassembler\Start\Stop\KeySeq=F5
Shortcuts\Disassembler\Start\Stop\Context=2
Shortcuts\Disassembler\Step\KeySeq=F10
Shortcuts\Disassembler\Step\Context=2
Shortcuts\Disassembler\Step%20into\KeySeq=F11
Shortcuts\Disassembler\Step%20into\Context=2
Shortcuts\Main%20Window\Load%20File\KeySeq=Ctrl+O
Shortcuts\Main%20Window\Load%20File\Context=1
Shortcuts\Main%20Window\Start%20Emulation\KeySeq=
Shortcuts\Main%20Window\Start%20Emulation\Context=1
Shortcuts\Main%20Window\Swap%20Screens\KeySeq=Ctrl+Tab
Shortcuts\Main%20Window\Swap%20Screens\Context=1
Shortcuts\Disassembler\Start\KeySeq=
Shortcuts\Disassembler\Start\Context=1
showStatusBar=true
Shortcuts\Main%20Window\Exit%20Fullscreen\KeySeq=Esc
Shortcuts\Main%20Window\Exit%20Fullscreen\Context=2
Shortcuts\Main%20Window\Fullscreen\KeySeq=F11
Shortcuts\Main%20Window\Fullscreen\Context=1
fullscreen=true
showFilterBar=true
calloutFlags=1
theme=default
UILayout\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x2\0\0\0\0\x1\x38\0\0\0\xd4\0\0\x6G\0\0\x3\x16\0\0\x1@\0\0\0\xf3\0\0\x6?\0\0\x3\xe\0\0\0\0\0\0\0\0\a\x80)
UILayout\state=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\0\0\0\0\0\0\0\0\0\xfc\x2\0\0\0\x1\xfb\0\0\0\x1c\0W\0\x61\0i\0t\0T\0r\0\x65\0\x65\0W\0i\0\x64\0g\0\x65\0t\0\0\0\0\0\xff\xff\xff\xff\0\0\0]\0\xff\xff\xff\0\0\0\x1\0\0\0\0\0\0\0\0\xfc\x2\0\0\0\x6\xfb\0\0\0\x18\0\x41\0R\0M\0R\0\x65\0g\0i\0s\0t\0\x65\0r\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\0o\0\xff\xff\xff\xfb\0\0\0 \0G\0r\0\x61\0p\0h\0i\0\x63\0s\0\x44\0\x65\0\x62\0u\0g\0g\0\x65\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\0_\0\xff\xff\xff\xfb\0\0\0\"\0P\0i\0\x63\0\x61\0 \0\x43\0o\0m\0m\0\x61\0n\0\x64\0 \0L\0i\0s\0t\0\0\0\0\0\xff\xff\xff\xff\0\0\0\x8c\0\xff\xff\xff\xfb\0\0\0*\0P\0i\0\x63\0\x61\0\x42\0r\0\x65\0\x61\0k\0P\0o\0i\0n\0t\0s\0W\0i\0\x64\0g\0\x65\0t\0\0\0\0\0\xff\xff\xff\xff\0\0\0\x8c\0\xff\xff\xff\xfb\0\0\0 \0P\0i\0\x63\0\x61\0V\0\x65\0r\0t\0\x65\0x\0S\0h\0\x61\0\x64\0\x65\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\x1\x98\0\xff\xff\xff\xfb\0\0\0\x12\0\x43\0i\0T\0r\0\x61\0\x63\0i\0n\0g\0\0\0\0\0\xff\xff\xff\xff\0\0\0?\0\xff\xff\xff\0\0\x5\0\0\0\x1\xed\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\0)
UILayout\geometryRenderWindow=@ByteArray(\x1\xd9\xd0\xcb\0\x2\0\0\0\0\0\0\0\0\0\0\0\0\x1\x8f\0\0\x1\xdf\0\0\0\0\0\0\0\0\0\0\x1\x8f\0\0\x1\xdf\0\0\0\0\0\0\0\0\a\x80)
UILayout\gameListHeaderState=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\x1\0\0\0\x3\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x4\xfe\0\0\0\x3\x1\x1\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\x3\0\0\x2~\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\x2\x1c\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\0\0\0\x64)
UILayout\microProfileDialogGeometry=@ByteArray(\x1\xd9\xd0\xcb\0\x2\0\0\0\0\0\0\0\0\0\0\0\0\x3\xe7\0\0\x2W\0\0\0\0\0\0\0\0\0\0\x3\xe7\0\0\x2W\0\0\0\0\0\0\0\0\a\x80)
UILayout\microProfileDialogVisible=false
Updater\check_for_update_on_start=true
Updater\update_on_close=false
Multiplayer\nickname=
Multiplayer\ip=
Multiplayer\port=24872
Multiplayer\room_nickname=
Multiplayer\room_name=
Multiplayer\room_port=24872
Multiplayer\host_type=0
Multiplayer\max_player=8
Multiplayer\game_id=0

[WebService]
enable_telemetry=true
telemetry_endpoint_url=https://services.citra-emu.org/api/telemetry
verify_endpoint_url=https://services.citra-emu.org/api/profile
citra_username=
citra_token=
announce_multiplayer_room_endpoint_url=https://services.citra-emu.org/api/multiplayer/rooms

[/quote]
Ogr:

--- Цитата: brotoad от 15 Март 2018, 18:17:52 ---А нет возможности поместить один экран над другим и вообще как то более свободно управлять расположение и размером?

--- Конец цитаты ---
делается это в \user\config\qt-config.ini, в разделе [Layout]:
custom_layout=true - включить настраиваемый размер и положение окон.
custom_top_left=0 - положение левого верхнего угла заднего окна по горизонтали.
custom_top_top=0 - положение левого верхнего угла заднего окна по вертикали.
custom_top_right=1920 - положение правого нижнего угла заднего окна по горизонтали.
custom_top_bottom=1080 - положение правого нижнего угла заднего окна по вертикали.
custom_bottom_left=1600 - тут и ниже все тоже самое, только для переднего окна (которое поверх рисуется).
custom_bottom_top=840
custom_bottom_right=1920
custom_bottom_bottom=1080

нулевая координата находится в верхнем левом углу.

таким образом в оконном режиме второе окно можно на второй монитор вывести.

автоматический расчет значений с вариантами положения 2-го окна по 4-ём углам:  main.html

pedro, это можно в шапку добавить.
brotoad:
Может я идиот, но у меня задуманное вышло только через редактирование именно qt-config. Но это работает и это удобнее чем стандартные раскладки. Еще бы прозрачность на второй экран как нибудь навесить бы :)
Ogr:

--- Цитата: brotoad от 16 Март 2018, 11:18:56 ---Может я идиот
--- Конец цитаты ---
это я не то имя файла скопировал.
brotoad:
Так или иначе присоединяюсь - надо бы в шапку инфу. И странно почему такой вариант разрабы такой вариант не рассматривают в стандартных раскладках
Skay:
brotoad, потому что это рюшечки, и в гуи лень прописывать. Все варианты все равно не учесть. (по идее можно задать размеры окна и выравнивание). Проще через конфиг руками )
pedro:
Ogr, оставил ссылку на твой пост
aden:
Новая версия эмулятора не слабо подняла производительность, теперь даже на моем железе в Metroid не слайд-шоу, а около 20-25 fps, отличный прогресс ИМХО.
pedro:
Не считая небольших проблем со звуком, Runabout 3D (aka Crash City Mayhem ) на Citra теперь воспроизводится лучше, чем на реальном железе. Играть сплошное удовольствие.

Vochatrak:
Люди!
Кто смог запустить линукс-версию с оф.сайта, поделитесь пожалуйста библиотеками:

--- Код: ---Libstdc++.so.6
Libm.so.6
Libc.so.6
--- Конец кода ---
Закиньте куды-нибудь архивом пожалуйста.
Brucie:
Я вот такой конфиг сделал для Метроида. Карту видно хорошо и соотношения сторон практически идеальные. Может кому пригодится и для других игр.
[Layout]
layout_option=2
swap_screen=false
custom_layout=true
custom_top_left=0
custom_top_top=360
custom_top_right=1200
custom_top_bottom=1080
custom_bottom_left=1200
custom_bottom_top=540
custom_bottom_right=1920
custom_bottom_bottom=1080

P.S. Сто лет не писал на форумах, даже забыл как в спойлер вставлять...
Vochatrak:
Господа, нет жутко нестабильный (и лимитный), может кто исходники пожать в архив и выложить куда-нибудь?
pedro:
Vochatrak, ну держи: https://yadi.sk/d/ESpSF49X3U8jrM
Vochatrak:
pedro
Огромное спасибо!
bomberman:
при запуске игр выдаёт ошибку shared font missing- go dump it for your 3ds у меня нет консоли как решить это? :-\
pedro:
bomberman, прочти текст под спойлером в шапке темы.
bomberman:
pedro повнимательней прочёл , да всё заработало :wow: Спасибо!
Vochatrak:
Народ, кому не сложно - киньте свежие исходники архивом.
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

Перейти к полной версии