| Issue 225: | Dual core mode related bugs | |
| 12 people starred this issue and may be notified of changes. | Back to list |
Just a report. r791 did indeed make Metroid boot in DC mode, but it closes the emu while browsing the menu. Saving/loading states still crash the emu, although not as often. |
|
,
Oct 07, 2008
ah? I can't crash MP1 in menus and until samus appears in intro (more or less just as SC for me). Tell me more about your settings and the pad sequence you used (I can't see menus :p). Savestates issues are for i208. It's not related to DC instability. The feature is just not adapted to DC. note: I may have forgotten crucial interlockedXch somewhere. TODO: check it again for each fifo-ctrl's members writings for safety. hmm... I may have missed something else too... Need more detailed reports!
Status: Accepted
Owner: memberTwo.mb2 |
|
,
Oct 08, 2008
I can't see menus either :P. k, WXP SP3, r791, using DX9, HLE, nJoy. PAL version of Metroid Prime, just press A, and the emulator exits without error or warning. This only happens in DC mode, in SC mode i can get to the intro and play but as soon as i fire the weapon, the emulator closes in the same way. |
|
,
Oct 08, 2008
This only happens on the PAL version of the game. Weird, maybe that version checks for more stuff and fails? |
|
,
Oct 08, 2008
First off I have the NTSC version of MP. By the way I can't see the menu text either (Both dual core and single core). The big platform that Samus's ship lands on, goes through the planet.(lol?) Samus's gun is also invisible. As far as I can tell DC works fine. I'm at the part were u have to use the scanner (lol i forget which button to push). Might have to pull out the dusty instruction book. |
|
,
Oct 10, 2008
I have a PAL version of MP1 and it works in DC. federelli, redump your MP1 maybe. off topic: in both mode my MP1 often crashes after intro just when entering in FPS view. Have you noticed the same thing? |
|
,
Oct 10, 2008
Yeah 99% of the times it crashes as soon as you gain control of Samus, but sometimes you get to move her around a bit before the crash. |
|
,
Oct 17, 2008
ZTP hang at start a bit after logo only with DC on. I have noticed lot's of gatherpipe writePtr reset to base addr in DC mode. I have to check how fifo linkage for gatherpipe is done in SC. |
|
,
Oct 22, 2008
reported by NeoSlider: (http://forums.ngemu.com/dolphin-discussion/112856-new-trouble-ztp.html#post1481470) "Starfox Assault also hangs before the title screen if you have DC enabled but it works fine in SC mode. It used to work in DC in an old Rev but I'm not sure exactly when it stopped." Didn't check with this game yet but ZTP seems to required a missing CP->PI interrups to go further logos. So OvHi/UnLoWatermarks interrupts helps after all >> . I have a fix but it slowdown MP1 (maybe others) in DC... not satisfied yet. To be continued... |
|
,
Nov 06, 2008
ZTP logo hang bug: CPU wait for a PEFinish irq that never come. Interrupts between GP/CPU in DC mode may need a better scheduled irq queue. That reminds me the bypass bug of HW1. Well, pretty easily hackable but very ugly. eg: - we can count VI irq and raise a PEFinish if over a threshold (over 20 CPU attempts self-recovery that fails due to lack of fifo metrics and reset stuff). - more brutal: we can raise a PEFinish each time a VI_POST_RETRACE is cleared. I don't want to submit this until a per game hack engine. GP breakpoint sync system: is hacked atm: Breakpoint is set once but never clear so CPU thinks, more or less, "wow my GP is pretty fast". Could be the cause of video stuttering in MP1. The clean way doesn't work atm. BTW, IMHO BP interrupt is clear on CPIntEnable raising edge and not just when CPIntEnable = 1. DC still in WIP... |
|
,
Nov 12, 2008
here is a ugly DC patch that kick a bit PPC when needed. Well at least it prove irq mess issues. You have to tweak a bit the threshold (videointerface.cpp->KickCPUThread()) for your PC spec. |
|
,
Nov 13, 2008
I can't load a stage when Dual Core is enabled in Mario Kart: Double Dash. It's just turns black and it freezes. :) |
|
,
Nov 13, 2008
Same problem here, but it has been broken since a while, I've just tried revision 1058 and is also not freezing before start any stage |
|
,
Nov 13, 2008
Ah, okay. Well, forgot to tell that I did use Dolphin SVN r1157. It works okay if you do a savestate in stage in Single Core mode, and enable Dual Core, then use the save state and you can play with an decent speed if you have a good computer. |
|
,
Nov 14, 2008
I'm not sure when but in the last couple revisions Dolphin now crashes with Dual Core Enabled while stopping the emulation with the stop button. |
|
,
Nov 17, 2008
I plan to give back, to GP, its asynchronous behavior in a more native way. This because, GP can be slower than expected by CPU. So fifo's Hi/LoWatermarks strict emulation is pointless (ie. the gc way to deal with GP/CPU load balancing) As said in comments: // * raise watermark Ov/Un irq: POINTLESS since emulated GP timings can't be accurately set. // Only 3 choices IMHO for a correct emulated load balancing in DC mode: // - make our own GP watchdog hack that can lock CPU if GP too slow. // - hack directly something in PPC timings (dunno how) // - boost GP so we can consider it as infinitely fast compared to CPU. hack "1)": I chose "GP watchdog" (WIP). The spinlock in gatherpipe sucks. Maybe I have to put it directly in advanceCallBck. I don't know how to hack properly PPC timings (I think it's the best solution though :p ) - another scheduled fake_watchdog event in the "scheduler"? - catch DECREMENTER_EXCEPTIONs and make some frame finish checks? - ... hack "2)": iirc, only GP breakpoints can be bypassed by this hack. But, since GP BP system is already hacked (BP can be set just once), it shouldn't be a problem. Either way, I'm not sure losing this BP feature is worth it. I know I'm walking on eggs with those hacks atm, but I'm pretty sure it could be completely fixed for the next release :) |
|
,
Nov 17, 2008
Ok now I know PPC frame-finish wathchdog is PPC-cycle dependent since there are tons of negative feedback on different PC specs. RTC doesn't seem to be involve afaik (can't be sure after all). So only 2 choices now: // - hack directly something in PPC timings // - boost GP so we can consider it as infinitely fast compared to CPU. I'm working on the first one. |
|
,
Nov 18, 2008
Ok guys we need r1210 tests on your machine. Reports if any bug still present in DC but not in SC (besides sound). Reports if SC is faster than DC too :p . Don't use idle skipping plz, it's not mature for DC yet. Don't forget to mention if you use 32b or 64b. Thx :) For me compared to SC: - ZTP: faster and as "well" as SC. - ZWW: same - MP1/MP2: same so far but may break though. (They have special stuff that may break in DC) |
|
,
Nov 24, 2008
on linux I don't see any improvement in FPS in any game.. I wonder.. |
|
,
Nov 25, 2008
DC really helps in windows. |
|
,
Dec 14, 2008
is it time to mark it as fixed? I haven't heard a DC complaint in a long time now |
|
,
Dec 14, 2008
I don't know, the GameCube version of TP can actually play now with R1523. I think you can still get different results with some games if you load them a second time or run a different game in the same session. I'll have to check, pcsx2 has been taking up my time lately. :p PS: Running another Wii game a second time after loading a Wii game at start up still results in a JIT error. Ew. :( EDIT: I checked the Wii version - it's fine now. |
|
,
Dec 14, 2008
Last time I tried DC mode (R 152X), random bugs occur in any game (freeze, program crash, etc), it seems DC still causes memory corruption. mb2, try to beat (or get far) ZTP or something(with DC + IdleSkip + Dynarec settings) without any errors/problems. |
|
,
Dec 14, 2008
I've had random hangs/emulator closes as well, but nowhere near as many as before. |
|
,
Dec 15, 2008
Yes random hangs/crash for me too. I have no more the good old debugable "GFX fifo out of sync" messagebox. That's really annoying... well trickier :P Since it happens for me when CPU-core is heavy loaded (DC+IdleSkipping+DSP_NULL), I suspect the videoplugin's dirty reads. When videoplugin attempts to read gc memory directly, I'm still not sure CPUThread have well committed (from cache to RAM) the whole necessary data requested by videoThread. Since it's the only lead I have, I plan to find a way to force a CPUThread/core-cache-flush to find out. Don't know how to do that yet. Maybe someone of you have an idea. |
|
,
Dec 15, 2008
sounds more like idle skipping bug then?:) |
|
,
Dec 15, 2008
It reminds me... I thought Omega told me it happens without idle skipping too but I realize he had AR trouble. Could be a AR bug AND idleskipping bug. Ok that's not clear for me. Can someone (2 at least) confirm those hangs/crashes happen without idle skipping AND without cheats plz? (DC ON, DSP_NULL, Cheats OFF, IdleSkipping OFF) |
|
,
Dec 15, 2008
forgot to say: with "Safe Texture cache" ON too. eg: I always have a crash/unknown address in Super Monkey ball, when I let the intro run for a while, only with IdleSkipping ON. |
|
,
Dec 15, 2008
"Since it's the only lead I have, I plan to find a way to force a CPUThread/core-cache-flush to find out. Don't know how to do that yet. Maybe someone of you have an idea." There is no such thing - on x86/x64, all caches between SMP cpu:s are guaranteed coherent. |
|
,
Dec 16, 2008
Gah... Now I'm confused. By the way, my Super Monkey Ball issue strangely looks the same as Daco's TS2 one (i403) |
|
,
Dec 23, 2008
Getting AR errors randomly in ZTP with DC enabled and IdleSkip disabled. No AR problems in SC mode even with IdleSkip. Could be a bug in the Command Processor where it starts overwritten random parts of memory. |
|
,
Jan 24, 2009
DC Since later revs about between 1880-1980 leads Metroid Prime 2 to freeze with strange bug-here the description: http://forums.ngemu.com/dolphin- discussion/117482-gc-metroid-prime-2-echoes-official-thread.html#post1572475 and MP1 & MP2 have huge random slowdowns since that time |
|
,
Feb 07, 2009
Issue 563 has been merged into this issue. |
|
,
Feb 09, 2009
Issue 496 has been merged into this issue. |
|
,
Apr 03, 2009
Is DC still unstable? |
|
,
Apr 03, 2009
No, not as far as I can tell... |
|
,
Apr 03, 2009
yep, there are still some problems with DC, one that I know is a reproducible crash in ToS, while it works using single core. There might be other issue as well, but i know this one for sure... |
|
,
Apr 03, 2009
ahah marcus :p see issue 686 for more infos. |
|
,
Apr 03, 2009
ok, it's stable for 99% of games... Is that good enough to close this? |
|
,
Apr 03, 2009
I Don't think so, no. |
|
,
Apr 03, 2009
(No comment was entered for this change.)
Status: Fixed
|
|
,
Apr 03, 2009
(No comment was entered for this change.)
Status: Accepted
|
|
,
Apr 03, 2009
:) |
|
,
Apr 03, 2009
Basically the issue remains in savestates, so you may rename this issue if you want to. Using savestates and loading in SC is somewhat safe. Using savestates and loading in DC is not recommended at all, unless you want to waste lots of valuable time. |
|
,
Apr 14, 2009
FYI, still issues in the Metroid Prime series with Dual Core, I get freezes and then it crashes with "game wants to go to memory card manager, BIOS is being HLE'd, so we can't do this." |
|
,
Apr 19, 2009
Save states still don't work right with dual core enabled... -_-" |
|
,
Apr 19, 2009
Probably nobody took a look at that... yet :) |
|
,
Apr 19, 2009
I was able to beat pikmin in DC with only save states :) |
|
,
May 06, 2009
has any work been done on this lately? |
|
,
May 06, 2009
it seems perfectly stable to me. |
|
,
May 06, 2009
That's what I thought but some people are disagreing |
|
,
May 07, 2009
MP1 still hangs randomly when loading, not much when saving. Same as 2000 revs ago. Using r3171 |
|
,
Jul 13, 2009
In my opinion, this is a big one to get fixed before a "official non svn number riddled release". I think after sound, this should be looked into. Many people are complaining revision by revision that the speed/timing/projection issues are getting worse. This might also play a big hand in compatability. That's my opinion anyway, get sound working first. thx~ |
|
,
Jul 13, 2009
It has gotten incredibly better in the last revs, i guess sound had a lot to do with it. Still, MP1 remains the unstablest game. |
|
,
Jul 13, 2009
projection over all is fixed. Most issues are being caused from my testing by MSAA/EFB or a combo of the 2. Timing is a huge issue. Some games currently jitter while playing them like the frames are rendered in reverse time. kinda weird. |
|
,
Jul 19, 2009
Ok guys, if someone want to takeover this issue then go ahead. I have no time for dolphin atm. And knuckles, I suggest you to lobby Nolan about DC... No, no I never mention his name :p |
|
,
Sep 06, 2009
A lot changed lately, can someone make a list of issues and in what games they happen?
Summary: Dual core mode related bugs
|
|
,
Sep 14, 2009
My personal opinion regarding this issue is to close it and open new tickets for each individual issue, instead of just one big issue where we can't keep track of the little problems. Or, we could leave it open, and mark it as blocked by each of the smaller issues, and then close it when it all those are fixed. One thing is for sure: The current system is not working, as pointed out by the comment above. |
|
,
Sep 30, 2009
hmm, MP1 barely boot in DC now (r4338 at least). I'll try to fix this. And marcus, no please, considering game issues separately for DC bugs is too dangerous. Fixing blindly one game may lead to many others broken. Games use several ways to deal with fifo. And since I'm sure this number of ways is not infinite :p we will find a suitable fix/hack for every cases. So we need a a strong DC test game list reflecting those cases. BTW, for those who wonders why DC mode==hack. Strict fifo and GP timings emulation is practically impossible. Checking/Notifing/locking/unlocking for each fifo access would slowdown dolphin like hell. My DC test game list so far: - MP1, MP2 -> fifo BP - Super Monkey Ball 1 -> try to set RWdist and put pressure on CPU when fps is high - ZWW -> regular but good for speed test - ZTP -> heavy vertex and texture loading at start -> need fake watchdog - Animal Crossing -> boot issues iirc - pokemon XD -> never worked afaik. TOFIX -> note to self: fifo BP can't fire int cos RWdist==0 so the BP address check never happens. MP1, MP2 and AC are broken again for me. Not sure the AC bug at boot is DC related though. |
|
,
Nov 07, 2009
Issue 1458 has been merged into this issue. |
|
|
|