Aiuto - Cerca - Utenti - Calendario
Versione completa: Sorgenti rom pokemon
.: GBArl.it :. News sulle Console Nintendo - Emulazione - Flash Cards - Trainer > Discussioni Console Nintendo > Discussioni GameBoy Advance e GB/GBC > Utilità GBA
Pagine: 1, 2
orochimaru 91
Ciao ragazzi , sono nuovo , volevo sapere se c'è un modo per ricavare i sorgenti da una rom gba(pokemon verde foglia o pokemon rosso del 1996).....
(Ho anche il gioco originale)
Grazie
DBB
i sorgenti no, sono strettamente chiusi negli hard disk nintendo. al massimo puoi hackerare la rom ma non saprai mai come hanno scritto il gioco.

questione di copyright nulla di piu, non e' che nintendo non vuole darteli, semplicemente non vogliono farsi fregare il gioco...
orochimaru 91
ma le rom qualcuno le scrive ........
Non devono avere i sorgenti ki le scrive ?
Leon89
Guarda che le rom non si "scrivono", si "dumpano"... Nel senso: non è che c'è un programmatore che si mette al pc e da 0 ricrea il gioco e compila la rom... Gli unici che hanno i sorgenti sono proprio gli sviluppatori: loro compilano la rom e la mettono su cartuccia originale, poi tu prendi la cartuccia originale e dumpi la rom sul tuo pc... Ecco perchè non esiste chi "scrive" le rom: le rom vengono "dumpate" e basta.
Auronis
CITAZIONE (orochimaru 91 @ Thursday 20 March 2008 - 13:19) *
ma le rom qualcuno le scrive ........
Non devono avere i sorgenti ki le scrive ?


No le ROM, non vengono scritte, ma bensì "lette", dalla cartuccia originale smile.gif
Thebigb
In poche Parole :

Nintendo -> Sorgenti -> Programmatore -> Gioco -> Cartuccia
Cartuccia -> Copia -> Incolla
spero di esserti stato di aiuto grog.gif
blaze87
Oddio.
Dire il sorgente della rom, del dump, o della cartuccia originale è la medesima cosa, in quanto tutte e 3 si riferiscono allo stesso gioco, e alla base di tutte e 3 c'è un codice sorgente scritto da qualcuno.
Orochimaru chiedeva il codice sorgente del gioco.
Ti rispondo che è impossibile averlo,a meno di un mostruoso intervento di reverse engineering, anche se dubito si riesca ad ottenere un codice sorgente da un prodotto finale.
Xargon
Oppure devi fartelo vendere dalla nintendo
blaze87
CITAZIONE (Xargon @ Thursday 20 March 2008 - 14:20) *
Oppure devi fartelo vendere dalla nintendo


Di sicuro li vanno a vendere olee.gif
Xargon
Fidati che se gli offro una somma equivalente al fatturato degli ultimi 6 anni accettano xD
Jackinstoon
CITAZIONE (Xargon @ Thursday 20 March 2008 - 14:47) *
Fidati che se gli offro una somma equivalente al fatturato degli ultimi 6 anni accettano xD


LOL.... Oppure se accendi il tuo nintendo ds con la tua somma Acerkard/R4/M3 fai partire Animal Crossing e dalla tasca fai uscire la macchina del tempo... Poi apri il Ds e la estrai e gli fai avere tutte le dritte e console del futuro... LOL...
oppure mandi un Vairus all pc di Myamoto.
orochimaru 91
ah , ho capito ..............
Quindi non c'è proprio il modo
spero ke li rilasceranno un giorno ..........
Ke rabbia angry.gif angry.gif
La mia intenzione er a quella di riscriverlo in 3d ,
visto ke loro in 3d non fanno niente di bello rispetto ai giochi delle console portatili
(per quanto riguarda pokemon) .........................
orochimaru 91
CITAZIONE (blaze87 @ Thursday 20 March 2008 - 14:02) *
Oddio.
Dire il sorgente della rom, del dump, o della cartuccia originale è la medesima cosa, in quanto tutte e 3 si riferiscono allo stesso gioco, e alla base di tutte e 3 c'è un codice sorgente scritto da qualcuno.
Orochimaru chiedeva il codice sorgente del gioco.
Ti rispondo che è impossibile averlo,a meno di un mostruoso intervento di reverse engineering, anche se dubito si riesca ad ottenere un codice sorgente da un prodotto finale.


Cosa vuoi dire con "un mostruoso intervento di reverse engineering"
C'è qualche speranza ?
.:Just:.
CITAZIONE (orochimaru 91 @ Thursday 20 March 2008 - 16:18) *
ah , ho capito ..............
Quindi non c'è proprio il modo
spero ke li rilasceranno un giorno ..........
Ke rabbia angry.gif angry.gif
La mia intenzione er a quella di riscriverlo in 3d ,
visto ke loro in 3d non fanno niente di bello rispetto ai giochi delle console portatili
(per quanto riguarda pokemon) .........................

Forse mi sbaglio, ma mi sa che così facendo correresti dei seri rischi per quanto riguarda il copyright...
blaze87
CITAZIONE (orochimaru 91 @ Thursday 20 March 2008 - 16:21) *
Cosa vuoi dire con "un mostruoso intervento di reverse engineering"
C'è qualche speranza ?


No, non credo ci possano essere speranze, mettiti il cuore in pace wink.gif
uriel7
CITAZIONE (orochimaru 91 @ Thursday 20 March 2008 - 16:21) *
Cosa vuoi dire con "un mostruoso intervento di reverse engineering"
C'è qualche speranza ?


no.


nintendo non ha MAI reso freeware qualche suo sorgente... anzi, cerca di sfruttare a più non posso pure i titoli vecchi di vent'anni (virtualconsole anyone?), indi penso che un'eventualità del genere si possa pure cancellare tra TUTTE le ipotesi possibili, soprattutto quando il marchio in questione inizia con "P" e finisce per "okemon".

sufficentemente chiaro?


ah! sei sicuro che saresti in grado di riproporlo in 3D meglio di quanto abbian saputo fare "loro"?
con quali "credenziali"?


senza contare il fatto che un gioco come pokemon non so quanti e quali vantaggi potrebbe trarre da una grafica poligonale...
long17
CITAZIONE (orochimaru 91 @ Thursday 20 March 2008 - 16:21) *
Cosa vuoi dire con "un mostruoso intervento di reverse engineering"
C'è qualche speranza ?

Che poi scusa...il 3d non lo hanno usato su pokémon perla e diamante?(almeno sulle case)
long17
CITAZIONE (orochimaru 91 @ Thursday 20 March 2008 - 16:21) *
Cosa vuoi dire con "un mostruoso intervento di reverse engineering"
C'è qualche speranza ?

Che poi scusa...il 3d non lo hanno usato su pokémon perla e diamante?(almeno sulle case)
orochimaru 91
CITAZIONE
ah! sei sicuro che saresti in grado di riproporlo in 3D meglio di quanto abbian saputo fare "loro"?
con quali "credenziali"?

CITAZIONE
senza contare il fatto che un gioco come pokemon non so quanti e quali vantaggi potrebbe trarre da una grafica poligonale...

l'avrei voluto tenere per me ..............
e poi i vantaggi si traggono perchè se uscisse un gioco in 3d basato sulle vecchie storie se lo comprerebbero tutti........
e cmq non son riusciti a scriverlo il 3d proprio perché hanno voluto farlo rimanere sulle console portatili .
io volevo scriverlo solo per me e solo per pc
orochimaru 91
CITAZIONE
e poi i vantaggi si traggono perchè se uscisse un gioco in 3d basato sulle vecchie storie se lo comprerebbero tutti........


naturalmente se lo scriverebbe la nintendo
blaze87
Tanto i linguaggi di basso livello sono facili ph34r.gif
Scusa ma con che linguaggio lo volevi riscrivere?
Guarda che fai prima a creartelo da zero huh.gif
zanna
beh non ti è necessario il sorgente per ricreare il gioco in tredì, ti basta essere capace di creare un gioco.

http://www.opcoder.com/projects/chrono/
Leon89
blink.gif

CITAZIONE
La mia intenzione er a quella di riscriverlo in 3d ,
visto ke loro in 3d non fanno niente di bello rispetto ai giochi delle console portatili


Cioè, è come se tu dicessi: "chi è che mi dà i fogli del progetto della Torre Eiffel? La mia intenzione era quella di ricostruirla usando il groviera, visto che Eiffel in groviera non ha mai costruito niente"

Io pensavo che tu volessi i sorgenti per, che so, rippare sprites oppure fare una hack rom... Ma addirittura riscrivere i giochi in 3D? o_o

E comunque, come dice Zanna, non è necessario conoscere i sorgenti per creare un gioco in 3D. Sei bravo a programmare in 3D? Allora crea un motore grafico 3D, programma un motore di battaglia convincente e simile a quello dei giochi originali e stai attento a riproporre menù e schermata status eccetera fedeli all'originale. Una volta fatto questo, non ti resterà che programmare il gioco vero e proprio seguendo la storia di Pokémon Rosso o VerdeFoglia. Se proprio vuoi qualche aiutino, su GameFAQs e sui siti specializzati come Serebii troverai una gran quantità di informazioni utili (text dump, lista di tutti gli oggetti e di tutti i Pokémon con relative statistiche, eccetera).

Ah, e dimenticavo: buona fortuna, se davvero vorrai cimentarti in tutto questo! wink.gif
Xargon
Come hanno fatto monster joker ke è in 3d potevano fare anche pokemon, ovviamente ic sono piu mostri ma basta metterlo su un supporto di cartuccia maggiore e/o con un eventuale espansione ram anche se cmq a monster joker non è servita.
Leon89
Xargon, hai un codice amico di Diamante nella firma e quindi suppongo che hai giocato a questo gioco... Secondo te, ha la stessa complessità di DQM? Immagina solo che ci sono più di 450 modelli in 3D da fare, e ogni Pokémon ha almeno 2 tipi di texture (una normale e una per gli shiny)... Aggiungile a MOLTE altre cose e vedrai che Pokémon D/P NON poteva essere tutto in 3D.

Altra cosa, ma pensate tutti davvero che per ogni problema come questo (Pokémon D/P in 3D) basti un'espansione RAM? Quegli aggeggi non fanno altro che dare 4 MB di RAM (Random Access Memory) al DS, mica fanno miracoli o servono per contenere altri dati eh!
gioacchino
e di sicuro non fanno una nuova console più potente per la felicità di poche persone e per un solo gioco
Xargon
CITAZIONE (Leon89 @ Thursday 20 March 2008 - 19:50) *
Xargon, hai un codice amico di Diamante nella firma e quindi suppongo che hai giocato a questo gioco... Secondo te, ha la stessa complessità di DQM? Immagina solo che ci sono più di 450 modelli in 3D da fare, e ogni Pokémon ha almeno 2 tipi di texture (una normale e una per gli shiny)... Aggiungile a MOLTE altre cose e vedrai che Pokémon D/P NON poteva essere tutto in 3D.

Altra cosa, ma pensate tutti davvero che per ogni problema come questo (Pokémon D/P in 3D) basti un'espansione RAM? Quegli aggeggi non fanno altro che dare 4 MB di RAM (Random Access Memory) al DS, mica fanno miracoli o servono per contenere altri dati eh!

Si p7uò arrivare fino a 32 volendo, ma cmq non è quello il problema, sei modelli possono essere caricati tutti su una cartuccia, quella potrebbe essere da molto spazio.
A dirla grossa 4 giga... ci riesce una flashcard comune, perchè non dovrebbe reiuscire quella? e poi ti ricordo che i combattimenti sono al massimo 2 contro 2 quindi bisogna caricare in ram solo 4 mostri alla volta...
Leon89
CITAZIONE (Xargon @ Thursday 20 March 2008 - 20:44) *
Si p7uò arrivare fino a 32 volendo, ma cmq non è quello il problema, sei modelli possono essere caricati tutti su una cartuccia, quella potrebbe essere da molto spazio.
A dirla grossa 4 giga... ci riesce una flashcard comune, perchè non dovrebbe reiuscire quella? e poi ti ricordo che i combattimenti sono al massimo 2 contro 2 quindi bisogna caricare in ram solo 4 mostri alla volta...


Ma il problema non è la RAM! E' lo spazio fisico sulla cartuccia! Il massimo "standard" per le cartucce DS è 1 GBit = 128 MB (solo A.S.H. occupa 2 Gbit = 256 MB). DQM occupa 1 Gbit e ha 1/10 dei mostri presenti in Diamante e Perla, senza contare il numero di NPC che per comodità fissiamo uguale per entrambi i giochi. Inoltre D/P hanno quasi 500 attacchi, ognuno con le proprie animazioni ripetute moltissime volte - prendi ad esempio Lanciafiamme che ha un'animazione per: il tuo Pokémon che attacca l'avversario, l'avversario che attacca te, il tuo Pokémon a sinistra che colpisce il Pokémon avversario alla sinistra in 2vs2, il tuo Pokémon a sinistra che colpisce il Pokémon avversario alla destra sempre in 2vs2, stessa cosa per il tuo Pokémon a destra e stessa cosa per ognuno dei Pokémon avversari. Fai il conto: un semplice attacco come Lanciafiamme ha 1+1+2+2+2+2= ben 10 animazioni differenti! Che comunque dovresti rendere in 3D e non in 2D (molto più semplice).

Hai parlato di flashcard: sono un ignorante in campo, ma sicuramente usano un sistema di allocazione file diverso da quello delle cartucce originali- Pokémon Battle Revolution fa piantare il DS quando prova a leggere i dati contenuti in un Pokémon Diamante/Perla su flashcard, credo proprio per questo motivo. Ecco perchè i 4 GB di una MicroSD HC non possono essere confrontati coi 128 MB di una cartuccia: non sarebbe possibile fare una cartuccia da 4 GB!
long17
Scusate ma siete sicuri che queste cose che ha detto oroshimaru siano legali?
Beccoblu
CITAZIONE (orochimaru 91 @ Thursday 20 March 2008 - 16:18) *
La mia intenzione er a quella di riscriverlo in 3d ,
visto ke loro in 3d non fanno niente di bello rispetto ai giochi delle console portatili
(per quanto riguarda pokemon) .........................

ah ok, una cosa semplice
ma con "scriverlo in 3d" vuoi dire usando le letterone di plastica magnetiche?

CITAZIONE (long17 @ Thursday 20 March 2008 - 21:43) *
Scusate ma siete sicuri che queste cose che ha detto oroshimaru siano legali?

e soprattutto che non siano una vaccata :-)

Per cortesia NIENTE doppi post, usiamo il tasto EDITA, grazie. -nd Dragon Chan
orochimaru 91
CITAZIONE (blaze87 @ Thursday 20 March 2008 - 16:48) *
Tanto i linguaggi di basso livello sono facili ph34r.gif
Scusa ma con che linguaggio lo volevi riscrivere?
Guarda che fai prima a creartelo da zero huh.gif


Volevo scriverlo in c++
Xargon
Beh leon se venisse progettato come un homebrew però "ufficiale" e nn come un gioco a cui siamo abituati sarebbe possibilissimo smile.gif
Leon89
Xargon scusa, la Nintendo ha dichiarato battaglia alle flashcard e tu dici che i programmatori Nintendo (quelli che fanno Pokémon) devono programmare una sorta di gioco homebrew "ufficiale" in 3D? La vedo impossibile a dir poco, è come se chiedessi al Papa di cambiare il nome ufficiale di Dio in Allah pinch.gif
Suandra
ma lui era partito con una conversione in 3d di pokemon rosso per uso personale e per pc. perchè siamo arrivati a pokemon d/p in 3d su ds come homebrew "ufficiale"?
danguru
CITAZIONE (orochimaru 91 @ Thursday 20 March 2008 - 16:18) *
ah , ho capito ..............
Quindi non c'è proprio il modo
spero ke li rilasceranno un giorno ..........
Ke rabbia angry.gif angry.gif
La mia intenzione er a quella di riscriverlo in 3d ,
visto ke loro in 3d non fanno niente di bello rispetto ai giochi delle console portatili
(per quanto riguarda pokemon) .........................

Mo non è per dire qualcosa,come pretendi di convertire un gioco in 3d se non sai cosa significa la compilazione?

tutto quello che parte su qualsiasi macchina è compilato,solo i programmi in qbasic venivano compilati al volo e forse qualche altro sistema, in pratica la compilazione è la traduzione di un linguaggio( c, c++ ecc) in linguaggio hardware ,quindi binario ( 000111001011010 ) si può sempre ripassare a sorgente ,solo se si hanno le traduzioni esatte ( cioè il devkit e le librerie usate dal programma) oltretutto è un lavoro a tempo indeterminato.....

cmq se vuoi farti un gioco in 3d incomincia a studiarti il c e c++ e le varie compilazioni, dopo passi ad usare le librerie grafiche come directx o opengl...se invece vuoi saltare parecchie fasi ,comprati un motore grafico come quello di www.profenix.com (creato da un Team Italiano ,se compri l'assistenza ti staranno parecchio dietro e ti aiuteranno al gioco) , un'altro consiglio per capire la metodologia di game ,scaricati e prova gamemaker
www.gamemaker.nl


Ritornando a Pokémon D/P ,sono stati fatti in 2d i pokèmon solo per motivi di Tempo,dover realizzare tutti quei i modelli in lowpoly avrebbe impiagato troppo tempo,senza considerare il risultato grafico...se guardate Spectocrobes è praticamente tutto in 3D, non è questione di spazio di Rom,perchè le texture non occupano tanto, e sopratutto i modelli,il vero problema erano le animazioni....
La macchina supporta tranquillamente un 3D pari a quello del N64, e sappiamo dei vari pokemon Stadium.....
Ripeto la scelta è stata logistica e tempistica,hanno pensato di puntare sull'on-line e sul gameplay , e su questo lato sono d'accordo, se il DS fosse stato un PSP allora avrei pensato diversamente
orochimaru 91
CITAZIONE (danguru @ Saturday 22 March 2008 - 05:33) *
Mo non è per dire qualcosa,come pretendi di convertire un gioco in 3d se non sai cosa significa la compilazione?

tutto quello che parte su qualsiasi macchina è compilato,solo i programmi in qbasic venivano compilati al volo e forse qualche altro sistema, in pratica la compilazione è la traduzione di un linguaggio( c, c++ ecc) in linguaggio hardware ,quindi binario ( 000111001011010 ) si può sempre ripassare a sorgente ,solo se si hanno le traduzioni esatte ( cioè il devkit e le librerie usate dal programma) oltretutto è un lavoro a tempo indeterminato.....

cmq se vuoi farti un gioco in 3d incomincia a studiarti il c e c++ e le varie compilazioni, dopo passi ad usare le librerie grafiche come directx o opengl...se invece vuoi saltare parecchie fasi ,comprati un motore grafico come quello di www.profenix.com (creato da un Team Italiano ,se compri l'assistenza ti staranno parecchio dietro e ti aiuteranno al gioco) , un'altro consiglio per capire la metodologia di game ,scaricati e prova gamemaker
www.gamemaker.nl


Guarda so cos'è la compilazione ,conosco gran parte del linguaggio C e sto imparando il c++,
cmq la speranza stava nel fatto delle rom , non sapevo ke venivano copiate dalle cartucce.......
Keter Sephirot
CITAZIONE (orochimaru 91 @ Saturday 22 March 2008 - 13:22) *
Guarda so cos'è la compilazione ,conosco gran parte del linguaggio C e sto imparando il c++,
cmq la speranza stava nel fatto delle rom , non sapevo ke venivano copiate dalle cartucce.......


Quando vedo frasi del genere non posso fare che sorridere...
La frase "Conosco gran parte del linguaggio C" non è esattamente una frase che userebbe un programmatore C in grado di creare un engine 3d.
Cmq per avere idea della complessità MOSTRUOSA di un gioco 3d dai un'occhiata ai sorgenti di DooM o di Quake (disponibili in rete da diversi anni sotto licenza GPL).

Per un progetto simile al tuo cmq è molto più comodo partire dal sorgente di un gioco 3d ed implementare su di esso la storia dei primi giochi di pokemon piuttosto che aprtire dal codice sorgente dlela versione 2d e trasformare tutto l'engine...

Anche se a mio modestissimo parere un lavoro del genere non vale assolutamente la pena.
Tanto vale pensare ad un gioco completamente originale da zero (e evitare problemi di licenza e relative chiusure forzate come successo per il remake di Chrono Trigger o per Bid For Power).

Personalmente come Engine 3d Open Source in C++ ti consiglio quello di Quake 3 Arena che eprmette di fare davvero emraviglie!
Brisma
CITAZIONE (Leon89 @ Thursday 20 March 2008 - 22:00) *
Ma il problema non è la RAM! E' lo spazio fisico sulla cartuccia! Il massimo "standard" per le cartucce DS è 1 GBit = 128 MB (solo A.S.H. occupa 2 Gbit = 256 MB). DQM occupa 1 Gbit e ha 1/10 dei mostri presenti in Diamante e Perla, senza contare il numero di NPC che per comodità fissiamo uguale per entrambi i giochi. Inoltre D/P hanno quasi 500 attacchi, ognuno con le proprie animazioni ripetute moltissime volte - prendi ad esempio Lanciafiamme che ha un'animazione per: il tuo Pokémon che attacca l'avversario, l'avversario che attacca te, il tuo Pokémon a sinistra che colpisce il Pokémon avversario alla sinistra in 2vs2, il tuo Pokémon a sinistra che colpisce il Pokémon avversario alla destra sempre in 2vs2, stessa cosa per il tuo Pokémon a destra e stessa cosa per ognuno dei Pokémon avversari. Fai il conto: un semplice attacco come Lanciafiamme ha 1+1+2+2+2+2= ben 10 animazioni differenti! Che comunque dovresti rendere in 3D e non in 2D (molto più semplice).

Hai parlato di flashcard: sono un ignorante in campo, ma sicuramente usano un sistema di allocazione file diverso da quello delle cartucce originali- Pokémon Battle Revolution fa piantare il DS quando prova a leggere i dati contenuti in un Pokémon Diamante/Perla su flashcard, credo proprio per questo motivo. Ecco perchè i 4 GB di una MicroSD HC non possono essere confrontati coi 128 MB di una cartuccia: non sarebbe possibile fare una cartuccia da 4 GB!

Guarda, ti rispondo con un solo link: http://theprodukkt.com/
Volere è potere, saper programmare significa anche saper gestire ciò che si ha, fino all'ultimo byte wink.gif
Dragon Chan
CITAZIONE (Brisma @ Saturday 5 April 2008 - 01:52) *
Guarda, ti rispondo con un solo link: http://theprodukkt.com/
Volere è potere, saper programmare significa anche saper gestire ciò che si ha, fino all'ultimo byte wink.gif


E il perche' e' molto semplice. Conosco da tempo quel progetto perche' so chi ci sta dietro e mi ha sempre impressionato come concept e come "bravura"...

Il main coder e' il grandissimo dierk "chaos" ohlerich. Per chi si stesse chiedendo chi e', dico solamente che probabilmente e' stato il coder piu' bravo e di talento che sia mai esistito ai tempi dell'amiga. E per chi se lo ricorda.. Si e' proprio lui chaos/sanity.

smile.gif
blaze87
CITAZIONE (Dragon Chan @ Saturday 5 April 2008 - 05:44) *
E il perche' e' molto semplice. Conosco da tempo quel progetto perche' so chi ci sta dietro e mi ha sempre impressionato come concept e come "bravura"...

Il main coder e' il grandissimo dierk "chaos" ohlerich. Per chi si stesse chiedendo chi e', dico solamente che probabilmente e' stato il coder piu' bravo e di talento che sia mai esistito ai tempi dell'amiga. E per chi se lo ricorda.. Si e' proprio lui chaos/sanity.

smile.gif


Già, l avevo pure citato io in un altro thread laugh.gif ù
Dal primo giorno mi ha affascinato tantissimo il suo progetto.
Ho provato a capire il modo di implemantarlo per mio conto, ma con scarsi risultati pinch.gif
Perchè avete tirato su sto thread?
danguru
CITAZIONE (orochimaru 91 @ Saturday 22 March 2008 - 12:22) *
Guarda so cos'è la compilazione ,conosco gran parte del linguaggio C e sto imparando il c++,
cmq la speranza stava nel fatto delle rom , non sapevo ke venivano copiate dalle cartucce.......

il C++ è l'evoluzione del C - Guarda caso nel C++ vengono implementate le strutture dati che implementano la complessita del linguaggio....
Di solito le librerie grafiche. Nel Pc sono 2 Open GL o Directx , solitamente possono essere gestite con il C , C++ , Visual Basic e anche Python e Delphi,ma al livello di prestazioni il C++ è il migliore...
Devi sapere che ogni libreria deve essere utilizzata in un certo modo, un motore grafico semplice sarà minimo composto da una 30 di sorgenti con funzioni relative alle camere ecc.... se vuoi avventurarti nel mondo dei videogames ,ti consiglio Game Maker. Ok non è 3d,ma con gamemaker capisce la logica,per imparare le librerie devi comprarti un libro e studiare.
Pensa che per motivi di tempo io mi sono comprato la licenza del motore grafico S2 Engine, che se compri il Basic è molto semplice da usare ,non devi scrivere tanto codice, e utilizza un codice suo che è semplicissimo
lo trovi sul sito www.profenix.com
blaze87
ALT! eek.gif
Ti prego non racchiudere Visual Basic tra i linguaggi di programmazione!!
mentz
CITAZIONE (orochimaru 91 @ Thursday 20 March 2008 - 08:40) *
Ciao ragazzi , sono nuovo , volevo sapere se c'è un modo per ricavare i sorgenti da una rom gba(pokemon verde foglia o pokemon rosso del 1996).....
(Ho anche il gioco originale)
Grazie


L'unica cosa che puoi ottenere dal gioco è il listato dei comandi in Assembler per il processore risc del DS...
Ti dice cosa legge, dove lo memorizza, dove lo scrive etc etc...

Se a ggiungi a questo il fatto di essere dei programmatori di homebrew e di creare i propri giochi (che disegnino una linea sul monitor o che siano delle avventure stratosferiche)

Vedrai che sarà come leggere sui sorgenti del gioco...
blaze87
Io direi che devi essere abbastanza cazzuto per riuscire a comprenderli alla perfezione!
Poi io non direi che essere capaci di compilare un qualcosa che tracci una linea su schermo ti faccia rientrare tra le schiere dei programmatori homebrew.
Credo che un homebrew del caxxo sia buono chiunque, che sappia 2 righe di programmazione.
Io cosi per svago (e per ridere, soprattutto dei fantomatici iso loader per psp pinch.gif ma parlo di tempo fa )ne ho fatti di programmini e cavolate varie, ma non mi considero cosi bravo da asserire di poter leggere i comandi assembly tranquillamente linguetta.gif
orochimaru 91
CITAZIONE (mentz @ Saturday 5 April 2008 - 07:30) *
L'unica cosa che puoi ottenere dal gioco è il listato dei comandi in Assembler per il processore risc del DS...
Ti dice cosa legge, dove lo memorizza, dove lo scrive etc etc...

Se a ggiungi a questo il fatto di essere dei programmatori di homebrew e di creare i propri giochi (che disegnino una linea sul monitor o che siano delle avventure stratosferiche)

Vedrai che sarà come leggere sui sorgenti del gioco...


E come si fa ? Grazie ............. smile.gif ...................... Qualcosa capisco.............
studio assembler a scuola
Papero
CITAZIONE (orochimaru 91 @ Wednesday 16 April 2008 - 15:11) *
E come si fa ? Grazie ............. smile.gif ...................... Qualcosa capisco.............
studio assembler a scuola


Studi l'ARM assembly a scuola? smile.gif
Comunque: per ottenere il codice asm ti serve un debugger. Il codice asm che otterrai NON è come quello che scriverebbe un uomo, ma è quello generato dal compilatore, che è oltremodo ingarbugliato, a causa di ottimizzazioni, comportamenti anomali del generatore di asm e sostituzione di labels.
Ti faccio un esempio per farti capire. Mettiamo che voglio scrivere un programmino in C che mi metta sullo schermo un pixel rosso. Il listato sarebbe questo:
CODICE
#define DISPLAY_CR      (*(volatile unsigned int *) 0x4000000)
#define SUB_DISPLAY_CR  (*(volatile unsigned int *) 0x4001000)
#define VRAM_A          ((unsigned short int *) 0x6800000)      
#define VRAM_A_CR       (*(volatile unsigned char *) 0x04000240)
#define VRAM_ENABLE (1 << 7)      

int main(void) {
  DISPLAY_CR = 0x00020000;
  VRAM_A_CR = VRAM_ENABLE | 0;
  VRAM_A[24450] = 0x001f;

  while (1) {
  }
  return 0;
}


Il codice ASM generato dal compilatore per questo microscopico programmino è questo:

CODICE
    .code    16
    .file    "main.cpp"
    .section    .debug_abbrev,"",%progbits
.Ldebug_abbrev0:
    .section    .debug_info,"",%progbits
.Ldebug_info0:
    .section    .debug_line,"",%progbits
.Ldebug_line0:
    .text
.Ltext0:
    .align    2
    .global    main
    .code 16
    .thumb_func
    .type    main, %function
main:
.LFB2:
    .file 1 "d:/devkitPro/examples/nds/Graphics/2D/asm/source/main.cpp"
    .loc 1 39 0
    push    {lr}
.LCFI0:
    .loc 1 42 0
    mov    r2, #128
    mov    r3, #128
    lsl    r2, r2, #19
    lsl    r3, r3, #10
    str    r3, [r2]
    .loc 1 43 0
    ldr    r2, .L5
    mov    r3, #128
    neg    r3, r3
    strb    r3, [r2]
    .loc 1 44 0
    ldr    r3, .L5+4
    mov    r2, #31
    strh    r2, [r3]
.L2:
    b    .L2
.L6:
    .align    2
.L5:
    .word    67109440
    .word    109100804
.LFE2:
    .size    main, .-main
    .section    .debug_frame,"",%progbits
.Lframe0:
    .4byte    .LECIE0-.LSCIE0
.LSCIE0:
    .4byte    0xffffffff
    .byte    0x1
    .ascii    "\000"
    .uleb128 0x1
    .sleb128 -4
    .byte    0xe
    .byte    0xc
    .uleb128 0xd
    .uleb128 0x0
    .align    2
.LECIE0:
.LSFDE0:
    .4byte    .LEFDE0-.LASFDE0
.LASFDE0:
    .4byte    .Lframe0
    .4byte    .LFB2
    .4byte    .LFE2-.LFB2
    .byte    0x4
    .4byte    .LCFI0-.LFB2
    .byte    0xe
    .uleb128 0x4
    .byte    0x8e
    .uleb128 0x1
    .align    2
.LEFDE0:
    .text
.Letext0:
    .section    .debug_loc,"",%progbits
.Ldebug_loc0:
.LLST0:
    .4byte    .LFB2-.Ltext0
    .4byte    .LCFI0-.Ltext0
    .2byte    0x1
    .byte    0x5d
    .4byte    .LCFI0-.Ltext0
    .4byte    .LFE2-.Ltext0
    .2byte    0x2
    .byte    0x7d
    .sleb128 4
    .4byte    0x0
    .4byte    0x0
    .section    .debug_info
    .4byte    0x41
    .2byte    0x2
    .4byte    .Ldebug_abbrev0
    .byte    0x4
    .uleb128 0x1
    .4byte    .Ldebug_line0
    .4byte    .Letext0
    .4byte    .Ltext0
    .4byte    .LASF0
    .byte    0x4
    .4byte    .LASF1
    .4byte    .LASF2
    .uleb128 0x2
    .byte    0x1
    .4byte    .LASF3
    .byte    0x1
    .byte    0x27
    .4byte    0x3d
    .4byte    .LFB2
    .4byte    .LFE2
    .4byte    .LLST0
    .uleb128 0x3
    .ascii    "int\000"
    .byte    0x4
    .byte    0x5
    .byte    0x0
    .section    .debug_abbrev
    .uleb128 0x1
    .uleb128 0x11
    .byte    0x1
    .uleb128 0x10
    .uleb128 0x6
    .uleb128 0x12
    .uleb128 0x1
    .uleb128 0x11
    .uleb128 0x1
    .uleb128 0x25
    .uleb128 0xe
    .uleb128 0x13
    .uleb128 0xb
    .uleb128 0x3
    .uleb128 0xe
    .uleb128 0x1b
    .uleb128 0xe
    .byte    0x0
    .byte    0x0
    .uleb128 0x2
    .uleb128 0x2e
    .byte    0x0
    .uleb128 0x3f
    .uleb128 0xc
    .uleb128 0x3
    .uleb128 0xe
    .uleb128 0x3a
    .uleb128 0xb
    .uleb128 0x3b
    .uleb128 0xb
    .uleb128 0x49
    .uleb128 0x13
    .uleb128 0x11
    .uleb128 0x1
    .uleb128 0x12
    .uleb128 0x1
    .uleb128 0x40
    .uleb128 0x6
    .byte    0x0
    .byte    0x0
    .uleb128 0x3
    .uleb128 0x24
    .byte    0x0
    .uleb128 0x3
    .uleb128 0x8
    .uleb128 0xb
    .uleb128 0xb
    .uleb128 0x3e
    .uleb128 0xb
    .byte    0x0
    .byte    0x0
    .byte    0x0
    .section    .debug_pubnames,"",%progbits
    .4byte    0x17
    .2byte    0x2
    .4byte    .Ldebug_info0
    .4byte    0x45
    .4byte    0x25
    .ascii    "main\000"
    .4byte    0x0
    .section    .debug_aranges,"",%progbits
    .4byte    0x1c
    .2byte    0x2
    .4byte    .Ldebug_info0
    .byte    0x4
    .byte    0x0
    .2byte    0x0
    .2byte    0x0
    .4byte    .Ltext0
    .4byte    .Letext0-.Ltext0
    .4byte    0x0
    .4byte    0x0
    .section    .debug_str,"MS",%progbits,1
.LASF1:
    .ascii    "d:/devkitPro/examples/nds/Graphics/2D/asm/source/ma"
    .ascii    "in.cpp\000"
.LASF2:
    .ascii    "d:\\devkitPro\\examples\\nds\\Graphics\\2D\\asm\\bu"
    .ascii    "ild\000"
.LASF0:
    .ascii    "GNU C++ 4.1.2 (devkitARM release 21)\000"
.LASF3:
    .ascii    "main\000"
    .ident    "GCC: (GNU) 4.1.2 (devkitARM release 21)"


Ecco. Adesso immagina che cavolo potrà mai venire fuori da un gioco come Pokemon e mettiti l'anima in pace. smile.gif
Luviga
se lo metti sotto spoiler forse e meglio!!!
mentz
dipende che parte gli interessa...
sia in un file piccolo che in uno grande c'è sempre la parte comune che sono tutto l'ambiente con le sue variabili...e tc etc...

Quindi non c'è la proporzione con un gioco da 64-130 MB

si potrà notare che per caricare una immagine in memoria si avrà un ciclo proprio simile a quelli di C...

Ovviamente non si riesce a capire tutto quello che il processore sta elaborando... Servirebbe un emulatore DS con Breackpoint...

Cmq dipende sempre cosa ci devi "capire", "copiare", "hackerare" con il gioco....
Papero
CITAZIONE (mentz @ Wednesday 16 April 2008 - 19:18) *
dipende che parte gli interessa...
sia in un file piccolo che in uno grande c'è sempre la parte comune che sono tutto l'ambiente con le sue variabili...e tc etc...

Quindi non c'è la proporzione con un gioco da 64-130 MB

si potrà notare che per caricare una immagine in memoria si avrà un ciclo proprio simile a quelli di C...

Ovviamente non si riesce a capire tutto quello che il processore sta elaborando... Servirebbe un emulatore DS con Breackpoint...

Cmq dipende sempre cosa ci devi "capire", "copiare", "hackerare" con il gioco....


Lui voleva i sorgenti di pokemon, non singole parti. Anche volendo cercare di recuperare delle piccole parti, l'impresa è pressoché impossibile, perché bisognerebbe navigare passo passo nel codice e interpretare ad ogni salto che cosa c'era scritto nel codice e come l'ha tradotto in asm il compilatore. Il tutto senza avere lo straccio di una label che indichi almeno il nome della routine. Non mi pare impresa fattibile smile.gif



CITAZIONE (Luviga @ Wednesday 16 April 2008 - 18:36) *
se lo metti sotto spoiler forse e meglio!!!


Che ti cambia? Anche con lo spoiler il browser carica i 3.09 kb utilizzati dal blocco di codice, come comunque carica i 593 kb della roba che hai spoilerata in firma wink.gif
DarkDevil®
anche se é OT...Papero pensa a quando hanno voluto fare il compilatore in C che danno smile.gif visto che il compilatore é in assebler, i tipi che ci hanno lavorato su devono essere diventati pazzi biggrin.gif

poi cmq orochimaru ormai l'assebler é inutle visto che per ogni componente esistente si usa un assebler diverso....cosa vuoi fare iparare 10000 tipi di assembler? per quello che mi seve a me io uso CVI e micro C...
Questa è la versione 'lo-fi' del forum. Per visualizzare la versione completa con molte più informazioni, formattazione ed immagini, per favore clicca qui.
Invision Power Board © 2001-2025 Invision Power Services, Inc.