cai567890 / pcsx2

Automatically exported from code.google.com/p/pcsx2
1 stars 0 forks source link

Shin Megami Tensei: Nocturne hangs at the beginning #549

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
1) Did the game ever work correctly (i.e. not have this problem) on the
Official PCSX2 build or an earlier version of PCSX2 playground?
(If so, please specify the latest pcsx2-playground or Official revision
that last worked.)

The game worked in the latest public beta, 1888.

2) What steps will reproduce the problem?
1. Start a new game
2. Name your character
3. Go to the next scene

3) What exactly happens when you experience this issue (listing any console
errors or screen output you receive)?

You should be able to see the subway scene. Instead, there's only a black
screen and it just hangs there.

shutdown e601_020!!
procedure end <e601_020>
Scene destructor!
event stage shutdown !!
shutdown mse_601_3!!
shutdown mse_601_10!!
shutdown mse_601_9!!
shutdown e601_p!!
shutdown e601_main!!
procedure end <e601_main>
ExitEvent

4) What version of PCSX2 are you using? On what operating system? Plugins?

svn 2495
gsdx 2430, same results using zerogs

5) Please provide any additional information below.

Tried with and without any speed hacks.

Original issue reported on code.google.com by argentee...@gmail.com on 23 Jan 2010 at 7:16

GoogleCodeExporter commented 9 years ago
Just to add more to this, I tried r2489 from a few days back and the problem 
wasn't
there. Maybe something got broken in between?

Original comment by argentee...@gmail.com on 23 Jan 2010 at 7:44

GoogleCodeExporter commented 9 years ago
Could be. I made a bunch of changes to Sif, and a bunch of changes were made to 
Vif as 
well. If you're able to provide a dump of that area of the game, it'd help...

Original comment by arcum42@gmail.com on 24 Jan 2010 at 4:02

GoogleCodeExporter commented 9 years ago
Yes, I confirmed it. But in r2490, in Sif.cpp. In function SIF1EEDma. Arcum, you
change else to if (sif1dma->qwc > 0) and the end of it. But! it's seems that 
qwc was
changed somewhere, because if I return else (don't touch other lines) -- it 
start to
work.

Original comment by Zeydl...@gmail.com on 24 Jan 2010 at 7:45

GoogleCodeExporter commented 9 years ago
All right. I'll change that back sometime soon. I could still use a dump if 
possible 
to test against, so I don't break it again, though, because this area of code 
is 
pretty touchy...

Original comment by arcum42@gmail.com on 24 Jan 2010 at 8:20

GoogleCodeExporter commented 9 years ago
Seems like it's back to normal in r2510.

I would do the dump, but unless you mean the console logs, I really wouldn't 
know how
to do it...

Original comment by argentee...@gmail.com on 24 Jan 2010 at 9:59

GoogleCodeExporter commented 9 years ago
It's done by using Linuz Iso as a cdrom plugin, and checking "Create an iso" 
before 
running the game, then copying the file it generates out. But as long as it 
works, we 
should be good.

It's just I've been fiddling around with that area of code a lot recently, and 
it'd be 
easy for me to accidentally break it again...

Original comment by arcum42@gmail.com on 24 Jan 2010 at 10:04

GoogleCodeExporter commented 9 years ago
I gave it a try. I played through the subway scene until you reach the worldmap.

http://rapidshare.com/files/340295156/smt_nocturne.dump.html

Original comment by argentee...@gmail.com on 24 Jan 2010 at 11:26

GoogleCodeExporter commented 9 years ago
Cool. Once rapidshare lets me, I'll take a look. This way, next time I'm making 
changes to that area of code, I'll be able to check if I'm breaking Shin Megami 
Tensei: Nocturne. Or at least, that particular section of it.

Original comment by arcum42@gmail.com on 24 Jan 2010 at 11:43

GoogleCodeExporter commented 9 years ago
This is also a known voodoo cycle area.
Don't assume code breakage from your earlier rev, but again just a different 
cycles
count.

Original comment by ramapcsx2 on 24 Jan 2010 at 1:03

GoogleCodeExporter commented 9 years ago
Alright, checked this a bit more.
In the past it was broken at this point. With the old code one could pass this 
area
by using speedhacks for example.
When I put back the "if (sif1dma->qwc > 0)", I couldn't pass it anymore, no 
matter
the cycles.
Also I got 0 cycle warnings from the SIF interrupt logs I put in.

It seems a really good game to test SIF behavior now :p

Original comment by ramapcsx2 on 24 Jan 2010 at 1:14

GoogleCodeExporter commented 9 years ago
Sounds like it. Pity I don't own it. (And haven't managed to download that dump 
yet; 
rapidshare is all tied up.)

For now, I've been making do with Grandia III(which breaks on the other else 
statement), & Mana Khemia. The Persona games, too, to an extent.

My current uncommitted code's probably going to be scrapped. It's nice, looks a 
lot 
more consistent, seems compatible, breaks save states, and is slow as molasses. 
:(

I'll probably just save a copy as reference...

Original comment by arcum42@gmail.com on 24 Jan 2010 at 1:41

GoogleCodeExporter commented 9 years ago
If it's a one file change, you could put it in, #ifdeffed away.
We're in experimentation mood anyway right now :p

Original comment by ramapcsx2 on 24 Jan 2010 at 3:34