Thanks a lot ffgriever. Lots of people including me are waiting for your beta release. I think sound is a bonus. I can live very well with no sound and with frame rate something about 50 fps.
|
|
|
|
Would you like to get all the new info from
PSX-Scene in your email each day?
Want to learn more about the team keeping you up to date with the latest scene news?
Read about them now! Check out our Developer bios, too! | ||
|
|
Thanks a lot ffgriever. Lots of people including me are waiting for your beta release. I think sound is a bonus. I can live very well with no sound and with frame rate something about 50 fps.
The framerate... If you have been using the preview release, then you already know, that it's strongly game dependent. For some games it is possible to achieve 400% the nominal speed, others have problems reaching 50%. It haven't changed since then. Also, there is a slight problem. I'm not even going to implement frameskipping, as it doesn't do any good. The speed increases only on some simple games that were already working fine. If a game works at, say, 40fps (80% for PAL games), using frameskipping gives you additional 2-3 fps, while screws everything around (gaming experience included). The GPU code is constructed in a way, that doesn't block emulation for drawing. Packets are constructed when they're received by emulated GPU, then they're executed while next part of code is beeing emulated (next frame is being calculated by the psx). Since constructing packets is not that time consuming (it's really mostly translating PSX GPU packets into PS2 GPU packets), skipping this part doesn't give too much (remember that you still have to emulate all the vram writes, reads and moves, even if skipping the frame). It worked really well for software plugin (it could speed up by 70%), but since it was way too slow anyway (hardly reaching 15-20 fps), it didn't matter. That leaves me with the CPU code to optimize further. Sure, it's the same instruction set, you might say, but it's impossible to just "run" psx code as is. There is a different hardware, different memory mappings, I need to call some compiled c code for many hardware functions (that leaves usage of all temporary registers out, as saving them and loading at every function call is terribly slow). So a real recompiler was necessary anyway... Just as on any other cpu. I'm just trying to guess best possible saved registers allocation for current block and blocks it is connected to (jumps, branches). It isn't perfect, though.
One quite interesting thing was not to check every read/write for hardware access, but simply let the PSX code read/write to the addresses it wants (just moved from 0/a/8 to new hardware mapped 4/5 space) and trap the necessary hardware addresses in exceptions (not all, as for some of them there was an even quicker and better way), while letting it read/write "real" PSX memory directly by modified TLB. I know, the exceptions are terribly slow, but there is a catch. You wouldn't know, but changing PS2 memory mapping to match PSX as close as possible, trapping the PSX hardware reads/writes through modified TLB and exceptions, it is still much faster than making checks at every read and write operation. It might look insane (codewise), but works (and works great). Mostly because every read/write operation takes only ~4 (or, and, lui + r/w instruction - well, it might be sll/srl/or+r/w with the same effect -, not even a need to invalidate the recompiled code for self modifying psx code, as it will be done almost automatically whenever needed by some clever TLB use) instructions instead of ~10-20 (for sw in some circumstances, as normally there is a lot of checks, one of them being the necessity to invalidate recompiled code while not really writing anything to emulated memory). Anyway, there is still a room for optimization (more some global optimizations for recompiled code... yet it might take too much time to recompile, thus wasting the positive effect in some games, when the recompiler will be running out of memory for recompilation too often and will have to start anew). But for now I'm quite pleased with what I get (except for terrible sound). Most of the games I play run faaaar above 100%.
Wow it is so great to hear about your recent progress ffgriever! I just want to say thank you for listening to your fans!
That good friend takes up the idea seriously I love this emulator as I am a fan of PSX and was raised on it like I have it on my ps2 I also would like to add some suggestions to the aver emulator if you take into account one would be the interface Nose created graphics although whether this would be the official would ask you persimmons and translate the avatar can see in my other suggestion would be to keep the games on the ps2 memoricard but this would be different from other emulators because it could save individually for each set clear whether that other suggestions would be possible to play for ip connected to a PC for now is only what seme if I have more idea of'll post and greeting and good luck with the project.
Ffgriever Thanks for the reply, I am also a big fan of this wonderful project that is PS2PSXe, right now I'm finishing Castlevania symphony of the night, I confess that I am impressed with this emulator, because it really is very promising, hopefully I'll finish the game is dedicated to you ffgriever, thank you and a hug = D
Any progress towards getting Gran Turismo 2 - GT Mode disc in-game? it gets stuck after the copyright screen, the time where it checks for memory cards before going to the language selection screen.
@kevstah2004
I don't know. Probably not, as I didn't touch the counters stuff (which is most likely the root of the problem; same for crono chross, front mission 3, some of the tomb raider games and probably many more) since last preview. I'll check that.
@all
I've finally fixed the freaking sound issues. Now, as long as the framerate is quite decent, the sound is almost perfect (though it's still too much CPU consuming yet - I'll work on it later, as for now I'm glad it finally works fine). I've got some issues to be fixed in this week's schedule. If I'll manage to do that, I'll post a new version. Framerate limiter, working sound (which also fixes some games, like Valkyrie Profile), a lot of gfx fixes, some cpu fixes. Plus one more, quite important. Now NTSC games that use a lot of 2D graphics, will look fine (if launched in NTSC mode, earlier only PAL games launched in PAL mode were looking fine). So no more black borders and stuff, as long as I'm launching NTSC games in NTSC mode and PAL games in PAL mode. I'll fix crossmodes later (now they're trying to maintain original aspect ratio, which screws the gfx a little bit, so I'll add the option to ignore original aspect ratio yet make the games look a little bit better... A real fix may come later).
This sounds excellent ffgriever is it open beta time
![]()

Is how all good gaming systems came to bethanks ffgriever![]()
Awesome!
Thanks, ffgriever!
| « Previous Thread | Next Thread » |