Wyobraźmy sobie sytuację kiedy mamy kilka gier w naszej bibliotece, a
które przez lenistwo :] chcielibyśmy upchnąć na jednej płycie (nie
trzeba wyjmować CD z konsoli :], zmieniając grę). Po to właśnie ripuje
się gry na PSXa/PSOne. Wygoda kosztem wstawek, leveli itp...
Zdecydowałem nie opisywać na przykładzie z prostej przyczyny: każda gra
jest inna i do każdej trzeba podejść z innej strony. Poniżej mamy garść
porad "jak zrobić RIPa dla ubogich" :] Mało profesjonalnie, ale za to w
większości przypadków działa...
Uwaga nr.1
Zdecydowana większość gier, zajmuje nie więcej jak 30-100MB [!] po
wycięciu tylko i wyłącznie Audio/Video. Najczęstszymi formatami A/V są:
*.xa, *.xai, *.seq, *.sep *.str, *.cstr, *.mov, *.vag, *.vab, *.vb,
*.vh, *.vlc
Uwaga nr.2
Jeśli interesuje nas RIP pod kątem multiplayera (i na odwrót), wycinamy
wszystkie pliki odpowiedzialne za single player. Oczywiście wybranie
danego trybu, z którego pozbyliśmy się plików spowoduje zawieszenie się
gry.
Jakie to są formaty? Tu nie ma reguły. Najczęściej spotykane są *.dat i
*.bin, ale mogą to być całkowicie inne, egzotyczne (poznajemy po nazwie
np. level1.xxx).
Uwaga nr.3
Co jeśli program odwoła się do konkretnego pliku (a którego nie ma),
podczas boota lub w trakcie samej gry? Zwiecha. Zastępujemy wówczas
dany plik dummy1 (dummy 1B) z identyczną nazwą (np. intro.str). Rzadko,
która gra weryfikuje dany format, zazwyczaj zadowala się jego
obecnością (stąd nazwy muszą się zgadzać). Przykładem takiej gry może
być Kula World, która sprawdza czy są wszystkie *.xa "na swoim
miejscu". Niestety taki myk nie działa już w przypadku np. Bomberman
Party. W takim przypadku musimy zatroszczyć się o np. *.xa jedno
sekundowy (1s czarnego ekranu :]).
Uwaga nr.4
Gry wielo płytowe - przyznam się, że nie próbowałem. Jeśli nie usuniemy
"wpisów" w pliku licencyjnym z pierwszej płyty (odwołującym się do
kolejnych) gra poprosi o następną w momencie ukończenia CD1. Jak to
wygląda? W przypadku Final Fantasy 7 są to DISCINFO0/1/2.cnf.
Oczywiście w SYSTEM.cnf podajemy ścieżkę do pierwszego PS-X.exe.
Pozostałe z kolejnych płyt nie są nam potrzebne.
Tyle przynajmniej w teorii. Jeszcze raz podkreślam: nie próbowałem.
Uwaga nr.5
Przydzielone plikom LBA (upraszczając: ich kolejność) nie jest
przypadkowa. Budując nasze kompilacje starajmy się je wiernie
(oczywiście w miarę możliwości) przydzielać w stosunku do oryginalnego
nośnika.
Uwaga nr.6
Często bywa tak, że developerzy umieszczają A/V w dużych "zbiorach",
tak zwanych bigfile'ach (tyczy się to szczególnie gier wydanych u
schyłku ery 32bit).. Na domiar złego wespół z np. teksturami. Usunięcie
bądź zamiana takiego pliku na dummy kończy się niedziałającą kopią (co
jest logiczne :]). Przykładem takiej gry możne być Crash Team Racing.
"I co teraz ?" Hmm.. jedynym rozwiązaniem jest napisanie
packera/unpackera dla takiego pliku.
Uwaga nr.7
Jest mi znanych kilka gier, w których pliki nie są widoczne na płycie
(Chrono Cross, Xenogears). Oczywiście nie mówię o tak trywialnej
rzeczy jak pliki z atrybutem 'ukryty' (np. Final Fantasy Tactics). Gry te wyszukują pliki po sektorach na płycie, a nie z TOC (dlatego też nie są w nią wpisane). Jedyna możliwość na zripowanie takiej gry to znalezienie w exe'ku tablicy z sektorami i odpowiednio ją wyedtować.
Uwaga nr.8
A co z wyborem gier? Najlepiej samemu napisać odpowiednie menu (to
akurat leży poza moimi umiejętnościami) lub skorzystać z Demomenu
autorstwa Losera.
Uwaga nr.9
Na koniec pamiętajmy, iż maksymalna ilość plików na płycie nie może
przekraczać 4096 (nie mam pojęcia dlaczego. Tak podaje samo $ony w
dokumentacji).
Na koniec:
- Jeśli dany RIP "nie idzie" na emulatorze to wcale nie oznacza, że
konsola tego nie "łyknie" (i vice versa). Emu są czasem zbyt lub za
mało tolerancyjne. Polecam dwa: ePSXe i VGS.
- Jeśli chcemy, aby w boot screenie widniało logo PSXa, obraz należy
"zalicencjonować". Polecam program PSX Boot Screen Editor i artykuł
poświęcony podmianie *.tmd