Overclock.net › Forums › Industry News › Video Game News › [DS] RPCS3 Is A New PS3 Emulator (VIDEO)
New Posts  All Forums:Forum Nav:

[DS] RPCS3 Is A New PS3 Emulator (VIDEO) - Page 12

post #111 of 117
Quote:
Originally Posted by Xaero252 View Post

I'm going to partially agree with Mushroomboy on this one; With the PS4 and XBONE you can virtualize the processor functions (which is almost literally a 1:1 hardware passthrough, utilizing pseudo-devices as he stated.) With the PS3 you can't do that. We have PPC virtualization available, but only on PPC platforms. That said, we do have fully function VM's for PPC on x86; the performance is very close to that of hardware virtualization. This only takes care of one very small facet of the creation of a full PS3 VM/Emulator: The processor architecture, and only one ninth of the processor at that; the 8 secondary cores (7, since one is disabled on all PS3's) are of mostly unknown architecture, but they are supposed to be ARM based (which is where they are likely starting)... from there the graphics pipeline is completely unfinished - but we haven't actually attempted to emulate graphics hardware outside of arcade machines since the Super Nintendo era consoles. It's simply easier and more intelligent to arbitrate the video to the native hardware...

To break down what I mean by the VGA arbitration:
When a game's code is run on the console natively, the processor calls the graphics hardware to do graphics work - based on the games code, it calls different draw commands etc...
When we emulate the game, we have the calls available to us to see what the processor wanted the original hardware to do, from there we can directly translate that call to something native (OpenGL, DirectX, Mantle etc...) to the current operating system environment to take advantage of the hardware available to us. Software video plugins typically still use DX/Ogl calls, but in software rendering mode. There's simply no need to emulate the actual hardware since we have the calls for video devices available to us. Hence VGA arbitration being the norm now. Even if there are unavailable functions we can generally recreate the functions required using functions which make multiple calls.

To correct something though, most of the recent emulators are creating Virtual Machines akin to Virtualbox for consoles. Dolphin does it for Wii, and partially for Gamecube (just enough of the OS is initialized for the Gamecube games to work; the entire Wii is emulated, and you can even boot the Wii's OS instead of a game, and if you have a dump from your Wii - its effectively the same, even according to Nintendo's servers.) PCSX2 was the first major emulator to do this completely. epsxe and pcsx/pcsx-r do a similar level of VM work to Dolphin's GC emulation. It's a pretty neat trick. That said, to get the performance they do they still use JIT DynaRec's for call translation.

Oh I was talking Xbox original. The same applies to the new systems though, it would be a mix between VM and wrapping in the end, basically HLE. The biggest problem is there are still modifications for those APUs on current gen as well as sound, other onboard stuff really, that's probably not well documented. From what I've gathered the biggest issue with XB is that stuff, including the Nvidia chipset.

Unfortunately even AFTER we get the hardware working well enough for good home brew, we will have to either strip the games of security or learn how the new console securities work. So this is still a headache, though a leaked SDK might be helpful. As well as one more ace, AMD plans to sell (is selling? I didn't really keep up to date with that) APUs based off what is currently in the PS4 (presumably similar to Xbox One). That will smooth things out but will still assuredly be missing instructions. For the PS4 the big one will be that extra memory lane, we'll have to figure out how to split that up so third lane gets divided to either CPU instructions or GPU since the PC lacks a third lane.

Issues after issues, it's pretty crazy. And yes, most new emulators use HLE. We "translate" function calls into the appropriate system call on the current opsys. It's not Visualization it's more of a wrapper. The game has it's shader instructions, we take that and translate it into something DX or the system can understand then send it to the hardware instead of emulating the hardware. Visualization wouldn't do that, you could think of it as some form of visualization in a way..... It's not though. Does WINE emulate or virtualize? No? Exactly, it takes windows calls functions and everything related (D3D) and translates those calls/functions into something the new opsys (Linux/MAC) can understand. Then the opsys does it's own call natively, the goal is a transparent API on top of the game and WINE does that pretty well.

http://en.wikipedia.org/wiki/High-level_emulation

It's emulation and wrapping combined,
Edited by mushroomboy - 3/24/14 at 2:17pm
Current Rig
(14 items)
 
  
CPUMotherboardGraphicsRAM
FX-8350 4.6GHz@1.44v GA-990FXA-UD3 R4.0 HD 7950 (1100/1450) 8G Muskin DDR3 1866@8CLS 
Hard DriveOptical DriveOSMonitor
1TB WD LiteOn DVD-RW DL Linux/Windows 19" Phillips TV 1080p 
PowerCaseMouseMouse Pad
OCZ 600W Generic Junk Logitech MX400 Generic Junk 
Audio
SBL 5.1 
  hide details  
Reply
Current Rig
(14 items)
 
  
CPUMotherboardGraphicsRAM
FX-8350 4.6GHz@1.44v GA-990FXA-UD3 R4.0 HD 7950 (1100/1450) 8G Muskin DDR3 1866@8CLS 
Hard DriveOptical DriveOSMonitor
1TB WD LiteOn DVD-RW DL Linux/Windows 19" Phillips TV 1080p 
PowerCaseMouseMouse Pad
OCZ 600W Generic Junk Logitech MX400 Generic Junk 
Audio
SBL 5.1 
  hide details  
Reply
post #112 of 117
This is pretty good news. I'm sure by 2018 it will be running a lot more smoother.
post #113 of 117
Quote:
Originally Posted by brootalperry View Post

This is pretty good news. I'm sure by 2018 it will be running a lot more smoother.

Judging by the 2.5fps video posted of Disgaea 3; I'd say 2018 is a generous estimate, I'd expect by mid 2016 we should start to see playable framerates (given that development continues to push forward at the rate it is right now, and no new developers step into the arena to boost progress; life happens though, so things will likely change) That 2.5fps video was also recorded on a relatively ancient processor; with an insufficient number of threads. On a modern 6c12t system at ~4.2-4.5ghz I'd expect probably 15-20fps.
    
CPUMotherboardGraphicsRAM
Core i7 920 D0 4.2ghz HT (1.3625v) Asus R3E 2xGTX 460 (non SLi, no overclock) 6x2gb G.skill @ 6-8-6-24-1T 
Hard DriveOptical DriveOSMonitor
WD-VR 300GBx1, 2xWD 1tb,2x60gb Agility Some crappy combo burner... Arch x64 3xDell U2410f rev A02 
KeyboardPowerCaseMouse
X-Armor U9BL TT Toughpower 1200w (NTB more efficient) Mountain Mods Pinnacle 24 CYO Roccat Kone (R.I.P. A4Tech x7) 
Mouse Pad
Steelpad Experience I-1 
  hide details  
Reply
    
CPUMotherboardGraphicsRAM
Core i7 920 D0 4.2ghz HT (1.3625v) Asus R3E 2xGTX 460 (non SLi, no overclock) 6x2gb G.skill @ 6-8-6-24-1T 
Hard DriveOptical DriveOSMonitor
WD-VR 300GBx1, 2xWD 1tb,2x60gb Agility Some crappy combo burner... Arch x64 3xDell U2410f rev A02 
KeyboardPowerCaseMouse
X-Armor U9BL TT Toughpower 1200w (NTB more efficient) Mountain Mods Pinnacle 24 CYO Roccat Kone (R.I.P. A4Tech x7) 
Mouse Pad
Steelpad Experience I-1 
  hide details  
Reply
post #114 of 117
Quote:
Originally Posted by ChronoBodi View Post

Just because they're x86 based doesn't make it easy to emulate. There's a reason the x86 Original 2001 Xbox wasn't emulated that great even to this day:

http://ngemu.com/threads/why-is-xbox-emulation-premature.132032/
Exactly this, just look at the complexity of actually decrypting game data. In the end even with a x86 based processor and a known graphics architecture you'd still have to actually get the special instructions by the programming API to run on normal hardware.
Documentation is one of the things missing and the companies who made those systems will not provide them to you since you're reverse engineering something they still try to make some extra money from.

Semi custom means mostly is IP blocks but you have these parts that are custom. Also the EDRAM on the Xbox One's SoC makes anything programmed for the Xbox One able to rely on bandwidth far beyond what off-chip hardware can do.
Quote:
Originally Posted by Xaero252 View Post

Judging by the 2.5fps video posted of Disgaea 3; I'd say 2018 is a generous estimate, I'd expect by mid 2016 we should start to see playable framerates (given that development continues to push forward at the rate it is right now, and no new developers step into the arena to boost progress; life happens though, so things will likely change) That 2.5fps video was also recorded on a relatively ancient processor; with an insufficient number of threads. On a modern 6c12t system at ~4.2-4.5ghz I'd expect probably 15-20fps.
It will be here sooner all they are currently doing is adding instructions making it actually slower however once they add in the recompiler it will get a ~20x speedup.
It is key to first have all the calls the system can make on the hardware and be able to emulate those though.

By 2016 I'm sure there are sample builds of the recompiler if they continue at this pace. (a couple of builds a day)
Edited by maarten12100 - 3/29/14 at 5:40pm
post #115 of 117
If the Wii emulator put the CPU, GPU, and DSP on three cores to emulate the system, does this mean even a haswell-e is not possible with PS3 emulation?

We have the RSX GPU to emulate, the PPC, and the seven SPEs, that's 9 cores needed to do so.



Or is one Hyperthread from Haswell enough to emulate a SPE and in turn, one SB/IB/HS core can simulate 2 SPES?

I have no idea how this works, i'm just wondering.
     
CPUMotherboardGraphicsRAM
Ryzen R7 1700x Gigabyte Aorus AX370 Gaming 5 ASUS GTX 1080 Turbo @ 2050mhz G.Skill DDR4 16GB 8GBx2 3200 mhz 
Hard DriveHard DriveHard DriveHard Drive
Samsung 750 Evo 250GB Crucial m500 960GB OCZ Trion 150 960GB Samsung 960 Evo 1TB m.2 
Hard DriveOptical DriveCoolingOS
Crucial MX300 2TB DVD drive Corsair H60 2013 edition windows 10 home 
MonitorPowerCaseMouse
32inch Crossover 4K Thermaltake SMART M series 750W Powerspec G418 case Thermal 
CPUGraphicsRAMHard Drive
i7 4910mq GTX 880m (GK104 with 8GB VRAM) 16 GB DDR3 3x Samsung 840 EVO in RAID 0 (1.31 TB total) 
Hard DriveOptical DriveCoolingOS
Samsung M9T 2TB HDD Bluray/DVD drive Bluray/DVD drive Window 7 Home Premium 
MonitorPower
Panasonic 2880x1620 panel 180w Delta brick 
  hide details  
Reply
     
CPUMotherboardGraphicsRAM
Ryzen R7 1700x Gigabyte Aorus AX370 Gaming 5 ASUS GTX 1080 Turbo @ 2050mhz G.Skill DDR4 16GB 8GBx2 3200 mhz 
Hard DriveHard DriveHard DriveHard Drive
Samsung 750 Evo 250GB Crucial m500 960GB OCZ Trion 150 960GB Samsung 960 Evo 1TB m.2 
Hard DriveOptical DriveCoolingOS
Crucial MX300 2TB DVD drive Corsair H60 2013 edition windows 10 home 
MonitorPowerCaseMouse
32inch Crossover 4K Thermaltake SMART M series 750W Powerspec G418 case Thermal 
CPUGraphicsRAMHard Drive
i7 4910mq GTX 880m (GK104 with 8GB VRAM) 16 GB DDR3 3x Samsung 840 EVO in RAID 0 (1.31 TB total) 
Hard DriveOptical DriveCoolingOS
Samsung M9T 2TB HDD Bluray/DVD drive Bluray/DVD drive Window 7 Home Premium 
MonitorPower
Panasonic 2880x1620 panel 180w Delta brick 
  hide details  
Reply
post #116 of 117
Quote:
Originally Posted by ChronoBodi View Post

If the Wii emulator put the CPU, GPU, and DSP on three cores to emulate the system, does this mean even a haswell-e is not possible with PS3 emulation?

We have the RSX GPU to emulate, the PPC, and the seven SPEs, that's 9 cores needed to do so.



Or is one Hyperthread from Haswell enough to emulate a SPE and in turn, one SB/IB/HS core can simulate 2 SPES?

I have no idea how this works, i'm just wondering.

The PPC is the SPE stuff. The GPU should be offloaded to the GPU on the PC, the "PPC" chip is 8 cores with one disabled. So we have 7 threads to divvy. 6 out of those 7 threads are instruction specific, the 7th thread is mainly to tell the other 6 threads what to do. However the PPC arch on those doesn't have OOE. I'd go more into detail but first you should read up on the arch itself. Otherwise I'm going to repeat answers that simple wiki's can tell you.
Current Rig
(14 items)
 
  
CPUMotherboardGraphicsRAM
FX-8350 4.6GHz@1.44v GA-990FXA-UD3 R4.0 HD 7950 (1100/1450) 8G Muskin DDR3 1866@8CLS 
Hard DriveOptical DriveOSMonitor
1TB WD LiteOn DVD-RW DL Linux/Windows 19" Phillips TV 1080p 
PowerCaseMouseMouse Pad
OCZ 600W Generic Junk Logitech MX400 Generic Junk 
Audio
SBL 5.1 
  hide details  
Reply
Current Rig
(14 items)
 
  
CPUMotherboardGraphicsRAM
FX-8350 4.6GHz@1.44v GA-990FXA-UD3 R4.0 HD 7950 (1100/1450) 8G Muskin DDR3 1866@8CLS 
Hard DriveOptical DriveOSMonitor
1TB WD LiteOn DVD-RW DL Linux/Windows 19" Phillips TV 1080p 
PowerCaseMouseMouse Pad
OCZ 600W Generic Junk Logitech MX400 Generic Junk 
Audio
SBL 5.1 
  hide details  
Reply
post #117 of 117
Quote:
Originally Posted by frickfrock999 View Post

Come back in 3 years or so.

i will stay subscribed thumb.gif
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Video Game News
Overclock.net › Forums › Industry News › Video Game News › [DS] RPCS3 Is A New PS3 Emulator (VIDEO)