Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ROMVER handle #29

Closed
AKuHAK opened this issue Sep 3, 2019 · 8 comments
Closed

ROMVER handle #29

AKuHAK opened this issue Sep 3, 2019 · 8 comments

Comments

@AKuHAK
Copy link

AKuHAK commented Sep 3, 2019

type == 'T' ? "TOOL" :

ROMVER should be handled in a slightly different way. To detect if a console is a tool you should check rom_region_name, If rom_region_name == "T" then this is TOOL (or Namco system).

rom_type_name can only be "C", "D" or "Z" btw. Z - only in Namco systems

Also
rom_region_name can be also "X" - for DTL-H10000 (0101XD20000224) TEST machine.

Below all ROMVER strings:

ROMVER

0100JC20000117
0100TD20000117
0100TD20000117
0100TD20000125
0101JC20000217
0101JD20000217
0101XD20000224
0100TZ20000306
0110AC20000727
0110AD20000727
0120AC20000902
0120EC20000902
0120ED20000902
0120JC20001027
0150AC20001228
0150AD20001228
0150EC20001228
0150ED20001228
0150JC20010118
0150JD20010118
0160AC20010427
0160JC20010427
0160AC20010704
0160EC20010704
0160HC20010730
0160AC20011004
0160EC20011004
0160AC20020207
0160EC20020319
0160EC20020426
0160HC20020426
0160JC20020426
0170JC20030206
0180CD20030224
0170EC20030227
0170ED20030227
0170AC20030325
0170AD20030325
0190AC20030623
0190CC20030623
0190EC20030623
0190HC20030623
0190JC20030623
0190EC20030822
0190JC20030822
0180JC20031028
0100TD20031031
0190AC20040329
0200AC20040614
0200EC20040614
0200HC20040614
0200JC20040614
0210JC20040917
0220AC20050620
0220EC20050620
0220HC20050620
0220JC20050620
0100TD20051124
0220AC20060210
0220EC20060210
0220HC20060210
0220JC20060210
0220AC20060905
0220AD20060905
0220EC20060905
0220HC20060905
0220JC20060905
0230AC20080220
0230EC20080220
0230HC20080220
0250EC20100415
0220JD20121227

@AKuHAK
Copy link
Author

AKuHAK commented Sep 4, 2019

@frno7 you can refer to the public datasheet for PS2 BOOTROM and DVDROM images:
http://redump.org/datfile/ps2-bios/
This database contains all confirmed dumps. It lacks PS2 TOOL images, it lacks Namco images, it lacks bootroms from PS3/PS4, it lacks some unconfirmed ps2 TOOL dumps. If you need BOOTROM collection for testing purposes, you can contact me via PM.

@frno7
Copy link
Owner

frno7 commented Sep 4, 2019

Great, thanks @AKuHAK! This is very helpful and I will update the code with your suggestions.

@frno7
Copy link
Owner

frno7 commented Sep 7, 2019

@AKuHAK, please have a look at the updated commits 2d0ca47, f02bae6 and 49d385c. Are all variants covered?

Also, there is a bug in Linux sscanf that prevents reading the fields of the ROMVER file:

linux/arch/mips/ps2/rom.c

Lines 381 to 384 in 044d39c

return r > 0 && sscanf(buffer, "%4x%c%c%4d%2d%2d",
&v.number, &v.region, &v.type,
&v.date.year, &v.date.month, &v.date.day) == 6 ?
v : (struct rom_ver) { .region = '-', .type = '-' };

See #31 for details and a provisional fix.

@AKuHAK
Copy link
Author

AKuHAK commented Sep 7, 2019

Almost correct - just a few corrections:
Region "H" stand for Asia but we assume that this is USA because both: USA and ASIA belong to USA region (at least from ps2 devs point of view).
Region 'X' indicates only one model of TEST machine (DTL-H10000) as far as I know. All other TEST machines just have rom type 'D'.
So DEX units: TOOL and TEST, CEX units: all other units.

@AKuHAK
Copy link
Author

AKuHAK commented Sep 7, 2019

Region 'E' also was used for Australian units. Region 'A' also was used for Mexican units.

@frno7
Copy link
Owner

frno7 commented Sep 7, 2019

@AKuHAK, please check commits 9794197, 12ca554 and 6df106a. Hopefully I got it right now.

Region "H" stand for Asia but we assume that this is USA because both: USA and ASIA belong to USA region (at least from ps2 devs point of view).

I made a comment for this:

region == 'H' ? "Asia" : /* Technically same as the USA. */

Region 'X' indicates only one model of TEST machine (DTL-H10000) as far as I know. All other TEST machines just have rom type 'D'.

I made a comment for that as well:

region == 'X' ? "TEST" : /* Only the DTL-H10000 model. */

Region 'E' also was used for Australian units. Region 'A' also was used for Mexican units.

I made a note for it:

* Note that ``'E'`` includes Australia and ``'A'`` includes Mexico.

@AKuHAK
Copy link
Author

AKuHAK commented Sep 7, 2019

Yes, now is correct :) I hope this issue can be closed as resolved.

@frno7
Copy link
Owner

frno7 commented Sep 7, 2019

Thanks a lot, @AKuHAK!

In addition to the ROM, I understand that there are regions for discs, CSS, video mode and Magic Gate as well, so we may want to revisit regions later on.

Commit 408db21 approximates the video region with the ROM region, which I believe is not an entirely correct simplification.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants