Bueno para comenzar les pido a todos que preste atencion con todo lo referente a lo que voy a subir, ya que es de caracter informativo y a todos les va a servir y despegar muchas dudas....
Tratare de hacerla no tan larga, la informacion requiere de mucha ayuda ya que han avido muchas preguntas y dudas con relacion a la Pcsx2 y los tipos de cpu en que puede correr a su la totalidad donde se a desarrollado, una vez mas les pido que leean y prensten atencion.....
PCSX2
[/size]
Es un software que pretende crear un Interprete para todas las Instrucciones que realiza el Hardware de la Maquina de Sony en nuestra Navi(PC), con la finalidad de busca una compatibilidad con lo que se comenzo con los juegos Demos hasta ahora con los juegos comeciales...
Para continuar conoceran los distintos bios que deben de ocupar en su Pcsx2:
Bios Ps2:
PS2 Bios 30004R V6 Pal.bin
PS2 Bios 30004R V6 Pal.MEC
PS2 Bios 30004R V6 Pal.NVM
scph10000.bin
scph10000.NVM
scph18000.bin
scph18000.NVM
scph39001.bin
scph39001.MEC
scph39001.NVM
SCPH-70004_BIOS_V12_PAL_200.BIN
SCPH-70004_BIOS_V12_PAL_200.EROM
SCPH-70004_BIOS_V12_PAL_200.MEC
SCPH-70004_BIOS_V12_PAL_200.NVM
SCPH-70004_BIOS_V12_PAL_200.ROM1
SCPH-70004_BIOS_V12_PAL_200.ROM2
EROM.BIN
Para continua se a debatido muchas veces en las distintas navis, placa de video e incluso casi todo el software que puedan tener para emular la Pcsx2, pero en realidad la Pcsx2 puede correr en estos tipos de cpu presten atencion:
Galeria cpudetection lib 1.0
:[/size]
cpudetect.c: Esta galeria lib esta copilada en Dev-C++ como archivo de edicion en linux para windows cuya funcion es detectar el cpu y buscar la informacion
de este para chequiarlas funciones de tiempo de soporte en el sistema..
Se carateriza y se distribuye el los tipos de CPU clasificado de esta manera:
Intel cpu:
{
if( ( cpuinfo.x86Family >= 7 ) && ( cpuinfo.x86Family < 15 ) )
{
strcpy( cpuinfo.x86Fam, "Intel P6 family (Not PIV and Higher then PPro" );
}
else
{
switch( cpuinfo.x86Family )
{
// Start at 486 because if it's below 486 there is no cpuid instruction
case 4:
strcpy( cpuinfo.x86Fam, "Intel 486" );
break;
case 5:
switch( cpuinfo.x86Model )
{
case 4:
case 8: // 0.25 µm
strcpy( cpuinfo.x86Fam, "Intel Pentium (MMX)");
break;
default:
strcpy( cpuinfo.x86Fam, "Intel Pentium" );
}
break;
case 6:
switch( cpuinfo.x86Model )
{
case 0: // Pentium pro (P6 A-Step)
case 1: // Pentium pro
strcpy( cpuinfo.x86Fam, "Intel Pentium Pro" );
break;
case 2: // 66 MHz FSB
case 5: // Xeon/Celeron (0.25 µm)
case 6: // Internal L2 cache
strcpy( cpuinfo.x86Fam, "Intel Pentium II" );
break;
case 7: // Xeon external L2 cache
case 8: // Xeon/Celeron with 256 KB on-die L2 cache
case 10: // Xeon/Celeron with 1 or 2 MB on-die L2 cache
case 11: // Xeon/Celeron with Tualatin core, on-die cache
strcpy( cpuinfo.x86Fam, "Intel Pentium III" );
break;
default:
strcpy( cpuinfo.x86Fam, "Intel Pentium Pro (Unknown)" );
}
break;
case 15:
switch( cpuinfo.x86Model )
{
case 0: // Willamette (A-Step)
case 1: // Willamette
strcpy( cpuinfo.x86Fam, "Willamette Intel Pentium IV" );
break;
case 2: // Northwood
strcpy( cpuinfo.x86Fam, "Northwood Intel Pentium IV" );
break;
default:
strcpy( cpuinfo.x86Fam, "Intel Pentium IV (Unknown)" );
break;
}
break;
default:
strcpy( cpuinfo.x86Fam, "Unknown Intel CPU" );
}[/b]
AMD cpu :
{
if( cpuinfo.x86Family >= 7 )
{
if((x86_64_12BITBRANDID !=0) || (x86_64_8BITBRANDID !=0))
{
if(x86_64_8BITBRANDID == 0 )
{
switch((x86_64_12BITBRANDID >>6)& 0x3f)
{
case 4:
strcpy(cpuinfo.x86Fam,"AMD Athlon(tm) 64 Processor");
AMDspeed = 22 + (x86_64_12BITBRANDID & 0x1f);
//AMDspeedString = strtol(AMDspeed, (char**)NULL,10);
sprintf(AMDspeedString," %d",AMDspeed);
strcat(AMDspeedString,"00+");
strcat(cpuinfo.x86Fam,AMDspeedString);
break;
case 12:
strcpy(cpuinfo.x86Fam,"AMD Opteron(tm) Processor");
break;
default:
strcpy(cpuinfo.x86Fam,"Unknown AMD 64 proccesor");
}
}
else //8bit brand id is non zero
{
strcpy(cpuinfo.x86Fam,"Unsupported yet AMD64 cpu");
}
}
else
{
strcpy( cpuinfo.x86Fam, "AMD K7+" );
}
}
else
{
switch ( cpuinfo.x86Family )
{
case 4:
switch( cpuinfo.x86Model )
{
case 14:
case 15: // Write-back enhanced
strcpy( cpuinfo.x86Fam, "AMD 5x86" );
break;
case 3: // DX2
case 7: // Write-back enhanced DX2
case 8: // DX4
case 9: // Write-back enhanced DX4
strcpy( cpuinfo.x86Fam, "AMD 486" );
break;
default:
strcpy( cpuinfo.x86Fam, "AMD Unknown" );
}
break;
case 5:
switch( cpuinfo.x86Model)
{
case 0: // SSA 5 (75, 90 and 100 Mhz)
case 1: // 5k86 (PR 120 and 133 MHz)
case 2: // 5k86 (PR 166 MHz)
case 3: // K5 5k86 (PR 200 MHz)
strcpy( cpuinfo.x86Fam, "AMD K5" );
break;
case 6:
case 7: // (0.25 µm)
case 8: // K6-2
case 9: // K6-III
case 14: // K6-2+ / K6-III+
strcpy( cpuinfo.x86Fam, "AMD K6" );
break;
default:
strcpy( cpuinfo.x86Fam, "AMD Unknown" );
}
break;
case 6:
strcpy( cpuinfo.x86Fam, "AMD K7" );
break;
default:
strcpy( cpuinfo.x86Fam, "Unknown AMD CPU" )[/b]
Tipos de compatibilidad entre cpu[/center]
Inter: (Pentium IV),(Willamette Pentium IV),(Northwood Intel Pentium IV),(Pentium Pro),(Pentium III),(Xeon/Celeron):
cpucaps.hasMultimediaExtensions = ( cpuinfo.x86Flags >> 23 ) & 1; //mmx
cpucaps.hasStreamingSIMDExtensions = ( cpuinfo.x86Flags >> 25 ) & 1; //sse
cpucaps.hasStreamingSIMD2Extensions = ( cpuinfo.x86Flags >> 26 ) & 1; //sse2
Unicamente detectado en AMDs:
(AMD Athlon(tm) 64 Processor),(AMD Opteron(tm) Processor),(AMD 64 proccesor de otro tipos)
cpucaps.hasMultimediaExtensionsExt = ( cpuinfo.x86EFlags >> 22 ) & 1; //mmx2
cpucaps.hasAMD64BitArchitecture = ( cpuinfo.x86EFlags >> 29 ) & 1; //64bit cpu
cpucaps.has3DNOWInstructionExtensionsExt = ( cpuinfo.x86EFlags >> 30 ) & 1; //3dnow+
cpucaps.has3DNOWInstructionExtensions = ( cpuinfo.x86EFlags >> 31 ) & 1; //3dnow
cpudetect.h: Como el anterior tambien esta programado C y C++ y esta copilado con la finalidad de detectar
la capacidad de estrutura que tiene el cpu y las que nos da al activar la Pcsx2 en nuestras navi
y onde puede detallarlo con mas finalidad en el output.
Esto son los tipos de estrutura que puede leer:
u32 x86Family; // Processor Family
u32 x86Model; // Processor Model
u32 x86PType; // Processor Type
u32 x86StepID; // Stepping ID
u32 x86Flags; // Feature Flags
u32 x86EFlags; // Extended Feature Flags
//all the above returns hex values
s8 x86ID[16]; // Vendor ID //the vendor creator (in %s)
s8 x86Type[20]; //cpu type in char format //the cpu type (in %s)
s8 x86Fam[50]; // family in char format //the original cpu name string (in %s)
u32 cpuspeed; // speed of cpu //this will give cpu speed (in %d)
Bueno cerrando este post para inicial otro vean detalladamente asi se despegaran dudas...[/b]
Continuacion siguiente post......