![]() |
Benvenuto Visitatore ( Log In | Registrati )
![]() ![]() |
![]() |
![]()
Messaggio
#41
|
|
![]() Boss GBA/NDS ![]() Gruppo: Membri Messaggi: 375 Iscritto il: Tue 15 February 2005 - 23:33 Utente Nr.: 3.964 Feedback: 4 (100%) ![]() |
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 -------------------- ![]() |
|
|
![]()
Messaggio
#42
|
|
![]() Expert GBA/NDS ![]() Gruppo: Membri Messaggi: 1.516 Iscritto il: Wed 13 April 2005 - 15:53 Da: Cuccaro beach! Utente Nr.: 4.417 Feedback: 10 (100%) ![]() |
ALT!
![]() Ti prego non racchiudere Visual Basic tra i linguaggi di programmazione!! -------------------- |
|
|
![]()
Messaggio
#43
|
|
![]() Guru GBA/NDS ![]() Gruppo: Membri Messaggi: 4.771 Iscritto il: Wed 15 February 2006 - 11:31 Da: Prov. Roma Utente Nr.: 10.474 Feedback: 3 (100%) ![]() |
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... -------------------- The difference between stupidity and genius is that genius has its limits!
(A. Einstein) Sito Stuffed Games Blog Mentzland |
|
|
![]()
Messaggio
#44
|
|
![]() Expert GBA/NDS ![]() Gruppo: Membri Messaggi: 1.516 Iscritto il: Wed 13 April 2005 - 15:53 Da: Cuccaro beach! Utente Nr.: 4.417 Feedback: 10 (100%) ![]() |
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 ![]() ![]() -------------------- |
|
|
![]()
Messaggio
#45
|
|
![]() Utente GBARL ![]() Gruppo: Membri Messaggi: 20 Iscritto il: Thu 20 March 2008 - 07:31 Utente Nr.: 26.152 Feedback: 0 (0%) ![]() |
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 ............. ![]() studio assembler a scuola |
|
|
![]()
Messaggio
#46
|
|
![]() Expert GBA/NDS ![]() Gruppo: Membri Messaggi: 2.029 Iscritto il: Fri 16 September 2005 - 22:04 Da: Fogland Utente Nr.: 7.393 Feedback: 1 (100%) ![]() |
E come si fa ? Grazie ............. ![]() studio assembler a scuola Studi l'ARM assembly a scuola? ![]() 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. ![]() -------------------- Get your Free Pascal compiler for Nintendo DS and Gameboy Advance NOW!
|
|
|
![]()
Messaggio
#47
|
|
![]() Expert GBA/NDS ![]() Gruppo: Banned Messaggi: 1.645 Iscritto il: Fri 13 July 2007 - 09:27 Da: Napoli Utente Nr.: 19.511 Feedback: 1 (100%) ![]() |
se lo metti sotto spoiler forse e meglio!!!
-------------------- |
|
|
![]()
Messaggio
#48
|
|
![]() Guru GBA/NDS ![]() Gruppo: Membri Messaggi: 4.771 Iscritto il: Wed 15 February 2006 - 11:31 Da: Prov. Roma Utente Nr.: 10.474 Feedback: 3 (100%) ![]() |
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.... -------------------- The difference between stupidity and genius is that genius has its limits!
(A. Einstein) Sito Stuffed Games Blog Mentzland |
|
|
![]()
Messaggio
#49
|
|
![]() Expert GBA/NDS ![]() Gruppo: Membri Messaggi: 2.029 Iscritto il: Fri 16 September 2005 - 22:04 Da: Fogland Utente Nr.: 7.393 Feedback: 1 (100%) ![]() |
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 ![]() 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 ![]() -------------------- Get your Free Pascal compiler for Nintendo DS and Gameboy Advance NOW!
|
|
|
![]()
Messaggio
#50
|
|
![]() Fanatic GBA/NDS ![]() Gruppo: Membri Messaggi: 1.274 Iscritto il: Mon 14 May 2007 - 08:17 Da: Netherworld Utente Nr.: 18.191 Feedback: 0 (0%) ![]() |
anche se é OT...Papero pensa a quando hanno voluto fare il compilatore in C che danno
![]() ![]() 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... -------------------- |
|
|
![]()
Messaggio
#51
|
|
![]() Expert GBA/NDS ![]() Gruppo: Membri Messaggi: 2.029 Iscritto il: Fri 16 September 2005 - 22:04 Da: Fogland Utente Nr.: 7.393 Feedback: 1 (100%) ![]() |
anche se é OT...Papero pensa a quando hanno voluto fare il compilatore in C che danno ![]() ![]() 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... Ma sai che non ci metterei la mano sul fuoco? Per esempio il compilatore gcc è scritto in c, come il compilatore freepascal è scritto in pascal. Il devkit ufficiale del ds usa il CodeWarrior; probabilmente anche questo è scritto in c, con alcune parti in asm. Ovviamente se vai a risalire al primo compilatore in assoluto, credo che sia stato scritto in qualcosa di molto vicino al linguaggio macchina ![]() -------------------- Get your Free Pascal compiler for Nintendo DS and Gameboy Advance NOW!
|
|
|
![]()
Messaggio
#52
|
|
![]() Fanatic GBA/NDS ![]() Gruppo: Membri Messaggi: 1.274 Iscritto il: Mon 14 May 2007 - 08:17 Da: Netherworld Utente Nr.: 18.191 Feedback: 0 (0%) ![]() |
Ma sai che non ci metterei la mano sul fuoco? Per esempio il compilatore gcc è scritto in c, come il compilatore freepascal è scritto in pascal. Il devkit ufficiale del ds usa il CodeWarrior; probabilmente anche questo è scritto in c, con alcune parti in asm. Ovviamente se vai a risalire al primo compilatore in assoluto, credo che sia stato scritto in qualcosa di molto vicino al linguaggio macchina ![]() quello per C dovrebbe essere in assebler si visto che il mio sore di elettrotecnioca aveva mandato una e-mail per curiosita a un tipo che in TEORIA conosceva uno dei creatori ![]() magari é una stronzata che ha sparato il tipo pero ![]() -------------------- |
|
|
![]()
Messaggio
#53
|
|
![]() Expert GBA/NDS ![]() Gruppo: Membri Messaggi: 2.029 Iscritto il: Fri 16 September 2005 - 22:04 Da: Fogland Utente Nr.: 7.393 Feedback: 1 (100%) ![]() |
Io penso che vi abbia raccontato una balla
![]() Spiego: il CodeWarrior gira su Macintosh, Windows, Linux e Solaris. Ne esistono versioni che compilano per PS2, GameCube, DS, Palm OS e Symbian OS. Scriverlo in assembly significherebbe scriverlo da capo per ogni architettura; molto più semplice e conveniente scriverlo una sola volta in C e ricompilarlo per architetture differenti. Questo se si parla del solo compilatore; probabilmente le varie librerie, ad esempio quella per Nintendo DS, sono state ottimizzate ricorrendo all'asm. ![]() -------------------- Get your Free Pascal compiler for Nintendo DS and Gameboy Advance NOW!
|
|
|
![]()
Messaggio
#54
|
|
![]() Utente GBARL ![]() Gruppo: Membri Messaggi: 20 Iscritto il: Thu 20 March 2008 - 07:31 Utente Nr.: 26.152 Feedback: 0 (0%) ![]() |
ragazzi ho capito ke non è roba facile .........
Se il gioco dei pokemon vi piace (è il mio preferito da come potete capire), ke ne dite di aprire un progetto e riscriverlo insieme da capo con linguaggi ad alto livello possibilmente (c++) coa ne pensate ??? |
|
|
![]()
Messaggio
#55
|
|
Utente GBARL ![]() Gruppo: Membri Messaggi: 28 Iscritto il: Tue 1 April 2008 - 07:41 Utente Nr.: 26.471 Feedback: 0 (0%) ![]() |
E come si fa ? Grazie ............. ![]() studio assembler a scuola mi intrometto: per capire come si programma in asm bisogna prima di tutto conoscere l'architettura dove si desidera farlo; quindi bisogna avere anche nozioni almeno basilari di elettronica digitale. L'architettura Arm non è comunque delle più semplici, già solo se ti vuoi limitare al livello "jtag"; L'architettura del ds è pure multiprocessore quindi la complicazione si incrementa, per cui auguri. |
|
|
![]()
Messaggio
#56
|
|
Utente GBARL ![]() Gruppo: Membri Messaggi: 28 Iscritto il: Tue 1 April 2008 - 07:41 Utente Nr.: 26.471 Feedback: 0 (0%) ![]() |
ragazzi ho capito ke non è roba facile ......... Se il gioco dei pokemon vi piace (è il mio preferito da come potete capire), ke ne dite di aprire un progetto e riscriverlo insieme da capo con linguaggi ad alto livello possibilmente (c++) coa ne pensate ??? Vuoi un consiglio? dedicati prima a qualcosa di semplice, fai esperienza, studia molto e poniti degli obiettivi di livello più adeguato. sicuramente ti avvicinerai sempre più al risultato di avere pokemon in 3D e molto probabilmente ti renderai conto che non sarà più il tuo obiettivo. |
|
|
![]()
Messaggio
#57
|
|
![]() The Evra Powwah! (Pirla) ![]() Gruppo: Veterani Messaggi: 10.824 Iscritto il: Fri 24 December 2004 - 19:38 Da: Nosgoth Utente Nr.: 3.467 Feedback: 0 (0%) ![]() |
ragazzi ho capito ke non è roba facile ......... Se il gioco dei pokemon vi piace (è il mio preferito da come potete capire), ke ne dite di aprire un progetto e riscriverlo insieme da capo con linguaggi ad alto livello possibilmente (c++) coa ne pensate ??? Il mio pensiero è quello di tanti altri utenti nel leggere questo thread: Cease & Desist. A parte l'immensa (e per immensa intendo dire IMMENSA) mole di lavoro necessaria per anche solo capirci qualcosa nelle ROM tutt'ora esistenti, vista la posizione di Nintendo attuale le lettere degli avvocati volerebbero a raffica. Senza contare che, mi duole dirlo, non so quanti programmatori seri potresti trovare. Evrain -------------------- Just keep tryin'
Keep on flyin' I will be the light... - from Last Exile: Cloud Age Symphony - Togisumasareta tsume wo hate ima kagayaku tame ni sono kiba wo muke... Shiren wa norikoerarenai hito ni osoikakari wa shinai! - from Megaman X8: Wild Fang - Proud supporter of EVAC Industry co.ltd. |
|
|
![]()
Messaggio
#58
|
|
Utente GBARL ![]() Gruppo: Membri Messaggi: 28 Iscritto il: Tue 1 April 2008 - 07:41 Utente Nr.: 26.471 Feedback: 0 (0%) ![]() |
ops volevo editare il messaggio precedente e ne ho creato un altro... chiedo venia...
per ottenere risultati rapidi, senza necessità di essere mostri di programmazione, prova "The games factory" o gli altri programmi simili; potresti fare il tuo clone dei pokemon a tua immagine e somiglianza divertendoti sopratutto a disegnare e non a programmare tutto il tempo. di giochi carini a suo tempo ne avevo fatti parecchi, ah che ricordi la prima versione del '96 acquistata per ben 50 mila lire al computer discount... wow... sul pentium 75 si potevano creare al massimo 4-5 oggetti attivi 32X32 sennò rallentava XDDDD |
|
|
![]()
Messaggio
#59
|
|
![]() The Evra Powwah! (Pirla) ![]() Gruppo: Veterani Messaggi: 10.824 Iscritto il: Fri 24 December 2004 - 19:38 Da: Nosgoth Utente Nr.: 3.467 Feedback: 0 (0%) ![]() |
ops volevo editare il messaggio precedente e ne ho creato un altro... chiedo venia... per ottenere risultati rapidi, senza necessità di essere mostri di programmazione, prova "The games factory" o gli altri programmi simili; potresti fare il tuo clone dei pokemon a tua immagine e somiglianza divertendoti sopratutto a disegnare e non a programmare tutto il tempo. di giochi carini a suo tempo ne avevo fatti parecchi, ah che ricordi la prima versione del '96 acquistata per ben 50 mila lire al computer discount... wow... sul pentium 75 si potevano creare al massimo 4-5 oggetti attivi 32X32 sennò rallentava XDDDD Mitico programma! Dovrei averne ancora una copia -si, ORIGINALE ![]() Evrain -------------------- Just keep tryin'
Keep on flyin' I will be the light... - from Last Exile: Cloud Age Symphony - Togisumasareta tsume wo hate ima kagayaku tame ni sono kiba wo muke... Shiren wa norikoerarenai hito ni osoikakari wa shinai! - from Megaman X8: Wild Fang - Proud supporter of EVAC Industry co.ltd. |
|
|
![]()
Messaggio
#60
|
|
Boss GBA/NDS ![]() Gruppo: Membri Messaggi: 471 Iscritto il: Wed 31 May 2006 - 09:03 Utente Nr.: 11.576 Feedback: 1 (100%) ![]() |
L' editor di eventi de "La fabbrica dei giochi" era una genialata
![]() @Papero: Non hai postato il piu' bello: il codice macchina. Quello si che fa passar la voglia ![]() |
|
|
![]() ![]() |
![]() |
Versione Lo-Fi | Oggi è il: Fri 11 July 2025- 11:53 |