Layout (.LAY)
Este arquivo contém apenas a tabela de padrões (ink) compactada de uma imagem, além do header padrão do MSX.
O modo utilizado na compactação da tabela de caracteres é descrito a seguir.
Seja p o ponteiro de arquivo e val(p) o valor retornado de p, com 1 byte de tamanho, tem-se:
- Se val(p) = 0, então val(p+1) indica a quantidade de linhas brancas consecutivas.
- Se val(p)=255, então val(p+1) indica a quantidade de linhas pretas consecutivas.
- Se val(p) ≠ 0 e val(p) ≠ 255/, então val(p) indica o padrão de uma linha.
Deve-se observar que a seqüência do preenchimento das linhas de 8x1 segue o padrão do MSX 1.
Exemplos:
p
00 02
Desenha duas linhas brancas na tela.
p
FF 03
Desenha três linhas pretas na tela.
p
01 06 D7
O padrão de preenchimento das próximas 3 linhas é o seguinte:
00000001
00000110
11010111
Onde 1 é a cor preta e 0 a cor branca.
Quando o ponteiro de arquivo p encontra os valores 00 ou FF, ele sabe que o byte seguinte corresponde ao número de linhas seguidas. Dessa forma, ele salta duas posições em busca da nova informação. No caso de ser diferente de 00 ou FF, o ponteiro salta apenas uma posição.
Formato Layout do Graphos III versão 1.2
No Graphos III versão 1.2, o formato layout sofreu uma pequena alteração. Todos os bytes que indicam um padrão de linha, inclusive o 00 e FF, sofrem um deslocamento positivo de 99H. Assim, os dados da versão 1.1:
00 02
FF 03
01 06 D7
Irão ficar na versão 1.2:
99 02
98 03
9A 9F 70
Observa-se que os dados de contagem não foram alterados.
|