Vai al commento

Diamaxus

Premium Member
  • Messaggi

    20.783
  • Punti Fedeltà

    100 
  • Iscrizione

  • Ultima visita

  • Feedback

    100%
  • PokéPoints

    PP 87.28

Tutti i messaggi di Diamaxus

  1. Zeria è dappertutto XD Grazie senpai
  2. Vero XD Che bello Grazie senpai
  3. 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 Il prossimo sarà interessante, ma mi ci vuole un po' perché devo ancora riuscire a farli funzionare i tasti Appena avrò capito come fare, scrivo anche il prossimo.
  4. Ahah è stato un trauma
  5. Modalità bitmap Bentrovati, oggi vi parlo delle modalità bitmap. NOTA: 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: 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 ). 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. 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: 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. Come sempre se avete qualche domanda, fatela pure. fonte: https://gbadev.net/tonc/bitmaps.html tag: @evilespeon @ZedeFire @VincyDarkHeart @Macca
  6. Tanti auguri :ditto:

  7. Di nulla, mi piacciono davvero tantissimo Di nulla
  8. Mi piacciono tantissimo entrambi... non riesco a scegliere Spero che il mal di testa ti passi presto davvero
  9. Vero, ma io non posso dividere la stanza con una ragazza e quelli del team star non mi stanno particolarmente simpatici XD
  10. Pepe credo
  11. Di nulla senpai
  12. Non ti preoccupare, pensa a riprenderti prima
  13. Cos'è la new icon? una squadra di calcio? XD

    1. Mostra commenti precedenti  3 altro
    2. Shutmylazer

      Shutmylazer

      Ufficiale Kvaratskhelia al B0ssadiscord F.C.

    3. ZedeFire

      ZedeFire

      @Shutmylazer tifi Napoli? Ahia, vabbè, te l'abbuono, almeno non sei del sommo colore nero mixato col colore blu, che insieme fanno schifissimo

    4. evilespeon

      evilespeon

      se vinciamo le partite io voglio la mia parte dei profitti però XD @Shutmylazer

      @ZedeFire genio tanto troppo incompreso XD

  14. Ah non c'era prima, votato
  15. Dravoltos mi piace un sacco per il sondaggio direi Arkreas e Leprikoron, mi suonano meglio
  16. Di nulla senpai, mi piace molto
  17. Scelgo il secondo, che disegno carino e allegro
  18. di nulla senpai
  19. Diamaxus

    [Serie tv] One Piece

    Troppo XD
  20. Diamaxus

    [Serie tv] One Piece

    Anche io XD Vero XD
  21. Diamaxus

    [Serie tv] One Piece

    Sai che risate un crossover tra Zoro e Kung fu panda
  22. Grazie senpai XD
  23. Sono contento ti sia piaciuto XD
  24. Non sono molto bravo, ma visto che non l'ha fatto ancora nessuno ci provo @Alexina @ZedeFire
  25. Diamaxus

    [Serie tv] One Piece

    Concordo
×
×
  • Crea...