Editing PS1 Emulation

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 10: Line 10:


== Configuration Files ==
== Configuration Files ==
=== config-title.txt ===
=== config-emu-ps4.txt ===
{| cellspacing="0" cellpadding="2" border="1" class="wikitable" style="text-align: center;"
{| cellspacing="0" cellpadding="2" border="1" class="wikitable" style="text-align: center;"
! style="width:10%" | Command !! style="width:15%" | Values !! Notes !! style="width:20%" | Usage  
! style="width:10%" | Command !! style="width:15%" | Values !! Notes !! style="width:20%" | Usage  
Line 16: Line 16:
| --wait|| || ||  
| --wait|| || ||  
|-
|-
| --bios|| path || Need to match region of game, relative to sandbox root || --bios=SCPH101.bin
| --bios|| path || Need to match region of game, relative to sandbox root || --bios="BIOS/SCPH5502.bin"
|-
|-
| --configpath|| || ||  
| --configpath|| || ||  
Line 51: Line 51:
|-
|-
| --texrecent|| true , false || Optimize texture hashes Leading To better Performance || --texrecent=true
| --texrecent|| true , false || Optimize texture hashes Leading To better Performance || --texrecent=true
|-
| --use-lopnor-spu|| 1, 0 || like this is FiX for sound || --use-lopnor-spu=1
|-
| --userui-settings-graphics|| 1, 0 ||
'''filter'''
>> None,Bicubic,Lanczos,Cubic
'''Anti-Aliasing''' >> FXAA,CMAA
'''Upscale Factor''' >>2x,3x,4x,5x,6x Scale
|| --userui-settings-graphics=1
|-
| --enable-user-color-adjustment || 1, 0 || it can change your brightness,contrast, gamma etc. || --enable-user-color-adjustment=1
|-
|-
|}
|}
Line 385: Line 374:
* Start the new FPKG created and it should recognize your Save File and load the Game from the beginning of Disc 2
* Start the new FPKG created and it should recognize your Save File and load the Game from the beginning of Disc 2
* Do the same process for every other additional Disc.
* Do the same process for every other additional Disc.
=== Alternative solution - Disc Merge ===
Alternatively ps1 discs can be merged into single bin/cue. There could be potential limitations in file size because MM:SS:FF can only go up to 99:99:99 which translates to around 870MB. For sure this will be problem for games with CDDA tracks. For now there is no confirmation that this limit apply to data only games. How hard is disc merging depends highly on game we want to use. Parasite Eve is one of easiest games to do that since second disc check is triggered only if files from disc 2 are not present on current disc, which they are since discs are merged. Game also use the same EXE and PE file on both discs, and do not use lba based tables. So merging discs is literally repacking them into single disc. But different games use different approaches, games like MGS need additional patches to few files to skip shell open checks, and lba adjustments. For now Chinese Parasite Eve fan translation is only confirmed game that works (thx 苏宇 for playing whole game to test it).
==Memory mapping==
==Memory mapping==
{| cellspacing="0" cellpadding="2" border="1" class="wikitable" style="text-align: center;"
{| cellspacing="0" cellpadding="2" border="1" class="wikitable" style="text-align: center;"
Line 475: Line 460:


<pre>
<pre>
├──assets
├──bios
│  ├──common
│  ├── scph5500.bin
│  │  ├──gamespec
  ├── scph5501.bin
│  │  │  └──icon.png
  └── scph5502.bin
│  │  ├──localization
├──config-emu-ps4.txt
│  │  │  ├──ar-AR.json
│  │  │  ├──cs-CZ.json
│  │  │  ├──da-DK.json
│  │  │  ├──de-DE.json
│  │  │  ├──el-GR.json
│  │  │  ├──en-GB.json
│  │  │  ├──en-US.json
│  │  │  ├──es-ES.json
│  │  │  ├──es-MX.json
│  │  │  ├──fi-FI.json
│  │  │  ├──fr-CA.json
│  │  │  ├──fr-FR.json
│  │  │  ├──hu-HU.json
│  │  │  ├──id-ID.json
│  │  │  ├──it-IT.json
│  │  │  ├──ja-JP.json
│  │  │  ├──ko-KR.json
│  │  │  ├──nl-NL.json
│  │  │  ├──no-NO.json
│  │  │  ├──pl-PL.json
│  │  │  ├──pt-BR.json
│  │  │  ├──pt-PT.json
│  │  │  ├──ro-RO.json
│  │  │  ├──ru-RU.json
│  │  │  ├──sv-SE.json
│  │  │  ├──th-TH.json
│  │  │  ├──tr-TR.json
│  │  │  ├──uk-UA.json
│  │  │  ├──vi-VN.json
│  │  │  ├──zh-CHS.json
│  │  │  └──zh-CHT.json
│  │  ├──msdf
│  │  │  └──icon.png
│  │  ├──SFX
│  │  │  ├──Browse.ogg
│  │  │  ├──BROWSE_DOWN.ogg
│  │  │  ├──Browse_UP.ogg
│  │  │  ├──CloseWindow.ogg
│  │  │  ├──CloseWindow2.ogg
│  │  │  ├──OpenWindow.ogg
│  │  │  ├──OpenWindow2.ogg
│  │  │  ├──Slider.ogg
│  │  │  ├──TimelineSlideDown.ogg
│  │  │  └──TimelineSlideUp.ogg
│  │  │
│  │  ├──arrow_left.png
│  │  ├──arrow_right.png
│  │  ├──checkmark.png
│  │  ├──consola.ttf
│  │  ├──DPad-Down.png
│  │  ├──DPad-Left.png
│  │  ├──DPad-Right.png
│  │  ├──DPad-UP.png
│  │  ├──forbidden.png
│  │  ├──fpd.png
│  │  ├──L1.png
│  │  ├──L2.png
│  │  ├──R1.png
│  │  ├──R2.png
│  │  ├──select.png
│  │  ├──start.png
│  │  ├──start_select_controls_embedded_ps4.png
│  │  ├──start_select_controls_embedded_ps5.png
│  │  ├──start_select_controls_ps4.png
│  │  ├──start_select_controls_ps5.png
│  │  ├──Touchpad.png
│  │  ├──Touchpad_left.png
│  │  ├──Touchpad_right.png
│  │  ├──ui_ps_circle.png
│  │  ├──ui_ps_cross.png
│  │  ├──ui_ps_dpad_left.png
│  │  ├──ui_ps_dpad_right.png
│  │  ├──ui_ps_l1.png
│  │  ├──ui_ps_r1.png
│  │  ├──ui_ps_square.png
│  │  ├──ui_ps_touchpad.png
│  │  └──ui_ps_triangle.png
│  │
│  └──PS1HD
│      └──bios
│          ├── SCPH5500.bin
          ├── SCPH5501.bin
          └── SCPH5502.bin
├──conf
│  └── PS1HD
│        ├── dev-pc.conf
│        ├── dev-ps4.conf
│        ├── dev-ps5.conf
│        ├── package-pc.conf
│        ├── package-ps4.conf
│        └── package-ps5.conf
├──data
├──data
│  ├── image.toc
│  └── image.bin
│  └── image.bin
├──global
├──eboot.bin
│  ├──presets
│  │  ├── Default.json
│  │  ├── Modern.json
│  │  ├── RetroClassic.json
│  │  └── RetroModern.json
│  └──scripts
│      └──lua_include
│          ├── disc-selection.lua
│          └── sce-locale.lua
├──sce_module
├──sce_module
│  ├── libc.prx
│  ├── libc.prx
│  ├── libSceAudioLatencyEstimation.prx
│  ├── libSceFace.prx
│  ├── libSceFaceTracker.prx
│  ├── libSceFios2.prx
│  ├── libSceFios2.prx
│  └── libSceNpToolkit2.prx
│  ├── libSceHand.prx
│  ├── libSceHandTracker.prx
│  ├── libSceHeadTracker.prx
│  ├── libSceJobManager.prx
│  ├── libSceNpToolkit2.prx
│  └── libSceS3DConversion.prx
├──sce_sys
├──sce_sys
│  ├── icon0.png
│  ├── pic0.png
│  ├── pic1.png
│  ├── save_data.png
│  └── param.sfo
│  └── param.sfo
├──scripts
├──scripts
│  ├── discswap.lua
│  ├── speedup.lua
│  ├── trophies.lua
│  ├── patches.lua
│  └── XXXXYYYYY.lua
│  └── XXXXYYYYY.lua
├──SIEA
│  ├── config-region.txt
│  ├── config-region.json
│  ├── regional_icon.png
│  └── app_boot.lua
├──config-title.txt
├──eboot.bin
├──revision.conf
</pre>
</pre>
== Emulator patches ==
=== Syphon Filter 3 emu ===
Emu build from 2023-Feb-17
=== The Legend Of Dragoon emu ===
Emu build from 2023-Feb-21
==== Remove dithering ====
Universal dithering removal patch, works with every single game. PS1 cheats/patches are no longer required to disable dither pattern. To apply unself self file, edit, and sign it again after that. Alternatively you can use cheat engine, offset need to be adjusted to emu base then.<br>
''Replaces *and ecx, 7FFh* with *and ecx, 5FFh* to always remove dither enable bit on E1 write.''
*Emu memory offset: 0x50EA2
*Elf memory offset: 0x54EA2
Original bytes:
81 E1 FF 07 00 00
Replace to:
81 E1 FF 05 00 00


== Links ==
== Links ==
Please note that all contributions to PS4 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS4 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)