Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Console revisions
#1
0
0
Reading revision via software


#define CPUID_HW_REV 0x4000000D

#define HW_REV_DURANGO         0x10
#define HW_REV_SILVERTON_ZORRO 0x20
#define HW_REV_SILVERTON_MANDA 0x21
#define HW_REV_CARMEL_BASE     0x30
#define HW_REV_CARMEL_4K       0x31
#define HW_REV_EDMONTON        0x40
#define HW_REV_SCORPIO         0x50

int regs[4];
__cpuid(regs, CPUID_HW_REV);
int consoleRevId = regs[2] & 0xFFFF;

char *consoleRev = (char *)calloc(1, 0x100);

switch (consoleRevId)
{
case HW_REV_DURANGO:
   consoleRev = "Durango";
   break;
case HW_REV_SILVERTON_ZORRO:
   consoleRev = "Silverton Zorro";
   break;
case HW_REV_SILVERTON_MANDA:
   consoleRev = "Silverton Manda";
   break;
case HW_REV_CARMEL_BASE:
   consoleRev = "Carmel Base";
   break;
case HW_REV_CARMEL_4K:
   consoleRev = "Carmel 4K";
   break;
case HW_REV_EDMONTON:
   consoleRev = "Edmonton";
   break;
case HW_REV_SCORPIO:
   consoleRev = "Scorpio";
   break;
default:
   consoleRev = "Unknown";
}
printf("Console Revision: %s (0x%04X)\n", consoleRev, consoleRevId);
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)