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

PC Shape (.SDR) e (.SHP)

  O shape do PC é um padrão utilizado pelo Print-Master do PC e é parecido com o shape do MSX, onde possui um cabeçalho para cada desenho, seguido do proóprio desenho. Veja o esquema abaixo.

 

  Entre cada desenho, há uma byte de separação com o valor "00".


  Header

  O header de cada shape contém as seguintes informações:

Offset
(hexa)
Tamanho
(bytes)
Descrição
0 1 Largura em Bytes
1 1 Altura do shape em pixels
2 1 Largura do shape em pixels
3 1 Valor 00

  O shape de PC que vem com Page-Maker possui o seguinte header: 0B 34 58 00. Assim ele tem:

 Largura em bytes: &H0B = 11 bytes
 Altura: &H34 = 52 pixels
 Largura: &H58 = 88 pixels
 Tamanho: Largura em bytes x Altura = 11 x 52 = 572 bytes


  Formato do desenho

  Este formato é composto de blocos de 8x1 pixels dispostos sequencialmente. Assim, em vez do próximo byte corresponder à linha de baixo, corresponde ao bloco de 8x1 pixels logo à direita deste.

  Diferença entre o layout do MSX para o do PC Shape para a seqüência de bytes: 00 01 02 03 04 05 06 07 08

       MSX                               PC

00000000 00001000      00000000 00000001 00000010 ... 00001000      
00000001
00000010
00000011
00000100
00000101
00000110
00000111


  Para o exemplo apresentado no header, a distribuição dos blocos de 8x1 é feita da seguinte maneira:

 +---------------------+
 | 000 001 002 ... 010 |
 | 011 012 013 ... 021 |
 | ...                 |
 | 561 561 563 ... 571 |
 +---------------------+


  Formato .SDR

  O arquivo .SDR é um descritor dos desenhos contidos no arquivo .SHP. Ele contém somente o nome de cada desenho, no qual são reservados 16 bytes para o nome. Onde não há caractere, é preenchido com o valor 00. Exemplo:

 Hexadecimal                                     | ASCII
 ------------------------------------------------+-----------------
 46 49 47 55 52 41 31 00 00 00 00 00 00 00 00 00 | FIGURA1.........
 46 49 47 55 52 41 32 00 00 00 00 00 00 00 00 00 | FIGURA2.........


Marcelo Teixeira Silveira
Engenheiro de Sistemas e Computação - UERJ
Mestre em Engenharia de Computação - UERJ

© MarMSX 1999-2018