Vai al commento



Programmazione del GBA


Diamaxus

Post raccomandati

Ciao a tutti!

Come ho detto nell’aggiornamento di qualche giorno fa, sto imparando a programmare per il GBA (GameBoy Advance) e vorrei aprire questa discussione sia per discuterne con con voi che per mostrarvi i miei progressi. Vorrei anche impostarlo come se fosse un tutorial nel caso qualcuno di voi fosse interessato a imparare, perciò citerò le fonti delle informazioni che vi darò, soprattutto per quanto riguarda le caratteristiche Hardware.

 

Taggo @evilespeon e @ZedeFire che erano interessati alla discussione e altre persone che potrebbero essere interessate: @Macca @Porygatto che visto che sta giocando a Zaffiro magari gli interessa anche capire come caricare gli sprite sul gba :xd:, @Keroro @liviopocoyo @LadyDarkrai e @Vale e inoltre ringrazio @VictiniPika per avermi permesso di inserire i link. :smile2:

 

Partiamo proprio dall’hardware del GBA per poi passare ai comandi di base che useremo oggi.

Cercherò di semplificare il più possibile. Se avete delle domande chiedete pure, farò del mio meglio per farvi capire i concetti.

 

Chi vuole può saltare direttamente alla fine del post per vedere direttamente il risultato del mio primo programma.

 

Il GBA ha un processore ARM a 32 bit. I giochi sono distribuiti in Game Paks che sono costituiti da una ROM per il codice e i dati e spesso dalla RAM per salvare le informazioni di gioco.

 

Ha uno schermo LCD di 240x160 px capace di visualizzare 32768 colori (15 bit = 215 valori rappresentabili).

 

Altre caratteristiche principali che saranno utili sono:

 

Video:

  • 3 modalità bitmap e 3 modalità tilemap
  • 4 layer separati di tilemap (per gli sfondi) e 128 sprite (per gli oggetti)
  • trasformazioni affini (rotazione/scalatura/trasformazione obliqua) su due sfondi e 32 oggetti
  • effetti grafici speciali: mosaico, additive blending, fade a nero/bianco

suono:

  • 6 canali
  • 4 generatori di suoni del GameBoy originale: 2 di onde quadre, 1 di onde generiche e 1 generatore di rumore
  • 2 canali “DirectSound” per suonare campioni e musica.

Altro:

  • 10 tasti (4 frecce direzionali, select/start, A e B, L e R)
  • 14 interrupt hardware
  • modalità multiplayer a 4 giocatori attraverso cavetto multiboot
  • sensore opzionale a infrarossi, sensore di luce e giroscopio.

Linguaggio di programmazione C (possibile anche il C++) e Assembly ma esistono anche tool per programmare in altri linguaggi.

Dal punto di vista della programmazione, il GBA non ha un sistema operativo (a differenza delle console moderne) il che significa che quando programmiamo andiamo a scrivere direttamente nei registri del processore.

 

Sezioni di memoria

 

Area | indirizzo di inizio | indirizzo di fine | lunghezza | dimensione della porta | descrizione

 

ROM | 0000:0000h | 0000:3FFFh | 16 kb | 32 bit | memoria del BIOS, non può vi si può accedere per leggere i dati ma solo per scriverli.

 

EWRAM | 0200:0000h | 0203:FFFFh | 256 kb | 16 bit | External Work RAM. Disponibile per il codice e i dati, viene usata dal cavo multiboot.

IWRAM | 0300:0000h | 0300:7FFFh | 32 kb | 32 bit | Internal Work RAM. Disponibile per codice e dati, è la sezione di memoria più veloce.

 

IO RAM | 0400:0000h | 0400:03FFh | 1kb | 16 bit | Registri Input-Output, è la sezione dove si controllano la grafica, il suono, i tasti e altre caratteristiche.

 

PAL RAM | 0500:0000h | 0500:03FFh | 1kb | 16 bit | memoria usata per 2 palette ciascuna di 256 colori con profondità 15 bit, la prima è per gli sfondi, la seconda per gli sprite.

 

VRAM | 0600:0000h | 0601:7FFFh | 96 kbit | 16 bit | Video RAM dove vengono conservati i dati per gli sfondi e gli sprite.

 

OAM | 0700:0000h | 0700:03FFh | 1 kb | 32 bit | Object Attribute Memory, permette di controllare gli Sprite.

 

PAK ROM | 0800:0000h | variabile | variabile | 16 bit | Game Pak ROM. È dove si trova il gioco e dove inizia l’esecuzione se non si usa un cavo multiboot. Sebbene la dimensione sia variabile il limite è 32 MB.

 

Cart RAM | 0E00:0000h | variabile | variabile | 8 bit | Cartridge RAM. È dove si trovano i dati di salvataggio. La dimensione totale è variabile ma si consiglia 64 kb.

 

N.B. kb sta per kilobit non kilobyte.

 

fonte: https://gbadev.net/tonc/hardware.html

 

Strumenti

 

Per programmare in C vi basta un qualunque editor di testo, va bene anche NotePad.

Per la compilazione della ROM serve un tool specifico, chiamato devkitPRO e se siete su Windows anche la shell Msys.

Potete trovare tutte le info qui se siete interessati: https://devkitpro.org/wiki/Getting_Started

 

Il motivo per il quale non usiamo un ambiente di sviluppo come Eclipse, DevC++ ecc. è che il Makefile che dobbiamo usare è speciale, in quanto il GBA controlla che l’intestazione della ROM del gioco sia corretta, in caso contrario dà errore.

 

La struttura della cartella in cui salveremo i file con il codice C è quella in figura: template_dir.png

 

in "include" vanno i file *.h, in "source" i file *.c

 

Come emulatore io uso mGBA ma va bene uno qualsiasi.

 

Nozioni base del C

 

Vi darò solo quelle essenziali che userò di volta in volta, altrimenti sarebbero troppe. XD

 

Innanzitutto dovete sapere che ogni istruzione C deve terminare con il punto e virgola (tranne in alcuni casi specifici come il ciclo for/while e le direttive al preprocessore).

La dichiarazione di una variabile ha questa forma: tipo_della_variabile nome_della_variabile;

Esistono vari tipi, quelli che vedrete più spesso sono int, char e float ma ce ne sono altri che potete vedere su wikipedia se siete interessati.

 

Attraverso int dichiariamo una variabile di tipo intero ossia un numero intero.

Attraverso char dichiariamo una variabile che contiene un carattere (cioè una lettera).

Attraverso float dichiariamo una variabile che contiene un numero con la virola.

 

Ad esempio attraverso l’istruzione int a; dichiaro una variabile di tipo intero che chiamo a.

Per assegnare un valore a questa variabile devo scrivere ad es. int a = 10;

 

Comunque non vi preoccupate che appena li incontriamo vi spiego di volta in volta quali sono.

 

Poiché il nostro file sarà diviso in file.h e file.c per includere le funzioni che andremo a scrivere nei file *.h usiamo la primitiva #include “file.h” (senza punto e virgola, ricordate? Ci sono delle eccezioni :oopsie:).

 

Un altro elemento che avete bisogno di conoscere è il vettore, che è sostanzialmente una collezione di elementi per farla semplice.

Immaginate che sia uno scaffale dove dove sono riposti in ordine degli oggetti.

Data una variabile intera dim (che rappresenta la lunghezza del vettore), definiamo un vettore ad es. di tipo intero in questo modo:

 

int vettore[dim];

 

Sostituendo tra le parentesi quadre un numero indichiamo uno specifico elemento di quel vettore, ad es. int vettore[0]; indica il primo elemento del vettore.

Aggiungendo un secondo indice, rappresentiamo una matrice (link a wikipedia).

Ad es. int matrice[dim1][dim2]; dove dim1 e dim2 sono i numeri di righe e di colonne della matrice.

 

Il mio primo programma per GBA: Hello World

 

Per i veterani del C, sappiate che non avendo un sistema operativo, non possiamo usare printf() o le funzioni incluse in stdio.h per scrivere sullo schermo. Quindi il primo programma che ho fatto è stato quello per disegnare a schermo una barretta verticale, come quella del classico PONG.

 

Inizio con il commentare il mio file header helloworld.h:

 

 

	typedef unsigned short u16;
	typedef unsigned int u32;
	typedef u16 color;
	 
	#define MEM_IO 0x04000000
	#define MEM_VRAM 0x06000000
	#define REG_DISPCNT *((volatile u32*)(MEM_IO + 0x0000))
	#define DCNT_MODE3 0x0003
	#define DCNT_BG2 0x0400
	#define SCREEN_W 240
	#define SCREEN_H 160
	#define WHITE_COLOR 0x7FFF
	 
	typedef color m3_line[SCREEN_W];
	#define M3_MEM ((m3_line *)MEM_VRAM)
	

 

In questo file quello che faccio in sostanza è definire alcune costanti e alcuni tipi che mi serviranno nel programma principale.

 

u16 e u32 sono due tipi interi che definisco, la u sta per unsigned cioè senza segno 16 e 32 sono i bit che occupano in memoria.

Il tipo color lo uso semplicemente per ricordarmi che il GBA è in grado di rappresentare i colori in 16 bit (il sedicesimo non viene usato quindi in realtà sono 15).

MEM_IO è l’indirizzo del registro di Input-Output in base esadecimale.

MEM_VRAM è l’indirizzo della RAM video espresso in base esadecimale.

REG_DISPCNT è il registro di controllo dello schermo (Display Control Register), è complicata da spiegare in parole semplici questa istruzione ma diciamo che serve per accedere direttamente al contenuto del registro.

Per farvi meglio capire come è fatto il registro vi allego questa immagine presa qui

Spoiler

Screenshot2023-12-05alle16_14_21.png.701aedbb6738c6a1edddaee24feda932.png

In base a dove scriviamo 1 o 0 nella tabella, attiviamo alcune funzioni. Per ora non preoccupatevi dei nomi; ci torneremo in un capitolo successivo.

 

MEM_IO + 0x0000 = 0x04000000 ossia l’indirizzo 0400:0000 cioè l’indirizzo dell’IO RAM.

Serve perché il valore di quella variabile potrebbe cambiare indipendentemente da quello che scriviamo nel codice, e stiamo dicendo al compilatore di ignorarla (volatile persuation).

Non vado nel dettaglio perché è davvero complicato da spiegare. :oopsie: 

 

DCNT_MODE3 e DCNT_BG2 servono ad impostare la modalità dello schermo, di cui vi parlerò nel prossimo capitolo più nel dettaglio.

 

SCREEN_W E SCREEN_H sono le dimensioni in pixel dello schermo.

WHITE_COLOR è semplicemente il colore bianco espresso in base esadecimale.

 

Per concludere le ultime due istruzioni mi servono a mappare i pixel dello schermo:

con la prima creo un vettore di grandezza pari alla larghezza dello schermo e con la seconda indico l’indirizzo della Video RAM e siccome devo disegnare una linea deve essere dello stesso tipo con cui definisco le variabili a cui assegno un colore.

 

 

Passiamo al file helloworld.c che ci serve a disegnare la barretta.

 

#include "helloworld.h"

 

int main(void)

{

u32 x = 10;

u32 y = 10;

REG_DISPCNT = DCNT_MODE3 | DCNT_BG2;

 

for (u32 colonna = x; colonna <= (+ 2); colonna++)

{

for (u32 riga = y; riga <= (2 * y); riga++)

{

M3_MEM [riga][colonna] = WHITE_COLOR;

}

}

 

while(1);

 

return 0;

}

 

int main(void) {…} è la funzione principale, che ci permette di eseguire le nostre funzioni che abbiamo eventualmente definito nei file *.h .

 

x e y sono le coordinate che ci permettono di definire un punto sullo schermo, assegno a queste il valore 10 per far partire la barretta in una posizione più centrale poiché sullo schermo l’origine degli assi si trova in alto a sinistra. 

 

REG_DISPCNT = DCNT_MODE3 | DCNT_BG2; mi serve per impostare i bit necessari ad attivare la modalità bitmap 3 e background2 sullo schermo. 

 

È arrivato il momento di disegnare la mia barretta, cosa che faccio attraverso due cicli for in modo tale da fissare il valore della coordinata x e far variare la coordinata y.

 

L’istruzione M3_MEM [riga][colonna] mi permette di accedere alla posizione x,y sullo schermo per farla breve, nella pratica vado ad assegnare il valore “bianco” al registro della VRAM.

 

 

While(1); serve per non far concludere il programma, poiché non essendoci un sistema operativo se il programma terminasse il comportamento non è definito.

 

 

Non vi mostro il Makefile questa volta, perché già così sono un sacco di informazioni da assimilare, e inoltre in questo caso non mi è servito modificare il Makefile fornito da devkitPRO. XD

 

 

A questo punto vado sulla shell scrivo cd /percorso/dove/hai/messo/la/cartella/del/tuo/programma

faccio invio, e scrivo make

 

questo è quello che uscirà scritto nella shell:

 

Screenshot2023-12-05alle16_49_03.png.77b8b561f65fb2bf8f7c643a3e621d2b.png

Se è andato tutto a buon fine uscirà scritto "ROM fixed!".

 

Aprendo la ROM questo è quello che apparirà a schermo:

 

Screenshot2023-12-05alle16_26_18.png.6cb3b4e4db3c4dba06787c8793b57003.png

 

 

Per oggi è tutto, ci vediamo al prossimo capitolo. Se avete domande fatele pure, e fatemi sapere se vi interessa questa rubrica o se c'è qualcosa che non capite. :smile1:

 

Modificato da Diamaxus
aggiungo link alla fonte aggiornata alla nuova versione

"A ogni nuovo incontro segue sempre un addio. 

Tuttavia non è detto che debba essere per sempre...

Starà a te deciderne la durata..."

~L'allegro venditore di maschere (TLOZ: Majora's Mask)

firma_forum.png.af028dd644c03f28eccfbe46cfb1e68f.png

Art Gallery | Instagram | Twitter

Link al commento
Condividi su altre piattaforme

Grandeeee che hai aperto la discussione e grazieee per il tag kohai 

ho dato una occhiata veloce e mi sembra tutto tanto troppo zeriano ma mi interessa devo dire dopo leggo per bene 

image.png.39bbe0cff4b187a25d5f22e39485dc6f.png.35029b6d4c1fc26daff0398e9e77c186.png

ksXi5yt.png.d72976744985b9600e2a3b86f1651d07.pngHpf3AQJ.jpg.93b9d15fb16f0ef90261743491866646.jpg.98e0bba49ce3d87b9ca564fcb4bcb644.jpg

TEAM 0 RULES...J0IN THE P0KECLUB TEAM 0 

1tizwJ2-1.png.4f5ed349c903c95bfdc1574320a2d709.png

UNIC0 PREMIO VINTO IN UN GDR FIN ORA...DOVEVO RIMETTERLO XD

espi.gif.896b8952e3c969e3168c3f1ae3ff3f8c.gif.15df7e8a181539a2023a846925e0933d.gifespon gif by @SlowHandBoy0...ditemi perche si chiama cosi please XD 

 

 

 

download.jpeg-454.jpg.d1562206b44766e4da99dcfd46b76995.jpg @Alemat è mio rivale e mi frega i pikachu ma ora è contento che è stato citato XD 

 

 

ragalino by @Porygatto (visitate la sua gallery) 

IjNK5WX
 

PfszeYn.png

quanto carino pikachu che imita lotad

Sprite by @Vale (visitate la sua gallery) 

 

fiocco amico da usare.jpg

 

Doll fantastiche fatte da my rival giallo @Alemat

2041971240_Espeon_compleanno(1)(1).png.befce4541019073424e77924425b33d3.png.4ed59da344e80986ac2592ceccd774e4.png espeon compleanno 

1474038428_Espi_Compleanno(2)(1).gif.600cf40dc9f48760a49ed7ae76c431cf.gif.bd27fa41a79e29a74c3a5b6655134abc.gif espeon compleanno animata

Espeon_Natale.png.fa47efd3364961da152d53d8fd48ade8.png.5c9ae3965e01c5343af2b9ffaf516c3e.png espeon di natale

Espeon di natale is finally real XD 

Elfilin30x30.png.6fa08886fb3173e0fb150831f42600ed.png.2fe1a5fd454a67c20678b1dd1c0f6466.png elfilin super cute from kirby and the forgotten land by @Alemat

 

Riolu_Kart.png.96e52274c10a43d902baeabeaabd8726.png.ae9b508addb2338929e1cb718e599e20.png  doll ufficiale (anche se il rival dice di no XD) del mio disegno riolu kart by @Alemat

 

EspeonEvolution.gif.a7aede5d0ba42929d13862477ceadbc1.gif.8da2ba6e11dbf279e6cc900ca1005be4.gif eevee che evolve in espi by my rival @Alemat

Espi-Sabrina.png.10019171e1fd78c83caec00de13f9bd5.png.5c599fdfee78361e33dbe141bb7fcd82.pngEvilespeon bossa team0 version gdr (versione icon) by @Silvercenturion

466121175_Evilespeon_GDR_MillenniumExpress.png.b97c925586cbe7f0b2ff750c6a8d3224-1.png.dbeb1bef169871cf7d31d8723f9a1674.png Evilespeon bossa team 0 version gdr (versione sprite) by @Silvercenturion

 

il trio politico (io, @Alemat e @Quasar) è qui

RioluMarciaStendardo.gif.d36d7a0c6d9ef9e734834f0ebd3e47e3.gif.e884386f7cec9a8b69234661c5172226.gifQuasarGialloViola.gif.e30f93475348daa244fb1a59facd8b57-1.gif.853decede9c1e15fd98777075651291e.gifBossa-Marcia-gif-03012f9210260110055c5ee

Sprite by @Alemat

1863735054_TatsugiriFormaTesaViola.png.94cf96c15d81139735fecc47ef0b62f7.png.cbee256046885ba7e81f66ebda449483.png1430449915_TatsugiriFormaTesaViolaAnimato.gif.7bb0fa99f379845723b7ec9e4d893aa0.gif.dfe8e13678b4b283cc635c1fa42d29e0.gif tatsugiri di zeria by @Macca

1457048574_TatsugiriFormaTesaViolaAnimato2.gif.9e50b81c38b45123f49d7d37fc671213.gif.b0f504e86bcbb0a70da8d3e0d29d5f41.gif1151248065_TatsugiriFormaTesaAnimato.gif.e36f9191d1202b99a4e58b01a069c395.gif.e42c98c4c2c4a5155e26f8acfac88c00.gif zeria e repubblica gialla sushide version,ci vogliamo bene in realtà siamo aleati u.u

Lo sguardo sospetto succede solo alcune volte XD quello di repubblica guarda con sospetto lo zeriano per capire che combina coi pikachu e quello zeriano guarda con sospetto quello di repubblica gialla per capire se gli ha fregato dei pikachu per liberarli XD

E comunque quello è uno sguardo d'affetto u.u sprite sempre by @Macca

 

 

Link al commento
Condividi su altre piattaforme

Adesso, evilespeon ha scritto:

Grandeeee che hai aperto la discussione e grazieee per il tag kohai 

ho dato una occhiata veloce e mi sembra tutto tanto troppo zeriano ma mi interessa devo dire dopo leggo per bene 

Ma come!? ho cercato di spiegare nel modo più semplice possibile XD

Scherzo, mi rendo perfettamente conto che non è semplice, ma magari prova a leggerlo con calma.

 

"A ogni nuovo incontro segue sempre un addio. 

Tuttavia non è detto che debba essere per sempre...

Starà a te deciderne la durata..."

~L'allegro venditore di maschere (TLOZ: Majora's Mask)

firma_forum.png.af028dd644c03f28eccfbe46cfb1e68f.png

Art Gallery | Instagram | Twitter

Link al commento
Condividi su altre piattaforme

1 minuto fa, Diamaxus ha scritto:

Ma come!? ho cercato di spiegare nel modo più semplice possibile XD

Scherzo, mi rendo perfettamente conto che non è semplice, ma magari prova a leggerlo con calma.

 

Ma ti ho detto ch per ora ho solo visto veloce e quindi leggo cose tipo reg_dispcnt e mi sembra zerianissimo XD 

Si infatti ora provo a leggerlo per bene 

image.png.39bbe0cff4b187a25d5f22e39485dc6f.png.35029b6d4c1fc26daff0398e9e77c186.png

ksXi5yt.png.d72976744985b9600e2a3b86f1651d07.pngHpf3AQJ.jpg.93b9d15fb16f0ef90261743491866646.jpg.98e0bba49ce3d87b9ca564fcb4bcb644.jpg

TEAM 0 RULES...J0IN THE P0KECLUB TEAM 0 

1tizwJ2-1.png.4f5ed349c903c95bfdc1574320a2d709.png

UNIC0 PREMIO VINTO IN UN GDR FIN ORA...DOVEVO RIMETTERLO XD

espi.gif.896b8952e3c969e3168c3f1ae3ff3f8c.gif.15df7e8a181539a2023a846925e0933d.gifespon gif by @SlowHandBoy0...ditemi perche si chiama cosi please XD 

 

 

 

download.jpeg-454.jpg.d1562206b44766e4da99dcfd46b76995.jpg @Alemat è mio rivale e mi frega i pikachu ma ora è contento che è stato citato XD 

 

 

ragalino by @Porygatto (visitate la sua gallery) 

IjNK5WX
 

PfszeYn.png

quanto carino pikachu che imita lotad

Sprite by @Vale (visitate la sua gallery) 

 

fiocco amico da usare.jpg

 

Doll fantastiche fatte da my rival giallo @Alemat

2041971240_Espeon_compleanno(1)(1).png.befce4541019073424e77924425b33d3.png.4ed59da344e80986ac2592ceccd774e4.png espeon compleanno 

1474038428_Espi_Compleanno(2)(1).gif.600cf40dc9f48760a49ed7ae76c431cf.gif.bd27fa41a79e29a74c3a5b6655134abc.gif espeon compleanno animata

Espeon_Natale.png.fa47efd3364961da152d53d8fd48ade8.png.5c9ae3965e01c5343af2b9ffaf516c3e.png espeon di natale

Espeon di natale is finally real XD 

Elfilin30x30.png.6fa08886fb3173e0fb150831f42600ed.png.2fe1a5fd454a67c20678b1dd1c0f6466.png elfilin super cute from kirby and the forgotten land by @Alemat

 

Riolu_Kart.png.96e52274c10a43d902baeabeaabd8726.png.ae9b508addb2338929e1cb718e599e20.png  doll ufficiale (anche se il rival dice di no XD) del mio disegno riolu kart by @Alemat

 

EspeonEvolution.gif.a7aede5d0ba42929d13862477ceadbc1.gif.8da2ba6e11dbf279e6cc900ca1005be4.gif eevee che evolve in espi by my rival @Alemat

Espi-Sabrina.png.10019171e1fd78c83caec00de13f9bd5.png.5c599fdfee78361e33dbe141bb7fcd82.pngEvilespeon bossa team0 version gdr (versione icon) by @Silvercenturion

466121175_Evilespeon_GDR_MillenniumExpress.png.b97c925586cbe7f0b2ff750c6a8d3224-1.png.dbeb1bef169871cf7d31d8723f9a1674.png Evilespeon bossa team 0 version gdr (versione sprite) by @Silvercenturion

 

il trio politico (io, @Alemat e @Quasar) è qui

RioluMarciaStendardo.gif.d36d7a0c6d9ef9e734834f0ebd3e47e3.gif.e884386f7cec9a8b69234661c5172226.gifQuasarGialloViola.gif.e30f93475348daa244fb1a59facd8b57-1.gif.853decede9c1e15fd98777075651291e.gifBossa-Marcia-gif-03012f9210260110055c5ee

Sprite by @Alemat

1863735054_TatsugiriFormaTesaViola.png.94cf96c15d81139735fecc47ef0b62f7.png.cbee256046885ba7e81f66ebda449483.png1430449915_TatsugiriFormaTesaViolaAnimato.gif.7bb0fa99f379845723b7ec9e4d893aa0.gif.dfe8e13678b4b283cc635c1fa42d29e0.gif tatsugiri di zeria by @Macca

1457048574_TatsugiriFormaTesaViolaAnimato2.gif.9e50b81c38b45123f49d7d37fc671213.gif.b0f504e86bcbb0a70da8d3e0d29d5f41.gif1151248065_TatsugiriFormaTesaAnimato.gif.e36f9191d1202b99a4e58b01a069c395.gif.e42c98c4c2c4a5155e26f8acfac88c00.gif zeria e repubblica gialla sushide version,ci vogliamo bene in realtà siamo aleati u.u

Lo sguardo sospetto succede solo alcune volte XD quello di repubblica guarda con sospetto lo zeriano per capire che combina coi pikachu e quello zeriano guarda con sospetto quello di repubblica gialla per capire se gli ha fregato dei pikachu per liberarli XD

E comunque quello è uno sguardo d'affetto u.u sprite sempre by @Macca

 

 

Link al commento
Condividi su altre piattaforme

4 minuti fa, evilespeon ha scritto:

Ma ti ho detto ch per ora ho solo visto veloce e quindi leggo cose tipo reg_dispcnt e mi sembra zerianissimo XD 

Si infatti ora provo a leggerlo per bene 

Ahah vabbè quello è normale, sono acronimi :xd: 

"A ogni nuovo incontro segue sempre un addio. 

Tuttavia non è detto che debba essere per sempre...

Starà a te deciderne la durata..."

~L'allegro venditore di maschere (TLOZ: Majora's Mask)

firma_forum.png.af028dd644c03f28eccfbe46cfb1e68f.png

Art Gallery | Instagram | Twitter

Link al commento
Condividi su altre piattaforme

2 minuti fa, Diamaxus ha scritto:

Ahah vabbè quello è normale, sono acronimi :xd: 

È zeriano te lo dico io XD 

image.png.39bbe0cff4b187a25d5f22e39485dc6f.png.35029b6d4c1fc26daff0398e9e77c186.png

ksXi5yt.png.d72976744985b9600e2a3b86f1651d07.pngHpf3AQJ.jpg.93b9d15fb16f0ef90261743491866646.jpg.98e0bba49ce3d87b9ca564fcb4bcb644.jpg

TEAM 0 RULES...J0IN THE P0KECLUB TEAM 0 

1tizwJ2-1.png.4f5ed349c903c95bfdc1574320a2d709.png

UNIC0 PREMIO VINTO IN UN GDR FIN ORA...DOVEVO RIMETTERLO XD

espi.gif.896b8952e3c969e3168c3f1ae3ff3f8c.gif.15df7e8a181539a2023a846925e0933d.gifespon gif by @SlowHandBoy0...ditemi perche si chiama cosi please XD 

 

 

 

download.jpeg-454.jpg.d1562206b44766e4da99dcfd46b76995.jpg @Alemat è mio rivale e mi frega i pikachu ma ora è contento che è stato citato XD 

 

 

ragalino by @Porygatto (visitate la sua gallery) 

IjNK5WX
 

PfszeYn.png

quanto carino pikachu che imita lotad

Sprite by @Vale (visitate la sua gallery) 

 

fiocco amico da usare.jpg

 

Doll fantastiche fatte da my rival giallo @Alemat

2041971240_Espeon_compleanno(1)(1).png.befce4541019073424e77924425b33d3.png.4ed59da344e80986ac2592ceccd774e4.png espeon compleanno 

1474038428_Espi_Compleanno(2)(1).gif.600cf40dc9f48760a49ed7ae76c431cf.gif.bd27fa41a79e29a74c3a5b6655134abc.gif espeon compleanno animata

Espeon_Natale.png.fa47efd3364961da152d53d8fd48ade8.png.5c9ae3965e01c5343af2b9ffaf516c3e.png espeon di natale

Espeon di natale is finally real XD 

Elfilin30x30.png.6fa08886fb3173e0fb150831f42600ed.png.2fe1a5fd454a67c20678b1dd1c0f6466.png elfilin super cute from kirby and the forgotten land by @Alemat

 

Riolu_Kart.png.96e52274c10a43d902baeabeaabd8726.png.ae9b508addb2338929e1cb718e599e20.png  doll ufficiale (anche se il rival dice di no XD) del mio disegno riolu kart by @Alemat

 

EspeonEvolution.gif.a7aede5d0ba42929d13862477ceadbc1.gif.8da2ba6e11dbf279e6cc900ca1005be4.gif eevee che evolve in espi by my rival @Alemat

Espi-Sabrina.png.10019171e1fd78c83caec00de13f9bd5.png.5c599fdfee78361e33dbe141bb7fcd82.pngEvilespeon bossa team0 version gdr (versione icon) by @Silvercenturion

466121175_Evilespeon_GDR_MillenniumExpress.png.b97c925586cbe7f0b2ff750c6a8d3224-1.png.dbeb1bef169871cf7d31d8723f9a1674.png Evilespeon bossa team 0 version gdr (versione sprite) by @Silvercenturion

 

il trio politico (io, @Alemat e @Quasar) è qui

RioluMarciaStendardo.gif.d36d7a0c6d9ef9e734834f0ebd3e47e3.gif.e884386f7cec9a8b69234661c5172226.gifQuasarGialloViola.gif.e30f93475348daa244fb1a59facd8b57-1.gif.853decede9c1e15fd98777075651291e.gifBossa-Marcia-gif-03012f9210260110055c5ee

Sprite by @Alemat

1863735054_TatsugiriFormaTesaViola.png.94cf96c15d81139735fecc47ef0b62f7.png.cbee256046885ba7e81f66ebda449483.png1430449915_TatsugiriFormaTesaViolaAnimato.gif.7bb0fa99f379845723b7ec9e4d893aa0.gif.dfe8e13678b4b283cc635c1fa42d29e0.gif tatsugiri di zeria by @Macca

1457048574_TatsugiriFormaTesaViolaAnimato2.gif.9e50b81c38b45123f49d7d37fc671213.gif.b0f504e86bcbb0a70da8d3e0d29d5f41.gif1151248065_TatsugiriFormaTesaAnimato.gif.e36f9191d1202b99a4e58b01a069c395.gif.e42c98c4c2c4a5155e26f8acfac88c00.gif zeria e repubblica gialla sushide version,ci vogliamo bene in realtà siamo aleati u.u

Lo sguardo sospetto succede solo alcune volte XD quello di repubblica guarda con sospetto lo zeriano per capire che combina coi pikachu e quello zeriano guarda con sospetto quello di repubblica gialla per capire se gli ha fregato dei pikachu per liberarli XD

E comunque quello è uno sguardo d'affetto u.u sprite sempre by @Macca

 

 

Link al commento
Condividi su altre piattaforme

1 minuto fa, evilespeon ha scritto:

È zeriano te lo dico io XD 

Va bene è zeriano XD

"A ogni nuovo incontro segue sempre un addio. 

Tuttavia non è detto che debba essere per sempre...

Starà a te deciderne la durata..."

~L'allegro venditore di maschere (TLOZ: Majora's Mask)

firma_forum.png.af028dd644c03f28eccfbe46cfb1e68f.png

Art Gallery | Instagram | Twitter

Link al commento
Condividi su altre piattaforme

12 minuti fa, Diamaxus ha scritto:

Va bene è zeriano XD

Io comunque ho capito solo ora che tutto sto caos serve solo a fare quella piccola barra verticale alla fine...mi sa che la programmazione la lascio ai pikachu XD 

image.png.39bbe0cff4b187a25d5f22e39485dc6f.png.35029b6d4c1fc26daff0398e9e77c186.png

ksXi5yt.png.d72976744985b9600e2a3b86f1651d07.pngHpf3AQJ.jpg.93b9d15fb16f0ef90261743491866646.jpg.98e0bba49ce3d87b9ca564fcb4bcb644.jpg

TEAM 0 RULES...J0IN THE P0KECLUB TEAM 0 

1tizwJ2-1.png.4f5ed349c903c95bfdc1574320a2d709.png

UNIC0 PREMIO VINTO IN UN GDR FIN ORA...DOVEVO RIMETTERLO XD

espi.gif.896b8952e3c969e3168c3f1ae3ff3f8c.gif.15df7e8a181539a2023a846925e0933d.gifespon gif by @SlowHandBoy0...ditemi perche si chiama cosi please XD 

 

 

 

download.jpeg-454.jpg.d1562206b44766e4da99dcfd46b76995.jpg @Alemat è mio rivale e mi frega i pikachu ma ora è contento che è stato citato XD 

 

 

ragalino by @Porygatto (visitate la sua gallery) 

IjNK5WX
 

PfszeYn.png

quanto carino pikachu che imita lotad

Sprite by @Vale (visitate la sua gallery) 

 

fiocco amico da usare.jpg

 

Doll fantastiche fatte da my rival giallo @Alemat

2041971240_Espeon_compleanno(1)(1).png.befce4541019073424e77924425b33d3.png.4ed59da344e80986ac2592ceccd774e4.png espeon compleanno 

1474038428_Espi_Compleanno(2)(1).gif.600cf40dc9f48760a49ed7ae76c431cf.gif.bd27fa41a79e29a74c3a5b6655134abc.gif espeon compleanno animata

Espeon_Natale.png.fa47efd3364961da152d53d8fd48ade8.png.5c9ae3965e01c5343af2b9ffaf516c3e.png espeon di natale

Espeon di natale is finally real XD 

Elfilin30x30.png.6fa08886fb3173e0fb150831f42600ed.png.2fe1a5fd454a67c20678b1dd1c0f6466.png elfilin super cute from kirby and the forgotten land by @Alemat

 

Riolu_Kart.png.96e52274c10a43d902baeabeaabd8726.png.ae9b508addb2338929e1cb718e599e20.png  doll ufficiale (anche se il rival dice di no XD) del mio disegno riolu kart by @Alemat

 

EspeonEvolution.gif.a7aede5d0ba42929d13862477ceadbc1.gif.8da2ba6e11dbf279e6cc900ca1005be4.gif eevee che evolve in espi by my rival @Alemat

Espi-Sabrina.png.10019171e1fd78c83caec00de13f9bd5.png.5c599fdfee78361e33dbe141bb7fcd82.pngEvilespeon bossa team0 version gdr (versione icon) by @Silvercenturion

466121175_Evilespeon_GDR_MillenniumExpress.png.b97c925586cbe7f0b2ff750c6a8d3224-1.png.dbeb1bef169871cf7d31d8723f9a1674.png Evilespeon bossa team 0 version gdr (versione sprite) by @Silvercenturion

 

il trio politico (io, @Alemat e @Quasar) è qui

RioluMarciaStendardo.gif.d36d7a0c6d9ef9e734834f0ebd3e47e3.gif.e884386f7cec9a8b69234661c5172226.gifQuasarGialloViola.gif.e30f93475348daa244fb1a59facd8b57-1.gif.853decede9c1e15fd98777075651291e.gifBossa-Marcia-gif-03012f9210260110055c5ee

Sprite by @Alemat

1863735054_TatsugiriFormaTesaViola.png.94cf96c15d81139735fecc47ef0b62f7.png.cbee256046885ba7e81f66ebda449483.png1430449915_TatsugiriFormaTesaViolaAnimato.gif.7bb0fa99f379845723b7ec9e4d893aa0.gif.dfe8e13678b4b283cc635c1fa42d29e0.gif tatsugiri di zeria by @Macca

1457048574_TatsugiriFormaTesaViolaAnimato2.gif.9e50b81c38b45123f49d7d37fc671213.gif.b0f504e86bcbb0a70da8d3e0d29d5f41.gif1151248065_TatsugiriFormaTesaAnimato.gif.e36f9191d1202b99a4e58b01a069c395.gif.e42c98c4c2c4a5155e26f8acfac88c00.gif zeria e repubblica gialla sushide version,ci vogliamo bene in realtà siamo aleati u.u

Lo sguardo sospetto succede solo alcune volte XD quello di repubblica guarda con sospetto lo zeriano per capire che combina coi pikachu e quello zeriano guarda con sospetto quello di repubblica gialla per capire se gli ha fregato dei pikachu per liberarli XD

E comunque quello è uno sguardo d'affetto u.u sprite sempre by @Macca

 

 

Link al commento
Condividi su altre piattaforme

Adesso, evilespeon ha scritto:

Io comunque ho capito solo ora che tutto sto caos serve solo a fare quella piccola barra verticale alla fine...mi sa che la programmazione la lascio ai pikachu XD 

Solo quella parte dove stanno quelle sigle e il main XD

La parte precedente descrive proprio come è fatta la console XD

 

Però intanto se ci hai capito qualcosa è già un buon risultato :xd: 

"A ogni nuovo incontro segue sempre un addio. 

Tuttavia non è detto che debba essere per sempre...

Starà a te deciderne la durata..."

~L'allegro venditore di maschere (TLOZ: Majora's Mask)

firma_forum.png.af028dd644c03f28eccfbe46cfb1e68f.png

Art Gallery | Instagram | Twitter

Link al commento
Condividi su altre piattaforme

4 minuti fa, Diamaxus ha scritto:

Solo quella parte dove stanno quelle sigle e il main XD

La parte precedente descrive proprio come è fatta la console XD

 

Però intanto se ci hai capito qualcosa è già un buon risultato :xd: 

Ah ecco allora avevo capito tutto come sempre...ma anche no XD 

Ma piano piano sto capendo...forse XD 

image.png.39bbe0cff4b187a25d5f22e39485dc6f.png.35029b6d4c1fc26daff0398e9e77c186.png

ksXi5yt.png.d72976744985b9600e2a3b86f1651d07.pngHpf3AQJ.jpg.93b9d15fb16f0ef90261743491866646.jpg.98e0bba49ce3d87b9ca564fcb4bcb644.jpg

TEAM 0 RULES...J0IN THE P0KECLUB TEAM 0 

1tizwJ2-1.png.4f5ed349c903c95bfdc1574320a2d709.png

UNIC0 PREMIO VINTO IN UN GDR FIN ORA...DOVEVO RIMETTERLO XD

espi.gif.896b8952e3c969e3168c3f1ae3ff3f8c.gif.15df7e8a181539a2023a846925e0933d.gifespon gif by @SlowHandBoy0...ditemi perche si chiama cosi please XD 

 

 

 

download.jpeg-454.jpg.d1562206b44766e4da99dcfd46b76995.jpg @Alemat è mio rivale e mi frega i pikachu ma ora è contento che è stato citato XD 

 

 

ragalino by @Porygatto (visitate la sua gallery) 

IjNK5WX
 

PfszeYn.png

quanto carino pikachu che imita lotad

Sprite by @Vale (visitate la sua gallery) 

 

fiocco amico da usare.jpg

 

Doll fantastiche fatte da my rival giallo @Alemat

2041971240_Espeon_compleanno(1)(1).png.befce4541019073424e77924425b33d3.png.4ed59da344e80986ac2592ceccd774e4.png espeon compleanno 

1474038428_Espi_Compleanno(2)(1).gif.600cf40dc9f48760a49ed7ae76c431cf.gif.bd27fa41a79e29a74c3a5b6655134abc.gif espeon compleanno animata

Espeon_Natale.png.fa47efd3364961da152d53d8fd48ade8.png.5c9ae3965e01c5343af2b9ffaf516c3e.png espeon di natale

Espeon di natale is finally real XD 

Elfilin30x30.png.6fa08886fb3173e0fb150831f42600ed.png.2fe1a5fd454a67c20678b1dd1c0f6466.png elfilin super cute from kirby and the forgotten land by @Alemat

 

Riolu_Kart.png.96e52274c10a43d902baeabeaabd8726.png.ae9b508addb2338929e1cb718e599e20.png  doll ufficiale (anche se il rival dice di no XD) del mio disegno riolu kart by @Alemat

 

EspeonEvolution.gif.a7aede5d0ba42929d13862477ceadbc1.gif.8da2ba6e11dbf279e6cc900ca1005be4.gif eevee che evolve in espi by my rival @Alemat

Espi-Sabrina.png.10019171e1fd78c83caec00de13f9bd5.png.5c599fdfee78361e33dbe141bb7fcd82.pngEvilespeon bossa team0 version gdr (versione icon) by @Silvercenturion

466121175_Evilespeon_GDR_MillenniumExpress.png.b97c925586cbe7f0b2ff750c6a8d3224-1.png.dbeb1bef169871cf7d31d8723f9a1674.png Evilespeon bossa team 0 version gdr (versione sprite) by @Silvercenturion

 

il trio politico (io, @Alemat e @Quasar) è qui

RioluMarciaStendardo.gif.d36d7a0c6d9ef9e734834f0ebd3e47e3.gif.e884386f7cec9a8b69234661c5172226.gifQuasarGialloViola.gif.e30f93475348daa244fb1a59facd8b57-1.gif.853decede9c1e15fd98777075651291e.gifBossa-Marcia-gif-03012f9210260110055c5ee

Sprite by @Alemat

1863735054_TatsugiriFormaTesaViola.png.94cf96c15d81139735fecc47ef0b62f7.png.cbee256046885ba7e81f66ebda449483.png1430449915_TatsugiriFormaTesaViolaAnimato.gif.7bb0fa99f379845723b7ec9e4d893aa0.gif.dfe8e13678b4b283cc635c1fa42d29e0.gif tatsugiri di zeria by @Macca

1457048574_TatsugiriFormaTesaViolaAnimato2.gif.9e50b81c38b45123f49d7d37fc671213.gif.b0f504e86bcbb0a70da8d3e0d29d5f41.gif1151248065_TatsugiriFormaTesaAnimato.gif.e36f9191d1202b99a4e58b01a069c395.gif.e42c98c4c2c4a5155e26f8acfac88c00.gif zeria e repubblica gialla sushide version,ci vogliamo bene in realtà siamo aleati u.u

Lo sguardo sospetto succede solo alcune volte XD quello di repubblica guarda con sospetto lo zeriano per capire che combina coi pikachu e quello zeriano guarda con sospetto quello di repubblica gialla per capire se gli ha fregato dei pikachu per liberarli XD

E comunque quello è uno sguardo d'affetto u.u sprite sempre by @Macca

 

 

Link al commento
Condividi su altre piattaforme

non ho capito niente...però me lo ricorderò se devo prendere dei + dal prof di informatica...

 

Dollina di Sora dal mitico @Shutmylazer      

200967427_gifgiusta.gif.ad3d7f56094e24d2f907a0b5210962b9.gif

Dollina di hogwarts legaacy dal mitico @Shutmylazer

lanciobombardanuovoblu(2).gif.be9b4fbde5a56298ffa3058947466303.gif

e sfondo del telefono fatto da lui

 

 

homescreen-3.png

premi musharna's dream  image.png  image.png

ecco ho finito:oopsie:

ecco il problema di essere nel forum attivamente da soli 8 mesi...

 

allora, aspettando premiazioni o dediche, parlerò di un'altra cosetta

 

La migliore colonna sonora di sempre: testo e musica

 

Funfact, è stata composta in un giorno

You've got a friend in me
You've got a friend in me
When the road looks rough ahead
And you're miles and miles
From your nice warm bed
You just remember what your old pal said
Boy, you've got a friend in me
Yeah, you've got a friend in me
You've got a friend in me
You've got a friend in me
You got troubles, I've got 'em too
There isn't anything I wouldn't do for you
We stick together and see it through
'Cause you've got a friend in me
You've got a friend in me
Some other folks might be
A little bit smarter than I am
Bigger and stronger too
Maybe
But none of them will ever love you
The way I do
It's me and you, boy
And as the years go by
Our friendship will never die
You're gonna see it's our destiny
You've got a friend in me
You've got a friend in me
You've got a friend in me

 

 

 

Vincono 5 punti bimbo chiunque capisca di quale film è, se no chiamo Pocoyo e Pato che ti bastonano

 

 

comunque interessi:

pokemon :0

meerio :0

KH :0

Harry maguire Potter -> Hogwarts legacy :0

Calcio -> Inter :0

Baseball :0

Fortnait. i like fortnait, i like fortnait battle paaaass

 

cose che odio:

BASTA PAPERINO DIRMI DOVE SONO GLI INGREDIENTI CURAMI BRUTTO INCOMPETENTE PORTATEMI THE KING TOPO MUOVITI STUPIDA PAPERA SMETTI Di paRLarE In quESto MoDO !!!!  oh, ciao winnie the pooh, guarda, ti ho portato del miele, ce l'ho gustiamo insieme? Aspetta, dov'è Tigro? 

 

Streamers preferiti:

@Kiryu89 alias levelcrossing 89

@Remikyu

e il mitico cydo che è talmente potente che non posso taggare

ah sì, @Dadrake anche se è inattivo penso

 

quegli altri non ve li dico, sono più n00b perchè non sono iscritti al forum.

 

 

A nessuno gliene frega di me, giusto??

 

..

 

bè vi basta sapere che al mio cervello piace fare lo scemotto, per esempio so a memoria alcuni video di sio, come la ecensione della switch o alcune canzoni come estate al fiume e la nuova su gianlucoz

 

La nonna ha preparato la cena, vado a cenare perchè mi scoccia subire un attacco di solletico

image.png

Link al commento
Condividi su altre piattaforme

5 minuti fa, liviopocoyo ha scritto:

non ho capito niente...però me lo ricorderò se devo prendere dei + dal prof di informatica...

Capisco, forse è troppo complesso allora oppure io non so spiegare bene XD. Nel caso le prossime volte faccio vedere direttamente cosa succede sull'emulatore. :) 

Modificato da Diamaxus

"A ogni nuovo incontro segue sempre un addio. 

Tuttavia non è detto che debba essere per sempre...

Starà a te deciderne la durata..."

~L'allegro venditore di maschere (TLOZ: Majora's Mask)

firma_forum.png.af028dd644c03f28eccfbe46cfb1e68f.png

Art Gallery | Instagram | Twitter

Link al commento
Condividi su altre piattaforme

7 minuti fa, Diamaxus ha scritto:

Capisco, forse è troppo complesso allora oppure io non so spiegare bene XD. Nel caso le prossime volte faccio vedere direttamente cosa succede sull'emulatore. :) 

Nah te spieghi bene è che è un po incasinato di suo mi sa XD

image.png.39bbe0cff4b187a25d5f22e39485dc6f.png.35029b6d4c1fc26daff0398e9e77c186.png

ksXi5yt.png.d72976744985b9600e2a3b86f1651d07.pngHpf3AQJ.jpg.93b9d15fb16f0ef90261743491866646.jpg.98e0bba49ce3d87b9ca564fcb4bcb644.jpg

TEAM 0 RULES...J0IN THE P0KECLUB TEAM 0 

1tizwJ2-1.png.4f5ed349c903c95bfdc1574320a2d709.png

UNIC0 PREMIO VINTO IN UN GDR FIN ORA...DOVEVO RIMETTERLO XD

espi.gif.896b8952e3c969e3168c3f1ae3ff3f8c.gif.15df7e8a181539a2023a846925e0933d.gifespon gif by @SlowHandBoy0...ditemi perche si chiama cosi please XD 

 

 

 

download.jpeg-454.jpg.d1562206b44766e4da99dcfd46b76995.jpg @Alemat è mio rivale e mi frega i pikachu ma ora è contento che è stato citato XD 

 

 

ragalino by @Porygatto (visitate la sua gallery) 

IjNK5WX
 

PfszeYn.png

quanto carino pikachu che imita lotad

Sprite by @Vale (visitate la sua gallery) 

 

fiocco amico da usare.jpg

 

Doll fantastiche fatte da my rival giallo @Alemat

2041971240_Espeon_compleanno(1)(1).png.befce4541019073424e77924425b33d3.png.4ed59da344e80986ac2592ceccd774e4.png espeon compleanno 

1474038428_Espi_Compleanno(2)(1).gif.600cf40dc9f48760a49ed7ae76c431cf.gif.bd27fa41a79e29a74c3a5b6655134abc.gif espeon compleanno animata

Espeon_Natale.png.fa47efd3364961da152d53d8fd48ade8.png.5c9ae3965e01c5343af2b9ffaf516c3e.png espeon di natale

Espeon di natale is finally real XD 

Elfilin30x30.png.6fa08886fb3173e0fb150831f42600ed.png.2fe1a5fd454a67c20678b1dd1c0f6466.png elfilin super cute from kirby and the forgotten land by @Alemat

 

Riolu_Kart.png.96e52274c10a43d902baeabeaabd8726.png.ae9b508addb2338929e1cb718e599e20.png  doll ufficiale (anche se il rival dice di no XD) del mio disegno riolu kart by @Alemat

 

EspeonEvolution.gif.a7aede5d0ba42929d13862477ceadbc1.gif.8da2ba6e11dbf279e6cc900ca1005be4.gif eevee che evolve in espi by my rival @Alemat

Espi-Sabrina.png.10019171e1fd78c83caec00de13f9bd5.png.5c599fdfee78361e33dbe141bb7fcd82.pngEvilespeon bossa team0 version gdr (versione icon) by @Silvercenturion

466121175_Evilespeon_GDR_MillenniumExpress.png.b97c925586cbe7f0b2ff750c6a8d3224-1.png.dbeb1bef169871cf7d31d8723f9a1674.png Evilespeon bossa team 0 version gdr (versione sprite) by @Silvercenturion

 

il trio politico (io, @Alemat e @Quasar) è qui

RioluMarciaStendardo.gif.d36d7a0c6d9ef9e734834f0ebd3e47e3.gif.e884386f7cec9a8b69234661c5172226.gifQuasarGialloViola.gif.e30f93475348daa244fb1a59facd8b57-1.gif.853decede9c1e15fd98777075651291e.gifBossa-Marcia-gif-03012f9210260110055c5ee

Sprite by @Alemat

1863735054_TatsugiriFormaTesaViola.png.94cf96c15d81139735fecc47ef0b62f7.png.cbee256046885ba7e81f66ebda449483.png1430449915_TatsugiriFormaTesaViolaAnimato.gif.7bb0fa99f379845723b7ec9e4d893aa0.gif.dfe8e13678b4b283cc635c1fa42d29e0.gif tatsugiri di zeria by @Macca

1457048574_TatsugiriFormaTesaViolaAnimato2.gif.9e50b81c38b45123f49d7d37fc671213.gif.b0f504e86bcbb0a70da8d3e0d29d5f41.gif1151248065_TatsugiriFormaTesaAnimato.gif.e36f9191d1202b99a4e58b01a069c395.gif.e42c98c4c2c4a5155e26f8acfac88c00.gif zeria e repubblica gialla sushide version,ci vogliamo bene in realtà siamo aleati u.u

Lo sguardo sospetto succede solo alcune volte XD quello di repubblica guarda con sospetto lo zeriano per capire che combina coi pikachu e quello zeriano guarda con sospetto quello di repubblica gialla per capire se gli ha fregato dei pikachu per liberarli XD

E comunque quello è uno sguardo d'affetto u.u sprite sempre by @Macca

 

 

Link al commento
Condividi su altre piattaforme

1 minuto fa, evilespeon ha scritto:

Nah te spieghi bene è che è un po incasinato di suo mi sa XD

Un po' è vero, ci ho messo un po' per capire quali valori assegnare alla memoria la prima volta XD

"A ogni nuovo incontro segue sempre un addio. 

Tuttavia non è detto che debba essere per sempre...

Starà a te deciderne la durata..."

~L'allegro venditore di maschere (TLOZ: Majora's Mask)

firma_forum.png.af028dd644c03f28eccfbe46cfb1e68f.png

Art Gallery | Instagram | Twitter

Link al commento
Condividi su altre piattaforme

Interessante seguo 

 SuicuneVersioneAnimata.gifSuicune ~AnimatoRaikouAnimato.gif.2aecabe8d8c540178d8257158076f1bb.gifRaikou ~ Animato by @Alemat

Repubblica Gialla di Alemat RioluMarciaStendardo.gif by @Alemat

 

Claude_FE_Viverna.gifClaudeFE.png Claude Fire Emblem Three Houses by @Alemat

Spoiler

 Icon Damon/ Chrom Fire Emblem by @chube

 Damon-1.png Chrom1.png          :starter:   Icon by @Diamaxus Tobirama Senju tobirama_icon.png 

 Grifontuono Phoenix Ball creata da @Mana Pok-Ball-Sprite-Zaino.png                        @Vale Art

@Korippo Lime @Vale 57be10aa82097a56c90f5dc4c70bd9a26944a0f5 

 

 

Icon by @PeterPan7zugTYj.png 

    

  

 

 

 

 

 

Fiocchi commemorazione by @Lugialeon 19/08/18

 

Link al commento
Condividi su altre piattaforme

2 ore fa, Diamaxus ha scritto:

Ciao a tutti!

Come ho detto nell’aggiornamento di qualche giorno fa, sto imparando a programmare per il GBA (GameBoy Advance) e vorrei aprire questa discussione sia per discuterne con con voi che per mostrarvi i miei progressi. Vorrei anche impostarlo come se fosse un tutorial nel caso qualcuno di voi fosse interessato a imparare, perciò citerò le fonti delle informazioni che vi darò, soprattutto per quanto riguarda le caratteristiche Hardware.

 

Taggo @evilespeon e @ZedeFire che erano interessati alla discussione e altre persone che potrebbero essere interessate: @Macca @Porygatto che visto che sta giocando a Zaffiro magari gli interessa anche capire come caricare gli sprite sul gba :xd:, @Keroro @liviopocoyo @LadyDarkrai e @Vale e inoltre ringrazio @VictiniPika per avermi permesso di inserire i link. :smile2:

 

Partiamo proprio dall’hardware del GBA per poi passare ai comandi di base che useremo oggi.

Cercherò di semplificare il più possibile. Se avete delle domande chiedete pure, farò del mio meglio per farvi capire i concetti.

 

Chi vuole può saltare direttamente alla fine del post per vedere direttamente il risultato del mio primo programma.

 

Il GBA ha un processore ARM a 32 bit. I giochi sono distribuiti in Game Paks che sono costituiti da una ROM per il codice e i dati e spesso dalla RAM per salvare le informazioni di gioco.

 

Ha uno schermo LCD di 240x160 px capace di visualizzare 32768 colori (15 bit = 215 valori rappresentabili).

 

Altre caratteristiche principali che saranno utili sono:

 

Video:

  • 3 modalità bitmap e 3 modalità tilemap
  • 4 layer separati di tilemap (per gli sfondi) e 128 sprite (per gli oggetti)
  • trasformazioni affini (rotazione/scalatura/trasformazione obliqua) su due sfondi e 32 oggetti
  • effetti grafici speciali: mosaico, additive blending, fade a nero/bianco

suono:

  • 6 canali
  • 4 generatori di suoni del GameBoy originale: 2 di onde quadre, 1 di onde generiche e 1 generatore di rumore
  • 2 canali “DirectSound” per suonare campioni e musica.

Altro:

  • 10 tasti (4 frecce direzionali, select/start, A e B, L e R)
  • 14 interrupt hardware
  • modalità multiplayer a 4 giocatori attraverso cavetto multiboot
  • sensore opzionale a infrarossi, sensore di luce e giroscopio.

Linguaggio di programmazione C (possibile anche il C++) e Assembly ma esistono anche tool per programmare in altri linguaggi.

Dal punto di vista della programmazione, il GBA non ha un sistema operativo (a differenza delle console moderne) il che significa che quando programmiamo andiamo a scrivere direttamente nei registri del processore.

 

Sezioni di memoria

 

Area | indirizzo di inizio | indirizzo di fine | lunghezza | dimensione della porta | descrizione

 

ROM | 0000:0000h | 0000:3FFFh | 16 kb | 32 bit | memoria del BIOS, non può vi si può accedere per leggere i dati ma solo per scriverli.

 

EWRAM | 0200:0000h | 0203:FFFFh | 256 kb | 16 bit | External Work RAM. Disponibile per il codice e i dati, viene usata dal cavo multiboot.

IWRAM | 0300:0000h | 0300:7FFFh | 32 kb | 32 bit | Internal Work RAM. Disponibile per codice e dati, è la sezione di memoria più veloce.

 

IO RAM | 0400:0000h | 0400:03FFh | 1kb | 16 bit | Registri Input-Output, è la sezione dove si controllano la grafica, il suono, i tasti e altre caratteristiche.

 

PAL RAM | 0500:0000h | 0500:03FFh | 1kb | 16 bit | memoria usata per 2 palette ciascuna di 256 colori con profondità 15 bit, la prima è per gli sfondi, la seconda per gli sprite.

 

VRAM | 0600:0000h | 0601:7FFFh | 96 kbit | 16 bit | Video RAM dove vengono conservati i dati per gli sfondi e gli sprite.

 

OAM | 0700:0000h | 0700:03FFh | 1 kb | 32 bit | Object Attribute Memory, permette di controllare gli Sprite.

 

PAK ROM | 0800:0000h | variabile | variabile | 16 bit | Game Pak ROM. È dove si trova il gioco e dove inizia l’esecuzione se non si usa un cavo multiboot. Sebbene la dimensione sia variabile il limite è 32 MB.

 

Cart RAM | 0E00:0000h | variabile | variabile | 8 bit | Cartridge RAM. È dove si trovano i dati di salvataggio. La dimensione totale è variabile ma si consiglia 64 kb.

 

N.B. kb sta per kilobit non kilobyte.

 

fonte: https://www.coranac.com/tonc/text/hardware.htm

 

Strumenti

 

Per programmare in C vi basta un qualunque editor di testo, va bene anche NotePad.

Per la compilazione della ROM serve un tool specifico, chiamato devkitPRO e se siete su Windows anche la shell Msys.

Potete trovare tutte le info qui se siete interessati: https://devkitpro.org/wiki/Getting_Started

 

Il motivo per il quale non usiamo un ambiente di sviluppo come Eclipse, DevC++ ecc. è che il Makefile che dobbiamo usare è speciale, in quanto il GBA controlla che l’intestazione della ROM del gioco sia corretta, in caso contrario dà errore.

 

La struttura della cartella in cui salveremo i file con il codice C è quella in figura: template_dir.png

 

in "include" vanno i file *.h, in "source" i file *.c

 

Come emulatore io uso mGBA ma va bene uno qualsiasi.

 

Nozioni base del C

 

Vi darò solo quelle essenziali che userò di volta in volta, altrimenti sarebbero troppe. XD

 

Innanzitutto dovete sapere che ogni istruzione C deve terminare con il punto e virgola (tranne in alcuni casi specifici come il ciclo for/while e le direttive al preprocessore).

La dichiarazione di una variabile ha questa forma: tipo_della_variabile nome_della_variabile;

Esistono vari tipi, quelli che vedrete più spesso sono int, char e float ma ce ne sono altri che potete vedere su wikipedia se siete interessati.

 

Attraverso int dichiariamo una variabile di tipo intero ossia un numero intero.

Attraverso char dichiariamo una variabile che contiene un carattere (cioè una lettera).

Attraverso float dichiariamo una variabile che contiene un numero con la virola.

 

Ad esempio attraverso l’istruzione int a; dichiaro una variabile di tipo intero che chiamo a.

Per assegnare un valore a questa variabile devo scrivere ad es. int a = 10;

 

Comunque non vi preoccupate che appena li incontriamo vi spiego di volta in volta quali sono.

 

Poiché il nostro file sarà diviso in file.h e file.c per includere le funzioni che andremo a scrivere nei file *.h usiamo la primitiva #include “file.h” (senza punto e virgola, ricordate? Ci sono delle eccezioni :oopsie:).

 

Un altro elemento che avete bisogno di conoscere è il vettore, che è sostanzialmente una collezione di elementi per farla semplice.

Immaginate che sia uno scaffale dove dove sono riposti in ordine degli oggetti.

Data una variabile intera dim (che rappresenta la lunghezza del vettore), definiamo un vettore ad es. di tipo intero in questo modo:

 

int vettore[dim];

 

Sostituendo tra le parentesi quadre un numero indichiamo uno specifico elemento di quel vettore, ad es. int vettore[0]; indica il primo elemento del vettore.

Aggiungendo un secondo indice, rappresentiamo una matrice (link a wikipedia).

Ad es. int matrice[dim1][dim2]; dove dim1 e dim2 sono i numeri di righe e di colonne della matrice.

 

Il mio primo programma per GBA: Hello World

 

Per i veterani del C, sappiate che non avendo un sistema operativo, non possiamo usare printf() o le funzioni incluse in stdio.h per scrivere sullo schermo. Quindi il primo programma che ho fatto è stato quello per disegnare a schermo una barretta verticale, come quella del classico PONG.

 

Inizio con il commentare il mio file header helloworld.h:

 

 

	typedef unsigned short u16;
	typedef unsigned int u32;
	typedef u16 color;
	 
	#define MEM_IO 0x04000000
	#define MEM_VRAM 0x06000000
	#define REG_DISPCNT *((volatile u32*)(MEM_IO + 0x0000))
	#define DCNT_MODE3 0x0003
	#define DCNT_BG2 0x0400
	#define SCREEN_W 240
	#define SCREEN_H 160
	#define WHITE_COLOR 0x7FFF
	 
	typedef color m3_line[SCREEN_W];
	#define M3_MEM ((m3_line *)MEM_VRAM)
	

 

In questo file quello che faccio in sostanza è definire alcune costanti e alcuni tipi che mi serviranno nel programma principale.

 

u16 e u32 sono due tipi interi che definisco, la u sta per unsigned cioè senza segno 16 e 32 sono i bit che occupano in memoria.

Il tipo color lo uso semplicemente per ricordarmi che il GBA è in grado di rappresentare i colori in 16 bit (il sedicesimo non viene usato quindi in realtà sono 15).

MEM_IO è l’indirizzo del registro di Input-Output in base esadecimale.

MEM_VRAM è l’indirizzo della RAM video espresso in base esadecimale.

REG_DISPCNT è il registro di controllo dello schermo (Display Control Register), è complicata da spiegare in parole semplici questa istruzione ma diciamo che serve per accedere direttamente al contenuto del registro.

Per farvi meglio capire come è fatto il registro vi allego questa immagine presa qui

  Apri contenuto nascosto

Screenshot2023-12-05alle16_14_21.png.701aedbb6738c6a1edddaee24feda932.png

In base a dove scriviamo 1 o 0 nella tabella, attiviamo alcune funzioni. Per ora non preoccupatevi dei nomi; ci torneremo in un capitolo successivo.

 

MEM_IO + 0x0000 = 0x04000000 ossia l’indirizzo 0400:0000 cioè l’indirizzo dell’IO RAM.

Serve perché il valore di quella variabile potrebbe cambiare indipendentemente da quello che scriviamo nel codice, e stiamo dicendo al compilatore di ignorarla (volatile persuation).

Non vado nel dettaglio perché è davvero complicato da spiegare. :oopsie: 

 

DCNT_MODE3 e DCNT_BG2 servono ad impostare la modalità dello schermo, di cui vi parlerò nel prossimo capitolo più nel dettaglio.

 

SCREEN_W E SCREEN_H sono le dimensioni in pixel dello schermo.

WHITE_COLOR è semplicemente il colore bianco espresso in base esadecimale.

 

Per concludere le ultime due istruzioni mi servono a mappare i pixel dello schermo:

con la prima creo un vettore di grandezza pari alla larghezza dello schermo e con la seconda indico l’indirizzo della Video RAM e siccome devo disegnare una linea deve essere dello stesso tipo con cui definisco le variabili a cui assegno un colore.

 

 

Passiamo al file helloworld.c che ci serve a disegnare la barretta.

 

#include "helloworld.h"

 

int main(void)

{

u32 x = 10;

u32 y = 10;

REG_DISPCNT = DCNT_MODE3 | DCNT_BG2;

 

for (u32 colonna = x; colonna <= (+ 2); colonna++)

{

for (u32 riga = y; riga <= (2 * y); riga++)

{

M3_MEM [riga][colonna] = WHITE_COLOR;

}

}

 

while(1);

 

return 0;

}

 

int main(void) {…} è la funzione principale, che ci permette di eseguire le nostre funzioni che abbiamo eventualmente definito nei file *.h .

 

x e y sono le coordinate che ci permettono di definire un punto sullo schermo, assegno a queste il valore 10 per far partire la barretta in una posizione più centrale poiché sullo schermo l’origine degli assi si trova in alto a sinistra. 

 

REG_DISPCNT = DCNT_MODE3 | DCNT_BG2; mi serve per impostare i bit necessari ad attivare la modalità bitmap 3 e background2 sullo schermo. 

 

È arrivato il momento di disegnare la mia barretta, cosa che faccio attraverso due cicli for in modo tale da fissare il valore della coordinata x e far variare la coordinata y.

 

L’istruzione M3_MEM [riga][colonna] mi permette di accedere alla posizione x,y sullo schermo per farla breve, nella pratica vado ad assegnare il valore “bianco” al registro della VRAM.

 

 

While(1); serve per non far concludere il programma, poiché non essendoci un sistema operativo se il programma terminasse il comportamento non è definito.

 

 

Non vi mostro il Makefile questa volta, perché già così sono un sacco di informazioni da assimilare, e inoltre in questo caso non mi è servito modificare il Makefile fornito da devkitPRO. XD

 

 

A questo punto vado sulla shell scrivo cd /percorso/dove/hai/messo/la/cartella/del/tuo/programma

faccio invio, e scrivo make

 

questo è quello che uscirà scritto nella shell:

 

Screenshot2023-12-05alle16_49_03.png.77b8b561f65fb2bf8f7c643a3e621d2b.png

Se è andato tutto a buon fine uscirà scritto "ROM fixed!".

 

Aprendo la ROM questo è quello che apparirà a schermo:

 

Screenshot2023-12-05alle16_26_18.png.6cb3b4e4db3c4dba06787c8793b57003.png

 

 

Per oggi è tutto, ci vediamo al prossimo capitolo. Se avete domande fatele pure, e fatemi sapere se vi interessa questa rubrica o se c'è qualcosa che non capite. :smile1:

 

Interessantissimo! Per Capodanno ho mandato a prendere un libro che spiega le basi della programmazione in C/C++, visto che vorrei far entrare il mondo videoludico nel mio mondo lavorativo del futuro :quote:

Link al commento
Condividi su altre piattaforme

1 minuto fa, VincyDarkHeart ha scritto:

Interessantissimo! Per Capodanno ho mandato a prendere un libro che spiega le basi della programmazione in C/C++, visto che vorrei far entrare il mondo videoludico nel mio mondo lavorativo del futuro :quote:

Grazie :smile1:

Quando inizierai ti consiglio di procedere per piccoli passi, può essere complicato partire subito in quarta data la mole degli argomenti.

"A ogni nuovo incontro segue sempre un addio. 

Tuttavia non è detto che debba essere per sempre...

Starà a te deciderne la durata..."

~L'allegro venditore di maschere (TLOZ: Majora's Mask)

firma_forum.png.af028dd644c03f28eccfbe46cfb1e68f.png

Art Gallery | Instagram | Twitter

Link al commento
Condividi su altre piattaforme

1 minuto fa, LadyDarkrai ha scritto:

:fennekin_shock::confused:

Ci sta, non ti preoccupare XD

Se però l'argomento ti interessa, io carico comunque le foto e i video di quello che esce sull'emulatore se vuoi puoi passare anche solo a guardare quello ogni tanto XD

 

"A ogni nuovo incontro segue sempre un addio. 

Tuttavia non è detto che debba essere per sempre...

Starà a te deciderne la durata..."

~L'allegro venditore di maschere (TLOZ: Majora's Mask)

firma_forum.png.af028dd644c03f28eccfbe46cfb1e68f.png

Art Gallery | Instagram | Twitter

Link al commento
Condividi su altre piattaforme

56 minuti fa, Diamaxus ha scritto:

Un po' è vero, ci ho messo un po' per capire quali valori assegnare alla memoria la prima volta XD

Esatto kohai è la cosa di suo che è bella complessa XD però è interessante 

 

image.png.39bbe0cff4b187a25d5f22e39485dc6f.png.35029b6d4c1fc26daff0398e9e77c186.png

ksXi5yt.png.d72976744985b9600e2a3b86f1651d07.pngHpf3AQJ.jpg.93b9d15fb16f0ef90261743491866646.jpg.98e0bba49ce3d87b9ca564fcb4bcb644.jpg

TEAM 0 RULES...J0IN THE P0KECLUB TEAM 0 

1tizwJ2-1.png.4f5ed349c903c95bfdc1574320a2d709.png

UNIC0 PREMIO VINTO IN UN GDR FIN ORA...DOVEVO RIMETTERLO XD

espi.gif.896b8952e3c969e3168c3f1ae3ff3f8c.gif.15df7e8a181539a2023a846925e0933d.gifespon gif by @SlowHandBoy0...ditemi perche si chiama cosi please XD 

 

 

 

download.jpeg-454.jpg.d1562206b44766e4da99dcfd46b76995.jpg @Alemat è mio rivale e mi frega i pikachu ma ora è contento che è stato citato XD 

 

 

ragalino by @Porygatto (visitate la sua gallery) 

IjNK5WX
 

PfszeYn.png

quanto carino pikachu che imita lotad

Sprite by @Vale (visitate la sua gallery) 

 

fiocco amico da usare.jpg

 

Doll fantastiche fatte da my rival giallo @Alemat

2041971240_Espeon_compleanno(1)(1).png.befce4541019073424e77924425b33d3.png.4ed59da344e80986ac2592ceccd774e4.png espeon compleanno 

1474038428_Espi_Compleanno(2)(1).gif.600cf40dc9f48760a49ed7ae76c431cf.gif.bd27fa41a79e29a74c3a5b6655134abc.gif espeon compleanno animata

Espeon_Natale.png.fa47efd3364961da152d53d8fd48ade8.png.5c9ae3965e01c5343af2b9ffaf516c3e.png espeon di natale

Espeon di natale is finally real XD 

Elfilin30x30.png.6fa08886fb3173e0fb150831f42600ed.png.2fe1a5fd454a67c20678b1dd1c0f6466.png elfilin super cute from kirby and the forgotten land by @Alemat

 

Riolu_Kart.png.96e52274c10a43d902baeabeaabd8726.png.ae9b508addb2338929e1cb718e599e20.png  doll ufficiale (anche se il rival dice di no XD) del mio disegno riolu kart by @Alemat

 

EspeonEvolution.gif.a7aede5d0ba42929d13862477ceadbc1.gif.8da2ba6e11dbf279e6cc900ca1005be4.gif eevee che evolve in espi by my rival @Alemat

Espi-Sabrina.png.10019171e1fd78c83caec00de13f9bd5.png.5c599fdfee78361e33dbe141bb7fcd82.pngEvilespeon bossa team0 version gdr (versione icon) by @Silvercenturion

466121175_Evilespeon_GDR_MillenniumExpress.png.b97c925586cbe7f0b2ff750c6a8d3224-1.png.dbeb1bef169871cf7d31d8723f9a1674.png Evilespeon bossa team 0 version gdr (versione sprite) by @Silvercenturion

 

il trio politico (io, @Alemat e @Quasar) è qui

RioluMarciaStendardo.gif.d36d7a0c6d9ef9e734834f0ebd3e47e3.gif.e884386f7cec9a8b69234661c5172226.gifQuasarGialloViola.gif.e30f93475348daa244fb1a59facd8b57-1.gif.853decede9c1e15fd98777075651291e.gifBossa-Marcia-gif-03012f9210260110055c5ee

Sprite by @Alemat

1863735054_TatsugiriFormaTesaViola.png.94cf96c15d81139735fecc47ef0b62f7.png.cbee256046885ba7e81f66ebda449483.png1430449915_TatsugiriFormaTesaViolaAnimato.gif.7bb0fa99f379845723b7ec9e4d893aa0.gif.dfe8e13678b4b283cc635c1fa42d29e0.gif tatsugiri di zeria by @Macca

1457048574_TatsugiriFormaTesaViolaAnimato2.gif.9e50b81c38b45123f49d7d37fc671213.gif.b0f504e86bcbb0a70da8d3e0d29d5f41.gif1151248065_TatsugiriFormaTesaAnimato.gif.e36f9191d1202b99a4e58b01a069c395.gif.e42c98c4c2c4a5155e26f8acfac88c00.gif zeria e repubblica gialla sushide version,ci vogliamo bene in realtà siamo aleati u.u

Lo sguardo sospetto succede solo alcune volte XD quello di repubblica guarda con sospetto lo zeriano per capire che combina coi pikachu e quello zeriano guarda con sospetto quello di repubblica gialla per capire se gli ha fregato dei pikachu per liberarli XD

E comunque quello è uno sguardo d'affetto u.u sprite sempre by @Macca

 

 

Link al commento
Condividi su altre piattaforme

Adesso, evilespeon ha scritto:

Esatto kohai è la cosa di suo che è bella complessa XD però è interessante 

 

Sono contento che ti interessi :smile1:

"A ogni nuovo incontro segue sempre un addio. 

Tuttavia non è detto che debba essere per sempre...

Starà a te deciderne la durata..."

~L'allegro venditore di maschere (TLOZ: Majora's Mask)

firma_forum.png.af028dd644c03f28eccfbe46cfb1e68f.png

Art Gallery | Instagram | Twitter

Link al commento
Condividi su altre piattaforme

Adesso, Diamaxus ha scritto:

Sono contento che ti interessi :smile1:

Molto ho letto tutto bene e iano piano sto capendo di più so se procedi di piccoli passi ogni volta mi interessa molto 

image.png.39bbe0cff4b187a25d5f22e39485dc6f.png.35029b6d4c1fc26daff0398e9e77c186.png

ksXi5yt.png.d72976744985b9600e2a3b86f1651d07.pngHpf3AQJ.jpg.93b9d15fb16f0ef90261743491866646.jpg.98e0bba49ce3d87b9ca564fcb4bcb644.jpg

TEAM 0 RULES...J0IN THE P0KECLUB TEAM 0 

1tizwJ2-1.png.4f5ed349c903c95bfdc1574320a2d709.png

UNIC0 PREMIO VINTO IN UN GDR FIN ORA...DOVEVO RIMETTERLO XD

espi.gif.896b8952e3c969e3168c3f1ae3ff3f8c.gif.15df7e8a181539a2023a846925e0933d.gifespon gif by @SlowHandBoy0...ditemi perche si chiama cosi please XD 

 

 

 

download.jpeg-454.jpg.d1562206b44766e4da99dcfd46b76995.jpg @Alemat è mio rivale e mi frega i pikachu ma ora è contento che è stato citato XD 

 

 

ragalino by @Porygatto (visitate la sua gallery) 

IjNK5WX
 

PfszeYn.png

quanto carino pikachu che imita lotad

Sprite by @Vale (visitate la sua gallery) 

 

fiocco amico da usare.jpg

 

Doll fantastiche fatte da my rival giallo @Alemat

2041971240_Espeon_compleanno(1)(1).png.befce4541019073424e77924425b33d3.png.4ed59da344e80986ac2592ceccd774e4.png espeon compleanno 

1474038428_Espi_Compleanno(2)(1).gif.600cf40dc9f48760a49ed7ae76c431cf.gif.bd27fa41a79e29a74c3a5b6655134abc.gif espeon compleanno animata

Espeon_Natale.png.fa47efd3364961da152d53d8fd48ade8.png.5c9ae3965e01c5343af2b9ffaf516c3e.png espeon di natale

Espeon di natale is finally real XD 

Elfilin30x30.png.6fa08886fb3173e0fb150831f42600ed.png.2fe1a5fd454a67c20678b1dd1c0f6466.png elfilin super cute from kirby and the forgotten land by @Alemat

 

Riolu_Kart.png.96e52274c10a43d902baeabeaabd8726.png.ae9b508addb2338929e1cb718e599e20.png  doll ufficiale (anche se il rival dice di no XD) del mio disegno riolu kart by @Alemat

 

EspeonEvolution.gif.a7aede5d0ba42929d13862477ceadbc1.gif.8da2ba6e11dbf279e6cc900ca1005be4.gif eevee che evolve in espi by my rival @Alemat

Espi-Sabrina.png.10019171e1fd78c83caec00de13f9bd5.png.5c599fdfee78361e33dbe141bb7fcd82.pngEvilespeon bossa team0 version gdr (versione icon) by @Silvercenturion

466121175_Evilespeon_GDR_MillenniumExpress.png.b97c925586cbe7f0b2ff750c6a8d3224-1.png.dbeb1bef169871cf7d31d8723f9a1674.png Evilespeon bossa team 0 version gdr (versione sprite) by @Silvercenturion

 

il trio politico (io, @Alemat e @Quasar) è qui

RioluMarciaStendardo.gif.d36d7a0c6d9ef9e734834f0ebd3e47e3.gif.e884386f7cec9a8b69234661c5172226.gifQuasarGialloViola.gif.e30f93475348daa244fb1a59facd8b57-1.gif.853decede9c1e15fd98777075651291e.gifBossa-Marcia-gif-03012f9210260110055c5ee

Sprite by @Alemat

1863735054_TatsugiriFormaTesaViola.png.94cf96c15d81139735fecc47ef0b62f7.png.cbee256046885ba7e81f66ebda449483.png1430449915_TatsugiriFormaTesaViolaAnimato.gif.7bb0fa99f379845723b7ec9e4d893aa0.gif.dfe8e13678b4b283cc635c1fa42d29e0.gif tatsugiri di zeria by @Macca

1457048574_TatsugiriFormaTesaViolaAnimato2.gif.9e50b81c38b45123f49d7d37fc671213.gif.b0f504e86bcbb0a70da8d3e0d29d5f41.gif1151248065_TatsugiriFormaTesaAnimato.gif.e36f9191d1202b99a4e58b01a069c395.gif.e42c98c4c2c4a5155e26f8acfac88c00.gif zeria e repubblica gialla sushide version,ci vogliamo bene in realtà siamo aleati u.u

Lo sguardo sospetto succede solo alcune volte XD quello di repubblica guarda con sospetto lo zeriano per capire che combina coi pikachu e quello zeriano guarda con sospetto quello di repubblica gialla per capire se gli ha fregato dei pikachu per liberarli XD

E comunque quello è uno sguardo d'affetto u.u sprite sempre by @Macca

 

 

Link al commento
Condividi su altre piattaforme

Adesso, evilespeon ha scritto:

Molto ho letto tutto bene e iano piano sto capendo di più so se procedi di piccoli passi ogni volta mi interessa molto 

Va bene allora la prossima volta lo faccio più corto il capitoletto.

Inoltre mi sa che il prossimo argomento è molto teorico, quindi forse è più facile da capire anche.

"A ogni nuovo incontro segue sempre un addio. 

Tuttavia non è detto che debba essere per sempre...

Starà a te deciderne la durata..."

~L'allegro venditore di maschere (TLOZ: Majora's Mask)

firma_forum.png.af028dd644c03f28eccfbe46cfb1e68f.png

Art Gallery | Instagram | Twitter

Link al commento
Condividi su altre piattaforme

1 minuto fa, Diamaxus ha scritto:

Va bene allora la prossima volta lo faccio più corto il capitoletto.

Inoltre mi sa che il prossimo argomento è molto teorico, quindi forse è più facile da capire anche.

Si forse meglio così si riesce a seguire meglio che se non te ne intendi almeno due o tre volte devi rileggerlo per capire 

Ottimo dai 

image.png.39bbe0cff4b187a25d5f22e39485dc6f.png.35029b6d4c1fc26daff0398e9e77c186.png

ksXi5yt.png.d72976744985b9600e2a3b86f1651d07.pngHpf3AQJ.jpg.93b9d15fb16f0ef90261743491866646.jpg.98e0bba49ce3d87b9ca564fcb4bcb644.jpg

TEAM 0 RULES...J0IN THE P0KECLUB TEAM 0 

1tizwJ2-1.png.4f5ed349c903c95bfdc1574320a2d709.png

UNIC0 PREMIO VINTO IN UN GDR FIN ORA...DOVEVO RIMETTERLO XD

espi.gif.896b8952e3c969e3168c3f1ae3ff3f8c.gif.15df7e8a181539a2023a846925e0933d.gifespon gif by @SlowHandBoy0...ditemi perche si chiama cosi please XD 

 

 

 

download.jpeg-454.jpg.d1562206b44766e4da99dcfd46b76995.jpg @Alemat è mio rivale e mi frega i pikachu ma ora è contento che è stato citato XD 

 

 

ragalino by @Porygatto (visitate la sua gallery) 

IjNK5WX
 

PfszeYn.png

quanto carino pikachu che imita lotad

Sprite by @Vale (visitate la sua gallery) 

 

fiocco amico da usare.jpg

 

Doll fantastiche fatte da my rival giallo @Alemat

2041971240_Espeon_compleanno(1)(1).png.befce4541019073424e77924425b33d3.png.4ed59da344e80986ac2592ceccd774e4.png espeon compleanno 

1474038428_Espi_Compleanno(2)(1).gif.600cf40dc9f48760a49ed7ae76c431cf.gif.bd27fa41a79e29a74c3a5b6655134abc.gif espeon compleanno animata

Espeon_Natale.png.fa47efd3364961da152d53d8fd48ade8.png.5c9ae3965e01c5343af2b9ffaf516c3e.png espeon di natale

Espeon di natale is finally real XD 

Elfilin30x30.png.6fa08886fb3173e0fb150831f42600ed.png.2fe1a5fd454a67c20678b1dd1c0f6466.png elfilin super cute from kirby and the forgotten land by @Alemat

 

Riolu_Kart.png.96e52274c10a43d902baeabeaabd8726.png.ae9b508addb2338929e1cb718e599e20.png  doll ufficiale (anche se il rival dice di no XD) del mio disegno riolu kart by @Alemat

 

EspeonEvolution.gif.a7aede5d0ba42929d13862477ceadbc1.gif.8da2ba6e11dbf279e6cc900ca1005be4.gif eevee che evolve in espi by my rival @Alemat

Espi-Sabrina.png.10019171e1fd78c83caec00de13f9bd5.png.5c599fdfee78361e33dbe141bb7fcd82.pngEvilespeon bossa team0 version gdr (versione icon) by @Silvercenturion

466121175_Evilespeon_GDR_MillenniumExpress.png.b97c925586cbe7f0b2ff750c6a8d3224-1.png.dbeb1bef169871cf7d31d8723f9a1674.png Evilespeon bossa team 0 version gdr (versione sprite) by @Silvercenturion

 

il trio politico (io, @Alemat e @Quasar) è qui

RioluMarciaStendardo.gif.d36d7a0c6d9ef9e734834f0ebd3e47e3.gif.e884386f7cec9a8b69234661c5172226.gifQuasarGialloViola.gif.e30f93475348daa244fb1a59facd8b57-1.gif.853decede9c1e15fd98777075651291e.gifBossa-Marcia-gif-03012f9210260110055c5ee

Sprite by @Alemat

1863735054_TatsugiriFormaTesaViola.png.94cf96c15d81139735fecc47ef0b62f7.png.cbee256046885ba7e81f66ebda449483.png1430449915_TatsugiriFormaTesaViolaAnimato.gif.7bb0fa99f379845723b7ec9e4d893aa0.gif.dfe8e13678b4b283cc635c1fa42d29e0.gif tatsugiri di zeria by @Macca

1457048574_TatsugiriFormaTesaViolaAnimato2.gif.9e50b81c38b45123f49d7d37fc671213.gif.b0f504e86bcbb0a70da8d3e0d29d5f41.gif1151248065_TatsugiriFormaTesaAnimato.gif.e36f9191d1202b99a4e58b01a069c395.gif.e42c98c4c2c4a5155e26f8acfac88c00.gif zeria e repubblica gialla sushide version,ci vogliamo bene in realtà siamo aleati u.u

Lo sguardo sospetto succede solo alcune volte XD quello di repubblica guarda con sospetto lo zeriano per capire che combina coi pikachu e quello zeriano guarda con sospetto quello di repubblica gialla per capire se gli ha fregato dei pikachu per liberarli XD

E comunque quello è uno sguardo d'affetto u.u sprite sempre by @Macca

 

 

Link al commento
Condividi su altre piattaforme

4 minuti fa, evilespeon ha scritto:

Si forse meglio così si riesce a seguire meglio che se non te ne intendi almeno due o tre volte devi rileggerlo per capire 

Ottimo dai 

Questo primo capitolo è venuto più lungo perché dovevo spiegare anche tutto il funzionamento dei registri, forse avrei dovuto dividerlo in due parti :think:

"A ogni nuovo incontro segue sempre un addio. 

Tuttavia non è detto che debba essere per sempre...

Starà a te deciderne la durata..."

~L'allegro venditore di maschere (TLOZ: Majora's Mask)

firma_forum.png.af028dd644c03f28eccfbe46cfb1e68f.png

Art Gallery | Instagram | Twitter

Link al commento
Condividi su altre piattaforme

Crea un account o accedi per commentare

E' necessario essere iscritto a Pokémon Millennium per poter commentare

Crea adesso un account

Registra un nuovo account nella nostro forum. E' semplice!

Crea un nuovo account

Accedi

Hai già un account? Accedi qui!

Accedi adesso
  • Utenti nella discussione   0 utenti

    • Nessun utente registrato sta visualizzando questa pagina.
×
×
  • Crea...