Ciao a tutti!!!
Sono nuovo di questo campo ma arrivo subito al sodo.
Ho letto varie guide sul ROM hacking ma quasi tutte parlano solo del NES o SNES e non di GB/C.
Non che non mi interessi lo S/NES, ma ci terrei a iniziare con la traduzione di pokemon verde, cosa che avevo in mente di iniziare qualche anno fa ma non mi ci sono più messo.
Il problema è che vorrei tradurre in modo da farlo simile ai suoi fratelli pkmn rosso e blu il che mi costringe ad aumentare lo spazio.
Ho aumentato lo spazio di 512kb e tutto funziona ma adesso arriva il bello.
Credo che riguardi i puntatori (ancora non so come usarli anche se so un pò come funzionano dalla prog in C/C++).
Ho provato ad andare oltre il limite della frase originale ma la ROM nell'emulatore non parte più.
Ecco la prima frase:
Hello!
Welcome to the
world of POKeMON.
Dovrebbe diventare:
Ciao a tutti!
Benvenuti nel
mondo dei POKEMON
Dopo Hello! c'è un byte per andare a capo e mi è bastato spostarlo, ma poi, siccome dopo "Benvenuti nel" il testo deve scorrere in giù c'è un byte diverso e se lo sposto ("Ciao a tutti!" mi allunga la frase) la ROM non parte più.
Vorrei sapere come fare, o almeno su che guide devo andare a studiare :(
Spero di essermi spiegato bene :unsure:
Sinceramente ho provatoa spostare un po' questi byte, ma a me il gioco va.
Ma il problema te lo da solo con quel particolare byte oppure con tutti i byte che visualizzano una nuova finestra di testo?
P.S. Che emulatore usi?
E' un problema che in genere si risolve correggendo il checksum, ma non ho idea di quale utility si possa usare con le rom GB/C.
@Rulesless: Se fosse un problema di cecksum, avrebbe il problema gia Con la prima frase.
Cmq se proprio, proprio:
http://www.zophar.net/trans/transutils/gbsum-1.zip (http://www.zophar.net/trans/transutils/gbsum-1.zip)
@Metal_neo: Un semplice "Ciao" basterebbe pure ;)
Sei sicuro che ci sia un solo byte tra la fine di "Welcome to the" e l'inizio di "world of POKeMON."? Posso immaginarmi che ci siano + byte per fare quella funzione.
Io avevo cominciato una trad per GBC...
Era WarioLand 3...
Purtroppo, non sono traduzioni "facili", visto che è stato fatto molto poco rispetto ai suoi fratelli (vedi GBA) a livello di debugger, tool e decompressioni...
Se sposti un byte e non parte più nulla (come spesso accadeva a me), si vede che sei andato o aspostare un byte di "sistema" o sei andato a scriverci sopra...
A me capitava sempre con le modifiche grafiche...
Finché non ho beccato la compressione (che poi mi ha fatto smettere)...
A me il testo era completamente mixato nel codice e le frasi non erano consecutive, ma come se fossero inglobate nel codice...
Studia bene le varie combinazioni e controlla tutti i byte di fine frase per vedere bene quli siano i loro valori...
Citazioneè stato fatto molto poco rispetto ai suoi fratelli (vedi GBA) a livello di debugger
Ma anche no (e qui vedo già ev0 che parte con la sua faccina preferita [:brucelee:] per controbattere). Per gbc ci sono due debugger ottimi: no$gbc e bgb (miglior emulatore in circolazione che io sappia). Direi che per fare hack con i fiocchi sono più che sufficienti questi due.
:brucelee: lol :lol:
già gem ;) bgb è il migliore che esista e ha praticamente tutto (fa anche il caffé :D), il no$ può servire quando devi farti parti di gioco a tutta velocità per poi debuggare un punto esatto (c'è un'impostazione nelle opzioni della cpu...).
senza contare i vari assembler etc tipo WLADX (open source l'ho modificato leggermente per Star Ocean per esempio) tramite questo si possono inserire anche grafica etc come binari insieme al codice direttamente nella rom, con macro e compagnia... esistono poi disassemblers ottimi per estrarre pezzi di codice, senza contare tutto il resto delle risorse esistenti per gb/c che sono una marea
compressioni? http://devrs.com/gb/asmcode.php#asmcomp (http://devrs.com/gb/asmcode.php#asmcomp)
e poi c'è la mia guida sulle compressioni su gb...
non continuo altrimenti dilago e vado OT :P
Scusate se non ho risposto ma pensavo che mi arivasse un e-mail di notifica :rolleyes:.
Come emulatore uso il "VisualBoyAdvance Emulator V 1.8.0" con l'emulazione del wireless adapter etc, etc (non credo che nel '95 ci fosse il wireless o tanto meno il GBA :P).
Scusa, ma stai usando la traduzione dei VidaTrans/Train come base? :S Non ricordo proprio Green tradotto ufficialmente. O_o
Il checksum me lo sistema thingyv don la sua funzione apposita.
Purtoppo come ha detto mentz ho beccato una rom che se sposti appena qualcosa non parte proprio niente (sto cercando il no$gbc ora).
Temo che la rom non sia fatta tanto bene poi, già è stata tradotta dal jappo (unica versione originale che la nintendo abbia fatto) all'inglese se poi aggiungiamo il fatto che il gioco è stato fatto tanto per fare dato che è stato sostituito dopo poco con pokemon blu.
Il fatto che sia già tradotto mi facilità il compito perchè sto trovando molti spazi vuoti ma non sempre mi bastano :o
Se dovessi ricominciare dall'inizio, andrei subito a farmi la TBL, e fin lì ci siamo, non ho trovato nessunissima difficolta :D, ma poi? :blink:
sono alle prime armi ma il mio fiuto mi dice che centrano i puntatori e anche se in teoria so come funzionano in pratica non so nemmeno da dove iniziare :smadonno:
Scusate ancora se rispondo così tardi :preghiera:
Citazione@Rulesless: Se fosse un problema di cecksum, avrebbe il problema gia Con la prima frase.
Cmq se proprio, proprio:
http://www.zophar.net/trans/transutils/gbsum-1.zip (http://www.zophar.net/trans/transutils/gbsum-1.zip)
@Metal_neo: Un semplice "Ciao" basterebbe pure ;)
Sei sicuro che ci sia un solo byte tra la fine di "Welcome to the" e l'inizio di "world of POKeMON."? Posso immaginarmi che ci siano + byte per fare quella funzione.
Scusate se accavallo le risposte una sull'altra ma ho decine di schede aperte e non riesco stare dietro a tutto :P
Il testo con thingyv mi si presenta così:
[03][00]Hello! [a capo]
Welcome to the [il testo scorre in basso]
world of POKeMON. [58][00]
This world is [a capo]
inhabited bla bla [etc etc]
Prima di ogni frase mi sembra che cia sempre il byte con [00], credo che indichi l'inizio della frase.
Il byte appena davanti centra qualcosa con i puntatori (scusate se ci sono fissato ma non so ancora cosa sono anche se li stò studiando)
PS
Ho letto che la differenza tra rom S/NES e GB/C è il modo con cui si calcolano i puntatori.
E' vero? Così potrei leggermi tranquillamente il materiale sulle rom S/NES dato che in giro i siti dedicati al rom hacking del GB/C si contano sulle dita e non tutti i prog mi funzionano
La mia versione di pokémon Grenn comincia così.
It's our first
meeting. Welcome to
the world of
pokémon.
PS. Anche se non va a capo in questa maniera, anzi le parole vanno a capo come se fossero state scritte da un babbuino, esempio:
It's our fi
rst meeting. Wel
come to the wo
rld fo pokémon
P.P.S. per pulire la finestra del testo usa [55] e usa solo questo e non [55][00]
Ufficialmente non risulta neanche a me che sia stato tradotto. La mia è la traduzione di VIDA.
Credo che sia bacata però (se non sbaglio solo con questa rom che ho scaricato) perchè l'inizio e rovinato :(
C'è nidorino che si muove a casaccio su tutto lo schermo invece di caricare e attacare ma quella è un'altra storia....
Oggi a scuola (che bello andare a scuola :D ) ho provato a fare un pò di tentativi e mi sono riletto meglio alcune guide.
Ho ripassato la guida di AnusP sui puntatori e (anche se non è mi è ancora chiaro) pensavo di spostare TUTTO il testo tradotto in fondo alla rom che ho espanso di 512k (ma mi sa che così la rom peserà un paio di mega :pensieroso: , ma ancora non ho capito come campiare i puntatori (per trovarli credo di riuscirci ma non so che valori devo spostare/cambiare)
Evita di lavorare sulla traduzione dei Vida. Oltre ad essere parecchio incompleta è pure piena di bug.
Per quanto riguarda i puntatori, mi pare siano infilati nel bel mezzo dello script degli eventi, per cui localizzarli e modificarli non è proprio il massimo della semplicità...
CitazioneEvita di lavorare sulla traduzione dei Vida. Oltre ad essere parecchio incompleta è pure piena di bug.
Per quanto riguarda i puntatori, mi pare siano infilati nel bel mezzo dello script degli eventi, per cui localizzarli e modificarli non è proprio il massimo della semplicità...
Conosci altre traduzioni fatte bene(sempre in inglese, ci tengo a tradurla io ma fin ora non ho trovato patch o rom in ita)?
L'idea di iniziare col jappo, non so, mi inquieta :blink: .
Per iniziare col jappo sai consigliarmi qualcosa?
Alcune guide che ho letto consigliano di comprare dei libri ma per ora penso di acquistare libri su asm x86 e approfondire l'argomento come si deve per poi passare all'hacking a basso livello delle rom gb/c (sono matto per il gb/c/a ma penso di inizare a hackerare le rom s/nes)
CitazioneConosci altre traduzioni fatte bene(sempre in inglese, ci tengo a tradurla io ma fin ora non ho trovato patch o rom in ita)?
L'idea di iniziare col jappo, non so, mi inquieta :blink: .
Patch decenti per Green non sono mai esistite. Ti consiglio di prendere la rom liscia, inserire un bel font occidentale e di cambiare i dialoghi prendendoli direttamente dalla rom italiana di Rosso o Blu. Lascia stare Vida Trans e fregnacce varie, sarebbero solo una grossa perdita di tempo. :/
CitazionePer iniziare col jappo sai consigliarmi qualcosa?
Un bel corso all'università. :P
CitazioneAlcune guide che ho letto consigliano di comprare dei libri ma per ora penso di acquistare libri su asm x86 e approfondire l'argomento come si deve per poi passare all'hacking a basso livello delle rom gb/c (sono matto per il gb/c/a ma penso di inizare a hackerare le rom s/nes)
Perché iniziare dallo x86 se poi vuoi lavorare su processori totalmente diversi? O_o Fossi in te partirei direttamente con qualche esperimento sul codice z80 modificato del Gameboy.
allora inizierò col la rom originale 100% :blink:
Ma per iniziare una traduzione jap->ita da dove inizio?
Col loro set di caratteri devono usare 2 byte per caraterre (unicode praticamente).
Tenendo conto del fatto che ho già i testi (basta copiarli spurodatamente da pokemon rosso o blu) da dove inizio?
Cioè mi basterebbe vedere i caratteri dove stanno e ci passo sopra senza tanti problemi.
Spero di non avere problemi con la trad dato che devo sovrascrivere caratteri a 2 byte con quelli a 1 byte occidentali, però il problema e sempre quello di sapere dove scrivere :unsure:
Intanto spero di trovare green in jap da qualche parte...le pochissime versioni che ci sono sono per la maggiorparte in eng e poi la nintendo ha avuto la bella idea di chiamare le ultime versioni rosso fuoco e
verde foglia :furioso: e se di rosso e blu si vede si e no l'ombra figuriamoci il rarissimo verde, mah
CitazionePerché iniziare dallo x86 se poi vuoi lavorare su processori totalmente diversi? O_o Fossi in te partirei direttamente con qualche esperimento sul codice z80 modificato del Gameboy.
Mi piace abbastanza programmare, cmq mi sono scaricato la guida sull'asm GB di ev0 e me la sto studiando per bene :favorevole:
CitazioneSpero di non avere problemi con la trad dato che devo sovrascrivere caratteri a 2 byte con quelli a 1 byte occidentali, però il problema e sempre quello di sapere dove scrivere :unsure:
Il gioco non usa proprio 2 byte per carattere. Stiamo parlando di una cosetta per GB che ha giusto un kanji (Yen) e fa tutto il resto in kana, eh.
CitazioneSpero di non avere problemi con la trad dato che devo sovrascrivere caratteri a 2 byte con quelli a 1 byte occidentali, però il problema e sempre quello di sapere dove scrivere
Saresti inceppato nello stesso problema anche con la versione fognosa Vida Trans, visto che oltre un certo punto i testi finiscono di essere "tradotti" e il gioco spara fuori cose insensate.
impara direttamente l'asm del gb che + semplice non si può...
l'architettura x86 come già detto da gemini è totalmente differente...
nn partire nenache dallo z80, che ci sono cose che poi potrebbero darti fastidio quando passi all'asm del gb tipo sul z80 prima di tutto c'è la modalità di indirizzamento indicizzata che non esiste su gb, i registri su gb sono solo a,b,c,d,e,f,pc,ip non c'è x (e y?) come su z80 poi su gb c'è la mitica istruzione SWAP :brucelee:, lascia perdere snes/nes che ti ritroveresti solo nei casini con quella fogna di gestione della VRAM...
se vuoi cominciare con il gb ci sono tantissimi posti da cui iniziare, le mie guide qui forse ce ne è solo una ma sono tre + la prima anche tradotta in inglese (aggiorna il pacchetto clomax :D)
http://www.romhacking.net/docs/gb_asmhk.zip (http://www.romhacking.net/docs/gb_asmhk.zip)
devrs.com sezione gb, poi cerca in giro GALP e le lezioni di DuoDreamer, poi il materiale che c'è in giro su gb/c è pazzesco, se guardi sul sito del NO$GMB troverai il miglior documento sull'hardware gb, usa google e troverai una marea di roba...
c'erano anche un paio di lezioni su altri siti, ti consiglio poi di cominciare con WLADX invece che con RGBASM, è molto più flessibile ;)
scusate la lunghezza del post :)
Citazioneimpara direttamente l'asm del gb che + semplice non si può...
l'architettura x86 come già detto da gemini è totalmente differente...
nn partire nenache dallo z80, che ci sono cose che poi potrebbero darti fastidio quando passi all'asm del gb tipo sul z80 prima di tutto c'è la modalità di indirizzamento indicizzata che non esiste su gb, i registri su gb sono solo a,b,c,d,e,f,pc,ip non c'è x (e y?) come su z80 poi su gb c'è la mitica istruzione SWAP bruce.gif, lascia perdere snes/nes che ti ritroveresti solo nei casini con quella fogna di gestione della VRAM...
se vuoi cominciare con il gb ci sono tantissimi posti da cui iniziare, le mie guide qui forse ce ne è solo una ma sono tre + la prima anche tradotta in inglese (aggiorna il pacchetto clomax biggrin.gif)
http://www.romhacking.net/docs/gb_asmhk.zip (http://www.romhacking.net/docs/gb_asmhk.zip)
In questi giorni ho fatto un pò di esperimenti e siccome ci tengo a tradurre questa rom in particolare (in quanto hacker e appasionato di pkmn :lol: ) inierò a smanettare a basso livello.
Ho già scaricato e stampato la guida di Syxtem e le tue tre guide.
Mi deve arrivare IDA Pro perchè a 56k non ci penso proprio a scaricarlo :P
Citazionescusate la lunghezza del post smile.gif
Credo che post come questi siano molto utili, a me e a tutti ;)
non c'è bisogno di ida per forza, esistono altri disassembler free ottimi, alcuni su devrs altri su romhacking.net:
gbdis di Jeff Frohwein, DiZ GameBoy Disassembler v1.1 di HeroZero/Oldskool, GbAsmEdit di jigglypuff, il disassembler incluso con WLADX, Titan di dox e altri, ti assicuro che ida non ti serve (e se non erro solo la ver. professional include il supporto per z80-gb). per qualsiasi cosa che ti serve fammi sapere ;)
Citazionenon c'è bisogno di ida per forza, esistono altri disassembler free ottimi, alcuni su devrs altri su romhacking.net:
gbdis di Jeff Frohwein, DiZ GameBoy Disassembler v1.1 di HeroZero/Oldskool, GbAsmEdit di jigglypuff, il disassembler incluso con WLADX, Titan di dox e altri, ti assicuro che ida non ti serve (e se non erro solo la ver. professional include il supporto per z80-gb). per qualsiasi cosa che ti serve fammi sapere wink.gif
Mi danno un non so quale errore di runtime questi prog :lol:
bho a me non danno mai problemi se mi dici esattamente che errore ti danno (tutti? impossibile :|) vedrò di darti una mano.
GBDIS mi da questo errore:
Runtime error 200 at 021D:0091 :pensieroso:
perchè è scritto in pascal, fallo runnare in DosBox
oppure: http://www.oelli-online.de (http://www.oelli-online.de) dovrebbe esserci una versione windows.
poi usa quello del WLA che è megliooooooooooo! ciauz
Ho trovato IDA Pro funzionante!!
Adesso sono torchio con gli esami ma sto già iniziando a muovermi :brucelee:
non mi rubare lo smile o ti mando contro il mio esercito di gb/c :brucelee: xD