INTRODUZIONE
Intendete tradurre una ROM, o semplicemente volete modificarne il contenuto, ma non avete la più pallida idea di come si faccia, non siete
pratici di editor esadecimali o cose del genere e soprattutto non sapete come è fatto
l'interno di una ROM?
Allora iniziamo dalle basi. Il testo di una ROM, salvo in rari casi, non utilizza lo
standard adottato dal DOS e da Windows, il codice ASCII. In questo codice (come in tutti quelli esistenti anche nelle ROMs), ogni lettera
corrisponde ad un numero. Per esempio, la lettera A in ASCII
corrisponde al numero esadecimale $41, la B al
$42 e così via (i numeri esadecimali si indicano
generalmente col simbolo "$" che li precede, ma per comodità in questa guida
li lasceremo indicati senza). Una ROM ha anch'essa ogni lettera
associata ad un numero, che generalmente viene espresso in numeri esadecimali (per chi lo
ignorasse, il sistema esadecimale è un sistema di numeri in cui si va da 0 a 16, dove
i numeri dal 10 al 16 vengono indicati con le lettere dalla A alla F). Un tempo era necessario
procurarsi un Hex Editor, cioè un editor esadecimale, ed imparare a memoria il codice
della ROM che si traduce. Quindi per tradurre la parola "Arma" in FF3 era necessario
cercare i numeri 00 2B 26 1A e sostituirli con quelli
equivalenti alla parola desiderata. Fortunatamente adesso esistono delle utility che
visualizzano e permettono di modificare il testo come se fosse in ASCII (o quasi)
e rendono molto più semplice la modifica della ROM, ma non riducono certo i problemi di spazio che si
incontrano. Già, per chi non lo sapesse in una ROM non si può superare il numero di
caratteri in una riga presenti nella versione originale. Questo rappresenta il più
grosso problema di traduzione, specie nelle ROMs in Giapponese (anche se un metodo per aumentare
lo spazio per il testo esiste, ma è estremamente complesso).
Comunque ricordatevi che è meglio cambiare di molto il testo anziché renderlo più
vicino all'originale ma facendolo diventare difficilmente comprensibile.
La grafica in una ROM è sempre gestita in tiles, ma di questo parleremo dopo.
Premessa: ricordate che in questa guida le lettere della ROM verranno definite "fonts" oppure "tiles".
Le tiles ad ogni modo non contengono esclusivamente il testo ma anche la grafica, per cui non fate
confusione (vedere il capitolo "I FONTS" per ulteriori delucidazioni).
Detto questo... buona lettura! :)
I FONTS
TILES
NOTA: Questa sezione servirà prevalentemente a chi intenderà intraprendere traduzioni di ROMs in
lingua giapponese. Serivrà anche a chi vorrà modificare la ROM senza necessariamente
volerne intraprendere la traduzione, per capire come funzionano i moderni editor. La lettura e comunque consigliata a tutti, ma non lasciatevi impaurire dall'apparente complessità
delle informazioni che vi sono scritte.
Il NES, il Super NES, il Megadrive, il Master System, in generale tutte le consoles (non ho informazioni sui sistemi arcade)
gestiscono la grafica tramite i "tiles", vale a dire appunto dei "tasselli" composti
da un certo numero di pixels, che possono assumere varie dimensioni
(per gli esempi userò tiles 8x8). Tuttavia, questa guida si occuperà dei formati di tiles usati
da Super NES e Gameboy, molto simili fra loro (il NES usa un sistema differente, vedi ReadMe del NaGA per ulteriori informazioni)
Un'immagine è formata dall'unione dei "tiles" e memorizzata nella ROM attraverso una mappa
nella quale si indica quale tiles usare e se è flippato orizzontalmente o verticalmente.
BITPLANES E COLORI
Le tiles possono essere formate da più bitplanes a seconda del numero di colori usati.
Un bitplane è visualizzato sotto forma di pixels nello schermo, il che significa che il
bit 1 sarà uguale ad un pixel di colore bianco ed il bit 0 sarà uguale a uno di colore nero. Quando invece
si vogliono ottenere più colori, i vari bitplanes vengono messi uno sopra l'altro.
ES: la lettera O.
1 bitplane = 2 colori
0 1 1 1 1 1 0 0 -> 7C
1 1 0 0 0 0 1 0 -> C2
1 1 0 0 0 0 1 0 -> C2
1 1 0 0 0 0 1 0 -> C2
1 1 0 0 0 0 1 0 -> C2
1 1 0 0 0 0 1 0 -> C2
0 1 1 1 1 1 0 0 -> 7C
0 0 0 0 0 0 0 0 -> 00
(0 = pixel vuoto, 1 = pixel pieno)
Guardando questa figura come se fosse "disegnata", vedrete una O.
Considerate ogni riga come un numero binario e trasformatelo in esadecimale,
cercate nella rom la sequenza di byte 7C C2 C2 C2 C2 C2 7C 00 e troverete
la posizione in cui è memorizzata la lettera O.
Per sostituire il carattere basta disegnarlo, trasformarlo in cifre ed inserirlo
al posto del vecchio.
Questa tecnica è ormai superata e va usata solamente in casi estremi (vale a dire quando
l'editor non supporta il formato di tiles che la ROM utilizza). Generalmente,
è consigliabile utilizzare un editor di sprites come il Naga o gli altri
che potete trovare indicati nella sezione I programmi necessari.
2 bitplanes = 4 colori
primo bitplane
0 1 1 1 1 1 0 0 -> 7C
1 1 0 0 0 0 1 0 -> C2
1 1 0 0 0 0 1 0 -> C2
1 1 0 0 0 0 1 0 -> C2
1 1 0 0 0 0 1 0 -> C2
1 1 0 0 0 0 1 0 -> C2
0 1 1 1 1 1 0 0 -> 7C
0 0 0 0 0 0 0 0 -> 00
secondo bitplane
0 1 1 1 1 1 1 0 -> 7E
1 1 1 1 1 1 1 1 -> FF
1 1 1 0 0 0 1 1 -> E3
1 1 1 0 0 0 1 1 -> E3
1 1 1 0 0 0 1 1 -> E3
1 1 1 0 0 0 1 1 -> E3
1 1 1 1 1 1 1 0 -> FE
0 1 1 1 1 1 0 0 -> 7C
Con due bitplanes si possono ottenere un max di 4 colori (le fonts con le ombreggiature).
prendete ogni riga e trasformatela da binario in esadecimale. Alcune consoles come il NES e il Gameboy non possono avere
più di 2 bitplanes.
Per trovare dov'è posizionata la lettera O nella ROM cercate
7C 7E C2 FF C2 E3 C2 E3 C2 E3 C2 E3 7C FE 00 7C, cioè si alternano i byte del primo
bitplanes con quelli del secondo.
Per vedere i colori immaginate di sovrapporre i due bitplanes.
Il colore è determinato dai 2 bit sovrapposti, infatti con 2 bit è possibile ottenere
4 combinazioni (2^2=4) di colori.
ES:
00 = colore numero 0
01 = colore numero 1
10 = colore numero 2
11 = colore numero 3
Prima cifra = primo bitplane
Seconda cifra= secondo bitplane
4 bitplanes = 16 colori
Stesso procedimento dei 2 bitplanes solo che la sequenza dei byte si ottiene alternando, prima
il primo e secondo bitplane e poi il terzo e il quarto.
Per i colori sovrapponete i 4 bitplanes, i 4 bit sovrapposti vi daranno il colore (2^4=16)
ES:
0110 = colore numero 6
Prima cifra = primo bitplane
Seconda cifra= secondo bitplane
Terza cifra= terzo bitplane
Quarta cifra= quarto bitplane
8 bitplanes = 256 colori
LE DIMENSIONI DEI FONTS
Negli esempi precedenti ho illustrato fonts 8x8, ma esistono anche altri formati:
16x16 -> 4 tiles 8x8
10x12 -> 3 tiles 8x8
8x12 -> 2 tiles 8x8
16x12 -> 2 tiles 16x16
LA RICERCA DEL TESTO
Per iniziare a tradurre una ROM è necessario conoscere la tabella dei
fonts.
Esempio:
0 1 2 3 4 5 6 7 8 9 A B C D E F
0 A B C D E F G H I L K L M N O P
1 Q R S T U V W X Y Z a b c d e f
2 g h i j k l m n o p q r s t u v
3 w x y z 1 2 3 4 5 6 7 8 9 0 . ,
4 : ; - ! ? =
5
6
7
8
9
A
B
C
D
E
F > <
Ora prendendo prima il numero della riga, poi quello della colonna troverete a
che codice esadecimale corrispondono le vari lettere (in questo caso: A = 00,
B = 01, 9=3C, > = F0).
Così se vogliamo trovare nella ROM la parola "Arma" basta cercare "00 2B 26 1A"
e il gioco è fatto. Questo metodo almeno si usava prima che esistessero editor come il
Thingy...
COME FACCIO A TROVARE LA GIUSTA TABELLA DEI FONTS??
1) Metodo del confronto
Se il gioco che volete tradurre permette di cambiare il nome al proprio personaggio
(Es: Chrono Trigger) procedete in questo modo:
Chiamate Crono con il nome "Crono", giocate e salvate.
A questo punto rinominate il file del salvataggio chrono.srm in chrono.1.
Ora iziate un'altra partita e chiamate Crono "AAAAA", giocate e salvate.
Rinominate chrono.srm in chrono.2 e fate un bel confronto tra i file chrono.1
e chrono.2 con il comando dos fc così:
fc /b chrono.1 chrono.2 > cfr.txt
Adesso lanciate edit cfr.txt e andate ad esaminare il file.
file: cfr.txt
Confronto dei file chrono.1 e chrono.2 in corso...
0000059C: 01 02
000005B0: A2 A0
000005B1: CB A0
000005B2: C8 A0
000005B3: C7 A0
000005B4: C8 A0
000005E3: 0E 16
000005E4: 12 18
000005FA: 0A 0B
00001FF0: 73 29
00001FF1: 8C 42
Nel file chrono.2 si notano 5 caratteri uguali uno di seguito all'altro che corrispondono
al nome "AAAAA", quindi la A = A0 e di conseguenza la C = A2, r = CB, o = C8, n = C7.
Ora si può costruire la tabella delle fonts seguendo l'ordine alfabetico (se A = A0 allora
B = A1, C = A2 e così via...).
Trucchetto: se A = 41, allora la ROM è in ASCII e si può modificare con un editor
esadecimale.
Un'attenzione particolare va riservata ai caratteri che non compongono il normale alfabeto
A..Z/a..z, come numeri, segni di punteggiatura o altri simboli particolari (come i disegnini
vicino ai nomi degli oggetti in Final Fantasy e altri RPG). Per conoscerne il valore nella
text table il più delle volte basta:
- Aprire la ROM in un editor grafico come Naga, Visor o XLate
- Trovare i tiles che compongono la text table
A..Z/a..z
- Scovare i simboli e osservarne la posizione
Naturalmente se il simbolo che stiamo cercando, mettiamo sia il disegno di una faccina, si trova
2 tiles prima della A e il codice della A è A0, il codice per faccina è A0-2 = 9E
Un altro sistema è invece quello di sostituire alla prima frase del gioco dei numeri esadecimali a caso,
per vedere quali simboli escono fuori.
2) Con il programma SearchR dei DeJap.
Dopo essersi procurati un Editor esadecimale ed aver imparato ad
usarlo si può passare a cercare ed a modificare il testo criptato
nella Rom.
Il procedimento, se si vuole tradurre una Rom dall'inglese in italiano,
non è difficile, ma richiede un po' di pazienza. Se invece si vuole
tradurre una Rom dal giapponese bisogna prima di tutto procedere alla
cosidetta sostituzione dei font (che altro non è se non hacking della
grafica della ROM).
Innanzitutto consiglio di procurarsi l'utility chiamata SearchR che si
può scaricare qui.
Essa permette di cercare stringhe di testo all'interno della Rom.
Come esempio utilizziamo la Rom di Final Fantasy III proviamo a
cercare il nome della protagonista Terra.
Nella stessa directory mettiamo la Rom e il SearchR.
Lanciamo SearchR, che dalla versione 2 presenta una comoda interfaccia,
apriamo la ROM, e scriviamo "terra" nel campo "search for:".
Come risultato otteniamo:
Offset Hex Bytes Ascii
text Rel.Offset Rel.Text
0047C0: 93 84 91 91 80 FF 8B 8E [........] a=80 A=?? 1=?? [terra.lo]
Se hai giocato a FFIII saprai che quando ti viene chiesto di inserire
il nome di un personaggio, il nome di default è proposto tutto in
lettere maiuscole. Così i numeri trovati in precedenza corrispondono
tutti a lettere maiuscole:
93 = T, 84 = E, 91 = R, 80 = A.
Se nella colonna con la scritta "Ascii text" comparirà lo stesso
testo di quella "Rel. Text", significa che il testo nella ROM è in ASCII
e pertanto è facilmente modificabile con un editor esadecimale. Stessa cosa se si trova A=41.
METODI PARTICOLARI DI CODIFICA DEL TESTO
Il metodo con cui è sistemato il testo cambia da ROM a ROM. Si basano
tutte sul sistema delle tiles, ma con delle varianti. Vediamole:
1) Le tiles multiple
Per risparmiare spazio nella ROM, i programmatori spesso utilizzano un metodo
di compressione chiamato anche DTE (Double Tiles Encoding). Con questo sistema,
ad un solo numero esadecimale corrispondono più lettere (chiamate sillabe). Per esempio, in Chrono
Trigger, la scritta the corrisponde
al tile n.21, her al tile n.30 e così via.
La maggior parte di queste tiles sono state sostituite dal traduttore, poiché in
italiano non sono di nessuna utilità. Così, il tile 27 che in
origine era you ora è gli. Questo però
può causare dei problemi nel testo ancora in inglese, perché ora ogni volta che ci dovrebbe
essere scritto "you" adesso c'è scritto "gli", per cui anche una parola
come "yourself" diventa "glirself". ^__^
Questo è il motivo per cui è meglio scrivere nel "readme.txt" che il testo in inglese NON sarà più leggibile
con la patch in italiano. Per sostituire le sillabe, bisogna trovarle all'interno della ROM. Generalmente
utilizzano la stessa tabella degli altri fonts. Per trovarle, è necessario cercarle col
SearchR. Spesso sono separate
da un altro byte (nel caso di Chrono Trigger, mi pare che fosse il 7E) perciò, ponendo il caso in cui
le tre tiles consecutive fossero you, it e they,
bisognerà scrivere:
you?it?they
nella schermata principale del SearchR. Alcune ROMs associano ad un solo numero anche intere parole,
quindi la traduzione può diventare estremamente difficile.
Sconsiglio ai principianti di iniziare a tradurre con una ROM che sfrutti le tiles doppie. Per fare
pratica è meglio iniziare con una più semplice (per esempio una per
NES, che non usa
certamente il DTE).
2) I "nomi"
A dire il vero questo particolare metodo di codifica del testo non ha nome, ma mi baso su quello che ho letto sul ReadMe
dell'UniROM (un text editor) :)
Alcune ROM utlizzano più tiles per cose particolari come per l'appunto i nomi dei personaggi
o frasi che scompaiono dopo che il giocatore preme un tasto. Per esempio in Secret of Mana il nome dei vari personaggi è formato da due
tiles: il tile n.57 e un tile che può essere 00, 01 o
02 a seconda di quale dei tre personaggi vi era scritto.
3) La codifica a 16-bit
Non so se sia il nome esatto neanche per questo metodo, ma mi sono basato sul README del Thingy ^__^
In breve, tra una parola e l'altra viene interposto un altro tile. Per esempio, al posto di "YES" ci sarà scritto
"YxExSx" dove "x" è una tile a caso. Pochi giochi, come per esempio Harvest
Moon, utilizzano questo sistema.
4) Interleaved Genesis ROMs
Le ROMs per Megadrive in formato SMD hanno una strana disposizione dei bytes nella ROM e di conseguenza
anche delle lettere. Per questo motivo, non sono traducibili senza essere prima convertite in formato
BIN.
Diverse utility (uCON, GenConv, SegaTool) sono capaci di farlo. Ad ogni modo, il SearchR riesce a leggerle
de-interlacciandole sul momento (la ROM comunque non subirà alcun cambiamento).
5) ROMs per Nintendo64 in formato V64
Le ROMs per Nintendo64 "dumpate" con il Doctor64 sfruttano questo formato. Praticamente
i byte nella ROM sono invertiti a due a due (byteswapping), perciò la parola "MARIO " diventa
"AMIR O ". Procuratevi un'utility per convertire la ROM su Dextrose (www.dextrose.com)
F.A.Q.
(Frequently Asked Questions)
Q: Ho rinominato la ROM in formato TXT, perché non vedo il testo? (domanda realmente posta)
A: È necessario leggere il resto della guida per tradurre una ROM. Perciò se pensavi che le sole FAQs bastassero, lascia perdere :P
Q: Ora ho trovato la tabella dei fonts, ma cosa me ne faccio?!?
A: Ti scarichi un editor (consiglio il Thingy) e ti leggi le istruzioni. Non chiedetemi di spiegare
come funziona ogni singolo editor di testo! Il README è sempre molto completo. Generalmente è necessario
inserire in un file di testo la tabella che avete trovato, ma il sistema cambia da editor a editor.
Q: Perché non riesco a trovare certe parole col SearchR o le parole compaiono "troncate"?
A: Probabilmente la ROM utilizza un sistema di compressione come il DTE e gli altri elencati qui sopra.
Q: Il SearchR non trova alcuna parola! Perché?
A: Assumendo che tu abbia tenuto in considerazione tutti i sistemi di compressione precedentemente elencati nella
guida, è possibile che il testo sia compresso in una maniera particolare (provate a comprimere un file di
testo con il WinZip, per intenderci). Ci sono poi alcune ROMs nelle quali col SearchR non si trova nulla per
motivi apparentemente inesistenti (come Bart Simpson VS the World per NES).
Q: Perché il SearchR trova corrispondenze diverse cercando la stessa parola (nel senso che,
cercando una parola e trovandone varie corrispondenze nella ROM, trova che la lettera A risulta associata
a diversi numeri esadecimali)?
A: Il SearchR prova tutte le combinazione secondo cui una successione di numeri può
formare la parola cercata. È possibile che, per puro caso, nel codice della ROM ci fossero dei
numeri che messi in un certo modo formassero la parola cercata (questo capita in particolar modo
con le parole più piccole). Può anche darsi che la ROM abbia più di una tabella (Final Fantasy III ne ha una per l'inventario e una per il resto del gioco).
Q: Come mai cercando la stessa parola con le maiuscole e con le minuscole ottengo gli stessi risultati? Significa che quella ROM utilizza allo stesso modo maiuscole e minuscole?
A: No, semplicemente, come detto sopra, il SearchR trova le stesse corrispondenze se la sequenza delle lettere è la stessa (infatti, per esempio, il rapporto fra la lettera A e la lettera C,
in numeri, è sempre C=A+2 sia che le lettere siano maiuscole, sia che siano minuscole... spero di essere stato chiaro in questo caso ^__^)
Q: Posso modificare le ROMs in ASCII direttamente con un editor di testo come il WordPad?
A: No, la ROM si rovinerebbe. Una serie di caratteri vengono visti come specie di "quadratini", che vengono considerati tutti uguali, e di conseguenza vengono salvati tutti con lo stesso numero.
Ovviamente dopo la ROM non funziona più.
Q: Voglio ottenere più spazio nella ROM! Come devo fare?
A: Devi conoscere l'Assembly (un linguaggio di basso livello, pertanto estremamente difficile) e disassemblare la ROM.
Anche ammesso che tu sappia programmare nel suddetto linguaggio, devi comunque imparare le istruzioni esclusive per la console di cui vuoi
modificare la ROM. È un lavoro da esperti hacker, e nessuno del gruppo ne è attualmente capace... Comunque dei documenti in merito si
possono trovare nei links alla fine della guida.
Q: Ho tradotto una ROM del Gameboy, ma quando faccio partire l'emulatore scrive dà un errore di "checksum". Che fare?
A: Le ROMs del Gameboy hanno un particolare sistema secondo cui, qualunque cosa venga modificata nella ROM,
bisogna cambiare dei bytes anche che nell'header (la parte iniziale della ROM che la fa identificare dalla console).
Non ho molte informazioni su come funzioni questo sistema. Ad ogni modo, sarà necessario disabilitare il controllo
del CRC nell'emulatore (probabilmente c'è scritto come fare nel
README.TXT).
Q: Il SearchR non parte! Quando lo avvio scrive solo "Unable to open 640x480x8bpp VESA2L screen".
A: La tua scheda grafica non supporta i drivers VESA in versione 2.0 o superiore. È possibile
ottenerli al sito web del produttore oppure con lo SCITech Display Doctor (www.scitechsoft.com).
Q: Ok, ora parte, ma se clicco su GFX EDIT scrive "Unable to open 320x240x8bpp VESA2L screen". Eppure ora
la mia scheda supporta i drivers VESA.
A: Si, ma non alla risoluzione di 320x240. In questo caso, non è possibile ovviare al problema in alcun modo, a meno
che non esca una nuova versione dello SCITech DD che doti la tua scheda di questi drivers anche a risoluzioni più basse.
Q: Come posso diventare membro di SadNES cITy?
A: È sufficente tradurre una ROM e dare la propria patch ad uno del gruppo (prima
di mandare il file IPS in allegato, avvertite sempre con una lettera di avviso). Non è
necessario mandare la patch a tutto il gruppo.
Q: Le patch di traduzione sono legali?
A: Fintanto che la patch viene distribuita senza la ROM, risulta legale. È invece illegale distribuire
una ROM alla quale sia già applicata la patch. Questo perché per scaricare una ROM è necessario
possedere il gioco su supporto originale (per le consoles fino a 16-bit, generalmente la cartuccia), e nessuno
può avere su cartuccia una ROM tradotta.
Bene, se avete ci sono domande che riteniate vadano aggiunte a queste FAQ o se semplicemente avete
ulteriori problemi, scrivete a D-Chan, specificando di
aver letto la presente guida e dando informazioni precise di cosa non riuscite a fare.
L'HACKING DELLA GRAFICA
La modifica degli sprites ed in generale della grafica in una ROM è particolarmente utile a chi vuole intraprendere una traduzione dal giapponese,
ed è per questo che mi soffermerò specialmente sulla sostituzione delle tiles che compongono le righe di testo. Il resto
della grafica, comunque, è modificabile circa nella stessa maniera.
Per sostituire le tiles che costituiscono la grafica nelle ROMs, bisogna utilizzare un editor di tiles.I più famosi
possono essere scaricati da questa guida. Effettivamente, il capitolo relativo alle tiles è già
stato completato e ulteriori informazioni possono essere trovate nei "ReadMe" di ogni tile editor,
comunque farò una piccola spiegazione con la ROM di "Zelda - Link's Awakening" per Gameboy (che è già in
inglese, ma essendo una ROM per GB è particolarmente facile da modificare).
1) Con il NaGA Sprite Editor
Aprite la ROM scegliendola dal menu e premendo ESC. Cercate se riuscite a vedere in una certa zona della ROM
delle figure che possono sembrare quelle presenti nel gioco. Se non ci riuscite, premete i tasti 1, 2 o 4
per cambiare metodo di visualizzazione (1Bit per pixel, tiles 8x8, ecc) ed utilizzate le altre opzioni
possibili descritte nelle istruzioni di ogni utility (anche se il default del NaGA va bene per le ROMs del
GameBoy).
Tra queste tiles, oltre a quelle che compongono i vari sprites del gioco,
sicuramente vi saranno anche i fonts (lasciate perdere scritte intere come CONTINUE,
SAVE, RAFT, SHOP, o
altre che sono "disegnate" per intero e non sono sequenze di tiles raffiguranti le lettere).
Una volta visualizzate, cliccate su ogni tile per
modificarla a piacimento. Questo editor scrive direttamente sulla ROM che state modificando.
2) Con il Tile Layer
Aprite la ROM e mettete l'editor in modalità GameBoy premendo TAB finché in basso
a sinistra non compare la scritta GB. A questo punto, cercate la zona della ROM dove sono situate
le tiles. Prendete quelle che volete modificare, copiatele sulla clipboard a destra e modificatele.
Una volta modificate, sarà necessario ricopiarle nella ROM. Quella clipboard è molto comoda se si
vuole modificare uno sprite le cui tiles sono disposte alla rinfusa nella ROM.
NOTA: Le tiles contenute nelle ROMs per Super Nintendo sono leggermente più difficili da modificare, perché
possono essere codificate in formati differenti. Consiglio di provare i diversi metodi di visualizzazione se non
sono visibili da subito. In alcune ROMs compresse (come Seiken Densetsu 3) la grafica non è visibile in
nessun modo, almeno non con i nostri sistemi.
NOTA: L'emulatore NESticle ha un editor interno che vi permette di modificare le tiles presenti sullo schermo
mediante l'opzione "Pattern tables". Per salvare il vostro lavoro, andate su Files >
VROM.
LA CREAZIONE DELLE PATCH
Per creare le patch da distribuire, si usa normalmente il formato IPS (International Patching Standard). Per creare le vostre patch IPS dovete
procurarvi il programma SnesTool.
Una volta avviato usate l'opzione Create IPS,
selezionate la rom "genuina" (quella che non avete modificato) e poi la rom
modificata. Il programma costruirà il file IPS con tutte le differenze che
avrà il nome dell'ultima rom selezionata.
Adesso siete pronti a distribuire la vostra patch!
Createvi un bello zip con:
- IPS (Versione che può solo usare i file ips e non crearli)
- Un bel README.TXT
- La vostra patch (Ma dai?? :))
- Inoltre non guasterebbe un bel file batch che, prima crea una rom di
backup, e poi lancia ips con la vostra patch
Lo ZSNES dalla versione 0.800 in poi supporta inoltre un sistema di patch automatico che
patcha temporaneamente la ROM. Basta mettere il file IPS nella directory dei
salvataggi (in alcuni readme errati delle nostre patch c'è scritto in
quella delle ROMs, ci scusiamo per l'errore), dopo averla eventualmente rinominata
con lo stesso nome della ROM.
Scrivete anche questo nel README se traducete una ROM per SNES.
I PROGRAMMI NECESSARI
Prima di intraprendere l'epica impresa di una traduzione (specialmente dal jap),
avete assolutamente bisogno di questi programmi:
Categ. |
Prog. |
Ver. |
Rilasc. |
Descrizione |
Voto |
Ricerca |
SearchR |
2.10 |
27/01/98 |
Supercomodo per le ricerche di
text-table, peccato che non abbia un editor interno. Serve anche per vedere la grafica (ma non per modificarla) e supporta praticamente tutti i formati di tiles esistenti. |
90% |
Text Editor |
Hex Workshop |
2.5 |
10/10/98 |
L'editor esadecimale per antonomasia! Non è nato per le ROM, anzi, quindi potrà servire solo ha chi vorrà tradurre ROMs che utilizzano il codice ASCII. |
68% |
Thingy |
0.98 |
19/12/98 |
Probabilmente il miglior editor di testo, permette di editare la ROM come se fosse in ASCII e supporta tutti i formati di codifica del testo elencati in questa guida. |
95% |
UniROM |
0.60 |
16/10/98 |
Molto simile al
Thingy, sarebbe anche più comodo se purtroppo non fosse pieno di bugs. |
65% |
RomEdit |
2.25 |
31/08/97 |
Ottimo per i giochi con tabelle strane (leggi Final
Fantasy), ma bisogna crearsi la tabella pixel per pixel da soli :( Attenti quindi! |
75% |
Xlate |
1.0 |
24/12/97 |
Un tempo era il miglior editor per
ROMs, se non fosse che l'ultima versione è una beta che risale a gennaio 1998 con molte funzionalità disabilitate e diversi
bugs. |
70% |
Tile Editor |
NaGA |
1.5b |
12/11/97 |
L'editor più veloce di tutti. L'unico problema è il non supportare alcuni formati di
tile. Buono anche per le ROM per NES. |
80% |
Visor |
0.1 |
05/06/97 |
Segue per velocità
Naga. Visto che supporta meno formati, l'unico motivo valido per usarlo è che il NaGA vada troppo veloce sul vostro PC. Per altro è stato crato dallo stesso autore
dell'emu Esnes. |
72% |
Tile Layer |
0.50 |
14/12/98 |
Ha la comodissima funzione di poter copiare le tiles in una clipboard per poterle disporre a piacimento in modo che formino una figura sensata, mentre con gli altri editor si vedono le tiles alla rinfusa. Non è il migliore per SNES e non supporta molti formati, ma è eccellente per NES e Gameboy ed è l'unico per Master System.
Lentuccio. |
90% |
Xchar |
3.0 |
02/07/97 |
Il complemento perfetto di
Xlate. Buono anche da solo. |
72% |
Patcher |
SnesTool |
1.2 |
12/02/96 |
In realtà sarebbe nato come utility da usare con i copiatori
Snes, ma offre un ottimo sistema di patching (tramite lo standard IPS). Ha anche altre funzioni (non inerenti le traduzioni). |
90% |
SegaTool |
1.02 |
09/08/95 |
L'equivalente dello
SnesTool, stavolta per le ROM del Megadrive. Può fare anche le conversioni di formato delle ROM (indispensabile per
l'hacking). |
90% |
IPS
Patcher |
3.0 |
20/03/99 |
Come
gli altri patcher, ma gira esclusivamente nei computer Macintosh della Apple |
90% |
I LINK UTILI
Per maggiori informazioni e chiarimenti consultare:
I tutorial dei RPGe (http://lfx.org/rpge/)
I tutorial dei DeJAP (http://www.squareplanet.net/dejap/ - attualmente
offline)
I documenti sull'hacking della ROM di Zophar's Domain (http://www.zophar.net/)
Yoshi's document ver 2.30 e altri docs sulla grafica che potete trovare qui:
http://emureview.ztnet.com/developerscorner/index.htm
Ulteriori link ad altri gruppi di traduzione (con eventuali documenti) si trovano sull'ottimo RPG Dimension (http://www.rpgd.emulationworld.com/)
|