It is currently Sun Nov 23, 2014 4:59 pm

All times are UTC - 6 hours [ DST ]




Author Message
 Post subject: My current code work
PostPosted: Mon Nov 01, 2010 12:41 am 
Mad Scientist
Mad Scientist
User avatar

Joined: Thu Oct 16, 2008 2:27 pm
Posts: 3104
Location: Texas, in the middle of nowhere...
Edit: Please look at the last page for updates.

I'm going to make a post here on the areas/code/games I'm currently working on. This may end up replacing my blog. (Which I haven't updated lately.)

Diddy Kong Racing(DKR):
This game works on the PC version of Daedalus, but not the PSP version. So I had to ask myself why and see if there was a difference in the two. For one the PC use a DirectX function for Transformations(Specifically D3DXVec3Transform). This inputs a 4 dimensional vector (x,y,z,w) and outputs a 3 dimensional vector (x,y,z). Our problem if we are trying to use 4 dimensions(but set w=1, which isn't always the case) for the input and output, so we aren't properly accountting for "w". So as to properly account for everything I created a new transformation function in DX64 that duplicates the DirectX one(4 in, 3 out). Using this I can get DKR to display in wireframe mode. I can only get wireframe so far because the color (of the polygons) and the textures are not getting set up correctly. Also there is showing up and occasional bad vertex which I believe is due to the vertex buffer being set to small for DKR, but have yet to test that.
Good News: DKR is showing in wireframe mode
Bad News: Wireframe isn't playable, and it needs more work before I commit it.

Bomberman 64 (And other titles using CTC1):
Spoiler: show
You may have seen my post about Bomberman 64. Looking at it again and finally testing it(my fix posted there) Salvy looks to be right (FS always = 31 when CTC1 is called). It seems to be the rounding mode causing the issue. I will be looking at this and trying to find an implementation for the rounding mode to see if that solves the problem.
Good News: We know which Op is causing the problem and can compare with the interpreter and it should fix this and possibly other titles that use CTC1.
Bad News: Not 100% it's the rounding mode, but that is most likely.
Update: Rounding is the issue but not the way I thought it was. It is some unimplement COP1 (FPU) functions in the Dynarec that iss the issue. This will take more than I originally thought to fix(at least a few functions and some assembly) so, it will be taking a back burner for a bit while I go back to DKR.


Last edited by Kreationz on Tue Dec 14, 2010 11:18 am, edited 13 times in total.


_________________
I'm baaack! >:)
Offline
 Profile  
 
 Post subject: Re: My current code work
PostPosted: Mon Nov 01, 2010 8:54 pm 
BOOM!
BOOM!
User avatar

Joined: Sat Dec 06, 2008 10:23 am
Posts: 559
Location: Michigan
Spoiler: show
Image
Nice to hear of plans.


Offline
 Profile  
 
 Post subject: Re: My current code work
PostPosted: Fri Nov 05, 2010 1:29 am 
Mad Scientist
Mad Scientist
User avatar

Joined: Thu Oct 16, 2008 2:27 pm
Posts: 3104
Location: Texas, in the middle of nowhere...
At this point, I'm think the DDL + Z-Fight Fix is due to an order of operations issue. It will take a new Z-Fighting Fix to be compatible with all titles (not break StarFox, etc...) but if I can fix DDL to fully act like SDL (we're close), then DDL shouldn't break the fix and be able to be made permanent.



_________________
I'm baaack! >:)
Offline
 Profile  
 
 Post subject: Re: My current code work
PostPosted: Fri Nov 05, 2010 2:13 am 
Founder
Founder
User avatar

Joined: Tue Nov 04, 2008 5:07 pm
Posts: 3034
Kreationz wrote:
At this point, I'm think the DDL + Z-Fight Fix is due to an order of operations issue. It will take a new Z-Fighting Fix to be compatible with all titles (not break StarFox, etc...) but if I can fix DDL to fully act like SDL (we're close), then DDL shouldn't break the fix and be able to be made permanent.


Corn already fixed the z-fighting fix to work with DD http://daedalusx64.svn.sourceforge.net/ ... vision=589

He used a different approach than our old zfighting fix.



_________________
Image

<Salvy>WTF Kirby is invisible on latest rev?!
<Dougamer>Hmmm
<Dougamer>I'll "aquire" kirby and check...
20 minutes later...
<Salvy>Kirby looks ok on default settings Dougamer?
<Dougamer>still... "aquiring" it Salvy...
Offline
 Profile  
 
 Post subject: Re: My current code work
PostPosted: Fri Nov 05, 2010 2:46 am 
Mad Scientist
Mad Scientist
User avatar

Joined: Thu Oct 16, 2008 2:27 pm
Posts: 3104
Location: Texas, in the middle of nowhere...
Well sweet, but I've almost got our current fix working and then some. His approach, plus my new code should be faster and work DD and StarFox and both should be able to be permanently on when I'm done.

Edit: I don't like his new fix... I don't like the idea of shifting the actual Z-Value rather than just shifting it in the Z-buffer like offset does, but I'll compare both methods to see which has fewer side effects. Does his work with StarFox?

Edit2: BTW, the compatibility problem with the old method is in how we handle clears. I'm fixing it and "clean scene" should no longer be needed either.

Edit3: Yup, Definitely the clears. I've gotten the exact same bug in SDL and DDL now. So, I'm half way there. BTW, know a game that needs clean scene early in it for testing? Also, does Clean Scene break any titles?



_________________
I'm baaack! >:)
Offline
 Profile  
 
 Post subject: Re: My current code work
PostPosted: Fri Nov 05, 2010 3:16 am 
Founder
Founder
User avatar

Joined: Tue Nov 04, 2008 5:07 pm
Posts: 3034
I added CS specially for Aidyn Chronicles, I think that's the best test case.



_________________
Image

<Salvy>WTF Kirby is invisible on latest rev?!
<Dougamer>Hmmm
<Dougamer>I'll "aquire" kirby and check...
20 minutes later...
<Salvy>Kirby looks ok on default settings Dougamer?
<Dougamer>still... "aquiring" it Salvy...
Offline
 Profile  
 
 Post subject: Re: My current code work
PostPosted: Fri Nov 05, 2010 4:54 am 
Developer
Developer
User avatar

Joined: Sat Jan 31, 2009 7:11 am
Posts: 471
@Kreationz, You don't like my zfight fix :(

I pretty much does the same thing the old sceoffset would and is totally free since we do transformation anyway...(not sure scedepthoffset() is free)
Both Star Fox 64 and GE 007 have forced DDL, thats why *old* Zfix didn't work on them.
With my new version, I have yet to find a game that it does not work on...



_________________
Spoiler: show
Image
Offline
 Profile  
 
 Post subject: Re: My current code work
PostPosted: Fri Nov 05, 2010 4:55 am 
Donator
Donator
User avatar

Joined: Thu May 07, 2009 4:37 am
Posts: 181
Location: Rogaland,Norway
Good work both of you! ^^



_________________
I Made the Norwegian Translation patch for Daedalus X64!
Offline
 Profile  
 
 Post subject: Re: My current code work
PostPosted: Fri Nov 05, 2010 5:01 am 
Mad Scientist
Mad Scientist
User avatar

Joined: Thu Oct 16, 2008 2:27 pm
Posts: 3104
Location: Texas, in the middle of nowhere...
Well you new fix is fine but, I'll finish my work and use your fix with it. Then I'll make DDL non-option and should be able to remove clean scene as well. The old hacky style of both doesn't play well with our clears, plus I'm working to save a few cycles between frames this way.



_________________
I'm baaack! >:)
Offline
 Profile  
 
 Post subject: Re: My current code work
PostPosted: Fri Nov 05, 2010 5:15 am 
Developer
Developer
User avatar

Joined: Sat Jan 31, 2009 7:11 am
Posts: 471
There was a wish from testers to have the EMU return to the currently selected ROM in the menu when you quit a game.
I can see that this would be helpful for testers that have huge amount of ROMs and need to flip to the ROM again
if the crash because they test a setting.
I not that good in C++ but perhaps you can have a look and see if this is an easy fix?



_________________
Spoiler: show
Image
Offline
 Profile  
 
 Post subject: Re: My current code work
PostPosted: Fri Nov 05, 2010 6:48 pm 
Mad Scientist
Mad Scientist
User avatar

Joined: Thu Oct 16, 2008 2:27 pm
Posts: 3104
Location: Texas, in the middle of nowhere...
Should be fairly easy. Is it in the feature tracker on the site?



_________________
I'm baaack! >:)
Offline
 Profile  
 
 Post subject: Re: My current code work
PostPosted: Fri Nov 05, 2010 8:40 pm 
Global NintendoKing
Global NintendoKing

Joined: Mon Jun 22, 2009 5:38 pm
Posts: 1619
Location: California,USA
Space Station Silicon Valley needs clean scene at the beginning( there's a point where a space ship zips around ), I htink it's on the title screen.



_________________
http://www.youtube.com/watch?feature=iv ... ion_224945
NL WEST DIVISION CHAMPIONS!
Offline
 Profile  
 
 Post subject: Re: My current code work
PostPosted: Fri Nov 05, 2010 8:49 pm 
Slayer
Slayer
User avatar

Joined: Wed Jul 08, 2009 9:20 pm
Posts: 284
Corn wrote:
There was a wish from testers to have the EMU return to the currently selected ROM in the menu when you quit a game.
I can see that this would be helpful for testers that have huge amount of ROMs and need to flip to the ROM again
if the crash because they test a setting.
I not that good in C++ but perhaps you can have a look and see if this is an easy fix?

I will try to implement this hopefully before the weekend is over before I am unavailable as adding code to the GUI is not as hard as graphics.


Offline
 Profile  
 
 Post subject: Re: My current code work
PostPosted: Sun Nov 07, 2010 1:23 pm 
Slayer
Slayer
User avatar

Joined: Wed Jul 08, 2009 9:20 pm
Posts: 284
Hmm...I wasn't sure which file to modify but in this case it was RomSelectorComponent.cpp. Look at lines 1339-1350; I think I may have gotten somewhere with it but nothing is happening. I added it as a Global Preferences option too. Also, this patch includes the ability to delete ROMs.


Attachments:
Remember_selected_ROM.patch [9.05 KiB]
Downloaded 134 times
Offline
 Profile  
 
 Post subject: Re: My current code work
PostPosted: Sun Nov 07, 2010 4:21 pm 
Warrior
Warrior

Joined: Sun Aug 29, 2010 5:15 pm
Posts: 61
Sweet, deleteing roms from the menu. Thats a nice little feature. Thanks


Offline
 Profile  
 
Display posts from previous:  Sort by  

All times are UTC - 6 hours [ DST ]


Who is online

Users browsing this forum: No registered users


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: