Romhacking.it Forums

Romhacking.it => Progetti => Progetti Abbandonati => Discussione aperta da: Romhacking.it il Gennaio 31, 2005, 18:16:29

Titolo: [snes] Bahamut Lagoon
Inserito da: Romhacking.it il Gennaio 31, 2005, 18:16:29
(http://img249.imageshack.us/img249/1123/nuovofontdu5.png) (http://img166.imageshack.us/img166/4092/salamanderwy8.png)

Autore: Chester (http://www.romhacking.it/forums/index.php?action=profile;u=749)
Versione: Giapponese
Lingue: Inglese -> Italiano
Stato: Abbandonato
Percentuale: 30%

Questo gioco, creato dalla Square, è il miglior RPG strategico per SNES.

La versione inglese dei DeJap fa pesante uso di una variante dell'LZSS. Anche i puntatori sono compressi. Ho scritto tutto il necessario per lavorare comodamente sulla traduzione: un compressore/decompressore, un repointer e alcuni altri tool, che ho poi accorpato in unica utility dumper/reinserter. L'hacking ASM è in stadio avanzato. La traduzione è curata da Sigfried, la revisione dei testi dal sottoscritto. Un grazie a Gemini per il suo contributo nel restauro dei nomi originali.
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Ryo Hazuki il Gennaio 31, 2005, 19:43:08
Uh... beh... Auguri per la traduzione.
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Gemini il Gennaio 31, 2005, 19:48:43
CitazioneUnico dettaglio tecnico degno di nota è la presenza di un byte 00 ad intervalli di 8 byte per tutta la parte relativa ai dialoghi, e l'eventuale spostamento di questi valori provoca lo sfasamento totale del testo :blink:
Si tratta semplicemente di compressione lzs con fattore 0 di recupero.
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: fox il Febbraio 01, 2005, 12:05:17
Complimenti e in bocca al lupo per la traduzione :D  
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Chester il Febbraio 01, 2005, 15:32:24
CitazioneSi tratta semplicemente di compressione lzs con fattore 0 di recupero.
infatti la versione Eng utilizza di base una compressione lzss.
Tradurre quella sarebbe l'ideale, ha anche tutte le modifiche ASM già belle e pronte...
ci sono anche i dati sui puntatori LZSS in BL:
Citazione1° byte= numero di byte che dovete "tornare" sul testo decompresso, il 2°byte /HiByte= numero di byte da copiare +3 LoByte=0 (non sicuro al 100%). Es: 0F 10 = torna 16 byte dalla posizione attuale (0A) e copia 4 caratteri (3+1: 3dalla LZSS e 1 dal puntatore)
ma non sò che farmene, perchè non so sfruttare questi dati per scrivermi un decompressore... in VB tra l'altro :lol:

@Gemini:
Tecnicamente, ci vuole tanto a eliminare delle parti inutili nelle finestre di scelta del nome? Per esempio, nella versione inglese tutti i riferimenti jap sono stati eliminati, mentre in quella francese sono rimasti i vari alfabeti giapponesi oltre che uno latino, anche piuttosto ridotto...basta inserire qualche 00 nel punto giusto o è roba di fino?
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Gemini il Febbraio 01, 2005, 16:25:15
Citazionebasta inserire qualche 00 nel punto giusto o è roba di fino?
La seconda.
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: DULL il Febbraio 01, 2005, 16:36:08
Bravo e auguri per la traduzione! ;)  
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Chester il Febbraio 01, 2005, 17:12:36
Citazione
Citazionebasta inserire qualche 00 nel punto giusto o è roba di fino?
La seconda.
chissà perchè, lo immaginavo...  :ph34r:

P.S. Grazie a tutti per gli auguri :)  
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Chester il Marzo 24, 2005, 11:53:20
Per chi fosse interessato, ecco qualche nuovo screenshots:
(http://cronaldo7.altervista.org/bl2.gif)
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: mentz il Marzo 24, 2005, 13:42:50
FIKO...FIKO...

(deja-vu)
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Chester il Marzo 24, 2005, 14:20:47
Citazione(deja-vu)
se parli di Auryn, lui non aveva alcuna intenzione di tradurre il gioco... aveva solo dimostrato che era possibile.
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Gemini il Marzo 24, 2005, 14:35:29
Citazione
Citazione(deja-vu)
se parli di Auryn, lui non aveva alcuna intenzione di tradurre il gioco... aveva solo dimostrato che era possibile.
Se vogliamo metterla così, non esiste nulla di impossibile da tradurre.
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Chester il Marzo 24, 2005, 14:41:19
questo è ovvio. ma lui offrì la possibilità concreta di tradurre il gioco.
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: mentz il Marzo 24, 2005, 15:09:50
Non avete colto nel segno....

"Ahi ahi ahi Signora Longari...Lei mi cade sul Pisello..." (Mike B.)

Il deja-vu era per la stessa risposta data da me sui 2 forum.... :)
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: kamon il Aprile 01, 2005, 20:00:31
CitazioneNon avete colto nel segno....

"Ahi ahi ahi Signora Longari...Lei mi cade sul Pisello..." (Mike B.)

Il deja-vu era per la stessa risposta data da me sui 2 forum.... :)
veramente diceva:
"Ahi ahi ahi Signora Longari...Lei mi cade sull'uccello..."
...se devi dire idiozie almeno fallo bene... :clomax mode:  :clomax mode:  
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: kamon il Aprile 01, 2005, 20:15:13
visto ke sei il bannatore ufficiale, perkè non mi banni!? così eviti le figuraccie...
...e comuncue ti ricordo che... :clomax mode:  
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Gemini il Aprile 01, 2005, 23:25:43
Kamon, non ci servono questo genere di commenti. E visto che è tutto oggi che sembri non voler apprezzare la funzione Modifica, punto di warning. Se proprio ci tieni posso bannarti io continuando con questa condotta. ;)
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Chester il Giugno 21, 2005, 18:17:17
Ritorno a postare su questo forum dopo diverso tempo...

Sono circa 2 mesi che non metto mano su questo gioco, fra betatesting di ToP e impegni scolastici... ora che il primo è quasi finito e i secondi lo sono del tutto, ricomincia il lavoro di traduzione.

Mi scuso con tutti per quello che può essere sembrato un atteggiamento poco serio ma che è stato dettato, come appunto dicevo, da altri impegni.

Non ho mollato e non ho intenzione di farlo.
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Rapha'el Xedus il Giugno 23, 2005, 00:08:29
CitazioneRitorno a postare su questo forum dopo diverso tempo...

Sono circa 2 mesi che non metto mano su questo gioco, fra betatesting di ToP e impegni scolastici... ora che il primo è quasi finito e i secondi lo sono del tutto, ricomincia il lavoro di traduzione.

Mi scuso con tutti per quello che può essere sembrato un atteggiamento poco serio ma che è stato dettato, come appunto dicevo, da altri impegni.

Non ho mollato e non ho intenzione di farlo.
Ottima notizia!!!
Tu sì che sai vivere!!!  :saluto:  
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Chester il Settembre 17, 2007, 18:11:57
Dopo un bel po' di tempo, ho rimesso le mani su questo gioco.
Per informazioni fate riferimento alla prima pagina, che ho appena aggiornato.
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Jegriva il Settembre 19, 2007, 21:21:31
cazzarola, è proprio vero che chi non muore si rivede!
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Chester il Ottobre 04, 2007, 15:13:42
Ok, ci sono novità sul fronte della versione dejappa :P
Ho scritto un compressore/decompressore e identificato i puntatori.
Chiaramente però qualcosa doveva andare storto. Da ciò che ho capito, sembra che in alcuni punti della ROM la compressione cambi senza alcun apparente motivo, e i salti passino da relativi ad assoluti :blink:
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Chester il Ottobre 08, 2007, 17:21:27
Ce l'ho fatta :favorevole:

Dopo ore passate in mezzo alle routine di Bahamut Lagoon DeJap, ecco a voi il risultato dei miei sforzi!

(http://img339.imageshack.us/img339/8812/bahamutqw3.th.png) (http://img339.imageshack.us/my.php?image=bahamutqw3.png)


Di seguito spiego molto rapidamente tutti i procedimenti effettuati (l'emulatore utilizzato è il Geiger Snes9x Debugger):

La scoperta del funzionamento dei puntatori
- Una veloce occhiata alla RAM durante la visualizzazione del testo ha confermato che era lì che veniva allocato una volta decompresso, o meglio durante la decompressione;
- Con un breakpoint in lettura all'indirizzo 7FAC46 (l'indirizzo in cui iniziava una frase, quindi al quale avrebbe dovuto puntare il pointer) l'esecuzione si è fermata a quest'istruzione:
$DA/694D B7 2B       LDA [$2B],y[$7F:AC46]   A:0CFF X:0E03 Y:0C46 P:envMxdizC
La quale carica nell'accumulatore il valore contenuto nella posizione equivalente alla somma tra il valore contenuto in $2B e nel registro Y, in tutto 7FAC46. A questo punto appare evidente che, essendo il valore di Y pari a 0C46, $2B contenga 7FA000, ovvero l'indirizzo di partenza dei dati decompressi in RAM (da notare come, a partire da qui e prima dell'inizio del testo, siano memorizzati, tra l'altro, i puntatori). Y rappresenta dunque lo scostamento a partire da questa locazione, ed è quindi con ogni probabilità il puntatore (opportunamente invertito).

La scoperta della tabella degli indirizzi dei blocchi compressi
- Il breakpoint in scrittura per l'indirizzo $7F:A000 ha fermato l'esecuzione su quest'istruzione:
$DA/68CB 8D 80 21    STA $2180  {$7F:A000}   A:A00C X:0000 Y:0003 P:envMxdizc
- Ho steppato fino ad arrivare a un'istruzione che facesse riferimento a un indirizzo della ROM:
$DA/68CE C8          INY                     A:A00C X:0000 Y:0003 P:envMxdizc
$DA/68CF B7 28       LDA [$28],y[$DB:F4B5]   A:A00C X:0000 Y:0004 P:envMxdizc <-----
$DA/68D1 8D 80 21    STA $2180  {$7F:A001}   A:A000 X:0000 Y:0004 P:envMxdiZc
$DA/68D4 C8          INY                     A:A000 X:0000 Y:0004 P:envMxdiZc
$DA/68D5 B7 28       LDA [$28],y[$DB:F4B6]   A:A000 X:0000 Y:0005 P:envMxdizc

L'istruzione indicata dalla freccia carica nell'accumulatore il valore formato dalla somma del contenuto di $28 e di quello di Y, l'indirizzo DBF4B5. Si capisce dal valore della Y che ci si trova già nel bel mezzo della routine di decompressione, e non esattamente all'inizio. Si intuisce quindi che DBF4B5 (somma di $28 + Y) meno 0004 (Y) è uguale a DBF4B1, ovvero la posizione della ROM dal quale il gioco comincia a decomprimere il blocco compresso. Uno sguardo nella posizione della RAM 7E0028 ha confermato questa tesi;

- Una volta invertito il valore DBF4B1 (formato SNES HiRom*), ho ottenuto B1F4DB e l'ho cercato nella ROM tramite un Hexeditor. All'indirizzo 1A8000 (formato PC) ho trovato la tanto cercata tabella che mi permette, modificandola, di espandere la ROM e spostare il testo dove preferisco** :lol:

* L'indirizzo DBF4B1 è in formato SNES HiRom, convertito in formato PC corrisponde a 1BF4B1.

** In realtà, avendo scritto un compressore non è strettamente necessario spostare alcunché. Questa tabella mi è utile soprattutto per trovare gli indirizzi a partire dai quali ha inizio ciascun blocco compresso.

P.S. I primi 2 byte del blocco compresso rappresentano la lunghezza in byte, invertita, del blocco di testo compresso. E' fondamentale che il suo valore sia regolato in modo tale che la sequenza di byte corrisponda in maniera valida a ciascun bit dell'ultimo flag della compressione. Se mancano dei byte per completare la sequenza, è sufficente aggiungere tanti 00 (che ovviamente vanno tenuti in considerazione nel conteggio) quanti sono i byte mancanti.



Se siete interessati e non è chiaro qualche punto (molto probabile visto che l'ho scritto in 10 minuti) chiedete pure :)
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Super-V il Ottobre 17, 2007, 09:54:13
Ho amato questo gioco al tempo, spero tanto di poterlo giocare in Ita *-*
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Chester il Novembre 04, 2007, 14:43:25
Con un piccolo hack a livello di asm ho spostato ed espanso il font (Darkforce aveva preso qualche precauzione :P ), procurandomi lo spazio per le lettere accentate.

Ecco uno screenshot:
(http://img255.imageshack.us/img255/2933/accentiwq8.th.png) (http://img255.imageshack.us/my.php?image=accentiwq8.png)

Intanto la traduzione dei dialoghi procede.

Inoltre Gemini si è offerto volontario (sì, come no :ph34r: ) per il "restauro" dei nomi di luoghi, personaggi e draghi, al fine di renderli più fedeli all'originale giapponese :)
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Sephiroth 1311 il Novembre 04, 2007, 22:39:20
Ottimo!
Ti consiglio poi di aggiungere la È. Al risparmio di byte non c'è mai fine. ;)
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Chester il Novembre 04, 2007, 23:13:01
Aggiunta la È ;)
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Chester il Novembre 17, 2007, 16:13:28
Ho richiesto collaborazione, ma ciò non significa che il progetto non vada avanti ;)
La traduzione dei dialoghi procede, così come l'hacking:

Prima:
(http://img211.imageshack.us/img211/2442/originaleiy2.th.png) (http://img211.imageshack.us/my.php?image=originaleiy2.png)

Dopo:
(http://img219.imageshack.us/img219/9673/schermatanomifl2.th.png) (http://img219.imageshack.us/my.php?image=schermatanomifl2.png)

Aggiunto il supporto per il font modificato (con tanto di accenti per la nuova trascrizione dei nomi dal giapponese) anche nella schermata di scelta dei nomi, inoltre ho spostato la freccia affianco ad "Accept" un po' più a sinistra, per far spazio ad "Accetta", spostato anch'esso :P

Magia nera :ph34r:
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Gemini il Novembre 17, 2007, 16:45:59
Ottimo lavoro. Ti stai dando da fare con quell'assembly. :D
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Chester il Novembre 22, 2007, 16:00:10
CitazioneTi stai dando da fare con quell'assembly.
Decisamente sì:
http://chester.altervista.org/accapo.txt (http://chester.altervista.org/accapo.txt)


Il sogno di ogni traduttore, ritorni a capo automatici :w00t:
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Chester il Dicembre 14, 2007, 23:30:12
(http://img249.imageshack.us/img249/1123/nuovofontdu5.png)
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: mog_tom il Dicembre 14, 2007, 23:38:20
Hai un luminoso futuro innanzi, ragazzo.
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Chester il Dicembre 30, 2007, 11:32:49
Ed ecco a voi... il sistema, ancora sperimentale, per portare i nomi dei personaggi ad un massimo di 10 caratteri, contro gli 8 originali, mediante una codifica/decodifica a 6 bit :w00t:

Prima:
(http://img212.imageshack.us/img212/7334/salmandomh2.png)

Dopo:
(http://img166.imageshack.us/img166/4092/salamanderwy8.png)

Il tutto con l'obiettivo primario della restaurazione dei nomi.
Salmando :ph34r:  
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: mog_tom il Dicembre 30, 2007, 16:11:52
Che problemi ci sono con Salmando? Mi sembra un ottimo uso del gerundio italiano, e credo sia voluta sia da Square che dai Dejap :D
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Chester il Dicembre 30, 2007, 20:13:53
Gemini non è dello stesso avviso :rotolo:

Comunque al massimo credo possa essere "Salamando", ma è senz'altro tagliato in "Salmando" per motivi di spazio.
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Jegriva il Gennaio 21, 2008, 18:10:52
CitazioneChe problemi ci sono con Salmando? Mi sembra un ottimo uso del gerundio italiano, e credo sia voluta sia da Square che dai Dejap :D
Io traudrrei "Belmondo", a sto punto. :lol:  
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Gemini il Gennaio 21, 2008, 18:15:15
Se la matematica non mi inganna, allora potremmo addirittura cambiarlo in Salmant. :idea:
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Chester il Gennaio 22, 2008, 23:05:36
Forse si può arrivare a 11 caratteri per i nomi, per la gioia di Thunderhawk!

Si tratta solo di scrivere un sistema di gestione di interi a 64-bit con un accumulatore di soli 16-bit :P
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Chester il Febbraio 08, 2008, 22:17:16
Ho l'impressione che dovrò mettermi io a tradurre, se si vuol vedere questo progetto terminato :P
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Sephiroth 1311 il Maggio 23, 2008, 22:58:07
Oi, qualche novità?
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Dax il Maggio 24, 2008, 23:40:55
Sì, lo sto traducendo io :)
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Chester il Giugno 05, 2008, 23:02:07
Confermo. La traduzione dei testi è stata presa in mano da Dax che, per quello che ho visto finora, sta facendo un buon lavoro.
Io ho finito con la scuola, e sto rimettendo mano all'hacking.

State tranquilli, non vi ho abbandonato :ph34r:
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Sephiroth 1311 il Giugno 06, 2008, 13:55:27
Ottimo.
Potrebbe essere un settembre molto interessante... ;)
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Chester il Agosto 06, 2008, 02:07:50
Dato che "Thunderhawk" richiede 11 caratteri, mi sono reso conto che la mia codifica a 6-bit (che imponeva un limite di 10) non era sufficiente: l'alternativa è una codifica a base-55, che richiede però un largo uso di operazioni aritmetiche a 64-bit, non nativamente supportate dallo SNES che ha solo un accumulatore a 16-bit e qualche registro per moltiplicazioni e divisioni a 8 e 16 bit.
Dunque possibile, ma "decisamente non facile", e con la possibilità che, anche una volta implementato, risulti lento, o comunque non abbastanza veloce.

In questi giorni, ho scritto una libreria che fornisce pieno supporto alle operazioni a 64-bit sullo SNES.
Ma ciò che è importante, è che ho scritto il nuovo algoritmo di codifica in Assembly 65c816; applicarlo al gioco poi, è stato uno scherzo:

(http://img135.imageshack.us/img135/5822/base55nameselectingfr7.png) (http://img410.imageshack.us/img410/2297/base55dialogsnl8.png)

Scusate la lingua inglese, ma sono stati preparati per il pubblico internazionale :lol:

P.S.
Che ha decisamente apprezzato, anzi oserei dire che è rimasto stupefatto (qualcuno ha riportato forti mal di testa xD):
http://www.romhacking.net/forum/index.php/....html#msg108301 (http://www.romhacking.net/forum/index.php/topic,4801.msg108301.html#msg108301)
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Vecna il Agosto 06, 2008, 11:11:24
Non sono un esperto di programmazione, ma da quello che leggo, quello che hai fatto ha dell'incredibile!
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Chester il Maggio 03, 2010, 11:05:50
Hack al 100% invidiatoci dal mondo intero, DeJap inclusi, ma da parte mia c'è scarsa voglia (nonché tempo) di continuare a tradurlo. Il progetto può considerarsi sospeso fino a quando non si farà vivo qualche volontario *serio*. Mi spiace, ma ho altri progetti in cantiere :ph34r:
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Vivi 86 il Gennaio 16, 2012, 08:23:26
qualcuno può contattare chester personalmente e dirgli di collegarsi al forum?! Ho quasi finito la traduzione del gioco ma è da giorni che non lo vedo su msn (io è da circa un anno che non mi connetto  ;D ) e per email non risponde!
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Chester il Gennaio 17, 2012, 23:04:05
Hai PM.
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Clomax il Gennaio 18, 2012, 09:45:55
urka, news in arrivo? :P
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: arnold101 il Settembre 07, 2017, 16:51:27
Citazione di: Chester il Ottobre 08, 2007, 17:21:27
Ce l'ho fatta :favorevole:

Dopo ore passate in mezzo alle routine di Bahamut Lagoon DeJap, ecco a voi il risultato dei miei sforzi!

(http://img339.imageshack.us/img339/8812/bahamutqw3.th.png) (http://img339.imageshack.us/my.php?image=bahamutqw3.png)


Di seguito spiego molto rapidamente tutti i procedimenti effettuati (l'emulatore utilizzato è il Geiger Snes9x Debugger):

La scoperta del funzionamento dei puntatori
- Una veloce occhiata alla RAM durante la visualizzazione del testo ha confermato che era lì che veniva allocato una volta decompresso, o meglio durante la decompressione;
- Con un breakpoint in lettura all'indirizzo 7FAC46 (l'indirizzo in cui iniziava una frase, quindi al quale avrebbe dovuto puntare il pointer) l'esecuzione si è fermata a quest'istruzione:
$DA/694D B7 2B       LDA [$2B],y[$7F:AC46]   A:0CFF X:0E03 Y:0C46 P:envMxdizC
La quale carica nell'accumulatore il valore contenuto nella posizione equivalente alla somma tra il valore contenuto in $2B e nel registro Y, in tutto 7FAC46. A questo punto appare evidente che, essendo il valore di Y pari a 0C46, $2B contenga 7FA000, ovvero l'indirizzo di partenza dei dati decompressi in RAM (da notare come, a partire da qui e prima dell'inizio del testo, siano memorizzati, tra l'altro, i puntatori). Y rappresenta dunque lo scostamento a partire da questa locazione, ed è quindi con ogni probabilità il puntatore (opportunamente invertito).

La scoperta della tabella degli indirizzi dei blocchi compressi
- Il breakpoint in scrittura per l'indirizzo $7F:A000 ha fermato l'esecuzione su quest'istruzione:
$DA/68CB 8D 80 21    STA $2180  {$7F:A000}   A:A00C X:0000 Y:0003 P:envMxdizc
- Ho steppato fino ad arrivare a un'istruzione che facesse riferimento a un indirizzo della ROM:
$DA/68CE C8          INY                     A:A00C X:0000 Y:0003 P:envMxdizc
$DA/68CF B7 28       LDA [$28],y[$DB:F4B5]   A:A00C X:0000 Y:0004 P:envMxdizc <-----
$DA/68D1 8D 80 21    STA $2180  {$7F:A001}   A:A000 X:0000 Y:0004 P:envMxdiZc
$DA/68D4 C8          INY                     A:A000 X:0000 Y:0004 P:envMxdiZc
$DA/68D5 B7 28       LDA [$28],y[$DB:F4B6]   A:A000 X:0000 Y:0005 P:envMxdizc

L'istruzione indicata dalla freccia carica nell'accumulatore il valore formato dalla somma del contenuto di $28 e di quello di Y, l'indirizzo DBF4B5. Si capisce dal valore della Y che ci si trova già nel bel mezzo della routine di decompressione, e non esattamente all'inizio. Si intuisce quindi che DBF4B5 (somma di $28 + Y) meno 0004 (Y) è uguale a DBF4B1, ovvero la posizione della ROM dal quale il gioco comincia a decomprimere il blocco compresso. Uno sguardo nella posizione della RAM 7E0028 ha confermato questa tesi;

- Una volta invertito il valore DBF4B1 (formato SNES HiRom*), ho ottenuto B1F4DB e l'ho cercato nella ROM tramite un Hexeditor. All'indirizzo 1A8000 (formato PC) ho trovato la tanto cercata tabella che mi permette, modificandola, di espandere la ROM e spostare il testo dove preferisco** :lol:

* L'indirizzo DBF4B1 è in formato SNES HiRom, convertito in formato PC corrisponde a 1BF4B1.

** In realtà, avendo scritto un compressore non è strettamente necessario spostare alcunché. Questa tabella mi è utile soprattutto per trovare gli indirizzi a partire dai quali ha inizio ciascun blocco compresso.

P.S. I primi 2 byte del blocco compresso rappresentano la lunghezza in byte, invertita, del blocco di testo compresso. E' fondamentale che il suo valore sia regolato in modo tale che la sequenza di byte corrisponda in maniera valida a ciascun bit dell'ultimo flag della compressione. Se mancano dei byte per completare la sequenza, è sufficente aggiungere tanti 00 (che ovviamente vanno tenuti in considerazione nel conteggio) quanti sono i byte mancanti.



Se siete interessati e non è chiaro qualche punto (molto probabile visto che l'ho scritto in 10 minuti) chiedete pure :)
tutto sto casino e sta pappardella tecnica e poi hai abbandonato tutto? no comment. E quello che diceva di aver quasi finito di tradurlo, pure lui sparito?
Titolo: Re:[snes] Bahamut Lagoon
Inserito da: Clomax il Settembre 11, 2017, 10:49:08
il progetto è stato spostato da tempo in "progetti abbandonati". ergo: tutto è fermo. la "pappardella tecnica" potrebbe essere utile a chi volesse cimentarsi nella traduzione. avevi veramente bisogno di questa risposta? :P
Titolo: Re: [snes] Bahamut Lagoon
Inserito da: arnold101 il Novembre 14, 2023, 19:15:47
Era ben altro il senso della mia risposta. Trovo super ridicolo che uno che si mette a fare post del genere e poi manco completa la traduzione (ovvero la cosa piu importante)...il colmo😂

Ora ti è chiaro?
Titolo: Re: [snes] Bahamut Lagoon
Inserito da: Clomax il Novembre 20, 2023, 11:52:35
mi è chiaro che sono passati sei anni ma ancora non hai sufficiente apertura mentale da capire che "uno che si mette a fare post del genere e poi manco completa la traduzione" non è ridicolo ma semplicemente ha avuto altro da fare o ha perso l'interesse a farlo. cosa legittima e comprensibile. se non riesci a capirlo e devi giudicare, allora hai un problema.