Vai al commento



Programmazione del GBA


Diamaxus

Post raccomandati

1 minuto fa, Diamaxus ha scritto:

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

Ma si come inzio dovevi per forza farlo così ma dal prossimo ci sta farli più brevi per me 

Ma no dai questo va bene cosí 

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

 

 Bar-Togetic-png-64d7618d64967e00cf10059fil trio politico e togeticplz in posa,sprite by rival giallo @Alemat

 

Link al commento
Condividi su altre piattaforme

1 minuto fa, evilespeon ha scritto:

Ma si come inzio dovevi per forza farlo così ma dal prossimo ci sta farli più brevi per me 

Ma no dai questo va bene cosí 

Ottimo dai, farò così allora.

"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

Link al commento
Condividi su altre piattaforme

On 5/12/2023 at 20:57, Diamaxus ha scritto:

Ottimo dai, farò così allora.

Grandeee koai e scusa se rispondo solo ora 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

 

 Bar-Togetic-png-64d7618d64967e00cf10059fil trio politico e togeticplz in posa,sprite by rival giallo @Alemat

 

Link al commento
Condividi su altre piattaforme

8 ore fa, evilespeon ha scritto:

Grandeee koai e scusa se rispondo solo ora XD

Non fa niente, non ti preoccupare

"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

Link al commento
Condividi su altre piattaforme

6 ore fa, Diamaxus ha scritto:

Non fa niente, non ti preoccupare

Grazieee per capirmi 

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

 

 Bar-Togetic-png-64d7618d64967e00cf10059fil trio politico e togeticplz in posa,sprite by rival giallo @Alemat

 

Link al commento
Condividi su altre piattaforme

1 minuto fa, evilespeon ha scritto:

Grazieee per capirmi 

Di nulla figurati 

"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

Link al commento
Condividi su altre piattaforme

Introduzione alla grafica

 

Eccomi di ritorno con un nuovo capitolo. Oggi vi do un'infarinatura generale sulla grafica. È un argomento teorico, procederemo poco per volta.

 

Come dicevo nell’introduzione il GBA ha uno schermo di 60 fps largo 240 pixel e alto 160, capace di rappresentare 327 568 colori.

Ha 5 layer che contengono grafica di cui 4 sono per gli sfondi e 1 per gli sprite.

Il GBA ha a disposizione 96kb totali utilizzati per la memoria video (che inizia all’indirizzo 0600:0000h), la memoria della palette di colori (all’indirizzo 0500:0000h) e la OAM (Object Attribute Memory) all’indirizzo 0700:0000h.

 

Dopo che una scanline è stata disegnata (letteralmente una riga dello schermo ossia 240 pixel) c’è una pausa di 68 pixel detta Horizontal Blank (Hblank) prima che ricominci.

Allo stesso modo dopo 160 scanline (Vertical Draw o Vdraw) c’è una pausa di 68 scanline prima che ricominci a disegnare (Vertical Blank o Vblank), come illustrato nell’imagine qui sotto.

 

gba_draw.png

 

Per evitare che l’immagine si stiri, la posizione degli sprite viene aggiornata durante il Vblank, per questo i giochi girano a 60 o 30 fps.

 

Per quanto riguarda i colori il GBA sfrutta il formato 5.5.5; sarebbe a dire 5 bit per il blu, 5 per il verde e 5 per il rosso: “xbbbbbgggggrrrrr” (dei 16 bit, il primo bit a sinistra non viene utilizzato).

 

 

Bitmap, tiled backgrounds e sprite

 

Il GBA conosce 3 tipi di rappresentazioni grafiche: bitmap, tiled backgrounds e gli sprite.

I tipi bitmap e tiled backgrounds hanno effetto sull’intero schermo e pertanto non possono essere attivate in contemporanea.

 

Nella modalità bitmap la memoria video considera lo schermo come se fosse un grafico cartesiano (o una matrice se preferite) di dimensione L x H, dove L è la larghezza e H è l’altezza. Per disegnare un pixel ci si posiziona nel punto di coordinate (x, y) e si colora.

 

I tiled backgrounds funzionano in modo completamente diverso. Prima si salvano dei tile grandi 8 x 8 pixel in una parte della memoria video e poi, in un’altra parte della memoria si costruisce una tile-map che contiene gli indici che dicono al GBA quali tile mostrare sullo schermo.

 

Infine abbiamo gli sprite, che possono essere grandi da 8 x 8 pixel fino a 64 x 64 pixel e sono oggetti grafici che possono essere trasformati in modo indipendente l’uno dall’altro.

 

N. B. In realtà nei giochi useremo solo i tiled background, poiché sono più efficienti. Ma poiché le modalità bitmap sono più semplici da capire, vedremo prima quelle.

 

Vsync

 

Come detto, sfruttiamo il Vblank per aggiornare le posizioni degli sprite.

Per fare ciò sfruttiamo una funzione che è costituita da due cicli while dove aspettiamo prima il Vdraw e poi il Vblank.

 

void vid_sync()

{

while(REG_VCOUNT >= 160); // Aspetta il Vdraw.

while(REG_VCOUNT < 160); // Aspetta il Vblank.

}

 

Dove REG_VCOUNT è il registro che conta a quale scanline ci troviamo e che abbiamo definito nel capitolo precedente.

 

Questo codice in realtà è incompleto, perché sfruttando questi cicli while consumiamo moltissima batteria visto che il processore lavora comunque in questo modo. Vedremo come completare il codice quando parleremo delle interrupt, in quanto è necessario mettere il GBA in low-power mode per minimizzare il consumo di batteria e "risvegliarlo" al momento del Vdraw.

 

Per oggi è tutto, ci vediamo presto con il prossimo capitolo dove vi parlerò nel dettaglio delle modalità bitmap. :hi: 

Come sempre, se avete domande non esitate a chiedere.

 

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

 

 

Tag: @evilespeon @ZedeFire @VincyDarkHeart @Macca

Modificato da Diamaxus
Aggiunto 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

Link al commento
Condividi su altre piattaforme

4 minuti fa, Diamaxus ha scritto:

Introduzione alla grafica

 

Eccomi di ritorno con un nuovo capitolo. Oggi vi do un'infarinatura generale sulla grafica. È un argomento teorico, procederemo poco per volta.

 

Come dicevo nell’introduzione il GBA ha uno schermo di 60 fps largo 240 pixel e alto 160, capace di rappresentare 327 568 colori.

Ha 5 layer che contengono grafica di cui 4 sono per gli sfondi e 1 per gli sprite.

Il GBA ha a disposizione 96kb totali utilizzati per la memoria video (che inizia all’indirizzo 0600:0000h), la memoria della palette di colori (all’indirizzo 0500:0000h) e la OAM (Object Attribute Memory) all’indirizzo 0700:0000h.

 

Dopo che una scanline è stata disegnata (letteralmente una riga dello schermo ossia 240 pixel) c’è una pausa di 68 pixel detta Horizontal Blank (Hblank) prima che ricominci.

Allo stesso modo dopo 160 scanline (Vertical Draw o Vdraw) c’è una pausa di 68 scanline prima che ricominci a disegnare (Vertical Blank o Vblank), come illustrato nell’imagine qui sotto.

 

gba_draw.png

 

Per evitare che l’immagine si stiri, la posizione degli sprite viene aggiornata durante il Vblank, per questo i giochi girano a 60 o 30 fps.

 

Per quanto riguarda i colori il GBA sfrutta il formato 5.5.5; sarebbe a dire 5 bit per il blu, 5 per il verde e 5 per il rosso: “xbbbbbgggggrrrrr” (dei 16 bit, il primo bit a sinistra non viene utilizzato).

 

 

Bitmap, tiled backgrounds e sprite

 

Il GBA conosce 3 tipi di rappresentazioni grafiche: bitmap, tiled backgrounds e gli sprite.

I tipi bitmap e tiled backgrounds hanno effetto sull’intero schermo e pertanto non possono essere attivate in contemporanea.

 

Nella modalità bitmap la memoria video funziona come un grafico L x H, dove L è la larghezza e H è l’altezza. Per disegnare un pixel ci si posiziona nel punto di coordinate (x, y) e si colora.

 

I tiled backgrounds funzionano in modo completamente diverso. Prima si salvano dei tile grandi 8 x 8 pixel in una parte della memoria video e poi, in un’altra parte della memoria si costruisce una tile-map che contiene gli indici che dicono al GBA quali tile mostrare sullo schermo.

 

Infine abbiamo gli sprite, che possono essere grandi da 8 x 8 pixel fino a 64 x 64 pixel e sono oggetti grafici che possono essere trasformati in modo indipendente l’uno dall’altro.

 

N. B. In realtà nei giochi useremo solo i tile background, poiché sono più efficienti. Ma poiché le modalità bitmap sono più semplici da capire, vedremo prima quelle.

 

Vsync

 

Come detto, sfruttiamo il Vblank per aggiornare le posizioni degli sprite.

Per fare ciò sfruttiamo una funzione che è costituita da due cicli while dove aspettiamo prima il Vdraw e poi il Vblank.

 

void vid_sync()

{

while(REG_VCOUNT >= 160); // Aspetta il Vdraw.

while(REG_VCOUNT < 160); // Aspetta il Vblank.

}

 

Dove REG_VCOUNT è il registro che conta a quale scanline ci troviamo e che abbiamo definito nel capitolo precedente.

 

Questo codice in realtà è incompleto, perché sfruttando questi cicli while consumiamo moltissima batteria visto che il processore lavora comunque in questo modo. Vedremo come completare il codice quando parleremo delle interrupt, in quanto è necessario mettere il GBA in low-power mode per minimizzare il consumo di batteria e "risvegliarlo" al momento del Vdraw.

 

Per oggi è tutto, ci vediamo presto con il prossimo capitolo dove vi parlerò nel dettaglio delle modalità bitmap. :hi: 

Come sempre, se avete domande non esitate a chiedere.

 

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

 

 

Tag: @evilespeon @ZedeFire @VincyDarkHeart @Macca

 

 

 

Bravo kohai più corto stavolta questo new capitolo di spiegazioni so lo ho trovato più chiaro...anche se devo ancora rileggermelo almeno una volta per capire tutto 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

 

 Bar-Togetic-png-64d7618d64967e00cf10059fil trio politico e togeticplz in posa,sprite by rival giallo @Alemat

 

Link al commento
Condividi su altre piattaforme

Adesso, evilespeon ha scritto:

Bravo kohai più corto stavolta questo new capitolo di spiegazioni so lo ho trovato più chiaro...anche se devo ancora rileggermelo almeno una volta per capire tutto mi sa XD 

Tranquilla, fai con calma. Tanto io procedo lentamente in modo da dare il tempo di capire tutto e dare il tempo a me di preparare gli esempi visto che comunque devo imparare anche io. XD

Ho seguito il tuo consiglio infatti, così è più facile anche per chi legge.

"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

Link al commento
Condividi su altre piattaforme

1 minuto fa, Diamaxus ha scritto:

Tranquilla, fai con calma. Tanto io procedo lentamente in modo da dare il tempo di capire tutto e dare il tempo a me di preparare gli esempi visto che comunque devo imparare anche io. XD

Ho seguito il tuo consiglio infatti, così è più facile anche per chi legge.

Grazieeee kohai per capirmi 

Brvo va con calma così intanto si capisce bene ogni parte e si possono fare domande nel caso 

Ah ah vero prenditi anche il tempo che ti serve a te XD 

Bravissimo si lo ho trovato molto più easy 

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

 

 Bar-Togetic-png-64d7618d64967e00cf10059fil trio politico e togeticplz in posa,sprite by rival giallo @Alemat

 

Link al commento
Condividi su altre piattaforme

3 minuti fa, evilespeon ha scritto:

Grazieeee kohai per capirmi 

Brvo va con calma così intanto si capisce bene ogni parte e si possono fare domande nel caso 

Ah ah vero prenditi anche il tempo che ti serve a te XD 

Bravissimo si lo ho trovato molto più easy 

Mi fa piacere, allora cercherò di tenermi sempre più o meno su questa lunghezza. :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

Link al commento
Condividi su altre piattaforme

6 minuti fa, Diamaxus ha scritto:

Mi fa piacere, allora cercherò di tenermi sempre più o meno su questa lunghezza. :smile1: 

Ottimo,per me così va benissimo 

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

 

 Bar-Togetic-png-64d7618d64967e00cf10059fil trio politico e togeticplz in posa,sprite by rival giallo @Alemat

 

Link al commento
Condividi su altre piattaforme

Cercherò di capirci qualcosa, comunque grazie mille per tutte le spiegazioni Diama.

"Dio crea i dinosauri, Dio distrugge i dinosauri, Dio crea l'uomo, l'uomo distrugge Dio, l'uomo crea i dinosauri."

Ian Malcolm, Jurassic Park

 

image.jpeg.325fb014926e75d125e10440fa4a30bd.jpeg

Link al commento
Condividi su altre piattaforme

Adesso, ZedeFire ha scritto:

Cercherò di capirci qualcosa, comunque grazie mille per tutte le spiegazioni Diama.

Di nulla, non preoccuparti fai con calma. Io ci metto comunque un po' tra un capitolo e l'altro 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

Link al commento
Condividi su altre piattaforme

On 26/12/2023 at 18:24, Diamaxus ha scritto:

Introduzione alla grafica

 

Eccomi di ritorno con un nuovo capitolo. Oggi vi do un'infarinatura generale sulla grafica. È un argomento teorico, procederemo poco per volta.

 

Come dicevo nell’introduzione il GBA ha uno schermo di 60 fps largo 240 pixel e alto 160, capace di rappresentare 327 568 colori.

Ha 5 layer che contengono grafica di cui 4 sono per gli sfondi e 1 per gli sprite.

Il GBA ha a disposizione 96kb totali utilizzati per la memoria video (che inizia all’indirizzo 0600:0000h), la memoria della palette di colori (all’indirizzo 0500:0000h) e la OAM (Object Attribute Memory) all’indirizzo 0700:0000h.

 

Dopo che una scanline è stata disegnata (letteralmente una riga dello schermo ossia 240 pixel) c’è una pausa di 68 pixel detta Horizontal Blank (Hblank) prima che ricominci.

Allo stesso modo dopo 160 scanline (Vertical Draw o Vdraw) c’è una pausa di 68 scanline prima che ricominci a disegnare (Vertical Blank o Vblank), come illustrato nell’imagine qui sotto.

 

gba_draw.png

 

Per evitare che l’immagine si stiri, la posizione degli sprite viene aggiornata durante il Vblank, per questo i giochi girano a 60 o 30 fps.

 

Per quanto riguarda i colori il GBA sfrutta il formato 5.5.5; sarebbe a dire 5 bit per il blu, 5 per il verde e 5 per il rosso: “xbbbbbgggggrrrrr” (dei 16 bit, il primo bit a sinistra non viene utilizzato).

 

 

Bitmap, tiled backgrounds e sprite

 

Il GBA conosce 3 tipi di rappresentazioni grafiche: bitmap, tiled backgrounds e gli sprite.

I tipi bitmap e tiled backgrounds hanno effetto sull’intero schermo e pertanto non possono essere attivate in contemporanea.

 

Nella modalità bitmap la memoria video considera lo schermo come se fosse un grafico cartesiano (o una matrice se preferite) di dimensione L x H, dove L è la larghezza e H è l’altezza. Per disegnare un pixel ci si posiziona nel punto di coordinate (x, y) e si colora.

 

I tiled backgrounds funzionano in modo completamente diverso. Prima si salvano dei tile grandi 8 x 8 pixel in una parte della memoria video e poi, in un’altra parte della memoria si costruisce una tile-map che contiene gli indici che dicono al GBA quali tile mostrare sullo schermo.

 

Infine abbiamo gli sprite, che possono essere grandi da 8 x 8 pixel fino a 64 x 64 pixel e sono oggetti grafici che possono essere trasformati in modo indipendente l’uno dall’altro.

 

N. B. In realtà nei giochi useremo solo i tiled background, poiché sono più efficienti. Ma poiché le modalità bitmap sono più semplici da capire, vedremo prima quelle.

 

Vsync

 

Come detto, sfruttiamo il Vblank per aggiornare le posizioni degli sprite.

Per fare ciò sfruttiamo una funzione che è costituita da due cicli while dove aspettiamo prima il Vdraw e poi il Vblank.

 

void vid_sync()

{

while(REG_VCOUNT >= 160); // Aspetta il Vdraw.

while(REG_VCOUNT < 160); // Aspetta il Vblank.

}

 

Dove REG_VCOUNT è il registro che conta a quale scanline ci troviamo e che abbiamo definito nel capitolo precedente.

 

Questo codice in realtà è incompleto, perché sfruttando questi cicli while consumiamo moltissima batteria visto che il processore lavora comunque in questo modo. Vedremo come completare il codice quando parleremo delle interrupt, in quanto è necessario mettere il GBA in low-power mode per minimizzare il consumo di batteria e "risvegliarlo" al momento del Vdraw.

 

Per oggi è tutto, ci vediamo presto con il prossimo capitolo dove vi parlerò nel dettaglio delle modalità bitmap. :hi: 

Come sempre, se avete domande non esitate a chiedere.

 

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

 

 

Tag: @evilespeon @ZedeFire @VincyDarkHeart @Macca

 

 

 

Molto interessante :0 dopo cerco di capire meglio alcune parti xD

Link al commento
Condividi su altre piattaforme

37 minuti fa, VincyDarkHeart ha scritto:

Molto interessante :0 dopo cerco di capire meglio alcune parti xD

Va bene, fai con calma non preoccuparti

"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

Link al commento
Condividi su altre piattaforme

Inviato (modificato)

Modalità bitmap

 

Bentrovati, oggi vi parlo delle modalità bitmap.

 

NOTA:

Spoiler

Siccome le modalità bitmap sono troppo lente sul GBA per poterle usare per i giochi, sono maggiormente usate per far vedere foto statiche sullo schermo e perciò non ci soffermeremo a lungo.

 

Una bitmap altro non è che una griglia L x H di colori (o indici di colore) dove L è la larghezza (o numero di colonne) e H è l'altezza (o numero di righe). Possiamo puntare un pixel in particolare attraverso le cordinate (x,y) dove l'asse y è orientato verso il basso.

 

Ad esempio:

 

 link_lttp_mem.png

I numeri sui pixel indicano la posizione di uno specifico colore nella bitmap.

 

Il GBA ha 3 modalità bitmap, chiamate Mode 3, Mode 4 e Mode 5 (sono nomi molto originali lo so :xd: ). Vediamo le differenze:

 

Mode 3

  • dimensioni dello schermo: 240 x 160 pixel
  • profondità in pixel: 16 bpp (bit per pixel)
  • page flipping: No

Mode 4

  • dimensioni dello schermo: 240 x 160 pixel
  • profondità in pixel: 8 bpp
  • page flipping: Sì

Mode 5

  • dimensioni dello schermo: 160 x 128 pixel
  • profondità in pixel: 16 bpp
  • page flipping: Sì

 

Il page flipping è una tecnica che ci permette di ridurre gli artefatti nelle animazioni. Non vi faccio vedere un esempio perché comunque non lo useremo praticamente mai nelle modalità bitmap, però se volete saperne di più potete leggere qui al paragrafo 5.3.

 

Bisogna notare che mentre in modalità 3 e 5 possiamo usare l'intera gamma di colori disponibili sul GBA, in modalità 4 possiamo usarne solo 256 che sono scelti da noi e che vengono memorizzati nella background palette all'indirizzo 0500:0000.

 

Visto che un esempio di modalità 3 ve l'ho fatto vedere nel primo capitolo dove abbiamo disegnato un rettangolino sullo schermo, questa volta vi faccio vedere un'esempio di modalità 4 in cui disegniamo un pixel.

Poiché nella video RAM del GBA non è possibile scrivere 8 bit alla volta ma solo 16 o 32, andremo sempre a colorare due pixel alla volta. Per colorare un singolo pixel la procedura è più lenta rispetto alle modalità 3 e 5 perché dobbiamo cancellare il secondo pixel.

 

Qui definisco le variabili e gli indirizzi dell'altra volta, con l'aggiunta della Background palette (0x05000000), il puntatore alla palette di colori (COLOR_PAL) e una funzione per definire un colore in RGB.

Spoiler
				
			typedef unsigned char u8;				
			typedef unsigned short u16;				
			typedef unsigned int u32;				
			typedef u16 color;				
			
		 				
			#define MEM_IO 0x04000000				
			#define MEM_VRAM 0x06000000				
			#define BG_PAL 0x05000000				
			#define REG_DISPCNT *((volatile u32*)(MEM_IO + 0x0000))				
			#define DCNT_MODE4 0x0004				
			#define DCNT_BG2 0x0400				
			#define SCREEN_W 240				
			#define SCREEN_H 160				
			#define VIDEO_MEM ((u16 *)MEM_VRAM)				
			#define COLOR_PAL ((u16 *)BG_PAL)				
			 				
			inline color RGB15(u32 red, u32 green, u32 blue);				
			 				
			inline color RGB15(u32 red, u32 green, u32 blue)				
			{ return red | (green<<5) | (blue<<10); }				
			

 

 

Qui invece abbiamo il programma vero e proprio:

 

	#include <stdlib.h>
	#include "mode4.h"
	 
	int main(void)
	{
	    //Prendo una posizione casuale compresa tra 0 e la larghezza / altezza dello schermo.
	    u32 x = rand()%(SCREEN_W + 1);
	    u32 y = rand()%(SCREEN_H + 1);
	 
	    //Prendo un colore casuale.
	    u16 color = RGB15(rand()%31, rand()%31, rand()%31);
	 
	    //Inizializzo la background palette con colori scelti casualmente, ...
	    //... ad esclusione del primo elemento che imposto come nero.
	    COLOR_PAL[0] = RGB15(0, 0, 0);
	    for(int i = 1; i < 256; i++)
	    {
	        COLOR_PAL[i] = RGB15(rand()%31, rand()%31, rand()%31);
	    }
	 
	    //Imposto la modalità 4.
	    REG_DISPCNT = DCNT_MODE4 | DCNT_BG2;
	 
	    //Seleziono il buffer attuale.
	    u16 *vidpage = VIDEO_MEM;
	    u16 *posizione = &vidpage[(x * SCREEN_W + y) / 2]; //Divisione per 2 a causa del divario tra u8 e u16.
	 
	    //Coloro un pixel casuale (quello preso all'inizio).
	    if(x & 1)
	    {
	        *posizione = (*posizione & color) | (color<<8); //Pixel dispari.
	    }
	    else
	    {
	        *posizione = (*posizione &~ color) | color; //Pixel pari.
	    }
	    while(1);
	    return 0;
	}
	

 

Il risultato sarà questo pixel colorato di giallo:

 

Spoiler

Screenshot2024-01-09alle16_23_40.png.2599f174ff7778a806c66e2a8696a5d5.png

 

La modalità 5 funziona in modo identico alla modalità 3 che abbiamo visto nel primo capitolo, dovete solo tenere a mente che non abbiamo a disposizione l'intero schermo per poter disegnare, ma solo una piccola parte.

 

Per il momento è tutto, nel prossimo capitolo iniziamo una parte interessante perché vedremo come far riconoscere i tasti al GBA. :eveeplz:

 

Come sempre se avete qualche domanda, fatela pure. :smile1:

 

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

 

tag: @evilespeon @ZedeFire @VincyDarkHeart @Macca

 

Modificato da Diamaxus
Aggiunto 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

Link al commento
Condividi su altre piattaforme

1 ora fa, Diamaxus ha scritto:

Modalità bitmap

 

Bentrovati, oggi vi parlo delle modalità bitmap.

 

NOTA:

  Nascondi contenuto

Siccome le modalità bitmap sono troppo lente sul GBA per poterle usare per i giochi, sono maggiormente usate per far vedere foto statiche sullo schermo e perciò non ci soffermeremo a lungo.

 

Una bitmap altro non è che una griglia L x H di colori (o indici di colore) dove L è la larghezza (o numero di colonne) e H è l'altezza (o numero di righe). Possiamo puntare un pixel in particolare attraverso le cordinate (x,y) dove l'asse y è orientato verso il basso.

 

Ad esempio:

 

 link_lttp_mem.png

I numeri sui pixel indicano la posizione di uno specifico colore nella bitmap.

 

Il GBA ha 3 modalità bitmap, chiamate Mode 3, Mode 4 e Mode 5 (sono nomi molto originali lo so :xd: ). Vediamo le differenze:

 

Mode 3

  • dimensioni dello schermo: 240 x 160 pixel
  • profondità in pixel: 16 bpp (bit per pixel)
  • page flipping: No

Mode 4

  • dimensioni dello schermo: 240 x 160 pixel
  • profondità in pixel: 8 bpp
  • page flipping: Sì

Mode 5

  • dimensioni dello schermo: 160 x 128 pixel
  • profondità in pixel: 16 bpp
  • page flipping: Sì

 

Il page flipping è una tecnica che ci permette di ridurre gli artefatti nelle animazioni. Non vi faccio vedere un esempio perché comunque non lo useremo praticamente mai nelle modalità bitmap, però se volete saperne di più potete leggere qui al paragrafo 5.3.

 

Bisogna notare che mentre in modalità 3 e 5 possiamo usare l'intera gamma di colori disponibili sul GBA, in modalità 4 possiamo usarne solo 256 che sono scelti da noi e che vengono memorizzati nella background palette all'indirizzo 0500:0000.

 

Visto che un esempio di modalità 3 ve l'ho fatto vedere nel primo capitolo dove abbiamo disegnato un rettangolino sullo schermo, questa volta vi faccio vedere un'esempio di modalità 4 in cui disegniamo un pixel.

Poiché nella video RAM del GBA non è possibile scrivere 8 bit alla volta ma solo 16 o 32, andremo sempre a colorare due pixel alla volta. Per colorare un singolo pixel la procedura è più lenta rispetto alle modalità 3 e 5 perché dobbiamo cancellare il secondo pixel.

 

Qui definisco le variabili e gli indirizzi dell'altra volta, con l'aggiunta della Background palette (0x05000000), il puntatore alla palette di colori (COLOR_PAL) e una funzione per definire un colore in RGB.

  Apri contenuto nascosto
				
			typedef unsigned char u8;				
			typedef unsigned short u16;				
			typedef unsigned int u32;				
			typedef u16 color;				
			
		 				
			#define MEM_IO 0x04000000				
			#define MEM_VRAM 0x06000000				
			#define BG_PAL 0x05000000				
			#define REG_DISPCNT *((volatile u32*)(MEM_IO + 0x0000))				
			#define DCNT_MODE4 0x0004				
			#define DCNT_BG2 0x0400				
			#define SCREEN_W 240				
			#define SCREEN_H 160				
			#define VIDEO_MEM ((u16 *)MEM_VRAM)				
			#define COLOR_PAL ((u16 *)BG_PAL)				
			 				
			inline color RGB15(u32 red, u32 green, u32 blue);				
			 				
			inline color RGB15(u32 red, u32 green, u32 blue)				
			{ return red | (green<<5) | (blue<<10); }				
			

 

 

Qui invece abbiamo il programma vero e proprio:

 

	#include <stdlib.h>
	#include "mode4.h"
	 
	int main(void)
	{
	    //Prendo una posizione casuale compresa tra 0 e la larghezza / altezza dello schermo.
	    u32 x = rand()%(SCREEN_W + 1);
	    u32 y = rand()%(SCREEN_H + 1);
	 
	    //Prendo un colore casuale.
	    u16 color = RGB15(rand()%31, rand()%31, rand()%31);
	 
	    //Inizializzo la background palette con colori scelti casualmente, ...
	    //... ad esclusione del primo elemento che imposto come nero.
	    COLOR_PAL[0] = RGB15(0, 0, 0);
	    for(int i = 1; i < 256; i++)
	    {
	        COLOR_PAL[i] = RGB15(rand()%31, rand()%31, rand()%31);
	    }
	 
	    //Imposto la modalità 4.
	    REG_DISPCNT = DCNT_MODE4 | DCNT_BG2;
	 
	    //Seleziono il buffer attuale.
	    u16 *vidpage = VIDEO_MEM;
	    u16 *posizione = &vidpage[(x * SCREEN_W + y) / 2]; //Divisione per 2 a causa del divario tra u8 e u16.
	 
	    //Coloro un pixel casuale (quello preso all'inizio).
	    if(x & 1)
	    {
	        *posizione = (*posizione & color) | (color<<8); //Pixel dispari.
	    }
	    else
	    {
	        *posizione = (*posizione &~ color) | color; //Pixel pari.
	    }
	    while(1);
	    return 0;
	}
	

 

Il risultato sarà questo pixel colorato di giallo:

 

  Nascondi contenuto

Screenshot2024-01-09alle16_23_40.png.2599f174ff7778a806c66e2a8696a5d5.png

 

La modalità 5 funziona in modo identico alla modalità 3 che abbiamo visto nel primo capitolo, dovete solo tenere a mente che non abbiamo a disposizione l'intero schermo per poter disegnare, ma solo una piccola parte.

 

Per il momento è tutto, nel prossimo capitolo iniziamo una parte interessante perché vedremo come far riconoscere i tasti al GBA. :eveeplz:

 

Come sempre se avete qualche domanda, fatela pure. :smile1:

 

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

 

tag: @evilespeon @ZedeFire @VincyDarkHeart @Macca

 

Nomi originali a parte XD interessante questo capitolo sono riuscita a seguire abbastanza ma dopo lo rileggo

Sono curiosa per il prossimo 

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

 

 Bar-Togetic-png-64d7618d64967e00cf10059fil trio politico e togeticplz in posa,sprite by rival giallo @Alemat

 

Link al commento
Condividi su altre piattaforme

1 minuto fa, evilespeon ha scritto:

Nomi originali a parte XD interessante questo capitolo sono riuscita a seguire abbastanza ma dopo lo rileggo

Sono curiosa per il prossimo 

Pensa che quando arriveremo alle modalità "a mattonelle", quelle si chiamano Mode 0, Mode 1 e Mode 2 XD

 

Sono contento che sei riuscita a seguire senpai  :smile2:

 

Il prossimo sarà interessante, ma mi ci vuole un po' perché devo ancora riuscire a farli funzionare i tasti :xd: 

Appena avrò capito come fare, scrivo anche il prossimo.

"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

Link al commento
Condividi su altre piattaforme

11 minuti fa, Diamaxus ha scritto:

Pensa che quando arriveremo alle modalità "a mattonelle", quelle si chiamano Mode 0, Mode 1 e Mode 2 XD

 

Sono contento che sei riuscita a seguire senpai  :smile2:

 

Il prossimo sarà interessante, ma mi ci vuole un po' perché devo ancora riuscire a farli funzionare i tasti :xd: 

Appena avrò capito come fare, scrivo anche il prossimo.

Vabbe almeno c'è la mode 0 dedicata a zeria XD 

Si stavolta decisamente meglio...so sono contenta pure io XD 

Vabbe prenditi il tuo tempo kohai no problem 

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

 

 Bar-Togetic-png-64d7618d64967e00cf10059fil trio politico e togeticplz in posa,sprite by rival giallo @Alemat

 

Link al commento
Condividi su altre piattaforme

2 minuti fa, evilespeon ha scritto:

Vabbe almeno c'è la mode 0 dedicata a zeria XD 

Si stavolta decisamente meglio...so sono contenta pure io XD 

Vabbe prenditi il tuo tempo kohai no problem 

Vero XD

Che bello :smile1: 

Grazie senpai :smile2:

"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

Link al commento
Condividi su altre piattaforme

3 minuti fa, Diamaxus ha scritto:

Vero XD

Che bello :smile1: 

Grazie senpai :smile2:

Zeria c'è sempre XD 

Vero,bravo che stai migliorando a spiegare con le parti più brevi 

Di nullaaaaa kohai 

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

 

 Bar-Togetic-png-64d7618d64967e00cf10059fil trio politico e togeticplz in posa,sprite by rival giallo @Alemat

 

Link al commento
Condividi su altre piattaforme

Adesso, evilespeon ha scritto:

Zeria c'è sempre XD 

Vero,bravo che stai migliorando a spiegare con le parti più brevi 

Di nullaaaaa kohai 

Zeria è dappertutto XD

Grazie senpai

"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

Link al commento
Condividi su altre piattaforme

15 minuti fa, Diamaxus ha scritto:

Zeria è dappertutto XD

Grazie senpai

Giusto cosí XD 

Di nullaaaa kohai 

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

 

 Bar-Togetic-png-64d7618d64967e00cf10059fil trio politico e togeticplz in posa,sprite by rival giallo @Alemat

 

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...