Emuforums.com

Go Back   Emuforums.com > Xbox Emulation > Cxbx Official Discussion
Home Register Downloads FAQ Members List Calendar Arcade Mark Forums Read

Reply
 
Thread Tools Display Modes
Old September 18th, 2008, 20:16   #61
shogun_nihon
将軍
 
shogun_nihon's Avatar
 
Join Date: Feb 2008
Location: 秋葉原
Posts: 558
Quote:
Originally Posted by blueshogun96 View Post
btw, would anyone want Metal Gear Solid II?
It would be great!!! Also as you said, Team Ninja games would be great too.
__________________
私はヴェクター·インダストリー製,対グノーシス専用ヒト型掃討兵器,KOS-MOS Ver.4です

CV: 鈴木麻里子(すずき まりこ)

"Yo, hecha por la Industria Vector, para uso exclusivo contra GNOSIS, humanoide de armas arrasadoras, soy KOS-MOS version 4".

スゴイ麻里子さん、貴方の声が大好きですよ。
Suzuki Mariko - Aoni Production
shogun_nihon is offline   Reply With Quote

Advertisement [Remove Advertisement]

Old September 19th, 2008, 01:04   #62
blueshogun96
Last Xbox Emu Author
 
blueshogun96's Avatar
 
Join Date: Jun 2004
Location: Seattle, WA, USA
Posts: 5,853
Quote:
Originally Posted by indaman View Post
Have you tried to make run Jet Set Radio Future?

Would be amazing to get this game to work.
Yeah, we get this request alot actually. What people don't realize is that we can't work with this game because no one has the XDK it uses except Caustik. I haven't heard from Caustik in ages and I don't know if he even still has it. So don't expect JSRF support in the near or distant future, sorry to say.

Quote:
Originally Posted by Borisz View Post
Given how close the xbox is to a normal PC, I honestly don't think LLE is even needed. (maybe except for bios calls and such, things unique to the xbox hardware)
Quite frankly, I have to disagree. It depends on what type of results you want from the emulator. I have chosen LLE over HLE for a number of reasons. First of all, you have to worry about games with different XDK versions. Unless you're microsoft, it would be impossible to get them all as each one is needed to use HLE to the fullest. Besides, HLE is not a magical solution for Xbox emulation. If you ask me, it's just plain overrated in many areas. Sure it's cool in all, but there's more to the picture. There's more to HLEing Xbox than moddified versions of DirectX. Even if I had every XDK, it wouldn't make a difference. Why? Because of the Xbox kernel. This would have to be HLEd too (which you all know). Sure it's just like a Win2k kernel, but it's no where near identical. It's still alot of work to do and some are just too low level IMO (i.e. MmClaimGpuInstanceMemory). Even if I were to HLE every one of those kernel functions, it STILL would not make a difference. Here's where it gets ugly. Let's take a look at Cxbx and Xeon. In order for either of then to run Halo, there are special hacks required to run it. One of them requires a brute force hack to get around bink video library calls. These cannot be HLEd. And many many many Xbox games uses them. Other various libraries can be used in games that also cannot be HLEd. But that's only one hack. There's also catching exceptions, and patching faulty x86 code that do not effect the Xbox, but effect the PC, etc. The list goes on and on. Creating these hacks for each and every game is very time consuming. Even caustik has admitted to the need to implement some form of LLE in Cxbx. So without LLE certain games (like State of Emergency) will never be emulated...
__________________

Official Website of Shogun3D's RyuAwai!

Shogun3D Game Development Blog

Zengjük a Dalt: Manliest Song Ever!

Last edited by blueshogun96; September 19th, 2008 at 01:18.. Reason: Automerged Doublepost
blueshogun96 is offline   Reply With Quote

Old September 19th, 2008, 13:48   #63
kekko
Registered User
 
Join Date: Aug 2005
Location: GMT +1.00h
Posts: 76
Quote:
Originally Posted by Nisse View Post
You're using a vintage version of the Platform SDK. You'll need version 6.1 for newer Visual Sudio versions.
Thanks Nisse, I just installed the newer sdk, but the error is still the same:
Code:
------ Build started: Project: CxbxKrnl, Configuration: Release Win32 ------
Compiling...
VertexShader.cpp
C:\Program Files\Microsoft SDKs\Windows\v6.1\\include\winbase.h(330) : error C2146: syntax error : missing ';' before identifier 'INIT_ONCE'
C:\Program Files\Microsoft SDKs\Windows\v6.1\\include\winbase.h(330) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
C:\Program Files\Microsoft SDKs\Windows\v6.1\\include\winbase.h(330) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
C:\Program Files\Microsoft SDKs\Windows\v6.1\\include\winbase.h(331) : error C2146: syntax error : missing ';' before identifier 'PINIT_ONCE'
kekko is offline   Reply With Quote

Old September 19th, 2008, 13:53   #64
Chrono Archangel
 
Chrono Archangel's Avatar
 
Join Date: Dec 2001
Location: Montreal, Canada
Posts: 8,090
well the error messages pretty much tells you how to fix them so... so add 'int' where it says its missing a type specifier and add the ';' where it says to.
Chrono Archangel is offline   Reply With Quote

Old September 19th, 2008, 13:55   #65
kekko
Registered User
 
Join Date: Aug 2005
Location: GMT +1.00h
Posts: 76
Quote:
Originally Posted by Chrono Archangel View Post
well the error messages pretty much tells you how to fix them so... so add 'int' where it says its missing a type specifier and add the ';' where it says to.
well that's usually right if it doesn't happen with a standard microsoft sdk header file. That's probably related to msvc setup.
kekko is offline   Reply With Quote

Old September 19th, 2008, 14:16   #66
Miliardo
Registered User
 
Join Date: Sep 2008
Location: China
Posts: 1
If the XBox works like a PC, these APIs would be translated into system calls, and the kernel should be unique - it should be the one that is installed in the console.
So why we have to care about the difference between XDKs?
Could you be going to say that every games distributes with a kernel and so they access hardware with different version of kernel? And the emulator should determine the version of XDK, capture these system calls and translate/reimplement them?

About the Xbox360, I guess Microsoft can ask developers recompile their codes uses the XBox360 SDK, with a library that provides the same APIs as the XDK. Then thay bundle the pack and ask end-users to install it - that may be the fact of the Xbox Game Support Update. When a XBox game is inserted, the system can just detect the title of it, and run the corresponding binary that targeted to the XBox360. That's the best way.
Well, the update pack is too small for me too believe it.

Last edited by Miliardo; September 19th, 2008 at 14:33..
Miliardo is offline   Reply With Quote

Old September 19th, 2008, 15:50   #67
Nisse
Emu author
 
Join Date: Jul 2008
Location: N/A
Posts: 19
Quote:
Originally Posted by kekko View Post
Thanks Nisse, I just installed the newer sdk, but the error is still the same:
Code:
------ Build started: Project: CxbxKrnl, Configuration: Release Win32 ------
Compiling...
VertexShader.cpp
C:\Program Files\Microsoft SDKs\Windows\v6.1\\include\winbase.h(330) : error C2146: syntax error : missing ';' before identifier 'INIT_ONCE'
C:\Program Files\Microsoft SDKs\Windows\v6.1\\include\winbase.h(330) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
C:\Program Files\Microsoft SDKs\Windows\v6.1\\include\winbase.h(330) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
C:\Program Files\Microsoft SDKs\Windows\v6.1\\include\winbase.h(331) : error C2146: syntax error : missing ';' before identifier 'PINIT_ONCE'
Hm, that's odd, VertexShader.cpp shouldn't include winbase.h. Open CxbxKrnl project properties -> C/C++ -> Advanced and enable "Show includes". Then rebuild VertexShader.cpp and the compiler output will show a tree of how includes get pulled in.
Nisse is offline   Reply With Quote

Old September 19th, 2008, 16:02   #68
kekko
Registered User
 
Join Date: Aug 2005
Location: GMT +1.00h
Posts: 76
Quote:
Originally Posted by Nisse View Post
Hm, that's odd, VertexShader.cpp shouldn't include winbase.h. Open CxbxKrnl project properties -> C/C++ -> Advanced and enable "Show includes". Then rebuild VertexShader.cpp and the compiler output will show a tree of how includes get pulled in.
I guess it gets it through cxbxkrnl.h > windows.h:

Code:
------ Build started: Project: CxbxKrnl, Configuration: Release Win32 ------
Compiling...
VertexShader.cpp
Note: including file: ..\..\src\CxbxKrnl/CxbxKrnl.h
Note: including file:  ..\..\src\Cxbx.h
Note: including file:  ..\..\src\Common/Xbe.h
Note: including file:   ..\..\src\Common/Error.h
Note: including file:    ..\..\src\Cxbx.h
Note: including file:   C:\Program Files\Microsoft Visual Studio 9.0\VC\include\cstdio
Note: including file:    C:\Program Files\Microsoft Visual Studio 9.0\VC\include\yvals.h
Note: including file:     C:\Program Files\Microsoft Visual Studio 9.0\VC\include\crtdefs.h
Note: including file:      C:\Program Files\Microsoft Visual Studio 9.0\VC\include\sal.h
Note: including file:       c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h
Note: including file:      C:\Program Files\Microsoft Visual Studio 9.0\VC\include\crtassem.h
Note: including file:      C:\Program Files\Microsoft Visual Studio 9.0\VC\include\vadefs.h
Note: including file:     C:\Program Files\Microsoft Visual Studio 9.0\VC\include\use_ansi.h
Note: including file:    C:\Program Files\Microsoft Visual Studio 9.0\VC\include\stdio.h
Note: including file:     C:\Program Files\Microsoft Visual Studio 9.0\VC\include\crtdefs.h
Note: including file:     C:\Program Files\Microsoft Visual Studio 9.0\VC\include\swprintf.inl
Note: including file:   ..\..\src\Common\Win32\AlignPrefix1.h
Note: including file:   ..\..\src\Common\Win32\AlignPosfix1.h
Note: including file:   ..\..\src\Common\Win32\AlignPrefix1.h
Note: including file:   ..\..\src\Common\Win32\AlignPosfix1.h
Note: including file:   ..\..\src\Common\Win32\AlignPrefix1.h
Note: including file:   ..\..\src\Common\Win32\AlignPosfix1.h
Note: including file:   ..\..\src\Common\Win32\AlignPrefix1.h
Note: including file:   ..\..\src\Common\Win32\AlignPosfix1.h
Note: including file:   ..\..\src\Common\Win32\AlignPrefix1.h
Note: including file:   ..\..\src\Common\Win32\AlignPosfix1.h
Note: including file:  C:\Program Files\Microsoft SDKs\Windows\v6.1\\include\windows.h
Note: including file:   C:\Program Files\Microsoft SDKs\Windows\v6.1\\include\sdkddkver.h
Note: including file:   C:\Program Files\Microsoft Visual Studio 9.0\VC\include\excpt.h
Note: including file:    C:\Program Files\Microsoft Visual Studio 9.0\VC\include\crtdefs.h
Note: including file:   C:\Program Files\Microsoft Visual Studio 9.0\VC\include\stdarg.h
Note: including file:   C:\Program Files\Microsoft SDKs\Windows\v6.1\\include\windef.h
Note: including file:    ..\..\dx81\include\winnt.h
Note: including file:     C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h
Note: including file:      C:\Program Files\Microsoft Visual Studio 9.0\VC\include\crtdefs.h
Note: including file:     C:\Program Files\Microsoft SDKs\Windows\v6.1\\include\specstrings.h
Note: including file:      C:\Program Files\Microsoft SDKs\Windows\v6.1\\include\specstrings_adt.h
Note: including file:      C:\Program Files\Microsoft SDKs\Windows\v6.1\\include\specstrings_strict.h
Note: including file:       C:\Program Files\Microsoft SDKs\Windows\v6.1\\include\specstrings_undef.h
Note: including file:     ..\..\dx81\include\basetsd.h
Note: including file:     C:\Program Files\Microsoft SDKs\Windows\v6.1\\include\guiddef.h
Note: including file:      C:\Program Files\Microsoft Visual Studio 9.0\VC\include\string.h
Note: including file:       C:\Program Files\Microsoft Visual Studio 9.0\VC\include\crtdefs.h
Note: including file:     C:\Program Files\Microsoft SDKs\Windows\v6.1\\include\pshpack4.h
Note: including file:     C:\Program Files\Microsoft SDKs\Windows\v6.1\\include\poppack.h
Note: including file:     c:\program files\microsoft sdks\windows\v6.1\include\pshpack4.h
Note: including file:     c:\program files\microsoft sdks\windows\v6.1\include\pshpack2.h
Note: including file:     c:\program files\microsoft sdks\windows\v6.1\include\poppack.h
Note: including file:     c:\program files\microsoft sdks\windows\v6.1\include\pshpack2.h
Note: including file:     C:\Program Files\Microsoft SDKs\Windows\v6.1\\include\pshpack2.h
Note: including file:     C:\Program Files\Microsoft SDKs\Windows\v6.1\\include\poppack.h
Note: including file:     c:\program files\microsoft sdks\windows\v6.1\include\poppack.h
Note: including file:     c:\program files\microsoft sdks\windows\v6.1\include\pshpack8.h
Note: including file:     c:\program files\microsoft sdks\windows\v6.1\include\poppack.h
Note: including file:     c:\program files\microsoft sdks\windows\v6.1\include\poppack.h
Note: including file:   C:\Program Files\Microsoft SDKs\Windows\v6.1\\include\winbase.h
C:\Program Files\Microsoft SDKs\Windows\v6.1\\include\winbase.h(330) : error C2146: syntax error : missing ';' before identifier 'INIT_ONCE'

Last edited by kekko; September 19th, 2008 at 16:12..
kekko is offline   Reply With Quote

Old September 19th, 2008, 16:24   #69
Nisse
Emu author
 
Join Date: Jul 2008
Location: N/A
Posts: 19
Quote:
Originally Posted by kekko View Post
Code:
Note: including file:    ..\..\dx81\include\winnt.h
Ah, there's the problem. You're getting an old winnt.h from DirectX, you should use the header from the Platform SDK. Change the order of the include paths in your build environment.
Nisse is offline   Reply With Quote

Old September 19th, 2008, 17:04   #70
kekko
Registered User
 
Join Date: Aug 2005
Location: GMT +1.00h
Posts: 76
Quote:
Originally Posted by Nisse View Post
Ah, there's the problem. You're getting an old winnt.h from DirectX, you should use the header from the Platform SDK. Change the order of the include paths in your build environment.
Thanks Nisse, that solved my problem;
keep up the excellent work (and eventually switch to dx9! just kidding)

EDIT:
just tried to run my copy of futurama, but it crashes with the following message, I guess it's a memory access error... is there something I'm missing?



here's a link to the kernel log: krnldebug.txt

thanks for your help.

p.s. I guess it's normal the opening movies flickers...

Last edited by kekko; September 19th, 2008 at 23:23..
kekko is offline   Reply With Quote

Old September 19th, 2008, 23:40   #71
Nisse
Emu author
 
Join Date: Jul 2008
Location: N/A
Posts: 19
Quote:
Originally Posted by kekko View Post
Thanks Nisse, that solved my problem;
keep up the excellent work (and eventually switch to dx9! just kidding)
Yes, D3D8 is deprecated and lacks good debugging tools. I'm actually leaning more towards an OpenGL backend fully wrapping Xbox D3D instead of forcing Xbox extension upon Win D3D.

Quote:
Originally Posted by kekko View Post
Hi,
just tried to run my copy of futurama, but it crashes with the following message, I guess it's a memory access error... is there something I'm missing?
In Cxbx.h disable _DEBUG_ALLOC and compile in Release mode. I'm not sure why debug mode fails, it may be a conflict between the different versions of MS CRT used by the game and our DLL.

Disable all debug tracking when testing performance.

Quote:
Originally Posted by kekko View Post
p.s. I guess it's normal the opening movies flickers...
Yes, I just added a very dirty hack just to check if the decoding worked. I recommend removing the movie files to cut down loading time and avoid epileptic seizures. The game will just skip files that are not found.

I'm attaching some hand-crafted, unsigned savegames for Futurama that I use when testing.
Attached Files
File Type: zip Futurama.Savegames.Unsigned.zip (47.7 KB, 13 views)

Last edited by Nisse; September 19th, 2008 at 23:54..
Nisse is offline   Reply With Quote

Old September 19th, 2008, 23:59   #72
kekko
Registered User
 
Join Date: Aug 2005
Location: GMT +1.00h
Posts: 76
Quote:
Originally Posted by Nisse View Post
Yes, D3D8 is deprecated and lacks good debugging tools. I'm actually leaning more towards an OpenGL backend fully wrapping Xbox D3D instead of forcing Xbox extension upon Win D3D.
porting all this in opengl? good luck! You'll need it!

Quote:
Originally Posted by Nisse View Post
In Cxbx.h disable _DEBUG_ALLOC and compile in Release mode. I'm not sure why debug mode fails, it may be a conflict between the different versions of MS CRT used by the game and our DLL.
Thanks it worked perfectly. Unfortunately I still have some minor troubles


Quote:
Originally Posted by Nisse View Post
Yes, I just added a very dirty hack just to check if the decoding worked. I recommend removing the movie files to cut down loading time and avoid epileptic seizures. The game will just skip files that are not found.
Thanks for recommendation

Quote:
Originally Posted by Nisse View Post
I'm attaching some hand-crafted, unsigned savegames for Futurama that I use when testing.
Thanks again...I just need to know where to put them...

Quote:
Originally Posted by Nisse View Post
Your debug log says it's using XDK 4627, while mine version is for 5233. Is it NTSC?
it's the PAL version.

Thanks for everything, I really appreciated that!
Please let me know of anything you need.
kekko is offline   Reply With Quote

Old September 20th, 2008, 00:10   #73
Nisse
Emu author
 
Join Date: Jul 2008
Location: N/A
Posts: 19
Quote:
Originally Posted by kekko View Post
porting all this in opengl? good luck! You'll need it!
The Wine project have already done most of the work...

Quote:
Originally Posted by kekko View Post
Thanks it worked perfectly. Unfortunately I still have some minor troubles
There's a few issues I haven't sorted out yet. As you can see, the character is rendered with the shadow material when the shadow is being updated. When pausing the game, or during some animation sequences the character is rendered as intended. Additionaly some animated meshes are corrupted. Debugging complex scenes is hard, and the good debugging tools are for OpenGL or D3D9+.

Quote:
Originally Posted by kekko View Post
Thanks again...I just need to know where to put them...
userdir\Application Data\Cxbx\EmuDisk\U

Quote:
Originally Posted by kekko View Post
it's the PAL version.
Nevermind, I checked the wrong log.

Quote:
Originally Posted by kekko View Post
Please let me know of anything you need.
99% of the time working on Cxbx is spent debugging, and as discussed above, we still have some issues to track down.
Nisse is offline   Reply With Quote

Old September 20th, 2008, 02:28   #74
blueshogun96
Last Xbox Emu Author
 
blueshogun96's Avatar
 
Join Date: Jun 2004
Location: Seattle, WA, USA
Posts: 5,853
@everyone, I think only the PAL version of Futurama works in this latest source build. The NTSC crashes rather hard. The same goes for Battlestar Galactica (NTSC only shows intros if you add the anti-WBINVD hack for the NTSC version yourself), and Celebrity Deathmatch. Just so everybody knows...
__________________

Official Website of Shogun3D's RyuAwai!

Shogun3D Game Development Blog

Zengjük a Dalt: Manliest Song Ever!
blueshogun96 is offline   Reply With Quote

Old September 22nd, 2008, 01:55   #75
blueshogun96
Last Xbox Emu Author
 
blueshogun96's Avatar
 
Join Date: Jun 2004
Location: Seattle, WA, USA
Posts: 5,853
Oh God, I think I'm getting a bit jealous now that everyone on the team is making more progress than me Just a little motivation...

Anyway, I managed to get some stuff working with Smashing Drive (XDK 4242) a few hours ago. It took a handful of hacks and render state additions, but I got it (sorta). I couldn't get to the menus or ingame because the game like to crash at random locations and usually it's never the same twice. Xbox handles exceptions differently than a PC does (afaik) so some faulty code doesn't effect the Xbox. The problem seems almost impossible to track -_- Just keeping you all updated on my end...

More about XDK 4242, it's closely similar to 4361 so you can just count it as the same. Just make the conversion in HLEIntercept.cpp and you're good to go.



__________________

Official Website of Shogun3D's RyuAwai!

Shogun3D Game Development Blog

Zengjük a Dalt: Manliest Song Ever!
blueshogun96 is offline   Reply With Quote

Old September 22nd, 2008, 02:16   #76
shogun_nihon
将軍
 
shogun_nihon's Avatar
 
Join Date: Feb 2008
Location: 秋葉原
Posts: 558
Way to go shogun.
__________________
私はヴェクター·インダストリー製,対グノーシス専用ヒト型掃討兵器,KOS-MOS Ver.4です

CV: 鈴木麻里子(すずき まりこ)

"Yo, hecha por la Industria Vector, para uso exclusivo contra GNOSIS, humanoide de armas arrasadoras, soy KOS-MOS version 4".

スゴイ麻里子さん、貴方の声が大好きですよ。
Suzuki Mariko - Aoni Production
shogun_nihon is offline   Reply With Quote

Old September 22nd, 2008, 02:32   #77
Nisse
Emu author
 
Join Date: Jul 2008
Location: N/A
Posts: 19
Quote:
Originally Posted by blueshogun96 View Post
@everyone, I think only the PAL version of Futurama works in this latest source build.
What compiler do you use? Did you disable _DEBUG_ALLOC and compile in release mode? Can you send me the logs and XBE dumps for Futurama and Celebrity Deathmatch?

Quote:
Originally Posted by blueshogun96 View Post
Anyway, I managed to get some stuff working with Smashing Drive (XDK 4242) a few hours ago. It took a handful of hacks and render state additions, but I got it (sorta). I couldn't get to the menus or ingame because the game like to crash at random locations and usually it's never the same twice. Xbox handles exceptions differently than a PC does (afaik) so some faulty code doesn't effect the Xbox. The problem seems almost impossible to track -_- Just keeping you all updated on my end...
Neat! Are you going to check the changes into your SVN branch?

I've begun debugging 4x4 Evo 2 (3911). One of the fixes also got Star Wars: Clone Wars (5233) to boot to loading screen.
Attached Images
File Type: png 4x4Evo2-01.png (164.7 KB, 67 views)
File Type: png SWCloneWars01.png (346.7 KB, 124 views)
Nisse is offline   Reply With Quote

Old September 22nd, 2008, 02:43   #78
Chrono Archangel
 
Chrono Archangel's Avatar
 
Join Date: Dec 2001
Location: Montreal, Canada
Posts: 8,090
Good job to the both of you
Chrono Archangel is offline   Reply With Quote

Old September 22nd, 2008, 02:55   #79
shogun_nihon
将軍
 
shogun_nihon's Avatar
 
Join Date: Feb 2008
Location: 秋葉原
Posts: 558
And now I must say way to go Nisse.
__________________
私はヴェクター·インダストリー製,対グノーシス専用ヒト型掃討兵器,KOS-MOS Ver.4です

CV: 鈴木麻里子(すずき まりこ)

"Yo, hecha por la Industria Vector, para uso exclusivo contra GNOSIS, humanoide de armas arrasadoras, soy KOS-MOS version 4".

スゴイ麻里子さん、貴方の声が大好きですよ。
Suzuki Mariko - Aoni Production
shogun_nihon is offline   Reply With Quote

Old September 22nd, 2008, 02:58   #80
proger
Customized User Title
 
Join Date: Apr 2004
Location: usa
Posts: 350
Man, a lot has happened since I've last checked. Keep it up, guys.
__________________
Intel Xeon X3350 @ 3.5GHz
4GB G.SKILL DDR2-1066 RAM
NVIDIA GeForce 9600GT 512MB (720/2150MHz)
120GB Western Digital SATA Harddisk
Generic 585 Watt Power Supply
proger is offline   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT +1. The time now is 09:24.

© 2006 - 2012 Emu Forums | About Emu Forums | Advertisers | Investors | Legal | A member of the Crowdgather Forum Community


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2013, vBulletin Solutions, Inc.