Dynarec Completed For Psx4all Project.


hey! in futere releases, will there be an option to start with ps1 boot logo? would be cool.

Every psx emu needs to be started with the logo screen !!! :)
 
Yodar posted on Sep 24 2006 at 03:05 PM said:
hey! in futere releases, will there be an option to start with ps1 boot logo? would be cool.

Every psx emu needs to be started with the logo screen !!! :)

Why would you suggest such a thing, when there are so many important things that still need focus?


Anyway, thanks for the recent update, zodttd. Keep up the good work. We all appreciate it. :)
 
Last edited by a moderator:
Update #2,

I recently made a MIPS Dynarec for psx4all, and needed to clear it's instruction cache to get it working, naturally. Then I realised the GP2X ARM dynarec might be suffering and being unstable at times because of it's ARM instruction cache! I'm currently not clearing it's instruction cache (icache) and I'm wondering if I need to. If the GP2X's ARM cpu has a unified cache, I don't need to worry about anything, so documentation says, but otherwise, I need to invalidate the icache when overwriting the dynarec's translation cache.

So two questions for anyone who can answer them:
1. Do I need to invalidate the icache?
2. If I do need to do #1, then will I need kernel mode access, and further, how would you recommend I go about this?

And Squidge, if you're reading this, don't forget to reply. ;P

EDIT: It seems I can use the mmuhac kernel module and edit it to clear the instruction cache as needed using a certain MCR instruction. Yay! Still not sure if its truly needed though.
 
Good to see you back on this zodttd.
Have no idea about ARM micro architecture :huh: -
Guess if Squidge or someone like that doesn't reply, fastest option may just be to try it and see.
But surely if the current build runs fine (albeit slowly compared to other ARM machines) then surely you are executing the correct instructions anyway so you don't need to invalidate the icache? More than likely though, I'm confused :)

Kev
 
zodttd posted on Sep 25 2006 at 01:03 AM said:
Update #2,

I recently made a MIPS Dynarec for psx4all, and needed to clear it's instruction cache to get it working, naturally. Then I realised the GP2X ARM dynarec might be suffering and being unstable at times because of it's ARM instruction cache! I'm currently not clearing it's instruction cache (icache) and I'm wondering if I need to. If the GP2X's ARM cpu has a unified cache, I don't need to worry about anything, so documentation says, but otherwise, I need to invalidate the icache when overwriting the dynarec's translation cache.

So two questions for anyone who can answer them:
1. Do I need to invalidate the icache?
2. If I do need to do #1, then will I need kernel mode access, and further, how would you recommend I go about this?

And Squidge, if you're reading this, don't forget to reply. ;P

EDIT: It seems I can use the mmuhac kernel module and edit it to clear the instruction cache as needed using a certain MCR instruction. Yay! Still not sure if its truly needed though.

arm 920tdmi does have a seperate cache for instructions and datas
ofcourse if you update the dynarecs, you need to invalidate the icache lines for thoses memory area, else the old instruction will be executed
i think there is a SWI for doing this via the kernel... but i let Squidge answer this
 
Last edited by a moderator:
I fixed the ARM Dynarec and it's running well, even seems faster now. The problem with stability was the instruction cache of the ARM chipset. Using that SWI for clearing it by address range helped enormously. :)

The GP2X is getting closer to a release. With the new root counter code, and vsync timings, plus the possibility of sound...good stuff all around. A big problem is still the "GTE" (3d math) for games that use it heavily. But Tinnus provided me with ARM VFPU code for handling GTE ops. So Maybe Ridge Racer will run faster than 20 FPS / 4 Unique FPS. Though Ridge Racer's space invaders intro runs at 60 FPS. :p

I just feel the need to polish up this release a little more, since important things such as save states still don't work. So when I have the time to focus on those features, I can feel more comfortable releasing a new version. Soon though! :)
 
Funny enough they have released a psp psx emulator but many ppl are disappointed at its performance but its still at an early stage. It runs probably just slightly slower than the gp2x version would w/o the dynarec.

@zottd: excellent news, i can't wait until the release!!

Edit: the psx emulator was released by some french guy not sony :D sorry about that...
 
i think the reason the sound wasnt running was that the spu core caused timing problems, so i would say no, but i realy dont know for sure...
 
wipeout2000 posted on Sep 26 2006 at 07:46 AM said:
Funny enough they have released a psp psx emulator but many ppl are disappointed at its performance but its still at an early stage. It runs probably just slightly slower than the gp2x version would w/o the dynarec.

rotfl. Another reason not to belive people from Sony xD

And about GTE, do you know some website, I can read about functions supported by GTE so I could know what needs to be redone? If we call one GTE math function a micro-function then is it a problem of converting micro-functions from floating point math to fixed point math? If so, I'll try to ask around my friends...they're...weird and know lot of things normal people don't xD
 
Last edited by a moderator:
So the 20fps is referring to some kind of interpolated frames based upon those unique frames?
 
Back
Top