# Grixel - Retro Tools

>Esta é uma aplicação para criar estruturas de bitmaps destinadas à programação de computadores Atari de 8 bits.
O programa pressupõe que o utilizador sabe o que está a fazer, pelo que não valida configurações sem sentido.
Podemos criar estruturas de ecrã único ou maiores. A largura será sempre ajustada a um múltiplo de um byte de dados.
Podemos criar em HiRes ou LoRes com altura de píxel simples ou dupla nas linhas de exibição.
O programa permite colorir através do sistema de sprites da Atari (apenas players, os missiles ainda não estão incluídos).
É possível alterar a cor de qualquer registo através de interrupções DLI. O DLI também suporta alterar a largura dos sprites.
O programa suporta vários projetos ao mesmo tempo.

---

##### # Projeto
>
>Um projeto pode ser criado/carregado a partir do menu ou da barra de seleção:
![](Assets/Image/pt-PT/grixel_1.png)
`Nome do Projeto` é informativo para que o utilizador não se perca.
`Sistema de TV` determina que paleta de cores será utilizada.
`Modo de Píxel` determina o modo do Antic.
`Largura` para HiRes é um múltiplo de 8, e para LoRes de 4.
`Altura` é "arbitrária".

---

##### # Editor

>1. Parte esquerda, seleção, paleta e ferramentas:
![](Assets/Image/pt-PT/grixel_2.png)
`Seleção` são indicadores que mostram que registo está associado aos botões do rato.
`Paleta` contém os registos com os quais desenhamos na imagem. Um clique do rato atribui o registo ao respetivo campo de `Seleção`. Um duplo clique abre a seleção da cor que será atribuída ao registo como cor inicial (a partir da linha superior da imagem). Os registos BG (fundo), PF1, PF2 correspondem a dados gráficos, enquanto PM0, PM1, PM2 e PM3 são sprites. PM01 é a cor resultante da sobreposição de PM0 e PM1, e de forma idêntica PM23 resulta do PM2 e PM3. Uma mudança de cor de um sprite faz-se sempre aos pares. Os botões pequenos 1, 2 e 4 abaixo de um sprite específico indicam a respetiva largura inicial.
`Ferramentas` é um conjunto de instrumentos para apoiar o desenho:
 => Lápis, desenho píxel a píxel, podemos aumentar a espessura do lápis e a forma.
 => Linha, desenhar linhas, começa ao premir o botão do rato e acaba quando o largar. Pode-se aumentar a espessura da linha e a forma das pontas.
 => Preenchimento, preenchemos uma área (não cor, mas um registo) escolhendo um padrão. A cor branca no padrão corresponde ao Botão Esquerdo do Rato (BCE) e o preto ao Direito (BCD).
 => Forma, desenha uma de três formas: quadrado, círculo ou elipse. Podemos optar por três variantes: só moldura (cor do BCE), só preenchimento (BCE) ou moldura e preenchimento (BCE, BCD).
 => Texto, permite inserir texto da caixa de conteúdo, selecionar qualquer fonte de sistema e tamanho. A cor será a correspondente ao botão de cor usado. Mantendo premido o botão, podes controlar a posição e confirmá-la libertando o botão.
 => Seleção, pode ser movida ou copiada. Confirma-se com um clique do rato fora do âmbito da seleção ou usando a tecla "Enter".

---

##### # Janela de Seleção de Cor
>
> 1. Cor simples.
![](Assets/Image/pt-PT/grixel_3.png)
Aqui selecionamos uma cor única, mostrada pelo indicador no canto inferior esquerdo da janela. A escolha faz-se através do botão esquerdo do rato.
> 2. Cor dos Sprites.
![](Assets/Image/pt-PT/grixel_4.png)
Aqui selecionamos as cores para o sprite 0, 1 ou 2,3. O 0 ou 2 seleciona-se com o botão esquerdo e o 1 ou 3 com o direito. A cor MIX é atualizada em tempo real.

---

##### # Camadas
>
>O programa suporta camadas.
![](Assets/Image/pt-PT/grixel_5.png)
Desenhamos sempre na camada ativa. Podemos agrupá-las, suprimi-las, mudá-las e fundi-las.
Pode utilizar a camada de referência. Estará visível como fundo da imagem. Está localizada na parte inferior do painel de camadas. A sua visibilidade pode ser alternada com a barra de espaço.

---

##### # Barras de controlo de imagem
>
>![](Assets/Image/pt-PT/grixel_6.png)

1. Barra DLI mostra alterações de cor para o registo em foco (BCE). Para trocar a cor clica com o botão esquerdo do rato no local dessa barra desejado. Isso abrirá a janela de coloração. Em cima do ecrã a primeira cor tem origem nas opções predefinidas à esquerda no menu das cores ("Paleta").
Se quiseres mudar as cores estendendo os seus locais de ativação coloca o cursor e roda o rato nessa vizinhança na referida faixa. As instruções anteriores referem-se sempre à génese dessa escolha.
Para destruir um local de ajuste da cor faz um clique neutro nos botões.
Se o objetivo é transformar a própria dimensão das janelas usa a tecla do lado direito da tua mão dominante.
2. Barra de Largura expressa as amplitudes formadas nas misturas de PM0/1 bem como as do 2/3 da representação principal de BCE. Tem tripla coluna: Verde mostra estrutura fina ou base desse par, cor de amarelo significa duplicação, Vermelho uma quadrissimetria dessas referências. Altera-se por rotação local ao pressionares esse ponto da matriz sequencial de "1,2,4,1,2..". As trocas surtem efeito visual permanente em todas as linhas descritas.
3. Barra de Validação. Ao manipularmos regras exclusivas de programação retro não raras ocasiões desrespeita-se a formatação rigorosa dos esquemas das memórias originais da ATARI criando falsos positivos que originam listas avermelhadas nessa fronteira lateral que mostram com 4 pixels qual do subregistos comete o problema para cada sprite registado, identificando anomalia no desenho.

---

##### # Limitações técnicas

1. Numa amplitude normalizada temos 8 Píxeis numa estrutura matriz que não pode exceder as respetivas posições para a mesma referência na largura descrita num intervalo estipulado de imagem sem invocar o exportador nativo via Interrupções assíncronas (DLI).
2. Tendo registo duplicado terás de desenhar duplas entradas caso contrário acusará erros da matriz que só contempla os equivalentes originais em 16 referências laterais.
3. Nas verticais múltiplas quádruplas ocorrem distorções idênticas nos seus valores com até um leque visual abrangente de 32 referências por matriz linear.
4. Já ao programar para resoluções HighResolution os espaços dimensionais perdem consistência estrutural onde os objetos perdem definições intrínsecas ao manterem valores reduzidos, respeitando ainda assim as outras hierarquias de formatação.

---

##### # HiRes
>
>Apesar de habitualmente num ficheiro Lo-Resolution utilizarmos todos mecanismos referidos livremente aqui limitamo-nos na exclusão PF1-Sombra total; PF2 define Sombreadores ou a cor real que partilham dependências na luminosidade de acordo com preferência dada em exclusivo de cor individual para as misturas efetuadas.

---

##### # Exportação
>
>Caso seja uma formatação canónica terás referida toda informação que despoleta execução num ecrã do software Atari caso contrário obterás dados de base sem formatações ativadas.
