Emuforums.com

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


Reply
 
LinkBack Thread Tools Display Modes
Old August 29th, 2008   #21 (permalink)
Registered User
 
Join Date: Dec 2006
Location: United Kingdom
Posts: 2

could somebody compile a win32 version fo this emulator

NSCXP2005 is offline   Reply With Quote
Old August 31st, 2008   #22 (permalink)
Emu author
 
blueshogun96's Avatar
 
Join Date: Jun 2004
Location: Unidentified
Posts: 2,220
Afaik, it's against the rules to do that and start distributing it accross the forums. You'll have to compile it yourself. You can download a copy of Visual C++ express (at least I'm sure you still can), and then compiling is easy.

@Chrono, thank you sir. That was awfully nice of you to do that for me

I started working on some fixes for the NTSC version of BattleStar Galactica. It shows the intro and loading screens, but a memory related problem causes it to crash.
__________________

[Sagat] Windows XP x64 Pro | AMD Athlon 3000+ (~2.0GHz) | NVIDIA GeForce 6600 PCI-E | Realtek AC97 Audio | 512MB Ram | NVIDIA NForce 4-4X chipset | Seagate HDD 160GB | LG 8614 DVD-ROM | HP DVD 1040d CD/DVD -/+ RW w/ LightScribe
[Raylene] HP dv2000 | Windows Vista Home Premium | Intel Core2 Duo @2.2GHz | NVIDIA GeForce 8400 GS 128Mb (Dedicated) + 1264Mb (Shared) | 3GB Ram | 220GB HDD


GeneralEmu - December 27, 2005 and beyond!
My programming, emulation and Xbox blog! - Click or die! (Updated Sunday, October 26, 2008)
blueshogun96 is offline   Reply With Quote
Old September 1st, 2008   #23 (permalink)
Registered User
 
Join Date: May 2007
Location: middleofnowhere
Posts: 24
Somebody already tested Halo? would be glad to see any progress there I remember running an emu that could at least show the titlescreen..
__________________
Testsys1:AthlonXP 2400, 1,2 GB Ram, Radeon 9600,XP
Testsys2:P4M 3Ghz, 760MB Ram, Radeon 9700, XP
Testsys3:Core2Duo E4500,2GB Ram, Radeon X1600, XP
aenemy is offline   Reply With Quote
Old September 1st, 2008   #24 (permalink)
Emu author
 
blueshogun96's Avatar
 
Join Date: Jun 2004
Location: Unidentified
Posts: 2,220
Quote:
Originally Posted by aenemy View Post
Somebody already tested Halo? would be glad to see any progress there I remember running an emu that could at least show the titlescreen..
Cxbx compatibility list
__________________

[Sagat] Windows XP x64 Pro | AMD Athlon 3000+ (~2.0GHz) | NVIDIA GeForce 6600 PCI-E | Realtek AC97 Audio | 512MB Ram | NVIDIA NForce 4-4X chipset | Seagate HDD 160GB | LG 8614 DVD-ROM | HP DVD 1040d CD/DVD -/+ RW w/ LightScribe
[Raylene] HP dv2000 | Windows Vista Home Premium | Intel Core2 Duo @2.2GHz | NVIDIA GeForce 8400 GS 128Mb (Dedicated) + 1264Mb (Shared) | 3GB Ram | 220GB HDD


GeneralEmu - December 27, 2005 and beyond!
My programming, emulation and Xbox blog! - Click or die! (Updated Sunday, October 26, 2008)
blueshogun96 is offline   Reply With Quote
Old September 1st, 2008   #25 (permalink)
Registered User
 
Join Date: May 2007
Location: middleofnowhere
Posts: 24
Quote:
Originally Posted by blueshogun96 View Post
sorry for beeing stupid..
__________________
Testsys1:AthlonXP 2400, 1,2 GB Ram, Radeon 9600,XP
Testsys2:P4M 3Ghz, 760MB Ram, Radeon 9700, XP
Testsys3:Core2Duo E4500,2GB Ram, Radeon X1600, XP
aenemy is offline   Reply With Quote
Old September 3rd, 2008   #26 (permalink)
Emu author
 
blueshogun96's Avatar
 
Join Date: Jun 2004
Location: Unidentified
Posts: 2,220
Quote:
Originally Posted by aenemy View Post
sorry for beeing stupid..
No, please don't take it that way. Just a friendly link, nothing more
__________________

[Sagat] Windows XP x64 Pro | AMD Athlon 3000+ (~2.0GHz) | NVIDIA GeForce 6600 PCI-E | Realtek AC97 Audio | 512MB Ram | NVIDIA NForce 4-4X chipset | Seagate HDD 160GB | LG 8614 DVD-ROM | HP DVD 1040d CD/DVD -/+ RW w/ LightScribe
[Raylene] HP dv2000 | Windows Vista Home Premium | Intel Core2 Duo @2.2GHz | NVIDIA GeForce 8400 GS 128Mb (Dedicated) + 1264Mb (Shared) | 3GB Ram | 220GB HDD


GeneralEmu - December 27, 2005 and beyond!
My programming, emulation and Xbox blog! - Click or die! (Updated Sunday, October 26, 2008)
blueshogun96 is offline   Reply With Quote
Old September 4th, 2008   #27 (permalink)
Emu author
 
Join Date: Jul 2008
Location: N/A
Posts: 19
Quote:
Originally Posted by blueshogun96 View Post
I was thinking about buying Futurama for Cxbx earlier, then I thought to myself, "Futurama? Naw, I bet that game will N-E-V-E-R work!". You proved me wrong, great! I'll try to buy the NTSC version this weekend and see if it works.
Futurama is built with an off-the-shelf engine called Gamebryo from Emergent. I'll look for other Gamebryo titles in the used-bin as we may have some luck with them as well.

Quote:
Originally Posted by blueshogun96 View Post
If you want to see what changes I made, you'll need to download the source and do a search within the entire solution for my nick (shogun). If you need me to explain things personally, let me know. My online time is serverely limited right now, but I still do have some time on my hands (about 3 hours a day).
No problem. One of the things that caught my eye from Hard core Rikki's post was the quote "The hex values of some D3DFMTs can change from one SDK to the next". This sure would explain some issues I've run into. Do you have some specific examples of enumerations that have changed across SDK versions?

Quote:
Originally Posted by blueshogun96 View Post
I didn't notice you had got Celebrity Death Match working too. I have that game, but never thought to try it.
It's another 5233 game, I used it to cross-check OOVPA's from Futurama. It's possible to get in-game, but it's very unstable and full of glitches.

Quote:
Originally Posted by blueshogun96 View Post
What debugging techniques do you use?
For Cxbx code I use the integrated Visual Studio debugger. To debug game code I export the XBE to EXE with Cxbx and use OllyDbg. To explore and annotate game code there's IDA Pro.

Quote:
Originally Posted by Chrono Archangel View Post
Aniway, I've set you both up with the red stars Looking forward to seeing more from you guys.
Neat.

Quote:
Originally Posted by NSCXP2005 View Post
could somebody compile a win32 version fo this emulator
In it's current state Cxbx is not of much use to others than programmers who just want to play with the source code anyway. You can compile my branch with Visual C++ 2008 Express, MS Platform SDK and DirectX SDK which is freely available (well, at least in a monetary sense) from Microsoft if you have a Windows license. Cxbx still uses the now deprecated D3D8, the August 2007 version of DirectX was the last SDK to include it.

I'd like to upgrade to D3D9, some things would be easier to emulate, but others would require new workarounds. Most of all I's like to see backend plug-ins to get rid of the proprietary dependencies, but that's hardly realistic with the current project activity. Interestingly some of the Xbox D3D extensions are available in OpenGL. I guess they were added because Nvidia's chip already conformed to OpenGL.

At the moment I'm adding more primitives to the vertex buffer patcher and trying to come up with a sane way to patch vertex shaders that outputs direct screen space coordinates. As for Futurama the biggest remaining problem is all the black surfaces. It appears to be a lighting issue, because adding additional light by blowing up a nearby barrels will light up broken surfaces and show the textures. Well.
Attached Images
File Type: png Futurama12.png (128.7 KB, 63 views)
File Type: png Futurama13.png (114.4 KB, 70 views)
File Type: png CelebrityDeathmatch03.png (72.8 KB, 61 views)
Nisse is offline   Reply With Quote
Old September 4th, 2008   #28 (permalink)
将軍
 
shogun_nihon's Avatar
 
Join Date: Feb 2008
Location: 秋葉原
Posts: 303
Thanks for sharing your work with us 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".

スゴイ麻里子さん、あなたの声が大好きですよ。
http://www.aoni.co.jp/actress/sa/suzuki-mariko.html
shogun_nihon is offline   Reply With Quote
Old September 4th, 2008   #29 (permalink)
Naruto fanatic
 
Chilango's Avatar
 
Join Date: Jan 2007
Location: Mexico
Posts: 76
i just wants to say, awesome work, thanks Nisse, and all the team ,
__________________
My old system
Intel Pentium 4 1.8 Ghz, RAM 256 Mb DDR 133Mhz, Geforce 2 MX 64Mb, Win XP Service PAck 3.
My new laptop
Intel Core 2 Duo P8400, RAM 4096MB DDR2 800Mhz, Geforce 9200 M 256MB, Win Vista 64 Bit
Chilango is online now   Reply With Quote
Old September 5th, 2008   #30 (permalink)
Emu author
 
blueshogun96's Avatar
 
Join Date: Jun 2004
Location: Unidentified
Posts: 2,220
Quote:
Originally Posted by Nisse View Post
Futurama is built with an off-the-shelf engine called Gamebryo from Emergent. I'll look for other Gamebryo titles in the used-bin as we may have some luck with them as well.
Alright then, I'll look for Gamebryo titles myself when I get a chance to buy more games.

Quote:
No problem. One of the things that caught my eye from Hard core Rikki's post was the quote "The hex values of some D3DFMTs can change from one SDK to the next". This sure would explain some issues I've run into. Do you have some specific examples of enumerations that have changed across SDK versions?
Well, when I looked at the differences in the XDK header files, I noticed that some of the actual hex values from 4361 were different from 4627 and many others. This is easy to fix, but I've just been too lazy lately. I first found this out when I was trying to add support for Hunter: The reckoning. The funny thing about this game is that it enumerates every D3DFMT on the XDK even though Xbox already supports them all.

Quote:
It's another 5233 game, I used it to cross-check OOVPA's from Futurama. It's possible to get in-game, but it's very unstable and full of glitches.
I have Celebrity Death Match, but I haven't gotten around to downloading your branch until today. Do you have a 5233 XDK? Or do you just force it to use another version (i.e. 5558)? If you need more XDKs, ask me. I have 5 versions, 4361, 4627, 5344, 5558, and 5849. Let me know if you have a 3911 XDK. People beg for DOA3 and other team ninja games alot

Quote:
For Cxbx code I use the integrated Visual Studio debugger. To debug game code I export the XBE to EXE with Cxbx and use OllyDbg. To explore and annotate game code there's IDA Pro.
In the past I've had problems with JIT on my desktop. I recently got a new notebook and I'll try to make sure JIT works on it at least. I'll download OllyDbg. I read about it in a book about Reverse engineering. I beleive it was called The Secrets of Reverse Engineering. It helped me alot when learning about how Xbox works on the software level.
__________________

[Sagat] Windows XP x64 Pro | AMD Athlon 3000+ (~2.0GHz) | NVIDIA GeForce 6600 PCI-E | Realtek AC97 Audio | 512MB Ram | NVIDIA NForce 4-4X chipset | Seagate HDD 160GB | LG 8614 DVD-ROM | HP DVD 1040d CD/DVD -/+ RW w/ LightScribe
[Raylene] HP dv2000 | Windows Vista Home Premium | Intel Core2 Duo @2.2GHz | NVIDIA GeForce 8400 GS 128Mb (Dedicated) + 1264Mb (Shared) | 3GB Ram | 220GB HDD


GeneralEmu - December 27, 2005 and beyond!
My programming, emulation and Xbox blog! - Click or die! (Updated Sunday, October 26, 2008)
blueshogun96 is offline   Reply With Quote
Old September 5th, 2008   #31 (permalink)
Emu author
 
Join Date: Jul 2008
Location: N/A
Posts: 19
Quote:
Originally Posted by blueshogun96 View Post
Well, when I looked at the differences in the XDK header files, I noticed that some of the actual hex values from 4361 were different from 4627 and many others. This is easy to fix, but I've just been too lazy lately.
True, but it gets harder if this is the case for XDKs that never leaked, we can't create test cases for them. And if they changed D3DFMT constants, what else did they change?

Quote:
Originally Posted by blueshogun96 View Post
I first found this out when I was trying to add support for Hunter: The reckoning. The funny thing about this game is that it enumerates every D3DFMT on the XDK even though Xbox already supports them all.
I'm just speculating, but I'd guess they used a cross-platorm game engine that adjusts to available formats at run-time.

Quote:
Originally Posted by blueshogun96 View Post
I have Celebrity Death Match, but I haven't gotten around to downloading your branch until today. Do you have a 5233 XDK? Or do you just force it to use another version (i.e. 5558)? If you need more XDKs, ask me. I have 5 versions, 4361, 4627, 5344, 5558, and 5849. Let me know if you have a 3911 XDK. People beg for DOA3 and other team ninja games alot
I don't have any exotic XDKs. When adding 5233 I manually compared functions to those found by Cxbx in 4627 and 5558 games. I didn't know 5344 was out in the wild, signatures from that XDK would probably have saved me a lot of time.

I have one 3911 game, 4x4 Evo 2. Not an exclusive Xbox title, but I'd like to look deeper into it anyway.
Nisse is offline   Reply With Quote
Old September 5th, 2008   #32 (permalink)
Emu author
 
blueshogun96's Avatar
 
Join Date: Jun 2004
Location: Unidentified
Posts: 2,220
Quote:
Originally Posted by Nisse View Post
True, but it gets harder if this is the case for XDKs that never leaked, we can't create test cases for them. And if they changed D3DFMT constants, what else did they change?
I'm not sure what else might have changed. I was also too lazy to look for other changes.

Quote:
Originally Posted by Nisse View Post
I'm just speculating, but I'd guess they used a cross-platorm game engine that adjusts to available formats at run-time.
Yeah, I'd say so myself.

Quote:
Originally Posted by Nisse View Post
I don't have any exotic XDKs. When adding 5233 I manually compared functions to those found by Cxbx in 4627 and 5558 games. I didn't know 5344 was out in the wild, signatures from that XDK would probably have saved me a lot of time.
Martin_sw told me that 5344 and 5558 have many similarities in them. Usually the Direct3D stuff doesn't change much (afaik), but the DirectSound stuff varies alot. XDK 4721 is a good example. Games like Quantum Redshift and Shenmue II use it, but it's the sound APIs that stop it from working. It's mainly DirectSound and CMcpx APIs that are stopping from getting Robotech: Battlecry (XDK 4928) from working. All of the Direct3D initialization works ok and none of the shader parsers crash either. Anyway, I downloaded your branch yesterday and I was going to try some other 5233 games I had laying around (StarWars: Clone wars, Brute Force, and a few others).

Quote:
Originally Posted by Nisse View Post
I have one 3911 game, 4x4 Evo 2. Not an exclusive Xbox title, but I'd like to look deeper into it anyway.
I'll eventually get that game one of these days. The main reason I want a 3911 is because some really unique situations have come up in Azurik: Rize of Perathia. Besides the missing render states, it has a memory corruption problem and tries to create a blank shader with no code in it (after Cxbx parses it), no other games have these problems. I'm guessing that this is one of the hardest Xbox games to emulate of all time. Microsoft has been at it for years on Xbox360 and still can't emulate it.
__________________

[Sagat] Windows XP x64 Pro | AMD Athlon 3000+ (~2.0GHz) | NVIDIA GeForce 6600 PCI-E | Realtek AC97 Audio | 512MB Ram | NVIDIA NForce 4-4X chipset | Seagate HDD 160GB | LG 8614 DVD-ROM | HP DVD 1040d CD/DVD -/+ RW w/ LightScribe
[Raylene] HP dv2000 | Windows Vista Home Premium | Intel Core2 Duo @2.2GHz | NVIDIA GeForce 8400 GS 128Mb (Dedicated) + 1264Mb (Shared) | 3GB Ram | 220GB HDD


GeneralEmu - December 27, 2005 and beyond!
My programming, emulation and Xbox blog! - Click or die! (Updated Sunday, October 26, 2008)
blueshogun96 is offline   Reply With Quote
Old September 7th, 2008   #33 (permalink)
Creative Illusion
 
Verteks's Avatar
 
Join Date: Sep 2008
Location: in the shell
Posts: 15
Thanks for your work, i hope you keep it going. I have some questions:
Are you using OpenXDK or Microsoft XDK?
How do you know which XDK version a game is using?
I have Burnout 3 and i'll try to work on it (if i can), tell me the techniques you use and where do i get started.
Verteks is offline   Reply With Quote
Old September 9th, 2008   #34 (permalink)
Emu author
 
Join Date: Jul 2008
Location: N/A
Posts: 19
Quote:
Originally Posted by Verteks View Post
Are you using OpenXDK or Microsoft XDK?
Retail games are required to use Microsoft's official XDK, so that's what Cxbx is targeting.
Quote:
Originally Posted by Verteks View Post
How do you know which XDK version a game is using?
XBE files contains a list of linked libraries and versions. Use Edit -> Dump Xbe Info in Cxbx to list XBE details.
Quote:
Originally Posted by Verteks View Post
I have Burnout 3 and i'll try to work on it (if i can), tell me the techniques you use and where do i get started.
This specific game is built with Link-Time Code Generation, meaning that we can't identify XTL functions with our current techniques. We'll have to make function signatures and wrappers for each LTCG game rather than for an entire XDK build version.

To get started contributing to Cxbx I guess it's the same procedure as with any other software project; get familiar with the code base and hack away.
Nisse is offline   Reply With Quote
Old September 10th, 2008   #35 (permalink)
Creative Illusion
 
Verteks's Avatar
 
Join Date: Sep 2008
Location: in the shell
Posts: 15
Quote:
Originally Posted by Nisse View Post
Retail games are required to use Microsoft's official XDK, so that's what Cxbx is targeting.
do you have it? where did you get it from?
Verteks is offline   Reply With Quote
Old September 10th, 2008   #36 (permalink)
Spriggan
 
OminaeYu's Avatar
 
Join Date: Apr 2003
Location: Currently stationed at ARCAM's Japanese Branch
Posts: 306
Quote:
Originally Posted by Verteks View Post
do you have it? where did you get it from?
If you are asking for the Official XDK it seems like you need to read the rules NGEmu/EmuForums Rules of Conduct
__________________
| CPU: Intel Core2Quad Q6600 (G0) @ 3GHz | GPU: MSI 8800GT 512MB | Memory: 4GB (2x 2GB) G-Skill DDR2 @ 1000MHz Dual Channel | Monitor: Viewsonic Q20WB 20" LCD @ 1680x1050 | Operating System: Windows Vista Home Premium x64 |
OminaeYu is offline   Reply With Quote
Old September 10th, 2008   #37 (permalink)
Creative Illusion
 
Verteks's Avatar
 
Join Date: Sep 2008
Location: in the shell
Posts: 15
oh sorry!
Verteks is offline   Reply With Quote
Old September 12th, 2008   #38 (permalink)
Registered User
 
Join Date: May 2007
Location: middleofnowhere
Posts: 24
Quote:
Originally Posted by Verteks View Post
do you have it? where did you get it from?
Well, they're a dev team with official MS licence of course
btw: does someone know weather that XDK thing is realy leaked? ( I don't want to know where to get it! )
__________________
Testsys1:AthlonXP 2400, 1,2 GB Ram, Radeon 9600,XP
Testsys2:P4M 3Ghz, 760MB Ram, Radeon 9700, XP
Testsys3:Core2Duo E4500,2GB Ram, Radeon X1600, XP
aenemy is offline   Reply With Quote
Old September 13th, 2008   #39 (permalink)
Emu author
 
Join Date: Jul 2008
Location: N/A
Posts: 19
Game executables already includes the XDK blobs that needs reversing.