NES - Bart Vs Space Mutant

Aperto da White Dragon, Gennaio 27, 2007, 18:52:30

Discussione precedente - Discussione successiva

White Dragon

Salve a tutti, sono nuovo di questo forum..
Vorrei intraprendere la traduzione di questo giochino ke mi ha fatto perdere un po' di ore nella mia infanzia..
Ho visto che parte del testo è addirittura in ASCII e ke la totalità della grafica non è compressa e quindi facilmente traducibile. Il resto del testo invece è in DTE e non so se anke in MTE.. Mi riferisco per es. all'introduzione, quando i 2 alieni parlano e dicono "EXCELLENT..." ecc..
Il problema ora è..
1) Una volta creata la tabella.. mi consigliate HEXECUTE per modificare il testo?
2) Dato che ci saranno parole che non potrò scrivere.. come faccio a modificare
   la tabella del dte? es. il byte 49 corrisponde alle lettere "TH"
   come faccio a far si che il 49 corrisponda a "IL"?
3) qual'è il metodo dell'emulatore nesticle x trovare la tabella? esiste una guida?
scusate, è la voglia di sapere^__^

Grazie anticipatamente

Phoenix

Per quanto riguarda la tabella delle MTE, basta cercare la sequenza TH liscia, mi spiego meglio. Se al carattere T corrisponde l'hex 0A e alla H corrisponde 0B devi cercare 0A0B e non 49. In queta maniera troverai l'unico caso in cui la sequenza TH non è scritta a mo' di DTE. Nelle vicinanze della sequenza trovata dovrebbero esserci le altre DTE.
Phoenix
****************
membro di SadNES cITy
I gruppo italiano di traduzione ROM
http://www.sadnescity.it
*****************************

White Dragon

Prima di tutto grazie x avermi rsp^^
dunque ho guardato meglio e ho notato ke mi ero probabilmente sbagliato.. non è un MTE ma qualkosa di +...
scrivo un es.

per scriverte THE-SIMPSONS< (dove "<" significa "a capo" e "-" significa "spazio")
il programma scrive:

TH E- SI MP PS ON S<
49 10 A7 CE 5A 65 A3

si nota subito questo e cioè ke:
0=-
1=e
2=a
3=<
4=t
5=n
6=o
7=i
8=r
9=h
A=s
B=l
C=m
D=d
E=b
F=j

cioè un nibble (mezzo byte) equivale ad un carattere.
per quelli non presenti (oltre 16 caratteri) la rom affianka i bytes es. CE5A ke dovrebbero scrivere "MBNS" invece scrivono "MPS" cioè BN->P

questo è solo un esempio. dev'essere un algoritomo di compressione ke così di primo akkito mi sembra huffman..

avete qualke idea? io non conosco ne ho trovato una guida su come trovare il codice asm per ricostruirsi la funzione di de/compressione del text..

help me=((

Morpher

Se fosse stata huffman non avresti trovato niente di niente. Prova a cambiare qualche nibble e vedi se cambia anche il testo nel gioco. Se funziona devi scriverti un programmino che ti converta i nibble in char e viceversa

White Dragon

si però nn trovo la logica..
cioè perchè se ce="mb" e 5a="ns" messi separati e invece se messi insieme ce5a="mps" e non "mbns"?

dovrei semplicemente vedere tutte le combinazioni possibili a sto punto ke poi sono 256 O_o è l'unika via possibile?
scustemi^^

Morpher

Con i nibble puoi accedere a max 16 caratteri. Nei valori CE 5B l'hex E è un tag che indica che il prossimo nibble non corrisponde alla lettera "o" ma alla lettera "p". Se infatti provi a cambiare 5B con 4B ottieni la parola SIMBSONS se provi invece a cambiare CE 5B con C4 4B ottieni SIMTTSONS.

White Dragon

cioè E significa "guarda il carattere successivo rispetto al valore che assume il nibble che non sia "O""?
così nella scrittura abbiamo ce5a="MPS" perchè anke se a 5 corrisponde il carattere N, il successivo di N ke nn sia O è P.
ma non mi è ankora del tutto kiaro xkè a
CE4A corrisponde "MBS"?
e allo stesso modo xkè a CE6A corrisponde  "MYS"?

grazie x le dritte ;)

Vash

da quel che ho capito c'è un'altra sottotabella di nibble che viene avviata dal nibble E...probabilmente ne troverai 16, così avrai i 256 caratteri...
Vash the stampede
il tifone umanoide
la calamità naturale
l'uomo da 60 miliardi di $$


TRIGUN ONE WORD ONE WORLD

|GeO|

Sembra una specie di dizionario, ma sinceramente non ne ho mai beccati di questo genere...

[OT] Il nick non mi suona nuovo, ci siamo già incrociati sul forum di quequero o sbaglio? [/OT]

White Dragon

Ok come nn detto.. farò 256 condizioni SE =)))))))))))))))))

[OT] Eheh si tempo fa unpackai quel maledetto asprotect per rpgmaker xp 1.02a ^__^ [/OT]

Morpher

Comunque non è detto che ci sono 256 caratteri. Di solito ce ne sono una 50-60ina tra minuscole, maiuscole, accentate, numeri e simboli. Cerca il font nella rom con un editor grafico così saprai di quanti caratteri dispone il gioco.

White Dragon

Hai ragione sono 58+2^__^


ke pizza poi ci saranno tutte le combinazioni possibili...
tipo:
1)vai a capo e scrivi p
2)scrivi spazio e poi p..
3) ecc..

ke pizza.. si divertono i programmatori eh?!?!?!?!

Vash

io resto dell'idea che non hanno nulla da fare dalla mattina alla sera xD
Vash the stampede
il tifone umanoide
la calamità naturale
l'uomo da 60 miliardi di $$


TRIGUN ONE WORD ONE WORLD

|GeO|

Certe volte sembra proprio di sì...

White Dragon

OK scoperto tutto (credo)
In realtà è una stupidata immonda.
ecco la prima frase ad es.:

-"bart-vs.-the<
-space mutants"<<
-copyright-1991<
-acclaim<
-entertainment<-
inc.<
<
-licensed-by<
-nintendo

dove:

0=- (spazio)
1=e
2=a
3=< (a capo)
4=t
5=n
6=o
7=i
8=r
9=h
A=s
B=l
C=m
D=d
E=#
F=#

#=nibble di crittografia (E ed F=lettere mancanti/simboli/numeri)

la relazione con i bytes è questa:

-# "# ba rt -# vs #. -t he <- s# pa #c e- m# ut an ts #" <<
0F 6E 42 84 0E BA E9 04 91 30 AE 52 E0 10 CE 14 25 4A F6 33


-# co #p #y ri #g ht -# 1# 9# 9# 1<
0E 06 E5 E6 87 E2 94 0F 2F 3F 3F 23


-a #c #c la im <- -e nt er ta in me nt <- in #c #. <<
02 E0 E0 B2 7C 30 01 54 18 42 75 C1 54 30 75 E0 E9 33

-l i# ce ns ed -# b# y<
0B 7E 01 5A 1D 0E 4E 63

ni nt en do
57 54 15 D6

facile no? quindi per scrivere: MALEDETTI!< basta scrivere:

ma le  de  tt  i# !<
C2 B1 D1 44 7E 73

dove appunto ad es. E7=!

quindi MALEDETTI!<=C2 B1 D1 44 7E 73 di contro la scrittura ascii ke sarebbe:

6D 61 6C 65 64 65 74 74 69 21 0D 0A.

Abbiamo così un risparmio del 50% di spazio..

quindi tra E ed F ci sono 32 simboli in +..
si vabbè però potevano anke evitare!! :angry: