Ну, это заняло некоторое время, но оно наконец-то здесь!
Все приложение было переписано с нуля, добавлены новые функции.
Теперь используется новый эмулятор PS-Plus PS1, который имеет лучшую совместимость с играми и больше функций, таких как сохранение состояний и функция перемотки игрового процесса.
Эмулятор должен работать на версии 5.05 и выше (лично я тестировал его только на версии 9.00).
Скачать программу:
Как использовать:
Выберите метку образа диска PS1 (файл *.cue)
Настройте Title/Icon/Splash/Config/и прочее
В поле Icon - можете указать путь к квадратной иконке игры 512х512 пикселей (*.png*.bmp*.jpg*.jpeg)
В поле Splash - можете указать путь к картинке фона 1920х1080 пикселей (*.png*.bmp*.jpg*.jpeg)
-now using the new psplus ps1 emulator
-everything was rewritten from scratch
-notable new features:
-added auto game id detection
-added auto libcrypt detection and support
-added .toc generation, so games that use cdda have now working music
-added "Simulate Analog Sticks" checkbox, that adds support for analog stick to older games that dindn't support them
-added a "Skip Bootlogo" option that skips the Sony/Playstation logos
-added a "Force 60hz" option
-the app will now automatically merge game images with multiple bin files
-other stuff I forgot about
PSX-FPKG 0.2
v0.2
-added 5.05 support
-fixed a typo
PSX-FPKG 0.1
v0.1
-initial release
Что следует отметить:
Нажмите кнопку «Параметры» в игре, чтобы отобразить меню, оттуда вы можете использовать состояния сохранения, изменить параметры отображения или перемотать игровой процесс назад.
Поддерживаются игры, использующие несколько файлов .bin.
Игры, использующие музыку CDDA, тоже должны работать.
Также была добавлена поддержка Libcrypt , протестированная на PAL-версии Soul Raver.
« Эмуляция аналогового джойстика » сопоставит dpad с аналоговым джойстиком для игр, которые поддерживают только цифровой контроллер. Не проверяйте эту опцию, если игра поддерживает контроллеры Dualshock.
Force 60hz заставит игры (в основном из региона PAL) работать на частоте 60 Гц вместо 50 Гц.
При тестировании различных пакетов одной и той же игры с разными конфигурациями txt обязательно удалите данные приложения из файла сохранения игры. Если вы этого не сделаете, новые настройки конфигурации не будут работать, поскольку они сохраняются при первой загрузке в Данные Приложения.
например: вы устанавливаете fpkg EarthWorm Jim 2 (или любой другой игры) без каких-либо дополнительных настроек, а затем устанавливаете ту же игру с включенной опцией «Пропустить Bootlogo», изменения конфигурации не вступят в силу, пока вы не удалите данные приложения. из файла сохранения, потому что старая конфигурация txt все еще находится в данных сохранения игры.
Если вы хотите отредактировать файлы emu/game перед созданием pkg, установите флажок «Пауза перед созданием pkg», появится всплывающее окно с каталогом проектов, внесите свои изменения, а затем нажмите кнопку «ОК» во всплывающем окне, чтобы возобновите процесс создания пакета.
Большое спасибо CyB1K за выпуск эмулятора и бэкпорт
Спасибо goatman13 и Arczi за поддержку.
Дополнительно по конфигу:
Эмулятор поддерживает MSAA (Multisample Anti-Aliasing) и SSAA (SuperSample Anti-Aliasing).
Сообщение от Google
SSAA обеспечивает лучшее качество изображения по сравнению с менее качественной фильтрацией традиционного сглаживания MSAA, так как рендерит сцену в более высоком разрешении и затем уменьшает её. Это позволяет сгладить все элементы сцены, включая текстуры и шейдеры. MSAA, в свою очередь, эффективен только для сглаживания краев полигонов и может не справляться с текстурами.
Чтобы включить, добавьте нужную строку в config.txt:
--antialias=SSAA4x
--antialias=MSAA4x
Пример конфига config.txt для 'Thrill Kill'
# Thrill Kill (all regions)
--sim-analog-pad=0x2020
# PlayStation BIOS Dumps
--bios-hide-sce-osd=1
--has-shown-start-select-help=1
--ps1-title-id=SLUS00752
--gpu-scanout-fps-override=ntsc
# Use the new multitap?
--multitap=always
# Use the new shared image directory
--image-dir=data
--force-pad-connect=0b1
# Enable LopnorSPU to fix some audio issues
--use-lopnor-spu=1
# following settings are machine-generated
--ps4-trophies=0
--ps5-uds=0
--trophies=0
--globalgamedata-dir=global
--force-frame-blend=false
# Allow the user to change between PAL and NTSC
--userui-region-selector=false
# Fixd Coning
--gamma=5
--brightness=9
--contrast=8
# Emu used = Syphon Filter 3
-- Lua 5.3
-- Title: Medievil - SCUS-94227 (US-EN)
-- Author: Ernesto Corvi
-- Changelog:
apiRequest(1.0) -- request version 1.0 API. Calling apiRequest() is mandatory.
local emu = getEmuObject() -- emulator
local cpu = getR3KObject() -- cpu
emu.PadSetButtonsMode(2) -- switch Select/Start -> Touchpad/Options mode
local showingConfirmation = false
local needsReinit = false
local hooks = {0, 0, 0, 0}
function vTLSetupSelOptionsStone() -- tail end of vTLSetupSelOptionsStone
-- turn on triangle
local gulButtonHelpMask = cpu.GetGpr(gpr.v0)
gulButtonHelpMask = gulButtonHelpMask + 2
cpu.SetGpr(gpr.v0, gulButtonHelpMask)
-- emu.Log(string.format("gulButtonHelpMask = %d", gulButtonHelpMask))
-- associate 'Exit' message
cpu.WriteMem32(0x800EF3D4, 0x800ED76C)
end
function vTLUpdateSelOptionsStone() -- tail end of vTLUpdateSelOptionsStone
local buttons = emu.PadRead()
-- emu.Log(string.format("buttons = %08x", buttons))
if showingConfirmation == false and (buttons & 0x1000) ~= 0 then
cpu.SetPC(0x8006DC50) -- vPauseExitX
showingConfirmation = true
elseif needsReinit == true then
cpu.SetPC(0x80014138) -- vTLUpdateSelOptionsStone
needsReinit = false
elseif showingConfirmation == true then
cpu.SetPC(cpu.GetGpr(gpr.ra))
end
end
function xHelpProcessChoiceSelectionNo() -- start of xHelpProcessChoiceSelection
if showingConfirmation == true then
showingConfirmation = false
needsReinit = true
end
end
function xGameFadeUpdate() -- end of xGameFadeUpdate
if showingConfirmation == true then
showingConfirmation = false
needsReinit = true
emu.Launch("/app0/eboot.bin")
end
end
function install_title_hooks()
hooks[1] = cpu.AddHook(0x80014288, 0x34420001, vTLSetupSelOptionsStone)
hooks[2] = cpu.AddHook(0x800142A8, 0x3C02800F, vTLUpdateSelOptionsStone)
hooks[3] = cpu.AddHook(0x80063C40, 0x00002821, xHelpProcessChoiceSelectionNo)
hooks[4] = cpu.AddHook(0x8004E9D0, 0xAF8005A0, xGameFadeUpdate)
showingConfirmation = false
needsReinit = false
end
function remove_title_hooks()
for i=1,4 do
if hooks[i] ~= 0 then
cpu.RemoveHook(hooks[i])
hooks[i] = 0
end
end
end
-- Remap font render to texture VRAM area to frame buffer
function MR_LoadOverlay() -- MR_LoadOverlay
local overlay = cpu.GetGpr(gpr.a0)
-- emu.Log(string.format("Overlay: %02x", overlay))
if overlay == 0x15 then
-- emu.Log("Hooking FB Mapping")
emu.AddFBMapping(768, 256, 180, 256)
install_title_hooks()
else
-- emu.Log("Removing FB Mapping")
emu.RemoveFBMapping(768, 256)
remove_title_hooks()
end
-- always flush cache on overlay loads
cpu.FlushCache()
end
cpu.AddHook(0x800A8FEC, 0x27BDFFD0, MR_LoadOverlay)
Классная и удобная утилита. Благодаря ей без проблем сконвертил дилогию Parasite Eve, Tekken 3 и Persona 2 Innocent Sin. Интересно, есть ли подобный конвертер для PSP игр? Оттуда бы тоже хотелось бы парочку игр сконвертировать
Здравствуйте, приконвертировании возникает ошибка specified patch does not exists (param.sfo). Что можно сделать?
Здравствуйте. Получилось переконвертировать, но пришлось Винду переустановить, что-то не давало нормально работать программе. Винда 10 и стояла тоже 10.
Я уже разобрался в своей Винде методом переустановки. И теперь работает.
Видео я заливал в ТГ чат форума: https://t.me/pspxr/1042727
Последний раз редактировалось ErikPshat; Вчера в 05:29.