forked from socram8888/tonyhax
-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathgameid-psx-exe.c
651 lines (473 loc) · 44.4 KB
/
gameid-psx-exe.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
#include "str.h"
#include <stdbool.h>
bool is_scps = false;
const char * get_psx_exe_gameid(const unsigned char volume_creation_timestamp[17])
{
/*
Special handling for PSX.EXE games with memcardpro. Currently this library support games that meet the below crtera:
* An officially licensed discs with a PSX.EXE bootfile (or some variant of it, i.e. psx.exe). Betas, Alphas, or unreleased games usually don't have a common sense product code/serial to send to the memcardpro and are currently not implemented.
* The game Has features that actively utilize a memory card. If there is no saving functionality in the game, then why waste executable space for it?
Japanese PSX games from launch day (12/3/1994) to 7/12/1995 (the date of the below memo found in the Sony BBS archive: http://psx.arthus.net/sdk/Psy-Q/DOCS/BBS/scea_bbs.pdf) did not consistently follow the bootfile name format:
======================================================================
7/12/95 10:43 AM
URGENT!! CD mastering information
Thomas Boyd
News
Late Late Breaking News from Japan: ---------------------------------------------------- Do not name your
executable PSX.EXE Name your executable after the following convention:
Use your product code (AAAA-XXXXX) and turn it into a file name by inserting a period after
the eighth character.
Example: AAAA-XXXXX = SLUS-12345
Product code: SLUS-12345 Executable name on CD: SLUS-123.45;1
To run the main file, build SYSTEM.CNF and put it in your root directory. SYSTEM.CNF should
look like this:
BOOT=cdrom:\AAAA-XXX.XX;1 (in the example this TCB=4 would
be SLUS-123.45;1) EVENT=10 STACK=801fff00
======================================================================
Some Japanese PSX games were released not following the bootfile name format even after the memo. It appears to myself that by October 1995, it got a lot more consistant with following the bootfile name format.
All PSX games have an serial product code, even the ones that don't make the product code the bootfile name. This is what needs to be sent as the game id to the memcardpro for games that don't follow the bootfile name format.
In order to find such games, I used the redump,org search functionality to search for the "PSX.EXE" and "PSXEXE" comments on the redump pages of all PlayStation games. This doesn't get you all such games as leaving a comment on a redump upload mentioning the PSX.EXE boot file are left inconstantly by different up-loaders. There were also some false positives with these searches:
* http://redump.org/discs/quicksearch/PSX.EXE/comments/only
* http://redump.org/discs/quicksearch/PSXEXE/comments/only
In order to find the remaining games, I decided to search through all disc images from SLPS_00001 to SLPS_00152. While the product serial codes are not perfectly sequential in regards to release date, by time you get to SLPS_00152 your in at least late 1995 for most release dates of games. At that point most games are following the correct bootfile format.
======================================================================
Implementation Notes:
1) Read Sector 16. From NO$PSX SPX (https://problemkaputt.de/psx-spx.htm#cdromisovolumedescriptors), sector 16 contains:
======================================================================
Primary Volume Descriptor (sector 16 on PSX disks)
000h 1 Volume Descriptor Type (01h=Primary Volume Descriptor)
001h 5 Standard Identifier ("CD001")
006h 1 Volume Descriptor Version (01h=Standard)
007h 1 Reserved (00h)
008h 32 System Identifier (a-characters) ("PLAYSTATION")
028h 32 Volume Identifier (d-characters) (max 8 chars for PSX?)
048h 8 Reserved (00h)
050h 8 Volume Space Size (2x32bit, number of logical blocks)
058h 32 Reserved (00h)
078h 4 Volume Set Size (2x16bit) (usually 0001h)
07Ch 4 Volume Sequence Number (2x16bit) (usually 0001h)
080h 4 Logical Block Size in Bytes (2x16bit) (usually 0800h) (1 sector)
084h 8 Path Table Size in Bytes (2x32bit) (max 800h for PSX)
08Ch 4 Path Table 1 Block Number (32bit little-endian)
090h 4 Path Table 2 Block Number (32bit little-endian) (or 0=None)
094h 4 Path Table 3 Block Number (32bit big-endian)
098h 4 Path Table 4 Block Number (32bit big-endian) (or 0=None)
09Ch 34 Root Directory Record (see next chapter)
0BEh 128 Volume Set Identifier (d-characters) (usually empty)
13Eh 128 Publisher Identifier (a-characters) (company name)
1BEh 128 Data Preparer Identifier (a-characters) (empty or other)
23Eh 128 Application Identifier (a-characters) ("PLAYSTATION")
2BEh 37 Copyright Filename ("FILENAME.EXT;VER") (empty or text)
2E3h 37 Abstract Filename ("FILENAME.EXT;VER") (empty)
308h 37 Bibliographic Filename ("FILENAME.EXT;VER") (empty)
32Dh 17 Volume Creation Timestamp ("YYYYMMDDHHMMSSFF",timezone)
33Eh 17 Volume Modification Timestamp ("0000000000000000",00h)
34Fh 17 Volume Expiration Timestamp ("0000000000000000",00h)
360h 17 Volume Effective Timestamp ("0000000000000000",00h)
371h 1 File Structure Version (01h=Standard)
372h 1 Reserved for future (00h-filled)
373h 141 Application Use Area (00h-filled for PSX and VCD)
400h 8 CD-XA Identifying Signature ("CD-XA001" for PSX and VCD)
408h 2 CD-XA Flags (unknown purpose) (00h-filled for PSX and VCD)
40Ah 8 CD-XA Startup Directory (00h-filled for PSX and VCD)
412h 8 CD-XA Reserved (00h-filled for PSX and VCD)
41Ah 345 Application Use Area (00h-filled for PSX and VCD)
573h 653 Reserved for future (00h-filled)
======================================================================
Volume Descriptor Timestamps
The various timestamps occupy 17 bytes each, in form of
"YYYYMMDDHHMMSSFF",timezone
"0000000000000000",00h ;empty timestamp
The first 16 bytes are ASCII Date and Time digits (Year, Month, Day, Hour, Minute, Second, and 1/100 Seconds. The last byte is Offset from Greenwich Mean Time in number of 15-minute steps from -48 (West) to +52 (East); or actually: to +56 when recursing Kiribati's new timezone.
Note: PSX games manufactured in year 2000 were accidentally marked to be created in year 0000.
======================================================================
2) We use the Volume Creation Timestamp at offset 0x32D to identify what game we have. So far there have been no conflicts between games, this value is unique enough.
3) We send back the serial as SLPS by default. In order to signify it is SCPS we set a boolean to true.
======================================================================
4) You need to rebuild the full serial number (this is because we only send back unique parts of the string that will be sent as the final GameID to save executable space). See 'secondary.c' for the implementation of this.
*/
// Ordered by serial number.
// Begin SLPS.
if(strcmp( (char *)volume_creation_timestamp, "1994111009000000") == 0) { // Ridge Racer (Japan) - http://redump.org/disc/2679/.
return "000.01"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/R/SLPS-00001.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1994110702000000") == 0) { // Gokujou Parodius Da! Deluxe Pack (Japan) - http://redump.org/disc/5337/.
return "000.02"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/G/SLPS-00002.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1994102615231700") == 0) { // Tama: Adventurous Ball in Giddy Labyrinth (Japan) - http://redump.org/disc/6980/.
return "000.03"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/T/SLPS-00003.html.
} else if
(
(strcmp( (char *)volume_creation_timestamp, "1994110218594700") == 0) || // A Ressha de Ikou 4: Evolution (Japan) (Rev 0) - http://redump.org/disc/21858/.
(strcmp( (char *)volume_creation_timestamp, "1995030218052000") == 0) // A Ressha de Ikou 4: Evolution (Japan) (Rev 1) - http://redump.org/disc/21858/.
) {
return "000.04"; // Serial from CD case. Uses 15 MC blocks - https://psxdatacenter.com/games/J/A/SLPS-00004.html.
} else if
(
(strcmp( (char *)volume_creation_timestamp, "1994110722360400") == 0) || // Mahjong Station Mazin (Japan) (Rev 0) - http://redump.org/disc/63533/.
(strcmp( (char *)volume_creation_timestamp, "1994120610494900") == 0) // Mahjong Station Mazin (Japan) (Rev 1) - http://redump.org/disc/10881/.
) {
return "000.05"; // Serial from CD case. Uses 1 MC blocks - https://psxdatacenter.com/games/J/M/SLPS-00005.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1994110407000000") == 0) { // Nekketsu Oyako (Japan) - http://redump.org/disc/10088/.
return "000.06"; // Serial from CD case. Uses 1 MC block -https://psxdatacenter.com/games/J/N/SLPS-00006.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1994111419300000") == 0) { // Geom Cube (Japan) - http://redump.org/disc/14660/.
return "000.07"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/G/SLPS-00007.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1994121808190700") == 0) { // Metal Jacket (Japan) - http://redump.org/disc/5927/.
return "000.08"; // Serial from CD case. Uses 2 MC blocks - https://psxdatacenter.com/games/J/M/SLPS-00008.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1994121917000000") == 0) { // Cosmic Race (Japan) - http://redump.org/disc/16058/.
return "000.09"; // Serial from CD case. Uses 7 MC blocks - https://psxdatacenter.com/games/J/C/SLPS-00009.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995052918000000") == 0) { // Falcata: Astran Pardma no Monshou (Japan) - http://redump.org/disc/1682/.
return "000.10"; // Serial from CD case. Uses 4 MC blocks - https://psxdatacenter.com/games/J/F/SLPS-00010.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1994110220020600") == 0) { // A Ressha de Ikou 4: Evolution (Japan) (Hatsubai Kinen Gentei Set) - http://redump.org/disc/70160/.
return "000.11"; // Serial from CD case. Uses 15 MC blocks - https://psxdatacenter.com/games/J/A/SLPS-00011.html.
} else if
// SLPS_00012 (https://psxdatacenter.com/games/J/S/SLPS-00012.html) bootfile is 'START.EXE' with a SYSTEM.CNF. This is the discs Space Griffon VF-9 (Japan) (Rev 0) - http://redump.org/disc/5914/ and Space Griffon VF-9 (Japan) (Rev 1) - http://redump.org/disc/45998/.
(strcmp( (char *)volume_creation_timestamp, "1994121518000000") == 0) { // Raiden Project (Japan) - http://redump.org/disc/3774/.
return "000.13"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/R/SLPS-00013.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1994103000000000") == 0) { // Mahjong Gokuu Tenjiku (Japan) - http://redump.org/disc/17392/.
return "000.14"; // Serial from CD case. Uses 4 MC blocks - https://psxdatacenter.com/games/J/M/SLPS-00014.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1994101813262400") == 0) { // TwinBee Taisen Puzzle-dama (Japan) - http://redump.org/disc/22905/.
return "000.15"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/T/SLPS-00015.html.
} else if
(
(strcmp( (char *)volume_creation_timestamp, "1994112617300000") == 0) || // Jikkyou Powerful Pro Yakyuu '95 (Japan) (Rev 0) - http://redump.org/disc/9552/.
(strcmp( (char *)volume_creation_timestamp, "1994121517300000") == 0) // // Jikkyou Powerful Pro Yakyuu '95 (Japan) (Rev 1) - http://redump.org/disc/27931/.
) {
return "000.16"; // Serial from CD case. 3 MC blocks - https://psxdatacenter.com/games/J/J/SLPS-00016.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1994111013000000") == 0) { // King's Field (Japan) - http://redump.org/disc/7072/.
return "000.17"; // Serial from CD case. Uses 5 MC blocks - https://psxdatacenter.com/games/J/K/SLPS-00017.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1994111522183200") == 0) { // Twin Goddesses (Japan) - http://redump.org/disc/7885/.
return "000.18"; // Using CD case serial. Uses 1 MC block - https://psxdatacenter.com/games/J/T/SLPS-00018.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1994112918000000") == 0) { // Kakinoki Shougi (Japan) - http://redump.org/disc/22869/.
return "000.19"; // Serial from CD case. Uses 4 MC blocks - https://psxdatacenter.com/games/J/K/SLPS-00019.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1994111721302100") == 0) { // Houma Hunter Lime: Special Collection Vol. 1 (Japan) - http://redump.org/disc/18606/.
return "000.20"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/H/SLPS-00020.html
} else if
(strcmp( (char *)volume_creation_timestamp, "1994100617242100") == 0) { // Kikuni Masahiko Jirushi: Warau Fukei-san Pachi-Slot Hunter (Japan) - http://redump.org/disc/33816/.
return "000.21"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/K/SLPS-00021.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995030215000000") == 0) { //Starblade Alpha (Japan) - http://redump.org/disc/4664/.
return "000.22"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/S/SLPS-00022.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1994122718351900") == 0) { //CyberSled (Japan) - http://redump.org/disc/7879/.
return "000.23"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/C/SLPS-00023.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1994092920284600") == 0) { // Myst (Japan) (Rev 0) - http://redump.org/disc/4786/ / Myst (Japan) (Rev 1) - http://redump.org/disc/33887/ / Myst (Japan) (Rev 2) - http://redump.org/disc/1488/.
return "000.24"; // CD case serial. Uses 1 MC block - https://psxdatacenter.com/games/J/M/SLPS-00024.html.
} else if
(
(strcmp( (char *)volume_creation_timestamp, "1994113012000000") == 0) || // Toushinden (Japan) (Rev 0) - http://redump.org/disc/1560/.
(strcmp( (char *)volume_creation_timestamp, "1995012512000000") == 0) // Toushinden (Japan) (Rev 1) - http://redump.org/disc/23826/.
) { // We don't care about revision differences!
return "000.25"; // Using CD case serial. Uses 1 MC block - https://psxdatacenter.com/games/J/B/SLPS-00025.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995041921063500") == 0) { // Rayman (Japan) - http://redump.org/disc/33719/.
return "000.26"; // CD case serial. Uses 3 MC blocks - https://psxdatacenter.com/games/J/R/SLPS-00026.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1994121500000000") == 0) { // Kileak, The Blood (Japan) - http://redump.org/disc/14371/.
return "000.27"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/K/SLPS-00027.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1994121017582300") == 0) { // Jigsaw World (Japan) - http://redump.org/disc/14455/.
return "000.28"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/J/SLPS-00028.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995022623000000") == 0) { // Idol Janshi Suchie-Pai Limited (Japan) - http://redump.org/disc/33789/.
return "000.29"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/I/SLPS-00029.html.
} else if
(
(strcmp( (char *)volume_creation_timestamp, "1995050116000000") == 0) || // Game no Tatsujin (Japan) (Rev 0) -http://redump.org/disc/36035/.
(strcmp( (char *)volume_creation_timestamp, "1995060613000000") == 0) // Game no Tatsujin (Japan) (Rev 1) - http://redump.org/disc/37866/.
) {
return "000.30"; // Using CD case serial. Uses 1 MC block - https://psxdatacenter.com/games/J/G/SLPS-00030.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995021802000000") == 0) { // Kyuutenkai (Japan) - http://redump.org/disc/37548/.
return "000.31"; // Using CD case serial. Uses 1 MC block - https://psxdatacenter.com/games/J/K/SLPS-00031.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995021615022900") == 0) { // Uchuu Seibutsu Flopon-kun P! (Japan) - http://redump.org/disc/18814/.
return "000.32"; // Using CD case serial. Uses 1 MC block - https://psxdatacenter.com/games/J/U/SLPS-00032.html.
} else if
(
(strcmp( (char *)volume_creation_timestamp, "1995100209000000") == 0) || // Boxer's Road (Japan) (Rev 1) - http://redump.org/disc/6537/.
(strcmp( (char *)volume_creation_timestamp, "1995080809000000") == 0) // Boxer's Road (Japan) (Rev 0) - http://redump.org/disc/2765/.
) {
return "000.33"; // Serial from Rev 0 CD case. Rev 1 serial is SLPS-91007. Uses 7 MC blocks - https://psxdatacenter.com/games/J/B/SLPS-00033.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995071821394900") == 0) { // Zeitgeist (Japan) - http://redump.org/disc/16333/.
return "000.34"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/Z/SLPS-00034.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995042506300000") == 0) { // Mobile Suit Gundam (Japan) - http://redump.org/disc/3080/.
return "000.35"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/M/SLPS-00035.html.
} else if
// SLPS_000.36 has a proper bootfile: http://redump.org/disc/6599/
(strcmp( (char *)volume_creation_timestamp, "1995011411551700") == 0) { // Pachio-kun: Pachinko Land Daibouken (Japan) - http://redump.org/disc/36504/.
return "000.37"; // CD case serial.
//debug_write("Pachio-kun: Pachinko Land Daibouken (Japan)"); // 2 MC block - https://psxdatacenter.com/games/J/P/SLPS-00037.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995041311392800") == 0) { // Nichibutsu Mahjong: Joshikou Meijinsen (Japan) - http://redump.org/disc/35101/.
return "000.38"; // CD case serial. Uses 1 MC block - https://psxdatacenter.com/games/J/N/SLPS-00038.html.
} else if
// SLPS_00039 Metamor Panic: Doki Doki Youma Busters!! (Japan) - http://redump.org/disc/34086/ has a proper bootfile name 'SLPS_000.39'.
(
(strcmp( (char *)volume_creation_timestamp, "1995031205000000") == 0) || // Tekken (Japan) (Rev 0) - http://redump.org/disc/671/.
(strcmp( (char *)volume_creation_timestamp, "1995061612000000") == 0) // Tekken (Japan) (Rev 1) - http://redump.org/disc/1807/.
) { // We don't care about revision differences!
return "000.40"; // Using CD case serial.
//debug_write("Tekken (Japan) (Rev 0) / (Rev 1)"); // 1 MC block - https://psxdatacenter.com/games/J/T/SLPS-00040.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995040509000000") == 0) { // Gussun Oyoyo (Japan) - http://redump.org/disc/11336/.
return "000.41"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/G/SLPS-00041.html.
} else if
// SLPS_00042 DOESN't EXIST??!! - https://github.com/julianxhokaxhiu/iPoPS/blob/master/PSXListOFGames.txt.
(strcmp( (char *)volume_creation_timestamp, "1995052612000000") == 0) { // Mahjong Ganryuu-jima (Japan) - http://redump.org/disc/33772/
return "000.43"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/M/SLPS-00043.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995042500000000") == 0) { // Hebereke Station Popoitto (Japan) - http://redump.org/disc/36164/
return "000.44"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/H/SLPS-00044.html.
} else if
// SLPS_00045 DOESN't EXIST??!! - https://github.com/julianxhokaxhiu/iPoPS/blob/master/PSXListOFGames.txt.
// SLPS_00046 Universal Virtua Pachi-Slot: Hisshou Kouryakuhou (Japan) - http://redump.org/disc/36344/ has a proper bootfile 'PACH.EXE'.
(strcmp( (char *)volume_creation_timestamp, "1995033100003000") == 0) { // Missland (Japan) - http://redump.org/disc/10869/.
return "000.47"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/M/SLPS-00047.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995041400000000") == 0) { // Gokuu Densetsu: Magic Beast Warriors (Japan) - http://redump.org/disc/24258/.
return "000.48"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/G/SLPS-00048.html.
} else if
// SLPS_00049 DOESN't EXIST??!! - https://github.com/julianxhokaxhiu/iPoPS/blob/master/PSXListOFGames.txt.
(strcmp( (char *)volume_creation_timestamp, "1995050413421800") == 0) { // Night Striker (Japan) - http://redump.org/disc/10931/.
return "000.50"; // CD case serial. Uses 1 MC block - https://psxdatacenter.com/games/J/N/SLPS-00050.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995040509595900") == 0) { // Entertainment Jansou: That's Pon! (Japan) - http://redump.org/disc/34808/.
return "000.51"; // Serial from CD case. Uses 2 MC blocks - https://psxdatacenter.com/games/J/T/SLPS-00051.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995030103150000") == 0) { //Kanazawa Shougi '95 (Japan) - http://redump.org/disc/34246/.
return "000.52"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/K/SLPS-00052.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995100409235300") == 0) { //Thoroughbred Breeder II Plus (Japan) - http://redump.org/disc/33282/.
return "000.53"; // Serial from CD case. Uses 5 MC block - https://psxdatacenter.com/games/J/T/SLPS-00053.html.
} else if
// SLPS_00054 Yaoi Jun'ichi Gokuhi Project: UFO o Oe!! (Japan) - http://redump.org/disc/28631/ has proper bootfile 'SLPS_000.54'.
(
(strcmp( (char *)volume_creation_timestamp, "1995060504013600") == 0) || // Cyberwar (Japan) (Disc 1) - http://redump.org/disc/30637/.
(strcmp( (char *)volume_creation_timestamp, "1995060319142200") == 0) || // Cyberwar (Japan) (Disc 2) - http://redump.org/disc/30638/.
(strcmp( (char *)volume_creation_timestamp, "1995060402110800") == 0) // Cyberwar (Japan) (Disc 3) - http://redump.org/disc/30639/.
) {
return "000.55"; // Using Disc 1 CD case serial: http://redump.org/disc/30637/. All CDs assigned to same memory card. SLPS_00056 is Disc 2, and SLPS_00057 is Disc 3. Uses 1 MC block - https://psxdatacenter.com/games/J/C/SLPS-00055.html.
} else if
// SLPS_0058 Ide Yousuke no Mahjong Kazoku (Japan) (Rev 0) - http://redump.org/disc/34169/ and Ide Yousuke no Mahjong Kazoku (Japan) (Rev 1) - http://redump.org/disc/33562/ have a proper bootfile 'SLPS_000.58'.
(strcmp( (char *)volume_creation_timestamp, "1995081612000000") == 0) { // Taikyoku Shougi: Kiwame (Japan) - http://redump.org/disc/35288/.
return "000.59"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/K/SLPS-00059.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995051201000000") == 0) { // Aquanaut no Kyuujitsu (Japan) - http://redump.org/disc/16984/.
return "000.60"; // Serial from CD case. Uses 4 MC block - https://psxdatacenter.com/games/J/A/SLPS-00060.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995051700000000") == 0) { // Ace Combat (Japan) - http://redump.org/disc/1691/.
return "000.61"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/A/SLPS-00061.html.
} else if
// SLPS_00062 Hyper Formation Soccer (Japan) - http://redump.org/disc/2602/ has a proper bootfile 'SLPS_00062'.
(strcmp( (char *)volume_creation_timestamp, "1995051002471900") == 0) { // Keiba Saishou no Housoku '95 (Japan) - http://redump.org/disc/22944/
return "000.63"; // Serial from CD case. Uses 15 MC blocks - https://psxdatacenter.com/games/J/K/SLPS-00063.html.
} else if
(
(strcmp( (char *)volume_creation_timestamp, "1995083112000000") == 0) || // Tokimeki Memorial: Forever with You (Japan) (Rev 1) - http://redump.org/disc/6789/ / Tokimeki Memorial: Forever with You (Japan) (Shokai Genteiban) (Rev 1) - http://redump.org/disc/6788/.
(strcmp( (char *)volume_creation_timestamp, "1995111700000000") == 0) // Tokimeki Memorial: Forever with You (Japan) (Rev 2) - http://redump.org/disc/33338/.
// Tokimeki Memorial: Forever with You (Japan) (PlayStation The Best) - http://redump.org/disc/8876/ has it's own different serial and proper bootfile name, so already works with mcpro!
) {
return "000.64"; // Using CD case serial. Uses 1 MC block - https://psxdatacenter.com/games/J/T/SLPS-00064.html
} else if
(strcmp( (char *)volume_creation_timestamp, "1996033100000000") == 0) { // Tokimeki Memorial: Forever with You (Japan) (Rev 4) - http://redump.org/disc/6764/.
return "000.65"; // Using CD case serial. Why it is different from the above? No clue. Not a typo though. Uses 1 MC block - https://psxdatacenter.com/games/J/T/SLPS-00065.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995051816000000") == 0) { // Kururin Pa! (Japan) - http://redump.org/disc/33413/.
return "000.66"; // Serial from CD case.
//debug_write("Kururin Pa! (Japan)"); // 1 MC block - https://psxdatacenter.com/games/J/K/SLPS-00066.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995061418000000") == 0) { // Jikkyou Powerful Pro Yakyuu '95: Kaimakuban (Japan) - http://redump.org/disc/14367/.
return "000.67"; // Serial from CD case. Uses 3 MC blocks - https://psxdatacenter.com/games/J/J/SLPS-00067.html.
} else if
(
(strcmp( (char *)volume_creation_timestamp, "1995061911303400") == 0) || // J.League Jikkyou Winning Eleven (Japan) (Rev 0) - http://redump.org/disc/6740/.
(strcmp( (char *)volume_creation_timestamp, "1995072800300000") == 0) // // J.League Jikkyou Winning Eleven (Japan) (Rev 1) - http://redump.org/disc/2848/.
) {
return "000.68"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/J/SLPS-00068.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995061806364400") == 0) { // King's Field II (Japan) - http://redump.org/disc/5892/.
return "000.69"; // Serial from CD case. Uses 2-15 MC blocks - https://psxdatacenter.com/games/J/K/SLPS-00069.html.
} else if
// King's Field II (Japan) (PlayStation the Best) (Rev 0) - http://redump.org/disc/7073/ and King's Field II (Japan) (PlayStation the Best) (Rev 1) - http://redump.org/disc/13338/ have a proper bootfile 'SLPS_910.03'.
(strcmp( (char *)volume_creation_timestamp, "1995062922000000") == 0) { //Street Fighter: Real Battle on Film (Japan) - http://redump.org/disc/26158/
return "000.70"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/S/SLPS-00070.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995040719355400") == 0) { // 3x3 Eyes: Kyuusei Koushu (Disc 1) (Japan) - http://redump.org/disc/7881/ / 3x3 Eyes: Kyuusei Koushu (Disc 2) (Japan) http://redump.org/disc/7880/.
return "000.71"; // Using disc 1 CD case serial: http://redump.org/disc/7881/. Disc 2 serial is SLPS_00072. All CDs assigned to same memory card.
//debug_write("3x3 Eyes: Kyuusei Koushu (Disc 1) (Japan) / (Disc 2)"); // 1 MC block - https://psxdatacenter.com/games/J/0-9/SLPS-00071.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995061806364400") == 0) { // Dragon Ball Z: Ultimate Battle 22 (Japan) - http://redump.org/disc/10992/.
return "000.73"; // Serial from CD case.
//debug_write("Dragon Ball Z: Ultimate Battle 22 (Japan)"); // 1 MC block - https://psxdatacenter.com/games/J/D/SLPS-00073.html.
} else if
// SLPS_00074 Sparrow Garden: Namco Mahjong (Japan) - http://redump.org/disc/35289/ has a proper bootfile 'SLPS_000.74"
// SLPS_00075 World Stadium EX (Japan) (Rev 0) - http://redump.org/disc/10903/ and SLPS_00075 World Stadium EX (Japan) (Rev 1) - http://redump.org/disc/10904/ have a proper bootfile 'SLPS_000.75".
// SLPS_00076 doesn't exist - https://github.com/julianxhokaxhiu/iPoPS/blob/master/PSXListOFGames.txt.
(strcmp( (char *)volume_creation_timestamp, "1995051015300000") == 0) { // Douga de Puzzle da! Puppukupuu (Japan) - http://redump.org/disc/11935/
return "000.77"; // Serial from CD case. Uses 13 MC blocks - https://psxdatacenter.com/games/J/D/SLPS-00077.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995070302000000") == 0) { // Gakkou no Kowai Uwasa: Hanako-san ga Kita!! (Japan) - http://redump.org/disc/11935/
return "000.78"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/G/SLPS-00078.html.
} else if
// SLPS_00079E J.League Soccer: Prime Goal EX (Japan) (Lawson Station) - http://redump.org/disc/67854/ and SLPS_00079 J.League Soccer: Prime Goal EX (Japan) - http://redump.org/disc/67854/ have a proper bootfile 'SLPS_000.79".
// SLPS_00080 Street Fighter II Movie (Disc 1) (Japan) - http://redump.org/disc/18429/ has a proper bootfile 'SLPS_000.80".
// SLPS_00081 Street Fighter II Movie (Disc 2) (Japan) - http://redump.org/disc/18430/ has a proper bootfile 'SLPS_000.81".
// SLPS_00082 Shichuu Suimei Pitagraph (Japan) - http://redump.org/disc/33850/ has a proper bootfile 'SLPS_000.82".
(strcmp( (char *)volume_creation_timestamp, "1995070523450000") == 0) { // Zero Divide (Japan) - http://redump.org/disc/99925/.
return "000.83"; // Using CD case serial. Uses 1 MC block - https://psxdatacenter.com/games/J/Z/SLPS-00083.html.
} else if
// SLPS_00084 Shin Nihon Pro Wrestling: Toukon Retsuden (Japan) - http://redump.org/disc/12635/ has a proper bootfile 'SLPS_000.84".
(strcmp( (char *)volume_creation_timestamp, "1995072522004900") == 0) { // Houma Hunter Lime: Special Collection Vol. 2 (Japan) - http://redump.org/disc/18607/.
return "000.85"; // Serial from CD case.
//debug_write("Houma Hunter Lime: Special Collection Vol. 2 (Japan)"); // 1 MC block - https://psxdatacenter.com/games/J/I/SLPS-00029.html.
} else if
// SLPS_00086 Kaitei Daisensou: In the Hunt (Japan) - http://redump.org/disc/9478/ has a proper bootfile 'SLPS_000.86".
// SLPS_00087 The Perfect Golf (Japan) - http://redump.org/disc/11332/ has a proper bootfile 'SLPS_000.87".
(strcmp( (char *)volume_creation_timestamp, "1995070613170000") == 0) { // Ground Stroke: Advanced Tennis Game (Japan) - http://redump.org/disc/33778/
return "000.88"; // Serial from CD case.
//debug_write("Ground Stroke: Advanced Tennis Game (Japan)"); // 1 MC block - https://psxdatacenter.com/games/J/G/SLPS-00088.html
} else if
(strcmp( (char *)volume_creation_timestamp, "1995082517551900") == 0) { // The Oni Taiji!!: Mezase! Nidaime Momotarou (Japan) - http://redump.org/disc/33948/
return "000.89"; // CD case serial.
// debug_write("The Oni Taiji!!: Mezase! Nidaime Momotarou (Japan)"); // 1 MC block - https://psxdatacenter.com/games/J/T/SLPS-00089.html
} else if
// The Oni Taiji!!: Mezase! Nidaime Momotarou (Japan) (Major Wave) - http://redump.org/disc/70837/ has a proper bootfile 'SLPM_869.89'.
(strcmp( (char *)volume_creation_timestamp, "1995082109402500") == 0) { // Eisei Meijin (Japan) (Rev 1) - http://redump.org/disc/37494/
return "000.90"; // CD case serial. Uses 3 MC blocks - https://psxdatacenter.com/games/J/E/SLPS-00090.html.
} else if
// Eisei Meijin (Japan) (Rev 0) has never been dumped because it may not exist: http://wiki.redump.org/index.php?title=Sony_PlayStation_-_Asia_Undumped_Discs#Undumped_Revisions.
(strcmp( (char *)volume_creation_timestamp, "1995053117000000") == 0) { // Exector (Japan) - http://redump.org/disc/2814/.
return "000.91"; // CD case serial. Uses 1 MC block - https://psxdatacenter.com/games/J/E/SLPS-00091.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995081100000000") == 0) { // King of Bowling (Japan) - http://redump.org/disc/34727/.
return "000.92"; // CD case serial. Uses 1 MC block - https://psxdatacenter.com/games/J/K/SLPS-00092.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995071011035200") == 0) { // Oh-chan no Oekaki Logic (Japan) - http://redump.org/disc/7882/.
return "000.93"; // CD case serial. Uses 1 MC block - https://psxdatacenter.com/games/J/O/SLPS-00093.html.
} else if
(
(strcmp( (char *)volume_creation_timestamp, "1995090510000000") == 0) || // Thunder Storm & Road Blaster (Disc 1) (Thunder Storm) (Japan) - http://redump.org/disc/6740/.
(strcmp( (char *)volume_creation_timestamp, "1995083123000000") == 0) // Thunder Storm & Road Blaster (Disc 2) (Road Blaster) (Japan) - http://redump.org/disc/8551/.
) {
return "000.94"; // Serial from Disc 1 CD case. Disc 2 serial is SLPS_00095. Uses 1 MC block - https://psxdatacenter.com/games/J/T/SLPS-00094.html.
} else if
// SLPS_00096 Game no Tetsujin: The Shanghai (Japan) - http://redump.org/disc/36470/ has a proper bootfile 'SLPS_000.96".
// SLPS_00097 Gensou Suikoden (Japan) - http://redump.org/disc/7461/ has a proper bootfile 'SLPS_000.97".
// SLPS_00098 Ray Tracers (Japan) - http://redump.org/disc/34232/ has a proper bootfile 'SLPS_000.98".
(strcmp( (char *)volume_creation_timestamp, "1995100601300000") == 0) { // Moero!! Pro Yakyuu '95: Double Header (Japan) - http://redump.org/disc/34818/.
return "000.99"; // Using CD case serial. Uses 6 MC blocks - https://psxdatacenter.com/games/J/M/SLPS-00099.html.
} else if
// SLPS_00100 Detana Twinbee Yahoo! Deluxe Pack (Japan) - http://redump.org/disc/5336/ has a proper bootfile 'SLPS_001.00'.
(strcmp( (char *)volume_creation_timestamp, "1995081001450000") == 0) { // Universal-ki Kanzen Kaiseki: Pachi-Slot Simulator (Japan) - http://redump.org/disc/36304/.
return "001.01"; // Using CD case serial. Uses 2 MC block - https://psxdatacenter.com/games/J/U/SLPS-00101.html.
} else if
// SLPS_00102 Twilight Syndrome: Tansaku-hen (Japan) - http://redump.org/disc/6840/ has a proper bootfile 'SLPS_001.02'.
(strcmp( (char *)volume_creation_timestamp, "1995080316000000") == 0) { // V-Tennis (Japan) - http://redump.org/disc/22684/.
return "001.03"; // Using CD case serial. Uses 1 MC block - https://psxdatacenter.com/games/J/V/SLPS-00103.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995081020000000") == 0) { // Gouketsuji Ichizoku 2: Chotto dake Saikyou Densetsu (Japan) - http://redump.org/disc/12680/.
return "001.04"; // Using CD case serial. Uses 1 MC block - https://psxdatacenter.com/games/J/G/SLPS-00104.html.
} else if
// SLPS_00105 Total Eclipse Turbo (Japan) - http://redump.org/disc/27059/ has a proper bootfile 'SLPS_00105'.
// SLPS_00106 Nobunaga no Yabou: Haouden (Japan) - http://redump.org/disc/8443/ has a proper bootfile 'SLPS_00106'.
// SLPS_00107 Namco Museum Vol. 1 (Japan) - http://redump.org/disc/8443/ has a proper bootfile 'SLPS_00107'.
(strcmp( (char *)volume_creation_timestamp, "1995090722000000") == 0) { // Darkseed (Japan) - http://redump.org/disc/1640/.
return "001.08"; // Using CD case serial. Uses 1 MC block - https://psxdatacenter.com/games/J/D/SLPS-00108.html.
} else if
// SLPS_00109 AI Shougi (Japan) - http://redump.org/disc/62297/ has a proper bootfile 'SLPS_001.09'.
// SLPS_00110 Miracle World: Fushigi no Kuni no IQ Meiro (Japan) - http://redump.org/disc/36181/ has a proper bootfile 'SLPS_001.10'.
// SLPS_00111 Night Head: The Labyrinth (Japan) - http://redump.org/disc/39266/ has a proper bootfile 'SLPS_00111'.
// SLPS_00112 Hissatsu Pachinko Station (Japan) -http://redump.org/disc/42584/ has a proper bootfile 'SLPS_00112'.
(strcmp( (char *)volume_creation_timestamp, "1995090516062841") == 0) { // Sotsugyou II: Neo Generation (Japan) - http://redump.org/disc/7885/.
return "001.13"; // Using CD case serial. Uses 1 MC block - https://psxdatacenter.com/games/J/T/SLPS-00040.html.
} else if
// SLPS_00114 Sangokushi IV (Japan) (Rev 0) - http://redump.org/disc/24772/ and Sangokushi IV (Japan) (Rev 1) - http://redump.org/disc/24772/have a proper bootfile 'SLPS_00114'.
// SLPS_00115 Kuma no Pooh-tarou: Sora wa Pink da! Zen'in Shuugou!! (Japan) - http://redump.org/disc/62666/ has a proper bootfile 'SLPS_001.15'.
// SLPS_00117 Emit Value Pack (Disc 1) (Vol. 1: Toki no Maigo) (Japan) - http://redump.org/disc/22411/ has a proper bootfile 'SLPS_001.17'.
// SLPS_00118 Emit Value Pack (Disc 2) (Vol. 2: Inochigake no Tabi) (Japan) - http://redump.org/disc/22412/ has a proper bootfile 'SLPS_001.18'.
// SLPS_00119 Emit Value Pack (Disc 3) (Vol. 3: Watashi ni Sayonara wo) (Japan) - http://redump.org/disc/22413/ has a proper bootfile 'SLPS_001.19'.
// SLPS_00120 Creature Shock (Disc 1) (Japan) - http://redump.org/disc/38429/ has a proper bootfile 'slps_001.20'.
// SLPS_00121 Creature Shock (Disc 2) (Japan) - http://redump.org/disc/38430/ has a proper bootfile 'slps_001.21'.
// SLPS_00122 Off-World Interceptor Extreme (Japan) - http://redump.org/disc/15373/ has a proper bootfile 'SLPS_001.22'.
// SLPS_00123 TIZ: Tokyo Insect Zoo (Japan) - http://redump.org/disc/7886/ has a proper bootfile 'SLPS_001.23'.
// SLPS_00124 Sento Monogatari: Sono I (Japan) - http://redump.org/disc/39503/ has a proper bootfile 'SLPS_001.24'.
// SLPS_00125 A Ressha de Ikou 4: Evolution Global (Japan) (Rev 0) - http://redump.org/disc/8493/ has a proper bootfile 'SLPS_001.25'. A Ressha de Ikou 4: Evolution Global (Japan) (Rev 1) - http://redump.org/disc/8444/ has a proper bootfile 'SLPS_910.19'.
// SLPS_000126 is apparently FEDA - https://github.com/julianxhokaxhiu/iPoPS/blob/master/PSXListOFGames.txt but http://wiki.redump.org/index.php?title=Sony_PlayStation_-_Asia_Undumped_Discs argues it doesn't exist and or wasn't released.
// SLPS_00127 Striker: World Cup Premiere Stage (Japan) - http://redump.org/disc/34589/ has a proper bootfile 'SLPS_001.27'.
(strcmp( (char *)volume_creation_timestamp, "1995082016003000") == 0) { // Makeruna! Makendou 2 (Japan) - http://redump.org/disc/37537/
return "001.28"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/M/SLPS-00128.html
} else if
// SLPS_0129 Break Thru! (Japan) - http://redump.org/disc/29931/ has a proper bootfile 'SLPS_001.29'.
// SLPS_0130 Dokiou-ki (Japan) - http://redump.org/disc/3982/ has a proper bootfile 'SLPS_001.30'.
// SLPS_0131 Two-Ten Kaku (Japan) - http://redump.org/disc/10238/ has a proper bootfile 'SLPS_001.31'.
// SLPS_0132 Gionbana (Japan) - http://redump.org/disc/33539/ has a proper bootfile 'SLPS_001.32'.
(
(strcmp( (char *)volume_creation_timestamp, "1995102101350000") == 0) || // D no Shokutaku: Complete Graphics (Japan) (Disc 1) - http://redump.org/disc/763/.
(strcmp( (char *)volume_creation_timestamp, "1995102102521200") == 0) || // D no Shokutaku: Complete Graphics (Japan) (Disc 2) - http://redump.org/disc/764/.
(strcmp( (char *)volume_creation_timestamp, "1995102105003200") == 0) // D no Shokutaku: Complete Graphics (Japan) (Disc 3) - http://redump.org/disc/765/.
) {
return "001.33"; // Using disc 1 CD case serial: http://redump.org/disc/763/. Disc 2 serial is SLPS_00134. Disc 3 serial is SLPS_0135 All CDs assigned to same memory card. Use 13 MC blocks - https://psxdatacenter.com/games/J/D/SLPS-00133.html.
} else if
// SLPS_00136 Othello World II: Yume to Michi e no Chousen (Japan) - http://redump.org/disc/41764/ has a proper bootfile 'SLPS_001.36'.
(strcmp( (char *)volume_creation_timestamp, "1995100910002200") == 0) { // Keiba Saishou no Housoku '96 Vol. 1 (Japan) - http://redump.org/disc/22945/.
return "001.37"; // Serial from CD case. Uses 1 MC blocks- https://psxdatacenter.com/games/J/S/SLPS-00137.html.
} else if
// SLPS_00138 Galaxy Fight: Universal Warriors (Japan) - http://redump.org/disc/21626/ has a proper bootfile 'SLPS_001.38'.
// SLPS_00139 Shougi Joryuu Meijin'isen (Japan) - http://redump.org/disc/46378/ has a proper bootfile 'SLPS_001.39'.
// SLPS_00140 The Snowman (Japan) - http://redump.org/disc/36568/has a proper bootfile 'SLPS_001.40'.
// SLPS_00141 Alone in the Dark 2 (Japan) - http://redump.org/disc/13174/ has a proper bootfile 'SLPS_001.41'.
(strcmp( (char *)volume_creation_timestamp, "1995101801325900") == 0) { // Senryaku Shougi (Japan) - http://redump.org/disc/61170/.
return "001.42"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/S/SLPS-00142.html.
} else if
// SLPS_00143 Reverthion (Japan) - http://redump.org/disc/7887/ has a proper bootfile 'SLPS_001.43'.
// SLPS_00144 J. B. Harold: Blue Chicago Blues (Disc 1) (Japan) - http://redump.org/disc/18647/ has a proper bootfile 'SLPS_001.44'.
// SLPS_00145 J. B. Harold: Blue Chicago Blues (Disc 2) (Japan) - http://redump.org/disc/18646/ has a proper bootfile 'SLPS_001.45'.
(strcmp( (char *)volume_creation_timestamp, "1995113010450000") == 0) { // Keiba Saishou no Housoku '96 Vol. 1 (Japan) - http://redump.org/disc/22945/.
return "001.46"; // Serial from CD case. Uses 15 MC blocks - https://psxdatacenter.com/games/J/K/SLPS-00146.html.
} else if
// SLPS_00147 Floating Runner: 7-tsu no Suishou no Monogatari (Japan) - http://redump.org/disc/8582/ has a proper bootfile 'SLPS_001.47'.
// SLPS_00148 The Firemen 2: Pete & Danny (Japan) - http://redump.org/disc/18950/ has a proper bootfile 'SLPS_001.48'.
// SLPS_00149 Puppet Zoo Pilomy (Japan) - http://redump.org/disc/37618/ has a proper bootfile 'SLPS_001.49'.
// SLPS_00150 Ridge Racer Revolution (Japan) (Rev 0) - http://redump.org/disc/2733/ and Ridge Racer Revolution (Japan) (Rev 1) - http://redump.org/disc/6209 have a proper bootfile 'SLPS_001.50'.
// SLPS_00151 Carnage Heart (Japan) - http://redump.org/disc/1599/ has a proper bootfile 'SLPS_001.51'.
(strcmp( (char *)volume_creation_timestamp, "1995092205430500") == 0) { // Yaku: Yuujou Dangi (Japan) - http://redump.org/disc/4668/
return "001.52"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/Y/SLPS-00152.html.
} else if
// TODO, check until at least SLPS_00173 for any more stragglers.
(strcmp( (char *)volume_creation_timestamp, "1995121620000000") == 0) { // Alnam no Kiba: Juuzoku Juuni Shinto Densetsu (Japan) - http://redump.org/disc/11199/
return "001.73"; // Serial from CD case. Uses 1 MC block - https://psxdatacenter.com/games/J/A/SLPS-00173.html.
} else if
// SLPS_00719 The Great Battle VI (Japan) - http://redump.org/disc/37406/ has PSX.EXE. But it does not use memory cards (no save functionallity) https://psxdatacenter.com/games/J/T/SLPS-00719.html.
// Begin SCPS.
(strcmp( (char *)volume_creation_timestamp, "1995030717020700") == 0) { // Victory Zone (Japan) - http://redump.org/disc/37010/.
is_scps = true;
return "100.02"; // Using CD case serial. Uses 2 MC blocks - https://psxdatacenter.com/games/J/V/SCPS-10002.html.
// TESTING NOTE: Latest DuckStation as of 9/11/2024 doesn't work with this game, but v0.1-6292 does just fine.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995032400000000") == 0) { // Jumping Flash! Aloha Danshaku Funky Daisakusen no Maki (Japan) - http://redump.org/disc/4051/.
is_scps = true;
return "100.07"; // Using CD case serial. Uses 1-3 MC blocks - https://psxdatacenter.com/games/J/J/SCPS-10007.html.
} else if
(strcmp( (char *)volume_creation_timestamp, "1995052420065100") == 0) { // Arc the Lad (Japan) (Rev 0) - http://redump.org/disc/67966/ / Arc the Lad (Japan) (Rev 1) - http://redump.org/disc/1472/
is_scps = true;
return "100.08"; // Serial from Rev 0 CD case. Rev 1 serial is SLPS_00095. Uses 1 MC block - https://psxdatacenter.com/games/J/A/SCPS-10008.html.
} else {
return "0"; // If not known say its "0".
}
}