{"id":18993308,"url":"https://github.com/ps2homebrew/ps2ident","last_synced_at":"2025-04-22T11:52:08.589Z","repository":{"id":41327855,"uuid":"324859726","full_name":"ps2homebrew/PS2Ident","owner":"ps2homebrew","description":"PS2Ident is an identification tool that allows dumps of a PlayStation 2 console's ROM chips and MECHACON NVRAM to be made. It will also gather data from the console","archived":false,"fork":false,"pushed_at":"2024-09-06T10:25:21.000Z","size":939,"stargazers_count":44,"open_issues_count":1,"forks_count":8,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-17T01:35:19.099Z","etag":null,"topics":["bios","bootrom","chip","mainboard-model","mechacon-chip","ps2","ps2-bios","ps2ident","rom"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"ofl-1.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ps2homebrew.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.txt","contributing":null,"funding":null,"license":"LICENSE_OFL.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-12-27T22:23:38.000Z","updated_at":"2025-04-11T21:15:46.000Z","dependencies_parsed_at":"2025-04-16T19:04:19.711Z","dependency_job_id":null,"html_url":"https://github.com/ps2homebrew/PS2Ident","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ps2homebrew%2FPS2Ident","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ps2homebrew%2FPS2Ident/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ps2homebrew%2FPS2Ident/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ps2homebrew%2FPS2Ident/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ps2homebrew","download_url":"https://codeload.github.com/ps2homebrew/PS2Ident/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250237798,"owners_count":21397399,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bios","bootrom","chip","mainboard-model","mechacon-chip","ps2","ps2-bios","ps2ident","rom"],"created_at":"2024-11-08T17:20:41.882Z","updated_at":"2025-04-22T11:52:08.541Z","avatar_url":"https://github.com/ps2homebrew.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# This is a fork of this project: https://sites.google.com/view/ysai187/home/projects/ps2ident\n\n## PlayStation 2 Identification tool (PS2Ident)\nv0.850\n\n### Introduction\nPS2Ident is an identification tool that allows dumps of a PlayStation 2 console's ROM chips and MECHACON NVRAM to be made.\nIt will also gather data from the console, for research purposes.\n\nIt has the following features:\n\n* Dumps ROM chips (BOOT and DVD ROM) as a whole, not according to their contents (rom0, rom1, rom2 and erom)\n* Displays the actual addresses for DEV1 (rom1, rom2 and erom) that are set by the ROM filesystem drivers.\n* Coloured user interface that is easy to use.\n* Supports dumping to memory cards and USB mass storage devices.\n* Supports multi-languages, which include the 8 supported languages by the PS2\n* Gathers data of all known parts of the PS2.\n* Attempts to automatically match the chip/part name with the version number of the part.\n\n*Note: on some DTL-H****** *consoles it can fail to retreive MECHACON chip version.\nNote: some values are retreived incorrectly from PS3 BC consoles.\nNote: it can fail on PS3 semi-BC, PS3 non-BC and PS4 in PS2 emulation mode.*\n\nIts database, which contains the parts and mainboard data, is managed and updated with the PlayStation 2 Ident DataBase Management System (PS2IDBMS) tool. It wasn't possible to get a complete list of all PlayStation 2 models in existence. With PS2IDBMS, a spreadsheet containing all recorded models can be generated automatically.\n\n### How to use this software:\nExtract the whole archive (do not delete any files or folders) onto a location on a supported device.\nThe only supported devices are the Memory Card and USB mass storage device.\n\nAfter dumping recheck if there is some \"Missing\" values in *_specs.txt\nIf you see Missing value after some chip name you can make a photo of each chip that is marked as Missing.\nIf you see Missing (sticker) you should provide photo of your sticker.\n\nWhen the console's mainboard cannot be identified, the mainboard model will be \"Missing\". Open your console, and take note of the mainboard model number.\nA database record file (*_database.bin) will be generated when a dump is made. No personal information is recorded in database file.\nWhen making a submission, please provide the database record file, sticker photo and any valuable information about console.\n\nWhen recording down the model of the MECHACON chip, please take note that the model number should include its firmware version as well (e.g. CXP103049-401GG instead of just CXP1013049).\n\nPlease specify the chassis model, the true model number (i.e. SCPH-39006a) and the colour of the console (if not the standard black version).\n\nIf possible, please help to complete the chip ID list as well, for any part that is not identified (\"Missing\") or is incorrectly identified. When doing so, please provide the full model of the part, especially for the MECHACON chip (e.g. CXP103049-401GG).\n\nAs for the chassis and EMCS ID (For Dragon-series units):\nAt the lower right-hand corner of the product information sticker that is either on the bottom or back of the unit, there will be something like \"H FOXC\".\nIn this example, the letter 'H' is the chassis model, while \"FOXC\" stands for FOXConn (the EMCS that made the console).\n\nNotes:\n* Sometimes, Sony makes hardware revisions without changing the chip implementation numbers as well, hence why chip identification may be inaccurate. The chip and version IDs are, however, accurate since they are taken directly from the hardware.\n* Slimline consoles that had the SSBUS I/F Controllers integrated into the IOP will report them as version 0x31.\n* Due to some SSBUS I/F controllers reporting the same version number (0x31), those will be all generalized and reported as \"CXD9611\". All of them are supposed to be fully compatible anyway.\n\nMainboards are uniquely identified by:\n\n\tROMVER string                   - ROM version string\n\tModel name                      - The \"name\" of the console's model.\n\tEE revision\n\tFPU revision                    - Revision of the EE chip's FPU.\n\tIOP revision\n\tGS revision\n\tMECHACON revision and region    - Revision and MagicGate region of the MECHACON\n\tSPU2 revision                   - Revision of the sound processor.\n\tSSBUS I/F Controller revision\n\tModel ID                        - Uniquely identifies the console's model. Even more accurately than the model name.\n\tConsole model ID                - Another (2-byte) version of the model ID. Obtained from the i.Link ID data.\n\tEMCS ID                         - Uniquely identifies the Engineering, Manufacturing and Customer Services (EMCS) system that made the console.\n\tM Renewal Date                  - What this represents is unclear. It's something related to the MECHACON (date of firmware build or EEPROM settings update?)\n\tADD0x010                        - An ID that is used by the SONY service tools to identify major revisions (which historically existed at word offset 0x10).\n\tBOOT + DVD ROM Checksum\n\nIf your console is not recognized, its mainboard model will appear as \"Missing\". While it is true that Sony consoles might be physically similar across releases from different territories, I've decided to treat each region's release as being different because I would also want to have a complete list of existing PlayStation 2 models. With such data it is possible to determine what models Sony has released in every terrirory, and at which series did they start at.\n\n\n\nGlossary/terms:\n\n* EE - The Emotion Engine, which is a MIPS R5900. The \"main CPU\" of the PlayStation 2.\n* FPU - The VU0, which also acts as the 2nd coprocessor to the EE.\n* IOP - The I/O processor, which is a MIPS R3000A. The \"sub-CPU\" of the PlayStation 2. Although insignificant in power, it's actually in control of every part of the PS2, and provides access to the peripherals from the EE.\n* GS - The Graphics Synthesizer (aka the \"GPU\" of the PS2).\n* SPU2 - The Sound Processor.\n* SSBUS I/F - The SS-BUS InterFace (I/F) Controller, provides an interface to the SS-BUS from the DEV9 expansion device. Also known as a \"SSBUS buffer\" on consoles sporting an expansion-bay. Connected to the PS2 as DEV9.\n* MECHACON - The drive MECHAnics CONtroller. Connected to the PS2 as DEV5.\n* DVP - I'm not sure about this one, but it's a very powerful and smart processor that is connected directly to the MECHACON.\n* Boot ROM - The ROM chip containing the default IOP modules, the OSDSYS program, PlayStation driver and the self-test facility (On the SCPH-18000 and up). Connected to the PS2 as DEV2.\n* DVD ROM - The ROM chip containing the DVD player, and the Chinese font on Chinese PlayStation 2 consoles. Newer consoles may have a single chip instead of a separate boot and DVD ROM chips. The SCPH-10000 and SCPH-15000, and all TEST, TOOL and PSX (DVR unit) units do not have a DVD ROM chip installed. Connected to the PS2 as DEV1.\nNVRAM/EEPROM - The Non-Volatile Memory storage that the MECHACON/DVP has, for storing settings (system, RTC and CD/DVD drive).\n* SPEED - The expansion device that gets connected to the DEV9 expansion interface. May provide Ethernet support, a UART (for a dial-up modem), a DVRP, flash storage (For storing boot files), and an ATA interface.\n* SMAP - The PlayStation 2 Ethernet interface. Connected to the SPEED device.\nEthernet PHY - The PHYceiver device that is connected to the SMAP interface. The earliest models included a National Semiconductor DP83846A that has auto-negotiation issues with Gigabit Ethernet. Later models had a ST Microelectronics, while late slim PS2s come with a Broadcom.\n* DVRP - Only found on PSX (DVR unit) consoles, the DVR Processor is a Fujitsu MB91302A that is connected to the SPEED device. It seems to be emulating the PS2's standard ATA interface and provides the DVR functionality. Contains its own firmware.\n* i.Link and USB interfaces - The Firewire/IEEE1394/i.Link interface and USB interfaces. Their controllers are built into the IOP. Consoles that don't have an i.Link port still have the i.Link controller, but just have no physical connections to the outside world.\n* AIF - On a DTL-T10000(H), the CXD9566R is connected through the AIF. The AIF also provides a RTC and IDE controller.\nMPU - See MRP.\n* MRP (BoardInf) - The MRP is the interface between the PS2 and PC sides of a DTL-T10000(H). All DTL-T10000(H) units have a MPU 4.0 board as the MRP.\n* EMCS ID - Contains the part of the IEEE1394 EUI-64 address that uniquely identifies the console, the model ID and EMCS ID.\n* i.Link ID - Uniquely identifies the Engineering, Manufacturing and Customer Services (EMCS) system that made the console.\n* Model ID - Uniquely identifies the console's model. Even more accurately than the model name.\n* Console ID - Contains the EMCS ID, (another version of) model ID and serial number.\n* M Renewal Date - What this represents is unclear. It's something related to the MECHACON (date of firmware build or EEPROM settings update?)\n* ADD0x010 - An ID that is used by the SONY service tools to identify major revisions. Originally at word 0x010 of the EEPROM, it was moved to word 0x01 for the Dragon models. It does not always correspond with the chassis models (i.e. C and D-chassis have the same ID). It can also identify the loadout of the console, like its CEX/DEX status and the OP block installed (i.e. SANYO or SONY).\n* PS1DRV Version - The version number of the PlayStation driver. The earliest ROMs do not have PS1VER in ROM.  For Japan, only the SCPH-10000 and SCPH-15000 lack this file. \"1.01\" is hardcoded. For other territories (should be only the earliest SCPH-30001), \"1.10\" is hardcoded. The SCPH-75000 and later have a universal PS1DRV module, while earlier versions were tailored for the region of PS2 (Japan, USA, Europe, Asia or China).\n* DVD Player Version The version number of the built-in DVD player, if applicable. Note: Slimline consoles that had the SSBUS I/F Controller integrated into the IOP will report their SSBUS I/F controllers as version 0x31 as well. Due to some controllers reporting the same version number (0x31), they will be all identified as a \"CXD9611\" since they are supposed to be fully compatible anyway.\n\n\nKnown mechacon versions:\n\n\t0x0102 | CXP101064-605R\n\t0x0103 | CXP101064-602R\n\t0x0106 | CXP102064-001R (Not confirmed)\n\t0x0107 | CXP102064-003R\n\t0x0108 | CXP102064-002R\n\t0x0109 | CXP102064-751R\n\t0x0200 | CXP102064-004R (Not confirmed)\n\t0x0202 | CXP102064-005R\n\t0x0204 | CXP102064-(1,2,3)01R\n\t0x0205 | CXP102064-702R\n\t0x0206 | CXP102064-(1,2,3)02R\n\t0x0207 | CXP102064-703R\n\t0x0208 | CXP102064-006R (Not confirmed)\n\t0x0209 | CXP102064-704R (Not confirmed)\n\t0x020c | CXP102064-007R/-(1,2,3)03R\n\t0x020d | CXP102064-705R/-752R\n\t0x020e | CXP102064-008R/-(1,2,3)04R\n\t0x0300 | CXP103049-(1,2,3)01GG\n\t0x0302 | CXP103049-001GG/-(1,2,3)02GG\n\t0x0304 | CXP103049-401GG\n\t0x0306 | CXP103049-002GG/-(1,2,3)03GG/-402GG/-501GG\n\t0x0308 | CXP103049-003GG/-403GG\n\t0x0500 | CXR706080-101GG\n\t0x0502 | CXR706080-102GG\n\t0x0504 | CXR706080-103GG\n\t0x0506 | CXR706080-104GG/-106GG(MEX)\n\t0x0508 | CXR706080-701GG (Not confirmed)\n\t0x050a | CXR706080-702GG\n\t0x050c | CXR706080-105GG/CXR706F080-1GG\n\t0x050e | CXR706080-703GG\n\t0x0600 | CXR716080-101GG\n\t0x0602 | CXR716080-102GG\n\t0x0604 | CXR716080-103GG\n\t0x0606 | CXR716080-104GG\n\t0x0608 | CXR716080-105GG (Not confirmed)\n\t0x060a | CXR716080-106GG\n\t0x060c | CXR726080-301GB\nMechacon chips released and 2 big families: pre-dragon (mecha ver \u003c= 3) and dragon models (mecha ver \u003e= 5).\nPre-dragon family chip can be recognized more detailed by looking into Mechacon region.\nRegion is coded into chip first symbol after dash.\nFor example, if mechacon version is 0x0306 and region is 0x03 then it will be chip CXP103049-303GG,\nif region is Japan (0x00) then chip will be CXP103049-002GG, if Russia - CXP103049-501GG, etc.\nFor Dragon family, sometimes chips can be recognized only by M Renewal Date, this parametr is more accurate then chip version.\nDTL dragon models report itself as odd numbered chip, but chip itself is the same.\n\nKnown chassis versions (this list maybe is not complete):\n\n\tA-chassis\tGH-001\tSCPH-10000\n\tA-chassis\tGH-003\tSCPH-15000\n\tA-chassis+\tGH-003\tSCPH-18000\n\tAB-chassis\tGH-008\tSCPH-18000\n\tB-chassis\tGH-004\tSCPH-30001\n\tB'-chassis\tGH-005\tSCPH-30001\n\tC-chassis\tGH-006\tSCPH-30001-4\n\tC'-chassis\tGH-007\tSCPH-30002-4\n\tD-chassis\tGH-010\tSCPH-30001D-SCPH-30002D\n\tD'-chassis\tGH-012\tSCPH-30003D'-SCPH-30004D'\n\tD-chassis\tGH-014\tSCPH-30000-30004, SCPH-35000-35004, SCPH-30001R - SCPH-30004R\n\tD-chassis\tGH-016\tSCPH-30000-30004, SCPH-35000-35004, SCPH-30001R - SCPH-30004R\n\tF-chassis\tGH-015\tSCPH-30000, SCPH-30001R - SCPH-30007R. New CXP103049 MECHACON\n\tG-chassis\tGH-017\tSCPH-39000-8,SCPH-37000L,SCPH-37000B\n\tG-chassis\tGH-019\tSCPH-39000-8,SCPH-37000L,SCPH-37000B\n\tG-chassis\tGH-022\tSCPH-39000-8,SCPH-37000L,SCPH-37000B\n\tH-chassis\tGH-023\tSCPH-50000-11\n\tI-chassis\tGH-026\tSCPH-50000-11\n\tJ-Chassis\tGH-029\tSCPH-50000-11\n\tK-chassis\tGH-032\tSCPH-70000-12\n\tK-chassis\tGH-035\tSCPH-70000-12\n\tL-chassis\tGH-037\tSCPH-75000-12\n\tL-chassis\tGH-040\tSCPH-75000-12\n\tL-chassis\tGH-041\tSCPH-75000-12\n\tM-chassis\tGH-051\tSCPH-77000-12\n\tM-chassis\tGH-052\tSCPH-77000-12\n\tN-chassis\tGH-061\tSCPH-79000-12\n\tN-chassis\tGH-062\tSCPH-79000-12\n\tP-chassis\tGH-070\tSCPH-90000-12\n\tP-chassis\tGH-071\tSCPH-90000-12\n\tR-chassis\tGH-072\tSCPH-90000-12 (ROM v2.30)\n\tX-chassis\tXPD-001\tDESR-5000,DESR-5100,DESR-7000,DESR-7100\n\tX-chassis\tXPD-005\tDESR-5500,DESR-5700,DESR-7500,DESR-7700\n\nKnown EMCS IDs:\n\n\t00\t- SONY EMCS (S EMCS)\n\t01\t- SCPH-3900x/37000 \"MADE IN CHINA\" models - Assumed to all be Foxconn (FOXC)\n\t02\t- SCPH-3900x/37000 SuZhou MainTek (SZMT)\n\t03\t- SCPH-3900x/37000 SKZ SONY KISARAZU\n\t10\t- S EMCS\n\t11\t- SKD (SONY KOHDA)\n\t18\t- S EMCS (PSX)\n\t20\t- FOXC\n\t21\t- FOXC\n\t30\t- SuZhou MainTek (SZMT)\n\t40\t- SONY Wuxi\n\nList of known SSBUS I/F Controllers and their revisions:\n\n\tCXD9546R\t1.2\t\tDTL-T10000, unrefurbished.\n\tCXD9566R\t2.0\n\tCXD9611R\t3.0\n\tCXD9611AR\t3.1\n\tCXD9611BR\t3.1\n\tCXD9686R\tUnknown\n\tCXD9686AR\t3.1\n\tCXD9686BR\t3.1\n\tCXD2955R\t3.2\n\nThere's currently no known way to differentiate between a CXD9686 and CXD9611 on the software level,\nwith the exception of the CXD9611R.\n\n### Credits:\n\tThis software may have been worked on mainly by me, but I had the support of other users:\n\t\t\tl_Oliveira, for providing a number of test reports and giving suggestions for its design during development.\n\t\tBerion, for the icons.\n\t\tflorin and the original developers of the PS2 dumper v2 tool, since I disassembled that dumper for ideas.\n\t\tVigilante, for corrections on the CRC values for some ROMs.\n\t\t...and various sources for their dumps from the rare and obscure PS2 models!\n\nOld data contributers (removed):\n\n\t01\tSCPH-70004\tGH-032-11\t\tAnonymous (K)\tOld dump format\n\t02\tSCPH-70004\tGH-035-11\t\tAnonymous (K)\tOld dump format\n\t03\tSCPH-70004\tGH-035-62\t\tAnonymous (K)\tOld dump format\n\t04\tSCPH-75003\tGH-041-04\t\tAnonymous (K)\tOld dump format\n\t05\tSCPH-75004\tGH-040-02\t\tAnonymous (K)\tOld dump format\n\t07\tSCPH-75008\tGH-040-02\t\tdenben0487\tOld dump format\n\t06\tSCPH-77004\tGH-052-51 (GS 1.13)\tAnonymous (K)\tOld dump format\n\t08\tDESR-5500\tXPD-005\t\t\tvitas\t\tOld dump format\n\t09\tDTL-H10000S\tGH-001\t\t\tcde\t\tBad dump (hardware problem?)\n\nAs for those who volunteered to make the translations:\n\n\tJapanese translation *: Unassigned.\n\tGerman translation (completed): Delta_force\n\tFrench translation (completed): ShaolinAssassin\n\tItalian translation (completed)*: master991\n\tSpanish translation (completed): ElPatas\n\tDutch translation (completed)*: Someone who wishes to remain anonymous.\n\tPortuguese translation (completed): Gillbert\n\n\tAnd to all users who contributed test data for the early PS2Ident builds!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fps2homebrew%2Fps2ident","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fps2homebrew%2Fps2ident","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fps2homebrew%2Fps2ident/lists"}