Модель консоли: PS3 SS
Прошивка: HFW 4.91.2
Регистрация: 10.04.2016
Возраст: 49
Сообщений: 27,611
Вы сказали Спасибо: 10,212
Поблагодарили 14,735 раз(а) в 6,640 сообщениях
Сила репутации: 10Репутация: 14610 
(репутация неоспорима)
|
PSX-FPKG - конвертер PS1 игр для PS4
PSX-FPKG v0.3 by Jabu
Теперь с новым эмулятором PS-Plus PS1!
PSX-FPKG.png
Сообщение от @Jabu
Ну, это заняло некоторое время, но оно наконец-то здесь!
Все приложение было переписано с нуля, добавлены новые функции.
Теперь используется новый эмулятор 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)
- Нажмите «Создать fPKG»
- Установите пакет на PS4 и играйте!
Что следует отметить:- Нажмите кнопку «Параметры» в игре, чтобы отобразить меню, оттуда вы можете использовать состояния сохранения, изменить параметры отображения или перемотать игровой процесс назад.
- Поддерживаются игры, использующие несколько файлов .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
Пример скриптов *.lua для 'Thrill Kill'
-- Title: Thrill Kill - USA (SLUS00752)
-- ported to PS4 lua by JSimesen
-- emu used= Legend of Dragoon - Syphon Filter 3
local patcher = function()
-- Disable dithering
R3K_WriteMem16(0x8006A808,0x0000) --E1000200
R3K_WriteMem16(0x8006AA90,0x0000) --E1000200
R3K_WriteMem16(0x8007C894,0x0000) --E1000200
R3K_WriteMem16(0x8007E1B0,0x0000) --E1000200
R3K_WriteMem16(0x8007F5E8,0x0000) --E1001000
end
EM_AddVsyncHook(patcher)
require "disc-selection"
local pal_disc_map = {
en = { "name_en_pal.bin" },
de = { "name_de_pal.bin" },
it = { "name_it_pal.bin" },
es = { "name_es_pal.bin" },
fr = { "name_fr_pal.bin" },
}
local ntsc_disc_map = {
en = { "ThrillKill.bin" }
}
RegisterDiscs(pal_disc_map, ntsc_disc_map)
Пример скрипта *.lua для Medievil
-- 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)
Последний раз редактировалось ErikPshat; 21.01.2025 в 04:39.
|