Emulation method like PPSSPP?
Started by Blackbird




14 posts in this topic
Blackbird
Unregistered


 
03-05-2014, 08:36 PM -
#1
So do you use the same method PPSSPP uses to emulate PSP? As far as I know it emulates the firmware rather than the hardware directly thus there isn't that much of a speed hit. From my layman perspective it looks like it emulates the OS much more than the HW itself. Correct me if I'm wrong. I'm no expert Big Grin
Juts interested in this stuff.
You guys really need dev blog sometime in the future. I really enjoyed reading PCSX2's.
shadow
Unregistered


 
03-05-2014, 08:44 PM -
#2
to be more accurate ppsspp's uses the same method as jpcsp since jpcsp is a rather older emu ( 2008 one)
shadow
Unregistered


 
03-05-2014, 10:52 PM -
#3
(03-05-2014, 09:13 PM)AlexAltea Wrote: Heh, but aside from that, I have to say that I use PPSSPP as my main reference, not only because I prefer C++, it's just that its code is very nice structured and some parts of it could be entitled "This is how you write a good and clean emulator". Besides, my relationship with Java.. is... err... complicated. Don't ask me why, or I could break EmuNewz server with a 20GB rage post of raw text complaining about it and wishing death upon so many people at Sun Microsystems... I don't want to get banned for that. Big Grin
Meh, too much work.

ppsspp as reference ? sad ;/
anway you can always wait for pspe4all emu coming from jpcsp coders (in c++ )
Hykem
Unregistered


 
03-05-2014, 11:21 PM -
#4
(03-05-2014, 10:52 PM)shadow Wrote:
(03-05-2014, 09:13 PM)AlexAltea Wrote: Heh, but aside from that, I have to say that I use PPSSPP as my main reference, not only because I prefer C++, it's just that its code is very nice structured and some parts of it could be entitled "This is how you write a good and clean emulator". Besides, my relationship with Java.. is... err... complicated. Don't ask me why, or I could break EmuNewz server with a 20GB rage post of raw text complaining about it and wishing death upon so many people at Sun Microsystems... I don't want to get banned for that. Big Grin
Meh, too much work.

ppsspp as reference ? sad ;/
anway you can always wait for pspe4all emu coming from jpcsp coders (in c++ )

To be fair, PPSSPP is indeed a good reference for PSP research and documentation. But of course, JPCSP was the first to really tackle and reverse-engineer the PSP, so most of the it's code is poorly structured and most times subjected to several re-writes.
Like I've stated before, I see JPCSP as a good reverse-engineering and testing platform for PSP (whence why I still work on it, despite it's Java bound limitations).
It was thanks to the work done on JPCSP that PPSSPP could grow into a very efficient and structured emulator in such a short time.
With JPCSP we could actively test back and forth several PSP functions very quickly, specially since Java has very user friendly environments and fast compilation processes.
This doesn't mean PPSSPP is the pinnacle of PSP emulation and it also means PSPE4ALL could prove to be even more efficient and structured. Wink

Anyway, back on topic, RPCS3 is also a high level emulator like JPCSP and PPSSPP, so their emulation process is identical.
It attempts to translate the functioning of several portions of the PS3 system without depending on any pre-compiled code parts (like a low level emulator).
This way, the reason behind the small speed hit in such emulators is directly linked to how they are coded and the only limitations are imposed by the user's computer.
A low level emulator on the other hand doesn't depend as much on specific computational resources, mainly because it already has pre-compiled code portions incorporated (e.g.: BIOS files).
makotech222
Unregistered


 
03-06-2014, 01:24 AM -
#5
Whats this PSPE4ALL?
Blackbird
Unregistered


 
03-06-2014, 01:31 PM -
#6
Oh of course guys don't get me wrong I know that most of the documention PPSSPP used was basically from JPCSP devs. I actually followed JPCSP for some time, but it was very annoying to use and compile and anything made in Java always ran terrible/unstable for me so I was waiting for PCSP(now pspe4all) the C++ port, but it never came so it was nice to see PPSSPP achieve that plus porting to so many platforms even Android.

(03-05-2014, 11:21 PM)Hykem Wrote: Anyway, back on topic, RPCS3 is also a high level emulator like JPCSP and PPSSPP, so their emulation process is identical.
It attempts to translate the functioning of several portions of the PS3 system without depending on any pre-compiled code parts (like a low level emulator).
This way, the reason behind the small speed hit in such emulators is directly linked to how they are coded and the only limitations are imposed by the user's computer.
A low level emulator on the other hand doesn't depend as much on specific computational resources, mainly because it already has pre-compiled code portions incorporated (e.g.: BIOS files).

Yeah thats what I was thinking, but I don't know as much as you do hehe. This is really going to get interesting once the emulator matures.

I assume the ffmpeg decoding they're using for AT3+ is going to be useful as well, because I'm quite sure PS3 uses AT3/AT3+ as well.

Found this on PPSSPP website. This is new to me
Quote:PPSSPP is a HLE ("high level emulation&quotWink emulator, it simulates the PSP OS as seen by the game rather than the full hardware. A program running on the PSP OS can send raw display lists to the graphics chips, but can't access the flash controller or the Media Engine directly, instead it has to go through libraries and the PSP OS kernel. We simply simulate these. This is a lot of work though, the PSP OS is large and has plenty of functionality so achieving 100% compatibility is difficult bordering on the impossible. We can get close though.
hlide
Unregistered


 
03-06-2014, 08:12 PM -
#7
(03-06-2014, 01:31 PM)Blackbird Wrote: Found this on PPSSPP website. This is new to me
Quote:PPSSPP is a HLE ("high level emulation&quotWink emulator, it simulates the PSP OS as seen by the game rather than the full hardware. A program running on the PSP OS can send raw display lists to the graphics chips, but can't access the flash controller or the Media Engine directly, instead it has to go through libraries and the PSP OS kernel. We simply simulate these. This is a lot of work though, the PSP OS is large and has plenty of functionality so achieving 100% compatibility is difficult bordering on the impossible. We can get close though.
There is nothing new. That's exactly what JPCSP and several other PSP emulators I know do.
Blackbird
Unregistered


 
03-06-2014, 08:48 PM -
#8
(03-06-2014, 08:12 PM)hlide Wrote:
(03-06-2014, 01:31 PM)Blackbird Wrote: Found this on PPSSPP website. This is new to me
Quote:PPSSPP is a HLE ("high level emulation&quotWink emulator, it simulates the PSP OS as seen by the game rather than the full hardware. A program running on the PSP OS can send raw display lists to the graphics chips, but can't access the flash controller or the Media Engine directly, instead it has to go through libraries and the PSP OS kernel. We simply simulate these. This is a lot of work though, the PSP OS is large and has plenty of functionality so achieving 100% compatibility is difficult bordering on the impossible. We can get close though.
There is nothing new. That's exactly what JPCSP and several other PSP emulators I know do.

Uh I mean the section of the website Tongue
hlide
Unregistered


 
03-06-2014, 09:51 PM -
#9
(03-05-2014, 09:13 PM)AlexAltea Wrote: Yeah, afaik the PSP was the first (emulable) console were the games did not run on bare metal. So JPCSP was the first emulator that introduced this cool way of emulating games.

I think the first one is pspplayer from Noxa, coded in .NET (2006). I think it's the first to run commercial games.
Schemer
Unregistered


 
03-07-2014, 02:05 PM -
#10
I was think first is DaSH (or potemkin). In About dialog: "Copyright © by Henrik Rydgard 2004-2006". Who return in 2012 as PPSSPP.
Potemkin Alpha: _http://rghost.ru/52887151
This emu can run only one commercial game.
sorry for my bad English


Forum Jump:


Users browsing this thread: 2 Guest(s)