Template:PS2 emulators workload comparison: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
(moved from PS2 Emulators page. The comment from math should be moved out of the table at some point... also the table needs an small rebuild to specify the explicit emulators filenames)
 
(That's how emulator enumerate them, that's how emu access them, and old layout really seems to not exist even in first softemu.)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable" style="border:1px solid #999; border-collapse: collapse;"  
{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable" style="border:1px solid #999; border-collapse: collapse;"  
|+PS2 emulators workload comparison {{ed right|PS2 emulators workload comparison}}
|+{{ed right|PS2 emulators workload comparison}}
! colspan="4" | PS2 (GS+EE)
! colspan="4" | PS2 (GS+EE)
|-
|-
! Core !! Job !! Source !! Notes
! Core !! Job !! Source !! Notes
|-
|-
| SPU0 || IOP || SPU ASM ||  
| SPU0 || Spu2 || SPU Assembly || Spu2 emulator
|-
|-
| - || DMA || Hardware [[CXD2953AGB]] || Only in [[CECHAxx]] and [[CECHBxx]] PS3 models with [[COK-00x|COK-001]] motherboard
| SPU1 || Sif || SPU Assembly || Some kind of bridge to IOP, since SIF is part of EE hardware.
|-
|-
| SPU2 || Isolation || C++ Raw SPU || Used for MagicGate Encryption and others (?)
| SPU2 || Timer || SPU Assembly || IOP timers.
|-
|-
| - || IPU || rowspan="2" | Hardware [[CXD2953AGB]] || rowspan="2" | Only in [[CECHAxx]] and [[CECHBxx]] PS3 models with [[COK-00x|COK-001]] motherboard
| SPU3-6 || - || - || Unknown, emulator seems to not use them
|-
|-
| - || GFIF
|-
| SPU5 || PS2-SPU2 || C++ || about 50% load average
|-
| - || VU1 || Hardware [[CXD2953AGB]] || Only in [[CECHAxx]] and [[CECHBxx]] PS3 models with [[COK-00x|COK-001]] motherboard
|-{{cellcolors|lightgrey}}
| SPU7 || - || - || Unavailable: Factory disabled SPU
| SPU7 || - || - || Unavailable: Factory disabled SPU
|-
|-
Line 33: Line 27:
! Core !! Job !! Source !! Notes
! Core !! Job !! Source !! Notes
|-
|-
| SPU0 || IOP || SPU ASM ||  
| SPU0 || IOP || SPU ASM || I/O Processor (originally PS1 main processor)
|-
|-
| SPU1 || DMA || SPU ASM ||  
| SPU1 || DMA || SPU ASM || Emotion Engine DMA Controller
|-
|-
| SPU2 || Isolation || C++ Raw SPU || Used for MagicGate Encryption and others (?)
| SPU2 || Isolation || C++ Raw SPU || Used for MagicGate Encryption and others (?)
|-
|-
| SPU3 || IPU || SPU ASM ||  
| SPU3 || IPU || SPU ASM || Image Processing Unit
|-
|-
| SPU4 || GFIF || SPU ASM ||  
| SPU4 || GFIF || SPU ASM || GIF?
|-
|-
| SPU5 || PS2-SPU2 || C++ || about 50% load average
| SPU5 || PS2-SPU2 || C++ || Sound processing unit 2 (originally SPU from PS1) about 50% load average
|-
|-
| SPU6 || VU1 || SPU ASM ||
| SPU6 || VU1 || SPU ASM || Vector Unit 1
|-{{cellcolors|lightgrey}}
|-{{cellcolors|lightgrey}}
| SPU7 || - || - || Unavailable: Factory disabled SPU
| SPU7 || - || - || Unavailable: Factory disabled SPU
Line 56: Line 50:
|-
|-
! colspan="4" | PS2 Software
! 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>
|-
|-
! Core !! Job !! Source !! Notes
! Core !! Job !! Source !! Notes
|-
|-
| SPU0 || IOP || SPU ASM ||  
| SPU0 || IOP || SPU ASM || I/O Processor (originally PS1 main processor)
|-
|-
| SPU1 || EEDMA || SPU ASM ||  
| SPU1 || SPU2 || SPU ASM || Sound Processing Unit 2
|-
|-
| SPU2 || Isolation || C++ Raw SPU || Used for MagicGate Encryption and others (?)
| SPU2 || VU1 || SPU ASM || Vector Unit 1
|-
| SPU || GSE || SPU ASM || Graphic Synthesizer <!-- this row should be deleted because the GSE job is made by SPU4 ? -->
|-
|-
| SPU3 || IPU || SPU ASM ||  
| SPU3 || EEDMA || SPU ASM || Emotion Engine DMA Controller
|-
|-
| SPU4 || GSEGFIF || SPU ASM ||  
| SPU4 || GSEGIF || SPU ASM || GIF
|-
|-
| SPU5 || PS2-SPU2 || C++ ||
| SPU5 || GSE || SPU ASM ||
|-
|-
| SPU6 || VU1 || SPU ASM ||
| SPU6 || IPU || SPU ASM || Image Processing Unit
|-{{cellcolors|lightgrey}}
|-{{cellcolors|lightgrey}}
| SPU7 || - || - || Unavailable: Factory disabled SPU
| SPU7 || - || - || Unavailable: Factory disabled SPU
Line 99: Line 77:
! Core !! Job !! Source !! Notes
! Core !! Job !! Source !! Notes
|-
|-
| SPU0 || IOP || ||  
| SPU0 || IOP || SPU ASM || I/O Processor (originally PS1 main processor)
|-
| SPU1 || SPU2 || SPU ASM || Sound processing unit 2 (originally SPU from PS1)
|-
|-
| SPU1 || SPU2 || ||  
| SPU2 || VU1 || SPU ASM || Running VU1 code translated previously on PPU side.
|-
|-
| SPU2 || VU1 || ||  
| SPU3 || EEDMA || SPU ASM || Partial DMAC, mostly channels 1/2, and VU1 CODE r/w. Also process VIF1 commands (incl. Unpacks).
|-
|-
| SPU3 || EEDMA || ||  
| SPU4 || FE || SPU ASM || GIF unit, processing GIF tags, handling GS internal registers, etc.
|-
|-
| SPU4 || FE || ||  
| SPU5 || BE || SPU ASM ||  
|-
|-
| SPU5 || BE || ||
| SPU6 || IPU || SPU ASM || EE Image Processing Unit
|-{{cellcolors|lightgrey}}
| SPU7 || BE || || Factory disabled SPU. Emulator set name for JOB, but never try to start/set it as active.
|-
|-
| SPU6 || IPU || ||
| PPU:0 || - || - ||
|-
|-
| SPU7 || BE || || <!-- Factory disabled SPU ? -->
| PPU:1 || - || - ||
|-
|-
|}<noinclude>[[Category:Templates]]</noinclude>
|}<noinclude>[[Category:Templates]]</noinclude>

Latest revision as of 12:25, 29 June 2023

PS2 (GS+EE)
Core Job Source Notes
SPU0 Spu2 SPU Assembly Spu2 emulator
SPU1 Sif SPU Assembly Some kind of bridge to IOP, since SIF is part of EE hardware.
SPU2 Timer SPU Assembly IOP timers.
SPU3-6 - - Unknown, emulator seems to not use them
SPU7 - - Unavailable: Factory disabled SPU
PPU:0 PS2-Devices C++ and PPU ASM
PPU:1 - - unused?
PS2-EE Emotion Engine Hardware CXD2953AGB Only in CECHAxx and CECHBxx PS3 models with COK-001 motherboard
PS2-GS Graphic Synthesizer
PS2_GX
Core Job Source Notes
SPU0 IOP SPU ASM I/O Processor (originally PS1 main processor)
SPU1 DMA SPU ASM Emotion Engine DMA Controller
SPU2 Isolation C++ Raw SPU Used for MagicGate Encryption and others (?)
SPU3 IPU SPU ASM Image Processing Unit
SPU4 GFIF SPU ASM GIF?
SPU5 PS2-SPU2 C++ Sound processing unit 2 (originally SPU from PS1) about 50% load average
SPU6 VU1 SPU ASM Vector Unit 1
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 CXD2972GB Only in CECHCxx PS3 models with COK-002 motherboard
PS2 Software
Core Job Source Notes
SPU0 IOP SPU ASM I/O Processor (originally PS1 main processor)
SPU1 SPU2 SPU ASM Sound Processing Unit 2
SPU2 VU1 SPU ASM Vector Unit 1
SPU3 EEDMA SPU ASM Emotion Engine DMA Controller
SPU4 GSEGIF SPU ASM GIF
SPU5 GSE SPU ASM
SPU6 IPU SPU ASM Image Processing Unit
SPU7 - - Unavailable: Factory disabled SPU
PPU:0 PS2-Devices C++ and PPU ASM
PPU:1 Emotion Engine C++ and PPU ASM
PS2 Netemu
Core Job Source Notes
SPU0 IOP SPU ASM I/O Processor (originally PS1 main processor)
SPU1 SPU2 SPU ASM Sound processing unit 2 (originally SPU from PS1)
SPU2 VU1 SPU ASM Running VU1 code translated previously on PPU side.
SPU3 EEDMA SPU ASM Partial DMAC, mostly channels 1/2, and VU1 CODE r/w. Also process VIF1 commands (incl. Unpacks).
SPU4 FE SPU ASM GIF unit, processing GIF tags, handling GS internal registers, etc.
SPU5 BE SPU ASM
SPU6 IPU SPU ASM EE Image Processing Unit
SPU7 BE Factory disabled SPU. Emulator set name for JOB, but never try to start/set it as active.
PPU:0 - -
PPU:1 - -