PDA

View Full Version : some common questions


PersianBoy
October 6th, 2006, 17:18
Hi

I'm glad to see another gamecube emulator. first, I should thank ShizZy for his effort. I make this thread because I would like to know more about gamecube emulation and specially Gekko emulator.


common questions about gamecube

1- Is gamecube a complex system ?
2- how does Gekko(gamecube main processor) works ? is it really more complex than current CPUs ?
3- what are the differences between our graphic cards and Art-X ?
4- what about sound ?



some questions about Gekko

1- does gekko support SSE/SSE2 ?
2- how gekko emulate Art-X ? is it completely emulated by cpu like PCSX2 ?
3- does gekko use HyperThreading ?
4- what is your system specification ? what is minimum system requirement ?

refraction
October 6th, 2006, 19:45
common questions about gamecube

1- Is gamecube a complex system ?
Out of the last generation of consoles, it is probably one of the simpler systems, but this doesnt mean at all that it was simple.
2- how does Gekko(gamecube main processor) works ? is it really more complex than current CPUs ? not sure :D
3- what are the differences between our graphic cards and Art-X ? the Art-X is optimized for handling game vertex's and textures, where pc graphics cards are designed for all purpose.
4- what about sound ? god knows



some questions about Gekko

1- does gekko support SSE/SSE2 ?
2- how gekko emulate Art-X ? is it completely emulated by cpu like PCSX2 ?
3- does gekko use HyperThreading ?
4- what is your system specification ? what is minimum system requirement ?

1 - 4, you are asking WAY too soon, i doubt he will be able to answer any of them, altho i imagine the 2nd answer will be it will use a simular method to PCSX2, altho PCSX2 actually shares the load between graphics and CPU, we take advantage of pixel shaders wherever possible hence the need for a DX9 card.

superbug
October 7th, 2006, 13:23
Gekko is a modified version of PowerPC G3 750 processor. About sound, the DSP processor is a difficult one to emulate since there's not much information about it.

BAXTER STOCKMAN
October 7th, 2006, 14:25
Hi

I'm glad to see another gamecube emulator. first, I should thank ShizZy for his effort. I make this thread because I would like to know more about gamecube emulation and specially Gekko emulator.


common questions about gamecube

1- Is gamecube a complex system ?
2- how does Gekko(gamecube main processor) works ? is it really more complex than current CPUs ?
3- what are the differences between our graphic cards and Art-X ?
4- what about sound ?



some questions about Gekko

1- does gekko support SSE/SSE2 ?
2- how gekko emulate Art-X ? is it completely emulated by cpu like PCSX2 ?
3- does gekko use HyperThreading ?
4- what is your system specification ? what is minimum system requirement ?


I have the same questions too..:)

ShizZy
October 11th, 2006, 01:50
common questions about gamecube

1- Is gamecube a complex system ?
a: Yes, very. As Ref said though, some nexgen systems maybe considered more complex.
2- how does Gekko(gamecube main processor) works ? is it really more complex than current CPUs ?
a: It is a current CPU. In some ways, it's simpler than x86. In others, it's more advanced. But PPC is widelly documented, so if you're interested, just use google.
3- what are the differences between our graphic cards and Art-X ?
a: Not much, Art-X is a graphics card. Like Ref said though, it does specialize more so in 3D Rendering/Texturing than anything else. Also, it has something called "TEV", which can be comparable to Pixel shaders on a DirectX video card.
4- what about sound ?
a: we have not began to emulate sound yet, besides simple HLE tests. If you know anyone who's interested in writing an audio plugin for us, have him or her contact me.



some questions about Gekko

1- does gekko support SSE/SSE2 ?
a: Yes, but it is not a requirement.
2- how gekko emulate Art-X ? is it completely emulated by cpu like PCSX2 ?
a: It is high level emulated using your computers video card. Currently, we use the Dolphin video plugin anyways, so ask Ector ;)
3- does gekko use HyperThreading ?
a: No, not at the moment.
4- what is your system specification ? what is minimum system requirement ?
a: They're low enough ;)

Lightning
October 11th, 2006, 04:15
Just to clear up some stuff Shizzy said



common questions about gamecube

3- what are the differences between our graphic cards and Art-X ?
a. One difference is that the ArtX chip is for pure 3d graphics while normal video cards have to support more than that. As a result there is less to emulate command wise, but, more to process and handle as it pushes alot of data.

4- what about sound ?
a. The sound chip has it's own command sequence and processing it does. This has yet to be emulated on a high or low level. This will be done after other larger portions are completed. You can think of this as emulating a 2nd smaller cpu if that makes it any clearer.



some questions about Gekko

1- does gekko support SSE/SSE2 ?
a. Unlike Shizzy's answer, not only does it support SSE2, it requires it. We are able to compile the emulator without SSE2 but it really is not worth it. The DynaRec will require SSE2, no questions asked. As a result your chip (which is just about every new chip on the market) must support it.
The emulator will let you know if SSE2 was not found.

2- how gekko emulate Art-X ? is it completely emulated by cpu like PCSX2 ?
We are currently using Dolphin's plugin while we write our own. It will currently be low level emulated in that we will grab data going to the video chip, process it, then send it to the video card.

After that is functioning properly, The next step would be to investigate in snatching video calls and possibly cut some of the extra work out. Speed gain would be unknown until we did it, and if we could do it. Of course that does not stop a programmer from dumping directly to the video chip anyways.

3- does gekko use HyperThreading ?
No, and no plans to support it. We will support multiple threads to help the emulator, but multi-threading is not currently being done simply due to fixing flaws and getting it to operate better.

4- what is your system specification ? what is minimum system requirement ?
fast cpu, SSE2, fast cpu, good graphics card, and fast cpu (I'm dev'ing on an AMD 64 2800+).

[/QUOTE]

PersianBoy
October 11th, 2006, 10:44
thanks ShizZy and Lightning
you are nice guys.



a: Not much, Art-X is a graphics card. Like Ref said though, it does specialize more so in 3D Rendering/Texturing than anything else. Also, it has something called "TEV", which can be comparable to Pixel shaders on a DirectX video card.


it's very amazing that Art-X has shaders. I never know it. oO


a: we have not began to emulate sound yet, besides simple HLE tests. If you know anyone who's interested in writing an audio plugin for us, have him or her contact me.



surely , I'll do it.;)



a. Unlike Shizzy's answer, not only does it support SSE2, it requires it. We are able to compile the emulator without SSE2 but it really is not worth it. The DynaRec will require SSE2, no questions asked. As a result your chip (which is just about every new chip on the market) must support it.
The emulator will let you know if SSE2 was not found.


thus, my old celeron 1700 is not too old because it still supports SSE2. :D
but I should upgrade my computer. I'll buy a new P4 3.0HT. I'm a intel fan.
I'm sorry for athlon xp users. they should be disappointed. what can they do ? nothing. they should balme AMD for those outdated athlon xp.
how much is SSE2 superior to SSE ? does it really make a difference ?


4- what is your system specification ? what is minimum system requirement ?
fast cpu, SSE2, fast cpu, good graphics card, and fast cpu (I'm dev'ing on an AMD 64 2800+).


do you think AMD 64 is identical to P4c in floating point calculations ? I mean does gekko use fpu heavily ?
does Gekko need bios ? or it is HLE like project64 and other nintendo64 emulators.
could someone provide some information about gamecube bios ? size, versions, etc.



best regards

Lightning
October 11th, 2006, 15:33
thus, my old celeron 1700 is not too old because it still supports SSE2. :D
but I should upgrade my computer. I'll buy a new P4 3.0HT. I'm a intel fan.
I'm sorry for athlon xp users. they should be disappointed. what can they do ? nothing. they should balme AMD for those outdated athlon xp.
how much is SSE2 superior to SSE ? does it really make a difference ?


Anyone with a new AMD chip is more likely to go for the AMD 64 if they do any small amount of reading. As for SSE2 compared to SSE, SSE2 just adds more commands and functionality, namely double precision functionality.



do you think AMD 64 is identical to P4c in floating point calculations ? I mean does gekko use fpu heavily ?
does Gekko need bios ? or it is HLE like project64 and other nintendo64 emulators.
could someone provide some information about gamecube bios ? size, versions, etc.


People debate on which one does floating point better, however, we do not use the normal floating point math but the SSE/SSE2 when we can due to the data size on the gamecube (64bit floating point). You figure any 3d game is heavily floating point related due to manipulation of the 3d geometry.

As for a bios, we emulate what the bios goes thru to get a game started up. Setting up the CPU, reading the right areas of the disk image, etc. As a result a gamecube bios is not required nor cared about. Even if we did care about the gamecube bios, we would never be able to provide it due to the legalities of it.

BAXTER STOCKMAN
October 21st, 2006, 13:30
Is my system powerful enough to run Gekko at full speed?
Can i run all gamecube games at full speed with this system?
I have

AMD ATHLON X2 4400+DUAL CORE 2.2GHZ, 1GB RAM DDR400, NVDIA GEFORCE7900GT256 MB.

JKKDARK
October 21st, 2006, 13:33
Well, full speed.. in your dreams

BAXTER STOCKMAN
October 21st, 2006, 14:19
What do you mean "full speed in your dreams"? Do you mean that my pc is NOT enough powerful to emulate the gamecube? Do you know that Gamecube is 5 year old system, and that i have bought my pc 3 months ago? And you say that it is not powerful to emulate a 5 year old system? How can this happen? How much Cpus does the gamecube has? Does it has a dual core cpu like my system? Or more? Even if Dual core Cpu pc is not enough then Quad core will do the job, i am sure.:) :) :) And as we all know Intel will release Quad Core cpu at the end of this month, if i am not mistaken.

RedLion
October 21st, 2006, 14:29
What do you mean "full speed in your dreams"? Do you mean that my pc is NOT enough powerful to emulate the gamecube? Do you know that Gamecube is 5 year old system, and that i have bought my pc 3 months ago? And you say that it is not powerful to emulate a 5 year old system? How can this happen? How much Cpus does the gamecube has? Does it has a dual core cpu like my system? Or more? Even if Dual core Cpu pc is not enough then Quad core will do the job, i am sure.:) :) :) And as we all know Intel will release Quad Core cpu at the end of this month, if i am not mistaken.

Do you know how to program? Do you know how does emulation works?

BAXTER STOCKMAN
October 21st, 2006, 15:38
I know a little programming.. :)But i know many things about emulation. You see, emulation is my favorite hobby. And my dream is to code my own emulator, one day.:) (maybe a Wii or a PS3 emulator). I have talked with my friends yesterday about emulation. And we have decide that we will make our own Next Gen emulator. Personaly i think that we will make a wiii emulator first, because as we all know Wii is much simplier than the ps3, so it will be A LOT easyier to code a Wii emu than a Ps3 emu. But we dont have enough members in our team. We have only 2 Members!(I and one of my friends):( :( : But we will find more members soon ,very soon.

dynamicVoidMain
October 21st, 2006, 15:57
for some reason I found it intersting reading all that :)


I look forward to when I understand what exactly sse2 is :p



BAXTER STOCKMAN, I know how to program and I know a bit about emulation, you wil need a more powerful PC than the console for sure, and your current specs are a fair bet. However ShizZy and his mates are refusing to answer all performance questions, they even blur out FPS speeds, so no one knows just how fast Gekko will run.


For all we know it will run at 60fps on a 1.3ghz celeron (and no, that is really unlikely).

RedLion
October 21st, 2006, 17:32
I know a little programming.. :)But i know many things about emulation. You see, emulation is my favorite hobby. And my dream is to code my own emulator, one day.:) (maybe a Wii or a PS3 emulator). I have talked with my friends yesterday about emulation. And we have decide that we will make our own Next Gen emulator. Personaly i think that we will make a wiii emulator first, because as we all know Wii is much simplier than the ps3, so it will be A LOT easyier to code a Wii emu than a Ps3 emu. But we dont have enough members in our team. We have only 2 Members!(I and one of my friends):( :( : But we will find more members soon ,very soon.

Wa wa wa Stop dreaming man!Planet earth here!!!If you really knew about emulation and how does it works you wouldn't have said:

Do you mean that my pc is NOT enough powerful to emulate the gamecube? Do you know that Gamecube is 5 year old system, and that i have bought my pc 3 months ago? And you say that it is not powerful to emulate a 5 year old system?

The PS2 is a 6 years old system and some actual powerful machines don't even make some games running at full speed. The number of years does not matter even less the power of your machine.

An emulator is a "layer" between your machine and the emulated program. It makes the translation beetween the code of the emulated machine and the "target machine".

The problem is this translation is made by your machine. I think a little diagram will be more expressive:

Code of the emulated machine<==>translation by the target machine<==>rendering of what has been translated.

The two last stages will eat a lot of your machine power. Especially is the machine you emulate is complex and powerful too.

Of course it will depends on what you emulate (a Ps1 is obviously less difficult to emulate than a GC) but the fact your machine need to translate the code before using it will be reflected in the fact your machine will need to be powerful to carry this translation fast then the rendering of what is emulated.

More for a console emulation for example you need to emulate the rendering, the sound,the input etc... on the fly.

If this was made by parallel devices on the console this task will be made by only one thing on your machine:your CPU. (it takes the emulation of the emulated cpu then of the graphic card send informations to the "target" graphic card, continue translation....an so on for the rest).So now you see? not so simple?

So do not pay attention on the fact that the NGC is less powerful than a three months year old Pc.The problem don't come from here dude.The problem is far much complex.


For all we know it will run at 60fps on a 1.3ghz celeron (and no, that is really unlikely).

Where did you get this????

dynamicVoidMain
October 21st, 2006, 18:28
I got it from a cold dark place, whats it matter to you?

Are you just looking for an argument?

RedLion
October 21st, 2006, 21:25
I got it from a cold dark place, whats it matter to you?

Are you just looking for an argument?

I am just looking for your sources....(link,site,thread?).As far as I know no config specifications were given for Gekko.

GreenSoda
October 23rd, 2006, 11:46
As far as I know no config specifications were given for Gekko.


...which pretty much is just what he said ;)

My guess is that it'll be rather slow -they use the dolphin graphic plugin and are just beginning to code their emulator. Speed usually comes last in emulation...

JKKDARK
October 23rd, 2006, 19:05
I know a little programming.. :)But i know many things about emulation. You see, emulation is my favorite hobby. And my dream is to code my own emulator, one day.:) (maybe a Wii or a PS3 emulator). I have talked with my friends yesterday about emulation. And we have decide that we will make our own Next Gen emulator. Personaly i think that we will make a wiii emulator first, because as we all know Wii is much simplier than the ps3, so it will be A LOT easyier to code a Wii emu than a Ps3 emu. But we dont have enough members in our team. We have only 2 Members!(I and one of my friends):( :( : But we will find more members soon ,very soon.

mm maybe I will put your comment in my sig :laugh:

dynamicVoidMain
October 23rd, 2006, 20:27
I am just looking for your sources....(link,site,thread?).As far as I know no config specifications were given for Gekko.

Oh for the love of all that is holy!

For all we know it will run at 60fps on a 1.3ghz celeron (and no, that is really unlikely).


mm maybe I will put your comment in my sig :laugh:

gotta agree, its comedy gold :lol: He mentions 'friends', then says 'our' team consists of two people :p

RedLion
October 23rd, 2006, 22:14
Oh for the love of all that is holy!


Tssssss....OK.Didn't read very well.You can now enjoy your "victory".:rolleyes:

dynamicVoidMain
October 24th, 2006, 05:18
last I checked we weren't tied in an epic battle of blue vs red or something like that...

Lightning
October 24th, 2006, 17:27
For speed, let's do some quick math

Gamecube
-CPU speed, 485Mhz
-Video, 162Mhz
-Audio, 81Mhz

Now, the gamecube's audio chip does not run normal wav audio but has the ability to process audio commands (similar to midi if you wish to think that way).

Current PC's, ~3Ghz. 3Ghz / (485Mhz + 162Mhz + 81Mhz) = 4.2. So current PC's are about 4.2x faster than the gamecube. The reason for including the audio and video is due to the pc cpu having to emulate all data processing that they do. That means for every instruction that the gamecube executes, the PC get's 4 instructions (these are quick numbers. I know it is not exactly accurate) to interact with the operating system, get user feedback, render data on the screen, interpret the gamecube data, and process the data interpretted. On top of the interpretation, the gamecube stores data in memory in 1234 order yet the PC prefers 4321 order. This means anything interpretted has to be swapped around before even being looked at.

Now, there are methods to increase the speed and perform better. But this gives you a good start as to the complexity. Some of the other game systems do not require much emulation on the audio chip as they just dump the raw audio. In the case of the gamecube, there is a DSP sound chip that can be told to play a certain sound for x many times, etc.

dynamicVoidMain
October 25th, 2006, 10:38
So current PC's are about 4.2x faster than the gamecube

nope :rolleyes:

GreenSoda
October 26th, 2006, 11:35
nope :rolleyes:

:rolleyes: He was only "guesstimating":

(these are quick numbers. I know it is not exactly accurate)

...besides he *is* telling us that todays PCs are way too weak to handel GC emulation, so his post surely sounds right (him being a Gekko-Dev adds a little to his credit as well ;) )

dynamicVoidMain
October 26th, 2006, 22:11
I don't think you can really guess at all... not with raw clock speeds like he is.

Lightning
October 27th, 2006, 14:58
I'm aware of the fact that an opcode on the x86 does not execute in the same speed as the same opcode on a PowerPC chip if both run at the same "speed". There is not direct comparision between a PowerPC chip and the x86 chip. However, by using 1 opcode per Hz (although some opcodes take more than 1 cycle to complete), you can get a rough guideline to show bottlenecks and slowdowns.

Of course this is a benefit when you can compare a dynarec core (dynamicly recompile the PowerPC code into the x86 counterpart and not require a constant lookup and parsing of the PowerPC codes) against the estimated speed from the original console. In this case, if we are running a dynarec that does 400m instructions/sec, then we know we are closing in on the actual speed of the gamecube.

Of course getting to that is another story. I am not sure what you are basing your knowledge on that i'm completely wrong, I'm basing mine on the 14 years of programming and hardware development that I am paid to do. Yes, the video card should offset some of the work, issue, the CPU still has to re-interpret all the commands to then re-process the vertex data into a usable stream by the PC video card. The gamecube's video chip takes shortcuts to cut down on the bandwidth allowing more data, while the PC graphics prefer a slightly different layout requiring re-interpretation.

If you still think I am wrong, then please provide numbers and reasons and show me the errors.

dynamicVoidMain
October 27th, 2006, 15:11
oh ok, umm... I'll get back to you in... 14 years?

I'm just saying that I don't think ghz to GameCube-a-hertz is a fair comparison... If I'm wrong as you say, well thats fair enough ;)

Lightning
October 27th, 2006, 16:15
Not trying to cause trouble, just make sure everyone understands :)

My previous post did point out that there is a difference in speed between PowerPC (what runs the gamecube) and the x86 chip's even if they run the same Hz. The catch is that the emulator has to run all data thru the cpu so calculating just on the gamecube cpu's speed isnt accurate as you need the sound (as it is a custom sound chip) and video.

Just for a quick compare. The Playstation (original) allows for ADPCM audio data (equiv of playing a wav file), mjpeg (moving jpeg, similar to mpeg), and h.261 movie data. All 3 of those can be played on a standard computer without being converted. The gamecube requires custom processing of the audio data and custom processing of the movie data, all going thru the CPU of course.

I do not know how compat the Playstation graphics data is with the graphics chip in your standard PC, however, the gamecube requires custom handling of the triangle data to allow the pc to understand it. This is simply meant to give you a small taste of the tip of the iceburg in the difficulties in the gamecube.