Editing Emulation
Jump to navigation
Jump to search
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 1: | Line 1: | ||
[[Category:Software]] | |||
For backwards- and crossproduct compatibility, several files in dev_flash are available/used. | |||
= | == ps1emu == | ||
Note: not available in early Tool/DECR and Debug/DEX firmwares. | |||
= | === Files === | ||
ps1_emu.self (1.02++) | |||
ps1_netemu.self (1.70++) | |||
ps1_newemu.self (2.10++) | |||
ps1_rom.bin (2.10++) | |||
= | === Manual starting SELF method === | ||
#Insert PSX/PSone disc (region/pressed doesn't matter) | |||
#Start MultiMAN (e.g. 2.07.01++) | |||
::*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. | |||
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. MultiMAN 02.07.07 seems to solve the savegame issues. | |||
==== Changes in MultiMAN 2.07.00/01 for ps1_emu handling ==== | |||
These options where needed to make above work: | |||
* | * Added: LV2 access rights to use LV1 Storage Manager (syscall 864) | ||
* | * Added: LV1 patch for user access to sys_storage functions (syscalls 600 to 623) | ||
== ps2emu == | |||
<div style="float:right">[[File:Ps2_block_diagram.png|200px|thumb|left|Simplified block diagram of a PS2<br />[http://www.philvaz.com/games/PS2.htm source]]]</div> | |||
Note: not available in early Tool/DECR and Debug/DEX firmwares. | |||
=== Files === | |||
ps2_emu.self (1.02++) | |||
ps2_gxemu.self (1.50++) | |||
ps2_softemu.self (1.90++) | |||
=== Mountpoints === | |||
dev_ps2disc | |||
dev_ps2disc1 | |||
=== LPAR / AUTH ID's === | |||
{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable" style="border:1px solid #999; border-collapse: collapse;" | |||
|- 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 || | |||
|- | |||
|} | |||
{ | === Difference Emulator Usage === | ||
{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable" style="border:1px solid #999; border-collapse: collapse;" | |||
</ | |- 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++) |