Release Pcsx-Rearmed


Wow, thanks for the new PSX emulator!
I've tested the following games @800 MHz,
Capcom Vs. SNK Millenium Pro: No Music, and a bit slow but playable
Kensei Sacred Fist: The 3D models do not display well at all. It's like nobody's there but arms on the ground
Wild Arms: Yay it works, slightly choppy music on title screen, but it's almost perfect otherwise... so far.
edit: Wild Arms works ok for a little while, however when the music plays long enough, a different music plays at the same time and the game hanged. (Tested on Cecilia's Story, crashed when I tried to bind a new spell)

@500 MHz,
Mr. Driller: Slow, but probably more playable @800MHz.
I'll try to test my other games.
 
skeezix said:
Does it do redbook audio/whatever? I've only for a few PS1 titles (and riped right from CDs, so nice and big :) , but hopefulyl can get audio in Wipeout .. great game, but needs audio; will try in a bit!
yup, .cue/.bin rips only though.

skeezix said:
edit: notaz, Wipeout 3 for first run .. I've got a .img ripped from the PSX CD. Pal English version in fact.
Last useful line is: fixing yoffset.. ok
then boom, crash.
PAL detection is rather broken so it could be because of that, I'll have a look. There is report above it works, I assume it's the US version.

skeezix said:
Does this need scratch space on the SD by chance? Space is tight there.
nope.

skeezix said:
Does it handle PSP-style eboots by chance?
nope, will see how many requests I get for that before considering it.



Ari64 said:
I know that a few N64 games do use BGEZAL, and they seem to work okay. I will admit that this code is not well tested.
hmh even without link handling?

Ari64 said:
Unaligned stores to non-ram locations are unimplemented because I don't know what the correct behavior is supposed to be
Yeah me too, so I just did what PCSX interpreter does there and it works,

Did you look at those bugfixes I listed above? I still don't feel I know what I'm doing when dealing with your code, so would be nice to get your confirmation.



DaveC said:
If you fix the later that means you will look at the Memcard bug but won't look at the key binding issue? How can I set the keys back to what they are supposed to be then? Where did you hide the key config thing, I can maybe just edit the config file.
Key config is already fixed in my local tree. And key config saving is not implemented at all yet anyway, just restart the emu..

DaveC said:
Also what do you think of the config per game idea, you didn't really mention the thoughts with that.
Idea is good but I don't know if/when it will be implemented.
 
Last edited by a moderator:
Anyone else had random issues with games locking up? (I.e. hitting space won't even bring up system menu -- have to hit the pandora button to kill the process?). I've been experiencing this in the game Lunar right after the initial credit screen is shown after starting the game. Screen goes black - then nothing. Sometimes it works - sometimes it doesn't. I've been trying to figure out the exact scenario when it doesn't work... seems to generally work the first time I start the emulator up after wiping out the appdata folder... and doesn't seem to matter if there is a memcards directory or not. I'm not sure what's going on... One time I cleared out the folder - loaded up the game.. it worked.. then without exiting I tried re-loading the .cue file and it didn't work (hung again). I also seemed to hit the issue when trying to start a new game of Alundra.. both Working Designs games.. not sure if that is significant.


UPDATE: I did find that in lunar if I create a save-state after the point where it hangs starting up Lunar things actually work if i use that save-state to skip the games start-up.

Notaz - anything in particular I can do to try to help you debug/figure out what might be going on? I'll continue to try to see if I can narrow down the specific circumstances that cause the hang...

Btw Notaz - Fantastic work. You continue to impress me.. I really appreciate your work (on both this and Picodrive)... exceptional stuff.
 
This let's me thinking again about getting a pandora, really.

All i want is playing crash bandicoot on the way :) Could anyone test how the performance of any of the 3 games is ?

*edit*
just found that "Crash 2 and 3 - both crash before gameplay begins". should read before write ;)

anyway, thanks for your work on this, i really appreciate it.
 
crow_riot said:
This let's me thinking again about getting a pandora, really.

All i want is playing crash bandicoot on the way :) Could anyone test how the performance of any of the 3 games is ?

*edit*
just found that "Crash 2 and 3 - both crash before gameplay begins". should read before write ;)

anyway, thanks for your work on this, i really appreciate it.

YMMV but the Crash games do work in the prior emu Psx4Pandora. They dont appear to work here yet as you saw but you can briefly run about on the hub in Crash 3 to choose a level, then it crashes.

Heres some more test results :

Better:

Evil Dead Hail to the King - Now plays all intros, lacks menu screen text, plays level 1 intro then quits to desktop.

Rage Racer - Better speed and no rendering issues on the track.

Ridge Racer Revolution - Seems to work with music but you cant accelerate and just sit on the start line.

Resident Evil 2 - Better sound synch in cut scenes. Seems full speed/perfect.

Resident Evil 3 - Perfect.

Tekken - Works well, far faster than prior emu.

Worse :

Ridge Racer- Speeds good but horrendous buzzing sound mars everything

R Type Delta - Flashes ´now loading´ and does nothing more as Skeezix found.

Rollcage stage II - crashes to desktop when race starts.

Time Crisis II - Plays but controls are messed up and enemies are immune from damage.

Tony Hawks 2 - crashes to desktop when skater select screen appears

Same:

Soul of the Samurai - Works well
 
Last edited by a moderator:
Chaser said:
Crash 2 and 3 - both crash before gameplay begins.
Crash 3 is working here - which version did you try?

MooTheKow said:
Notaz - anything in particular I can do to try to help you debug/figure out what might be going on? I'll continue to try to see if I can narrow down the specific circumstances that cause the hang...
Just tell me exact game name and region, Lunar - Silver Star US I assume?
 
Last edited by a moderator:
crow_riot said:
*edit*
just found that "Crash 2 and 3 - both crash before gameplay begins". should read before write ;)
Don't worry, with Notaz at the helm, the Crash games should be playable in no time. I still remember when he added Sega CD support to Picodrive on the GP2X. It started off just running a few games, and there was many hiccups/bugs, and things that didn't run. Over several months, almost everything worked at one point or another, and at default cpu settings.

We all know the Pandora is capable of PS1 emulation, but it will just take time to work out the bugs, and get performance up. Notaz is for sure the right man for the job. I just hope he doesn't loose interest, and move on before it gets to a better working state. I'm very confident N64 will also get to a much improved state over time. You might not ever be able to play every game perfectly, but I'm sure at some point we will all be able to play a wider majority. It just all takes time! ;)

Chris
 
Last edited by a moderator:
notaz said:
skeezix said:
Does it handle PSP-style eboots by chance?
nope, will see how many requests I get for that before considering it.
Half my psx library has been converted over to eboot/pbp, put my name in the hat of requests to please support this, thanks.
 
Last edited by a moderator:
notaz said:
Chaser said:
Crash 2 and 3 - both crash before gameplay begins.
Crash 3 is working here - which version did you try?

MooTheKow said:
Notaz - anything in particular I can do to try to help you debug/figure out what might be going on? I'll continue to try to see if I can narrow down the specific circumstances that cause the hang...
Just tell me exact game name and region, Lunar - Silver Star US I assume?

Lunar - Silver Star Story Complete (USA)

Also - Alundra (USA) (v1.1) hangs at the loading screen when attempting to start a new game.
 
Last edited by a moderator:
jumpman said:
crow_riot said:
*edit*
just found that "Crash 2 and 3 - both crash before gameplay begins". should read before write ;)
Don't worry, with Notaz at the helm, the Crash games should be playable in no time. I still remember when he added Sega CD support to Picodrive on the GP2X. It started off just running a few games, and there was many hiccups/bugs, and things that didn't run. Over several months, almost everything worked at one point or another, and at default cpu settings.

I'm pretty sure notaz can make it - i'm not long here in this forum, but already saw what he's able to do :)
 
Last edited by a moderator:
Nice one, Suikoden 2 runs better than on PSX4Pandora :)

Now I just need to get the save working... when I simply copy over the memory card, Suikoden 2 finds the save but says "cannot load"...
Will try to create a new save and see what the difference here is (or hexedit the data part from my old save into the fresh one).
 
notaz,

Crash Bandicoot 3 - Warped [NTSC-U] [SCUS-94244] .bin/cue

In addition you mention only .img files (.bin) etc work, so I thought to add that a number of .mdf files I have, are running aswell, which wouldnt run under psx4pandora.

They are :

G-Police 2 - quits after logo screens

Medal of Honour underground - quits as mission 1 starts.

Resident Evil Survivor - Near perfect. Lacks sound in intro animation, otherwise full speed 60fps with sound ingame R1 for reticle X to shoot.

Vagrant Story - same issues as my .img version

The Adventures of Little Ralph - Perfect.

Heres some more results .bin/.img:

Better:

Cool Boarders 3 : Priorly slow with gfx glitches and constant drumming, now runs very nicely at 50fps. Almost Perfect.

Die Hard Trilogy - Priorly crashed to desktop. Now works very well for all three and sufficient to clear 2 levels on first try of Die Harder via d pad. This makes the first lightgun game to be properly playable.

Fear Effect 2 - Perfect. Prior had poor synch of speech.

Final Fantasy VI - Perfect. YMMV but it didnt work for me before.

Worse :

Bugs Bunny Lost in Time - Crashes to desktop after menu `loading´, priorly made it to loading demo.
 
I will try and do a more complete test run later tonight.

One thing I did notice was that someone mentioned that Tenchu 1 and 2 dont work, but I tried both (PAL versions) and they worked for me, at least I got into the game and killed a few baddies with no issues. Also, Final fantasy 9(PAL) crashes on me but other folks said it works. Guess we better start mentioning the region of the game we are playing...
 
Okay, seems Suikoden 2 doesn't run properly. Sound is perfect, speed is way faster than with PSX4Pandora.
But: It has some minor graphical issues (windows, menus), some issue with displaying the character stats correctly (i.e. Lv. 3 is displayed as Lv. 33, 6 HP as 666 :))
It doesn't seem to load a game from the memory card (I used the card from PSX4Pandora) and it also doesn't save (even on a fresh created memcard from PCSX-Rearmed): It hangs after you selected the memory card.

Need to try some other games :) Finally no pitch-changing music :D

Thanks a lot again :)
 
@800 mghz

Hot Shots Golf works perfectly.
iS Internal Section (Japan) [En by GSHI v1.02] almost works. Gets to the game itself then crashes to the desktop. Need to try the Japanese version. *edit* without the subs.
Driver2 doesn't work. Well it runs but the city models and camera are messed up.
 
Lobo said:
I will try and do a more complete test run later tonight.

One thing I did notice was that someone mentioned that Tenchu 1 and 2 dont work, but I tried both (PAL versions) and they worked for me, at least I got into the game and killed a few baddies with no issues. Also, Final fantasy 9(PAL) crashes on me but other folks said it works. Guess we better start mentioning the region of the game we are playing...

Yeah Tenchu 1 and 2 PAL ripped from my own discs both work on psx4pandora but not on pcsx-rearmed, whereas FFIX PAL (self rip) is the reverse as was FFVI and FFVIII but 7 is fine in both, but plays better on notaz emu. YMMV I guess. Im just stoked to have the options available between the emus now.

Im posting results to help notaz find bugs but also to show comparison and current best option for given games. Seems there is no hard and fast rules though, for example Vagrant Story has worked for others for ages but not for me in either emu, from my own rips or any versions outhere. Weird.
 
Last edited by a moderator:
notaz said:
Ari64 said:
I know that a few N64 games do use BGEZAL, and they seem to work okay. I will admit that this code is not well tested.
hmh even without link handling?
It does handle the link register (in sjump_assemble) like so:

Code:
        return_address=start+i*4+8;
        emit_movimm(return_address,rt); // PC into link register
The unfinished part is where the delay slot can not be reordered due to a dependency. Fixing this is probably as simple as copying that code into the in-order execution case, and making sure the register allocation is correct.

These instructions are so uncommon that I didn't know if I'd implemented it correctly because almost nothing uses it. So I put an assert in there and figured I'd debug it when I found a test case. I never found such a case, but it looks like you did.

notaz said:
Did you look at those bugfixes I listed above? I still don't feel I know what I'm doing when dealing with your code, so would be nice to get your confirmation.

Code:
-  u_int verifier=(int)ptr+((*ptr<<8)>>6)+8; // get target of bl
+  u_int verifier=(int)ptr+((signed int)(*ptr<<8)>>6)+8; // get target of bl
Yes, it should be signed. The relative offset was always positive in my builds, but I'd bet this is one of the things that's making the Android ports crash.

Code:
    drc: fix unsaved register
    
    it caused invalidate_addr() sometimes to be called with bad address.
Hmm.. This won't break anything, but might waste cpu cycles with useless calls to invalidate_addr(). It appears that storelr_assemble has the same glitch.

There shouldn't be any reason to call both STORE*_STUB and INVCODE_STUB, unless there is code at addresses that aren't in normal RAM.

I think the right solution would be to change the return address of the first stub, so that only one or the other is called.

Code:
    drc: allow xor imm 0
xor with zero does nothing. If you're generating that instruction, then you've probably introduced a bug. This is rather useless also:

Code:
          if(c) x=(constmap[i][s]+offset)-(constmap[i][s]+offset);
...

Code:
    drc: don't clear ARM caches on whole translation cache - it's very slow
Is it really faster to call __clear_cache multiple times in ll_kill_pointers, rather than clearing the entire cache once?

Doing the smaller regions in invalidate_page might be helpful, but I haven't benchmarked it.

Code:
    drc: fix: storelr should also use AGR
There's clearly a problem there, but I don't think that's all of it. If that code was working, then I'm guessing that the address generation register isn't being allocated properly in pass 5. I'd need to think about this some more, and possibly look at the debugging output to see what the register allocation actually looks like.
 
Last edited by a moderator:
SOTN [slus-00067] worked great for me at 650

Civ 2 [slus-00792] loads and sets up a game fine but then hangs on the loading screen as others have been reported to do.

Front Mission 3 [slus-01011] just brings up a "now loading" screen and never loads.

Tenchu 1 worked good for me at 650. The sound was a little glitchy in the pre-game menus but in game it looked, sounded, and felt pretty smooth.

Brave Fencer Musashi [slus-00726] was choppy at 650, both in gameplay and also with in-game voice overs, music was fine. bumping up to 750 fixed gameplay but not the choppy voice over, even at 850 the voice was choppy but I did notice some improvement.

FF8 [PAL] - intro video was flawless at 650 (once I changed the the emu setting to PAL :p), in the academy is also good until you are about to leave the classroom for the first time. The group of people are suppose to leave before you as you talk to the teacher (which you have to do), however, the group of people get stuck, presumably walking into each other and creating a glitch, they bunch together and then just walk in place indefinitely. The teacher then walks into the group and also gets stuck, meanwhile Squall is unable to move at all. I tried it 3 times from 3 different angles and I kept getting the same result. Anyone else having this problem?

More tests to come.

Thanks so much for this notaz, Great stuff!
 
MonkeyChops said:
FF8 [PAL] - intro video was flawless at 650 (once I changed the the emu setting to PAL :p ), in the academy is also good until you are about to leave the classroom for the first time. The group of people are suppose to leave before you as you talk to the teacher (which you have to do), however, the group of people get stuck, presumably walking into each other and creating a glitch, they bunch together and then just walk in place indefinitely. The teacher then walks into the group and also gets stuck, meanwhile Squall is unable to move at all. I tried it 3 times from 3 different angles and I kept getting the same result. Anyone else having this problem?

yes same problem with ntsc version
 
Last edited by a moderator:
Fixed Medal of Honor, Gran Turismo and Lunar hang today, I bet more games will be affected too. Does everyone prefer frequent small updates or rarer but more significant ones?


Ari64 said:
notaz said:
hmh even without link handling?
It does handle the link register (in sjump_assemble) like so:

Code:
        return_address=start+i*4+8;
        emit_movimm(return_address,rt); // PC into link register
The unfinished part is where the delay slot can not be reordered due to a dependency. Fixing this is probably as simple as copying that code into the in-order execution case, and making sure the register allocation is correct.
What about the case with no ooo, i.e. BLTZALL, don't see any r31 saving there.

Ari64 said:
Code:
    drc: fix unsaved register
    
    it caused invalidate_addr() sometimes to be called with bad address.
Hmm.. This won't break anything, but might waste cpu cycles with useless calls to invalidate_addr(). It appears that storelr_assemble has the same glitch.
In my case it managed to slow things below interpreter level, there could be N64 games suffering badly from this. I don't think storelr is affected with register trashing, only sometimes doing both stubs.

Ari64 said:
There shouldn't be any reason to call both STORE*_STUB and INVCODE_STUB, unless there is code at addresses that aren't in normal RAM.

I think the right solution would be to change the return address of the first stub, so that only one or the other is called.
Yeah, I'm already relying on this in memhandlers though.

Ari64 said:
Code:
    drc: allow xor imm 0
xor with zero does nothing. If you're generating that instruction, then you've probably introduced a bug.
But I was hitting this with xor assemble, some game used this to do a move I guess.

Ari64 said:
This is rather useless also:
Code:
          if(c) x=(constmap[i][s]+offset)-(constmap[i][s]+offset);
hmh right

Ari64 said:
Code:
    drc: don't clear ARM caches on whole translation cache - it's very slow
Is it really faster to call __clear_cache multiple times in ll_kill_pointers, rather than clearing the entire cache once?
Yup, the kernel implementation is rather stupid and iterates through every cacheline and does mcr on each of it, taking ~0.4sec. In 2.4 kernel times it used to do whole CPU cache after some threshold was crossed, they dropped that in 2.6 for some reason. If you watch ED's N64 video you'll see some N64 games suffering from this.

Ari64 said:
Code:
    drc: fix: storelr should also use AGR
There's clearly a problem there, but I don't think that's all of it. If that code was working, then I'm guessing that the address generation register isn't being allocated properly in pass 5. I'd need to think about this some more, and possibly look at the debugging output to see what the register allocation actually looks like.
The code was usually working here too, I guess it depends on how registers are allocated to trigger this or not.



MonkeyChops said:
FF8 [PAL] - intro video was flawless at 650 (once I changed the the emu setting to PAL :p ), in the academy is also good until you are about to leave the classroom for the first time. The group of people are suppose to leave before you as you talk to the teacher (which you have to do), however, the group of people get stuck, presumably walking into each other and creating a glitch, they bunch together and then just walk in place indefinitely. The teacher then walks into the group and also gets stuck, meanwhile Squall is unable to move at all.
Can someone do me a savestate something like 20sec before this happens (after it happens it might be too late and the glitch might get "saved").
 
Last edited by a moderator:
Back
Top