Emulation: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
(True)
 
(552 intermediate revisions by 22 users not shown)
Line 1: Line 1:
[[Category:Software]]
{{Boxwarning2|content='''This wiki page is temporally under rebuilding''', the previous content has been splitted and moved to: '''[[PS1 Emulation]], [[PS2 Emulation]], [[PSP Emulation]]'''<br>Now is going to be repurposed as an introduction to general emulation concepts and as a wiki navigation node to link to other relates pages, if you want to collaborate join the {{talk}}}}
For backwards- and crossproduct compatibility, several files in dev_flash are available/used.
----


== ps1emu ==
=Introduction=
Note: not available in early Tool/DECR and Debug/DEX firmwares.


=== Files ===
=Links=
  ps1_emu.self      (1.02++)
*[[PS1 Emulation]]
  ps1_netemu.self  (1.70++)
*[[PS1 Savedata]]
  ps1_newemu.self  (2.10++)
*[[PS1 Classics Emulator Compatibility List]]
  ps1_rom.bin      (2.10++)
*[[PS2 Emulation]]
*[[PS2 Savedata]]
*[[PS2 Classics Emulator Compatibility List]]
*[[PSP Emulation]]
*[[PSP Savedata]]
*[[PSP Emulator Compatibility List]]
*Etc... ISO.BIN.ENC, ISO.BIN.EDAT, savedata formats


=== Manual starting SELF method ===
=XMB settings related with emulators=
#Insert PSX/PSone disc (region/pressed doesn't matter)
<div style="float:right">[[File:XMB PS1PS2PSP game settings.jpg|400px|thumb|right|XMB game settings related with PS1, PS2, PSP emulators]]</div>
#Start MultiMAN (e.g. 2.07.01++)
See the info in the official [http://manuals.playstation.net/document/en/ps3/current/settings/gamesettings.html#2434 user guide] and some [http://uk.ps3.ign.com/articles/793/793775p1.html samples]
::*Since 02.07.05 the PSX and PS2 discs are properly detected. PSX discs will show in XMB Game Column and you can launch the PS1 game from there. It uses ps1_emu.self default (you can choose Load or Load (Net), latter uses ps1_netemu).
#Switch to filemanager mode
#Browse to /dev_flash/ps1emu
#Select either one of the ps1 emulation SELF files


Note: Some games run better with ps1_emu.self (e.g. Motal Kombat) while others run better with ps1_netemu.self (e.g. Resident Evil 3). If it doesn't work, try another ps1 emulation SELF file.
*In [[XMB]] {{icon category settings}} ⇨ '''[Game Settings]''' ⇨ '''[PS/PS2 Upscaler]''' (added since firmware [[1.80_CEX|1.80]], stored in '''[[XRegistry.sys]]/setting/game/emuUpConvert''')
**'''[Off]''' - Disable upscaled output.
**'''[Normal]''' - Upscale and display at a size that matches the screen size (keep 4:3 aspect ratio)
**'''[Full]''' - Upscale and display at full screen by changing proportions and stretching the image (to widescreen)


Downside: memory card options are unavailable unless you created a Virtual Memorycard ''before'' starting MultiMAN (XMB::Category Game:: Memory Card Utility (PS/PS2) > Create a PS1 memory card. Set it to Slot 1 (Press Triangle while selecting the Memory Card, then Assign it). Note: naming it "Internal Memory Card" sometimes works better than other names.
*In [[XMB]] {{icon category settings}} ⇨ '''[Game Settings]''' '''[PS/PS2 Smoothing]''' (added since firmware [[1.80_CEX|1.80]], stored in '''[[XRegistry.sys]]/setting/game/emuSmoothing''')
**'''[Off]''' - Disable smoothing
**'''[On]''' - Use smoothing to reduce the roughness of the displayed image (note: when titles that support progression scan have this option turned on, they revert back to 480p with no alterations)


==== Changes in MultiMAN 2.07.00/01 for ps1_emu handling ====
*In [[XMB]] {{icon category settings}} ⇨ '''[Game Settings]''' ⇨ '''[PSP™ Remaster - Screen Mode]''' (stored in '''[[XRegistry.sys]]/setting/game/pspemuViewmode''')
These options where needed to make above work:
**Sets the display size of the screen during gameplay. This setting can only be used when outputting video to an HD TV
* Added: LV2 access rights to use LV1 Storage Manager (syscall 864)
**'''[Normal]'''
* Added: LV1 patch for user access to sys_storage functions (syscalls 600 to 623)
**'''[Full Screen]'''


== ps2emu ==
*In [[XMB]] {{icon category settings}} ⇨ '''[Game Settings]''' ⇨ '''[PSP™ Remaster - 3D Display]''' (stored in '''[[XRegistry.sys]]/setting/game/pspemu3dDisplay''' and '''pspemu3dDepthAdjust''')
Note: not available in early Tool/DECR and Debug/DEX firmwares.
**Sets whether or not to display Images in 3D.You can also adjust the depth of 3D images. This setting can only used when playing a stereoscopic 3D game using a 3D TV
**'''[Off]'''
**'''[On]'''
***'''[7]''' (Strong)
***'''[6]'''
***'''[5]''' (Normal)
***'''[4]'''
***'''[3]'''
***'''[2]'''
***'''[1]''' (Weak)


*In [[XMB]] {{icon category settings}} ⇨ '''[Game Settings]''' ⇨ '''[PSP™ Remaster - Ad Hoc Mode Channel]''' (stored in '''[[XRegistry.sys]]/setting/game/pspemuAdhocModeCh''')
**Set a channel for use in ad hoc mode. Choose the same channel as the person you want to connect with
**'''[Automatic]'''
**'''[1]'''
**'''[6]'''
**'''[11]'''


=== Files ===
*In [[XMB]] {{icon category settings}} ⇨ '''[Game Settings]''' ⇨ '''[PSP™ Remaster - Ad Hoc Mode]''' (stored in '''[[XRegistry.sys]]/setting/game/pspemuAdhocModeWlan''')
  ps2_emu.self      (1.02++)
**Sets whether or not to use ad hoc mode over a wireless LAN
  ps2_gxemu.self    (1.50++)
**'''[Off]'''
  ps2_softemu.self  (1.90++)
**'''[On]'''


<!--
The setting "PSP EMU Menu" (with options: Off/On, and description: Enable/disable the options on XMB described above) doesnt appears on [[QA_Flagging#Debug_Settings_.28CEX.2FDEX.29]] and is not clear in which firmwares or PS3 models is supposed to appear
-->


=== Mountpoints ===
=Resolution=
  dev_ps2disc
== PS1 Native resolution ==
  dev_ps2disc1
Games are always 4:3 with any resolution between 704x480 NTSC / 704x576 PAL (the bios initialisation screen) and lower:
* Horizontal: 256 (rare e.g. Dragon Warrior VII), 320, 368 (occasionally 384 e.g. SF Zero 3 but not X-Men vs SF which was shrunk to 368), 512, 576, 600, 640 or 704
* Vertical: 240 (NTSC), 300 (PAL), 480 (NTSC), 576 (PAL)
Tekken 3 uses a strange pixel area of 384x480. Regardless of the screen area, the aspect ratio is still 4:3 for all PlayStation games.
Very common resolutions : 320x224 for NTSC and 320x256 for PAL.




=== LPAR / AUTH ID's ===
==PS2 Native Resolution==
{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable" style="border:1px solid #999; border-collapse: collapse;"
Video output resolution: variable from 256x224 to 1280x1024 (not 1920x1080) pixels.
|- bgcolor="#cccccc"
! Name !! Auth ID !! Self<br />(/dev_flash/ps2emu) !! Notes
|-
| PS2_LPAR  || 0x1020000003000001 || rowspan="2" | ps2_emu.self ||
|-
| *SCE_CELLOS_SYSTEM_MGR_PS2  || 0x107000001D000001 ||
|-
| PS2_GX_LPAR || 0x1020000003000001 || rowspan="2" | ps2_gxemu.self ||
|-
| *SCE_CELLOS_SYSTEM_MGR_PS2_GX || 0x107000001D000001 ||
|-
| PS2_SW_LPAR || 0x1020000003000001 || rowspan="2" | ps2_softemu.self ||
|-
| *SCE_CELLOS_SYSTEM_MGR_PS2_SW || 0x107000001D000001 ||
|-
|}


 
{{Reverse engineering}}<noinclude>
=== Difference Emulator Usage ===
[[Category:Main]]
{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable" style="border:1px solid #999; border-collapse: collapse;"
</noinclude>
|- bgcolor="#cccccc"
! colspan="4" | PS2_GX
|-
! Core !! Job !! Source !! Notes
|-
| SPU0 || IOP || SPU ASM ||
|-
| SPU1 || DMA || SPU ASM ||
|-
| SPU2 || Isolation || C++ Raw SPU || Used for MagicGate Encryption and others (?)
|-
| SPU3 || IPU || SPU ASM ||
|-
| SPU4 || GFIF || SPU ASM ||
|-
| SPU5 || PS2-SPU2 || C++ || about 50% load average
|-
| SPU6 || VU1 || SPU ASM ||
|-
| SPU7 || - || - || Unavailable: Factory disabled SPU
|-
| PPU:0 || PS2-Devices || C++ and PPU ASM ||
|-
| PPU:1 || Emotion Engine || C++ and PPU ASM ||
|-
| PS2-GS || Graphic Synthesizer || Hardware PS2-GS || Present in CECHC/COK-002
|-
! colspan="4" | PS2 (GS+EE)
|-
! Core !! Job !! Source !! Notes
|-
| SPU0 || IOP || SPU ASM ||
|-
| SPU2 || Isolation || C++ Raw SPU || Used for MagicGate Encryption and others (?)
|-
| - || DMA || Hardware PS2-EE ||
|-
| - || VU1 || Hardware PS2-EE ||
|-
| - || IPU || Hardware PS2-EE ||
|-
| - || GFIF || Hardware PS2-EE ||
|-
| SPU5 || PS2-SPU2 || C++ || about 50% load average
|-
| SPU7 || - || - || Unavailable: Factory disabled SPU
|-
| PPU:0 || PS2-Devices || C++ and PPU ASM ||
|-
| PPU:1 || - || - || unused?
|-
| PS2-EE || Emotion Engine || Hardware PS2-EE || Present in CECHA/COK-001 and CECHB/COK-001
|-
| PS2-GS || Graphic Synthesizer || Hardware PS2-GS || Present in CECHA/COK-001 and CECHB/COK-001
|-
! colspan="4" | PS2 Software
|-
| colspan="5" | problematic, see Mathieulh quoted below
<pre>
The main issue here is that it's mostly not doable to emulate the GS efficiently with the rest
of the hardware because the RSX is just not meant for this task and cannot emulate the GS on
its own while all the available SPUs and the PPU are already mostly fully used to emulate the
rest of the playstation 2 hardware, this explains why sony never could finish the ps2_softemu
and that it reached a stalling step.
 
I honestly have no idea on how it would be possible to get over the ps3 hardware limitations to
perform a full ps2 emulation without any of the ps2 hardware present on the console, one thing
for sure is that the emulator would have to be entirely rewritten and optimized like no other
ps3 software has been.
</pre>
|-
|}
 
 
== pspemu ==
Used for PSPMini's
 
=== Files ===
  psp_emulator.self    (3.15++)
  psp_translator.self  (3.15++)
  \flash0              (3.15++)
  \release              (3.15++)

Latest revision as of 12:22, 27 February 2024

Warning
Warning
This wiki page is temporally under rebuilding, the previous content has been splitted and moved to: PS1 Emulation, PS2 Emulation, PSP Emulation
Now is going to be repurposed as an introduction to general emulation concepts and as a wiki navigation node to link to other relates pages, if you want to collaborate join the Discussion

Introduction[edit | edit source]

Links[edit | edit source]

XMB settings related with emulators[edit | edit source]

XMB game settings related with PS1, PS2, PSP emulators

See the info in the official user guide and some samples

  • In XMB Settings[Game Settings][PS/PS2 Upscaler] (added since firmware 1.80, stored in XRegistry.sys/setting/game/emuUpConvert)
    • [Off] - Disable upscaled output.
    • [Normal] - Upscale and display at a size that matches the screen size (keep 4:3 aspect ratio)
    • [Full] - Upscale and display at full screen by changing proportions and stretching the image (to widescreen)
  • In XMB Settings[Game Settings][PS/PS2 Smoothing] (added since firmware 1.80, stored in XRegistry.sys/setting/game/emuSmoothing)
    • [Off] - Disable smoothing
    • [On] - Use smoothing to reduce the roughness of the displayed image (note: when titles that support progression scan have this option turned on, they revert back to 480p with no alterations)
  • In XMB Settings[Game Settings][PSP™ Remaster - Screen Mode] (stored in XRegistry.sys/setting/game/pspemuViewmode)
    • Sets the display size of the screen during gameplay. This setting can only be used when outputting video to an HD TV
    • [Normal]
    • [Full Screen]
  • In XMB Settings[Game Settings][PSP™ Remaster - 3D Display] (stored in XRegistry.sys/setting/game/pspemu3dDisplay and pspemu3dDepthAdjust)
    • Sets whether or not to display Images in 3D.You can also adjust the depth of 3D images. This setting can only used when playing a stereoscopic 3D game using a 3D TV
    • [Off]
    • [On]
      • [7] (Strong)
      • [6]
      • [5] (Normal)
      • [4]
      • [3]
      • [2]
      • [1] (Weak)
  • In XMB Settings[Game Settings][PSP™ Remaster - Ad Hoc Mode Channel] (stored in XRegistry.sys/setting/game/pspemuAdhocModeCh)
    • Set a channel for use in ad hoc mode. Choose the same channel as the person you want to connect with
    • [Automatic]
    • [1]
    • [6]
    • [11]
  • In XMB Settings[Game Settings][PSP™ Remaster - Ad Hoc Mode] (stored in XRegistry.sys/setting/game/pspemuAdhocModeWlan)
    • Sets whether or not to use ad hoc mode over a wireless LAN
    • [Off]
    • [On]


Resolution[edit | edit source]

PS1 Native resolution[edit | edit source]

Games are always 4:3 with any resolution between 704x480 NTSC / 704x576 PAL (the bios initialisation screen) and lower:

  • Horizontal: 256 (rare e.g. Dragon Warrior VII), 320, 368 (occasionally 384 e.g. SF Zero 3 but not X-Men vs SF which was shrunk to 368), 512, 576, 600, 640 or 704
  • Vertical: 240 (NTSC), 300 (PAL), 480 (NTSC), 576 (PAL)

Tekken 3 uses a strange pixel area of 384x480. Regardless of the screen area, the aspect ratio is still 4:3 for all PlayStation games. Very common resolutions : 320x224 for NTSC and 320x256 for PAL.


PS2 Native Resolution[edit | edit source]

Video output resolution: variable from 256x224 to 1280x1024 (not 1920x1080) pixels.