# Grixel - Retro Tools

>Questa è un'applicazione per creare strutture bitmap destinate alla programmazione su computer Atari a 8-bit.
Il programma presuppone che l'utente sappia cosa sta facendo, quindi non valida le impostazioni senza senso.
Possiamo creare strutture a schermo singolo o più grandi. La larghezza verrà sempre regolata a un multiplo di un byte di dati.
Possiamo creare in HiRes o LoRes con altezza del pixel singola o doppia nelle linee di visualizzazione.
Il programma consente di colorare utilizzando il sistema di sprite Atari (solo player, i missile non sono ancora inclusi).
È possibile modificare il colore di qualsiasi registro tramite l'interruzione DLI. Il DLI supporta inoltre il cambio di larghezza degli sprite.
Il programma supporta più progetti contemporaneamente.

---

##### # Progetto
>
>Un progetto può essere creato/caricato dal menu o dalla barra di selezione:
![](Assets/Image/it-IT/grixel_1.png)
`Nome Progetto` è informativo affinché l'utente non si perda.
`Sistema TV` determina quale tavolozza di colori utilizzeremo.
`Modalità Pixel` determina la modalità per Antic.
`Larghezza` per HiRes è una volta multiplo di 8, e per LoRes di 4.
`Altezza` è "arbitraria".

---

##### # Editor

>1. Parte sinistra, selezione, tavolozza e strumenti:
![](Assets/Image/it-IT/grixel_2.png)
`Selezione` indica quale registro è assegnato ai pulsanti del mouse.
`Tavolozza` contiene i registri con i quali disegniamo sull'immagine. Un clic con il mouse assegna il registro all'apposito campo `Selezione`. Un doppio clic apre la selezione del colore che verrà assegnato al registro come colore di partenza (dalla linea superiore dell'immagine). I registri BG (sfondo), PF1, PF2 corrispondono ai dati grafici, mentre PM0, PM1, PM2 e PM3 sono sprite. PM01 è il colore risultante dalla sovrapposizione di PM0 e PM1, e analogamente PM23 da PM2 e PM3. Un cambio di colore di uno sprite è sempre in coppia. I piccoli pulsanti 1, 2 e 4 sotto uno sprite specifico indicano la sua larghezza iniziale.
`Strumenti` è un set di strumenti a supporto del disegno:
 => Matita, disegnando pixel per pixel, possiamo aumentare lo spessore e la forma della matita.
 => Linea, disegno di linee, iniziamo premendo il pulsante del mouse e terminiamo rilasciandolo. Possiamo aumentare lo spessore della linea e la forma delle estremità.
 => Riempimento, riempiamo un'area (non un colore ma un registro) scegliendo un motivo. Il colore bianco sul motivo corrisponde al tasto sinistro del mouse (LMB) e il nero al tasto destro (RMB).
 => Forma, disegniamo una delle tre forme: quadrato, cerchio o ellisse. Possiamo scegliere tre varianti: solo cornice (colore LMB), solo riempimento (LMB) o cornice con riempimento (LMB, RMB).
 => Testo, possiamo inserire testo dal campo contenuto, scegliere qualsiasi font e dimensione di sistema. Il colore verrà selezionato in base al pulsante colore utilizzato. Tenendo premuto il pulsante 001 possiamo regolarne la posizione e confermarla rilasciandolo.
 => Selezione, possiamo spostarla e copiarla. Confermiamo cliccando fuori dall'area di selezione o premendo "Invio".

---

##### # Finestra di selezione colore
>
> 1. Colore singolo.
![](Assets/Image/it-IT/grixel_3.png)
Qui scegliamo un colore singolo, indicato dall'indicatore nell'angolo in basso a sinistra della finestra. La selezione viene effettuata tramite il pulsante sinistro del mouse.
> 2. Colore Sprite.
![](Assets/Image/it-IT/grixel_4.png)
Qui scegliamo i colori per lo sprite 0, 1 o 2,3. 0 o 2 si selezionano con il pulsante sinistro del mouse e 1 o 3 col destro. Il colore MIX viene aggiornato in tempo reale.

---

##### # Livelli
>
>Il programma supporta i livelli.
![](Assets/Image/it-IT/grixel_5.png)
Disegniamo sul livello attivo. Possiamo aggiungerli, rimuoverli, spostarli e unirli.
È possibile utilizzare il livello di riferimento. Sarà visibile come sfondo dell'immagine. Si trova nella parte inferiore del pannello dei livelli. La sua visibilità può essere attivata con la barra spaziatrice.

---

##### # Barre di controllo immagine
>
>![](Assets/Image/it-IT/grixel_6.png)

1. Barra DLI mostra i cambi di colore per il registro selezionato con LMB. Per cambiare colore, fai clic con il pulsante sinistro del mouse su questa barra nel punto desiderato. Si aprirà la finestra di selezione colore. Partendo dall'alto, il primo colore deriva dalle impostazioni iniziali sul lato sinistro della finestra sull'oggetto "Tavolozza".
Se vogliamo modificare l'intervallo di colori, sposta il suo inizio su un'altra riga, punta il cursore sulla barra in quell'intervallo e usa la rotellina del mouse. Questo si applica esclusivamente agli inizi degli intervalli.
Se vogliamo rimuovere un intervallo di cambio colore, fai clic su di esso con il pulsante centrale del mouse.
Se vogliamo modificare il colore dell'intervallo, fai clic con il pulsante destro su questo intervallo.
2. Barra larghezza mostra la larghezza dei registri sprite abbinati, cioè PM0 e PM1 o PM2 e PM3. Naturalmente, solo quando uno di essi è assegnato a LMB. La barra è strutturata in modo da avere tre linee verticali per un registro: la prima verde indica che in quella riga d'immagine lo sprite avrà larghezza singola, la seconda gialla indica larghezza doppia e la terza rossa larghezza quadrupla. Per cambiare la larghezza, fai clic su questa barra per il rispettivo registro, e la larghezza cambierà ciclicamente in sequenza 1,2,4,1,2... ecc. Qui, ricorda che la modifica influisce su tutta l'altezza rimanente a partire dalla linea cliccata.
3. Barra convalida. Quando si disegna con i registri degli sprite, dobbiamo attenerci rigorosamente alle regole che ne controllano la visualizzazione su Atari. Se le violiamo, in corrispondenza dell'errore sull'immagine verrà tracciata una riga orizzontale nei colori rosso e/o giallo. Questa riga ha una larghezza di 4 pixel, uno per ogni registro sprite. Se un pixel è rosso, significa che quel registro ha violato le regole su quella riga. Una tale riga può essere selezionata cliccando su questa barra per facilitare l'individuazione del problema.

---

##### # Regole per gli sprite

1. A larghezza singola, la larghezza dello sprite è di 8 pixel LoRes. Ciò significa che i pixel estremi di un determinato registro sprite non possono distare più di 8 pixel in una singola riga d'immagine. In ogni riga successiva, la regola è naturalmente identica, ma la posizione di utilizzo può variare. In fase di esportazione verrà aggiunto l'apposito codice per le interruzioni DLI.
2. A larghezza doppia, il pixel dello sprite è largo 2 pixel LoRes. Disegnando devi tenerne conto perché un singolo pixel genererà sempre un errore. Anche in questo caso abbiamo 8 pixel sprite, ma con larghezza doppia, il che permette di coprire 16 pixel LoRes sull'immagine.
3. A larghezza quadrupla, il pixel dello sprite è largo 4 pixel LoRes, e ti consente di coprirne 32. Devi solo ricordare la coerenza dei pixel dello sprite.
4. In HiRes la logica è leggermente diversa perché i pixel dei dati sono più piccoli di quelli dello sprite. Disegnando con un registro normale si ottiene un piccolo pixel HiRes, ma lo sprite utilizza uo pixel LoRes standard. Il resto delle regole è invariato.

---

##### # HiRes
>
>A differenza di LoRes, dove si disegna con tutti i registri normali, in HiRes si disegna solo con PF1 (solo ombra) e PF2 (colore e ombra). La selezione di un colore per entrambi imposta il colore per tutti e due i registri. Va però selezionata la luminosità individualmente.

---

##### # Esportazione
>
>Se l'immagine rientra in una singola schermata Atari, l'esportazione includerà il codice completo per avviarla e mostrarla. Altrimenti verranno generati semplicemente i dati "grezzi".
