Obrigado a Julio Marchi pelo espaço cedido na MSX All
 

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.


Marcelo Silveira
Engenheiro de Sistemas e Computação
Especialista em Processamento de Imagens e Inteligência Artificial
© MarMSX 1999-2025