Модель консоли: PS3 SS 
Прошивка: HFW 4.91.2 
				Регистрация: 10.04.2016 
				
				Возраст: 50 
				
					Сообщений: 27,904
				 
				 
	Вы сказали Спасибо: 10,298 
	
		
			
				Поблагодарили 14,891 раз(а) в 6,731 сообщениях
			
		
	 
				
				Сила репутации:  10Репутация: 14766 
					 (репутация неоспорима) 
				
   
				     
 
			 
 
	  | 
	
	
	
		
		
			
			
				 
				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.
				
				
			
		
		 
	 |