Playstation 2 Identification Tool (AKuHAK fork)

PS2 [REQUEST] Im collecting info about PS2 console's revisions v0.835 MID (28\06\2020)

I'm not sure if only I have this problem,
but when I dump system ROM I still cannot find SCPH-50004_database.bin.
I've only:
  • SCPH-50004_BOOT_ROM.bin
  • SCPH-50004_DVD_ROM.bin
  • SCPH-50004_NVM.bin
  • SCPH-50004_specs.txt
Tried different flash-drives with no luck on version from 19-08-07.

Version from 19-03-24 works fine & creates SCPH-50004_database.bin

BTW At model ID - 0x20d421 - I've unknown.
 
You cannot find database file cause your model is already inside database (you can see mainboard revision inside ps2ident). App will not create database file for already known hardware set.

However you can see in the app that Model ID is unknown. It is bug, it is not true cause Model ID is known. You can see Model ID inside log file (SCPH-50004). Maybe @sp193 knows where is the problem.

For now Model ID correctly recognized only inside dumped log file :( It is not very good cause before dumping user didnt know if he has really Unknown Model or its just a bug.
 
Last edited:
New version.
[190830]PS2Ident-0835-bin.zip
* decided to add some not confirmed Mechacon models:
v2.14 (CXP102064-008R)
v6.00 (CXR716080-101GG)
v1.09 (CXP102064-751R)
v2.05 (CXP102064-702R)
v5.06 (CXR706080-105GG)
 
New version:
[190912]PS2Ident-0835-bin.zip
*added very rare unit DESR-5100/S with unique Model ID 0x20d385. Mainboard assumed to be XPD-001. The database file was generated manually, based on ps2ident screens. Thanks to @Shuji
*added SCPH-50010/N with Model ID 0x20d403. Mainboard assumed to be GH-023. The database file was generated manually, based on ps2ident screens. Thanks to @RetroFan_90 .
 
Sorry for the delay, I sent you my info on ps2-home. I tried PMing you there but I was not allowed, so I signed up here and found out I couldn't PM you here either (or I couldn't figure out how). Here's my log from the latest PS2Ident, and the requested sticker.

Code:
Log file generated by Playstation 2 Ident v0.835, built on Dec  8 2018 15:01:19

ROMVER:   0160AC20020207
ROM region sizes:
   ROM0:   0xBFC00000 (3883407 bytes)
   ROM1:   0xBE000000 (199099 bytes)
   ROM2:   <Not detected>
   EROM:   0xBE040000 (1835008 bytes)
ROM chip sizes:
   Boot ROM:   0x1FC00000 (32 Mbit)   CRC16: 0x9678
   DVD ROM:   0x1E000000 (16 Mbit)   CRC16: 0x75a2
DVD Player:   2.12U
PS1DRV:     1.10
EE:
   Implementation:     0x2e
   Revision:     3.1 (CXD9708GB/CXD9832GB)
   FPU implementation:   0x2e
   FPU revision:     3.0
   ICache size:     0x02 (16 KB)
   DCache size:     0x01 (8 KB)
   RAM size:     33554432 bytes
IOP:
   Revision:     0x0021 (CXD9697GP/CXD9732GP)
   RAM size:     2097152 bytes
   SSBUS I/F revision:   3.1 (CXD9611)
   AIF revision:     <Not detected>
Mainboard:
   Model name:     SCPH-39001
   Mainboard model:   Unknown
   Chassis:     Unknown
   ROMGEN:       0207-2002
   Machine type:     0x00000000
   BoardInf:     0x00 (Not detected)
   MPU Board ID:     0xffff
   SPU2 revision:     0x08 (CXD2947R/CXD2950R)
   MECHACON revision:   3.6 (CXP103049-X03GG)
   MagicGate region:   0x01 (USA)
   System type:     0x00 (PlayStation 2)
   ADD0x010:     0xb009 (G SONY)
   M Renewal Date:     ----/--/-- --:--
   Model ID:     0x1a0019 (SCPH-39001)
   Console Model ID:   0xd218
   EMCS ID:     0x01 (FOXC)
   USB HC revision:   1.0
   GS revision:     1.9 (CXD2949BGB)
   GS ID:       0x55
   SPEED revision:     0x0012 (CXD9624AGG)
   SPEED capabilities:   000b.0002 (SMAP, ATA, UART)
   PHY OUI:     0x080017 (National Semiconductor)
   PHY model:     0x02 (DP83846A)
   PHY revision:     0x03
i.Link:
   Ports:       2
   Max speed:     2 (S400)
   Compliance level:   1 (IEEE1394A-2000)
   Vendor ID:     0x00a0b8 (LSI Logic)
   Product ID:     0x600201
 

Attachments

  • ps2serial.png
    ps2serial.png
    705.2 KB · Views: 216
The new version is up, much new information from @Senyuki:
*added rare unit SCPH-50000 MB/MH (H-chassis GH-023) MODEL ID 0x20d405:
- added new EMCS ID: 0x11 - SKD (Sony Kohda)
- added new mechacon chip value: 0x0500 - CXR706080-101GG
*added mainboard DTL-H10000S GH-001
*added DTL-H30102 with old bootrom inside. Now database contains 2 DTL-H30102 with completely different BootRoms.

Also removed one incorrect mechacon value from the list.

@uatora thank you for your contribution. Unfortunately without the mainboard model, there is no new information from your model.
 
Sharing some data for the good of the cause. Model ID, Mainboard Model, and Chassis all showed up as unknown. It's an SCPH-50001/N.
Thank you for the info - could you please share a photo where can be seen the right edge on the sticker.
 
@akuhak There might be a way of identifying EE chips down to their exact chip number (in case you are interested) :
Code:
0x1000F000    0x1000F0FF    INTC
0x1000F100    0x1000F1FF    SIO
0x1000F200    0x1000F2FF    SIF
0x1000F300    0x1000F3FF    PGIF
0x1000F400    0x1000F4FF    RDRAMC
0x1000F500    0x1000F5FF    Memory Controller most likely  NOT: DMAC Special - for pausing & most likely RAM and other devices configuration - register 0x1000F500 is written 0xFFFFFFFF in some (later) RESET versions, while it is written 0x1 in earlier.
0x1000F600    0x1000F6FF    LSWord C0019600 00000008 00000000 00000000 MSWord is returned for each qword(when read as 32-bit words) in this range. Write has no effect, but this might be only in some conditions.
0x1000F700    0x1000F7FF    LSWord 00000200 00000000 00000000 00000000 MSWord.

F400 is RDRAM Controller.

F500 contains the registers for suspending and resuming DMA. However this range seems to actually contain general EE-management registers.
Here is a brief description:

F500 - written in RESET with 1 and on models after ~ SCPH-50000 with -1 (0xFFFFFFFF). Only bits 0 and 1 are read-writable. I believe this enables the EE TLB, but have yet to prove this.

F510 - written in the EE KERNEL when (just before) initializing VU0. Most likely it controls the EE Core <-> VU0 coprocessor connection. Many bits are writable and affect the value read from F590 as well.

F520 bit 16 is the DMAC-suspend bit (when set) but bits 23:16 are all writable. (Actually F590 has to be written, as this is a read-only access to F590.)
Bits 15:0 here are interesting and the reason for this message. They are read by the RDRAM program in order to configure the RDRAMC, but the value they contain commonly matches the EE revision. See below.

F530 r/o mirror of F520

F540, F550 - contain the same values on multiple resets and program execution. I think these are some revision numbers. Because I don't have two identical PS2 models, I can't tell if they change between the same models, but most likely they don't. I can't find any pattern between these and the chip number.

Code:
F520     F540        F550            EE chip

0000210C 0019C882    002848E0        CXD9615GB                (SCPH-30003)
00003101 00480812    0090C410        CXD9708GB EE only / CXD9832GB EE only (I am not sure which one) (SCPH-70004)
00004322 10497626    00150808        CXD2976GB EE+IOP+...  (SCPH-79004)


It is not impossible that F540, F550 are numbers signifying the manufacturing batch.


F560, F570 - always 0. Might be unused extension to F540, F550.

F580 - unknown. Bits 3:0 are read-writable.

F590 - See F520. The value read from 23:8 depends on what was written to F510. The value in 7:0 changes on every few reads randomly, but usually between values in close range. The values read might just be unimplemented.

F5A0 - F5F0 - read-only mirrors of F580 and F590.

The RDRAM program from SCPH-90000 contains a table with the following values, which it compares with the value read from F520:
Code:
value          corresponding EE revision

0x1201   none such, but there is 1.4 in the PS2Ident database

0x2000   2.0, but most likely EE PRId can report rev. 2.0 for all of these 0x20XX - 0x21XX
0x2101
0x2002
0x2102
0x2104
0x210C
0x210F
0x2110

0x3000    3.0 - there are two chips listed (in the PS2Ident database) for both revisions 3.0 and 3.1, so maybe this register can show exactly which is the chip.

0x3100    3.1
0x3101

0x4000
0x4110

0x4212    4.2 There are three chips listed  (in the PS2Ident database) for rev. 4.2, so maybe they correspond to 0x4000, 0x4110 and 0x4212.

0x4322    4.3


In the EE Core Manual, in the description of PRId, it is specified:
"Note that there is no guarantee that the change in the chip will be reflected in the PRId register, or that changes to the revision number will indicate chip changes. ..."

So it may be that this register - F520 was made just so that software would have a reliable way to identify the EE revision to the exact chip number used.

F520.7:0 might be RDRAM controller revision, or another (even) minor EE revision number - maybe like the A/B/... letters they place after the actual chip number


So it might be worth it adding a functionality to save those registers to the PS2Ident database too and determine the exact chip number from them. (I do wonder if other chips also have little-known identification registers...)
 
@wisi Oh great news - sounds interesting. So minor byte from this part of memory can be used as a more specified version of EE chip? Sounds interesting. Could you please provide code for getting these 2 bytes from F520 so I replace the existing code in the next version?
 
I don't think there is anything special about reading the register - just read it as a word from the EE, (uncached, may also need to switch to kernel mode)): val = *(u32*)0xB000F520; Then process the read word however it is necessary. I think that it would be best to have this in addition to the already existing EE info, so that it would be known what corresponds to what.
I don't know if this is definitely a better way to identify the EE - we will know only when values from different consoles have been gathered.
 
Last edited:
@wisi So my consoles report this:
Code:
F520    F540    F550    EE chip

00003101    001a0942    0048e8e0    3.1 (CXD9708GB/CXD9832GB)            (SCPH-39003)
00003101    00409ac2    00e028e0    3.1 (CXD9708GB/CXD9832GB)            (SCPH-50004)
00003101    00440612    001848e0    3.1 (CXD9708GB/CXD9832GB)            (SCPH-70003)
00004111    001128c2    00202810    4.2 (CXD9797GB/CXD9833GB/CXD2953AGB EE+GS)    PS3 CECHA in PS2 mode
00004322 4.3
At least 4111 stands for 4.2. And 4111 isn't listed on your list. Did you check only RDRAM program from SCPH-900xx? Did you try to check other RDRAM programs (for example from PS2 TV or PS3 BC compatible BOOT ROM)? Maybe these ones have some additional checks.

For all: I will release the new beta version soon, it still has some weird problems like 'a' letter is missing inside ps2ident GUI. ButI already made some changes that are working:
- fixed DVD ROM size on slim consoles. Now if console reports that DVD ROM is larger than 4Mb than its size is truncated to 4Mb.
- divided 'Unknown' and 'Missing' in reports. Now 'Missing' stands for data that dumper can contribute (like chip revision, sticker photo and so on). And 'Unknown' stands for data that still needs additional research and cannot be provided from the user side easily.
- And of course, I added a new way of retrieving EE chip revision information. As I don't have much data this information isn't stored into the database and can be seen only in the generated log file.
 
Last edited:
- fixed DVD ROM size on slim consoles. Now if console reports that DVD ROM is larger than 4Mb than its size is truncated to 4Mb.
I thought I already fixed this, many months ago. Since using the DEV1 window size wasn't always a good measure, I went back to computing the size of the ROM image with the file contents.

The problem with referring to the DEV1 SSBUSC registers for the ROM size, was with the fact that the ROM filesystems only have to be fully accessible for things to work. It would also work if somebody set the DEV1 window to be huge enough to support even their largest ROM images, which seems to be happening on the new slimline consoles.

In sysman/rom.c:
Code:
int ROMGetHardwareInfo(t_SysmanHardwareInfo *hwinfo)
{
 ...
  /* The set size of DEV1 may not be its real size.
    Now that the sizes of the individual regions are known, check that the size of DEV1 is fitting.
    The DVD ROM contains the rom1, rom2 and erom regions, and these regions exist in this order within the DVD ROM chip.
    The rom2 region only exists on Chinese consoles. */
   size = SysmanCalcROMChipSize(hwinfo->erom.StartAddress-hwinfo->ROMs[1].StartAddress+hwinfo->erom.size);
   printf("DVD ROM real size: %u (DEV1: %lu)\n", size, hwinfo->DVD_ROM.size);

   if(size < hwinfo->DVD_ROM.size)
     hwinfo->DVD_ROM.size = size;

   return 0;
}
 
@sp193 Thanks a lot I finally added this solution into PS2Ident. Source code is available here: https://gitlab.com/AKuHAK/PS2Ident

So the new version is up:
Changes:
  1. Fixed DVD ROM size detection. Now slim owners can dump their DVD chips without overdump.
  2. Unknown values divided into three groups:'
    • 'Missing' - this message means that if you wish to provide new data, you should open the console and make a photo for Missing part
    • 'Missing (Sticker)' - this message means that if you wish to provide new data, you should provide the sticker photo. No need for console disassembly.
    • 'Unknown' - this message means that developers do not know how to handle this data. If you see this message then probably you cannot help us with providing any photos.
    So now users can check if they can provide new data. The only thing I didn't add - I didn't check BOOTROM and DVDROM if these chip contents are in redump collection. Maybe I will try to achieve this in the future but it needs database restructuration so probably in some bright future. I added various data fields into Missing Sticker section such as EMCS ID, Model ID and SCPH-5xxxx mainboard and chassis.
  3. Added alternative EE chip detection. 3 new fields are only visible in the generated txt file in EE sections. Since these fields are new - feel free to contribute data. For this data, it is very useful to provide EE chip photo. For now, I got chip photos for value EE_F520: 0x00003101, . Feel free to provide your data if your EE_F520 differs from 3101. Credits @wisi
Link still is the same.
 
Back
Top