Языки:
Португальский
Формат:
BIN файл
Требования:
ZX81 16K
Ссылки:
Страница на ZXArt
Страница на Spectrum Computing
Формат:
Требования:
Ссылки:
---------------------------------------------------------------------------------
E D - A R T G G M I
---------------------------------------------------------------------------------
PUBLICADO NA REVISTA MICRO SISTEMAS EDIÇÃO NR.54 (MARÇO DE 1986)
---------------------------------------------------------------------------------
AUTOR: CLÁUDIO DE FREITAS B. BITTENCOURT
---------------------------------------------------------------------------------
CONVERTIDO POR KELLY ABRANTES MURTA - BRASIL - OUTUBRO 2000
---------------------------------------------------------------------------------
OBS.: Texto escaneado diretamente da revista MS e reconhecido via OCR.
INTRODUÇÃO
O computador é uma máquina fria, impessoal e, para muitos, antipática. Sem
dúvida, mas é próprio das máquinas, essa invenção do bicho-homem que carrega tão
pouco da personalidade do seu criador, justamente naquilo que ela tem de mais
humano.
Os seus programas, por exemplo; você já reparou bem neles à luz do sentimento
estético ou moral ou sentimental? São de fato frios, convenhamos. A despeito de
toda a sua criatividade, você não tem feito muita coisa para atenuar essa faceta
menor do seu equipamento, não é verdade? E no entanto, você é um cara legal,
amante do belo, cheio de ternura no coração. Você não é máquina!
Urge então fazer algo a respeito e aqui está GGMI para despertar A veia artística
que há, reprimida, dentro do leitor. Através da arte visual, vamos explodir para
o mundo esse oceano de sentimentos que jaz latente no fundo de su'alma (bonito,
hem'?).
O Ed-Art GGMI é um editor gráfico que se presta à preparação de telas, as quais
poderão ser arquivadas em fita independentemente e acopladas a qualquer programa,
de sua lavra ou não. Dependendo da sua conveniência, as telas poderão ter
continuidade entre si, formando um telão. Sequências verticais e bidirecionais
são também fáceis de se conseguir.
MONTAGEM
O Ed-Art foi criado para ser um módulo do Micro Bug. Para montá-lo, carregue no
micro esse fabuloso (nunca é demais dizer) programa publicado pela sua MICRO
SISTEMAS e, com o comando M, digite os códigos da listagem nos endereços
indicados. Ao terminar, confira com o comando P 6E00,783A. O resultado tem que
ser 9B0A. Isso posto, salve-o em fita várias vezes com o comando I 6E00,783C. A
seguir, use o comando C do Micro Bug para carregar um módulo salvo; só depois
dessa operação ele poderá ser acessado.
ORGANIZAÇÃO DA MEMÓRIA
Um módulo do Micro Bug ocupa a memória do endereço 6E00 até 77FF, mas o Ed-Art é
diferente, pois foi necessário aumentar o espaço, baixando o endereço inicial
para 6B00 (ou seja, menos 768 bytes). Junto com ele desceram o RTP, a ENSP, o
stack do GOSUB e o stack da máquina - veja o manual do micro para maiores
esclarecimentos. Não se preocupe com essa expansão, pois tudo ocorre
automaticamente quando é acionado pela primeira vez qualquer um dos quatro
comandos disponíveis no Ed-Art. E o status quo anterior é restabelecido ao ser
acionado o comando C do Micro Bug, que carrega um novo módulo no lugar do Ed-Art.
O único efeito prático é uma diminuição correspondente da memória disponível para
os programas BASIC, abaixo do Micro Bug. Mas em 99% dos casos essa pequena
quantidade de bytes não fará falta.
Além do arquivo de imagens normal do micro, que aparece na tela da TV, o Ed-Art
trabalha com mais dois arquivos, situados em buffers nas seguintes posições da
memória:
l°) Principal - de 27392(6B00) a 28159(6DFF)
2°) Reserva - de 28160(6E00) a 28927(70FF)
COMANDO T
O comando T, acessado via Micro Bug, é o editor propriamente dito. Ao ser
acionado, aparecerá na tela o Ed-Art piscando maliciosamente para você - não o
censure, é uma cortesia - pois, trata-se de um cavalheiro de fina educação.
Apague-o com SHIFT A. Restará na tela aquilo que o manual do micro chama
pomposamente de "elemento de imagem", mas que para nós responderá pelo simpático
nome de pixel. O dito ocupa a área de 1/4 de caráter e é usado nas instruções
PLOT e UNPLOT do BASIC Sinclair. Reconheceu? É o próprio. Pois o pixel desloca-se
nas oito direções cardeais com o uso das teclas abaixo, sabiamente escolhidas por
GGMI em função de mnemónicos que facilitarão a sua vida, leitor.
TECLA MNEMÓNICO DIREÇAO TECLA MNEMÓNICO DIREÇÃO
1 {1} esquerda-acima 5 {5} esquerda
2 {2} direita-acima 6 {6} abaixo
3 {3} direita-abaixo 7 {7} acima
4 {4} esquerda-abaixo 8 {8} direita
OBS.: Os mnemônicos representam os símbolos gráficos obtidos com SHIFT+TECLA
em modo GRAPHICS.
O pixel pode caminhar nas condições PLOT, UNPLOT e "Sem Rastro", conforme tenham
sido acionadas previamente as teclas K, J ou L, as mesmas de +, - e = . Prático,
não?
MACROCARACTERES
O pixel é o modo principal de edição, permitindo acesso a todas as funções
disponíveis. Podemos imprimir macrocaracteres acionando as teclas N (de <) ou
M(de >). A primeira prepara um caráter grande (4x4) e a segunda um gigante (8x8).
Os símbolos "<" e ">" alternam-se com o pixel piscante para indicar a condição
assumida. A tecla que você pressionar em seguida será macroimpressa, salvo se for
NEW LINE, FUNCTION, RUBOUT ou GRAPHICS, que desativam a preparação. Todos os
símbolos do Sinclair são válidos e os de vídeo inverso são preparados por SHIFT N
e SHIFT M, em vez de N e M. Se o espaço na tela for insuficiente para o
macrocaráter, a tecla de preparação não surtirá efeito. Após a macroimpressão, o
pixel estará na condição "Sem Rastro", o que aliás ocorre após qualquer operação
extraordinária. Logo, você irá apreciar isso.
RETA
Reconheço, "reta" é força de expressão, pois o que aparece na tela é mais chegado
a caminho de rato do que a reta. Enfim, é o que nos permite a baixíssima
resolução do nosso equipamento, que se há de fazer? E deu trabalho, a desgraçada!
Ela é preparada pela tecla R. A partir daí, o pixel desloca-se sem rastro nas
direções horizontal e vertical (teclas 5 a 8), exclusivamente. No ponto de origem
fica um segundo pixel piscante, para sua orientação. Ao ser pressionado SHIFT R,
ei-la impávida e gloriosa na sua pobreza, de um ponto ao outro. NEW LINE é a
tecla que desativa a preparação da reta.
CIRCULO
Esse é melhorzinho, ainda que também precário. Coloque o pixel na posição que
você pretende que seja o centro do círculo e pressione a tecla C, a letra que vai
aparecer irá se alternar com o pixel. O micro ficará então esperando que você
tecle dois algarismos relativos ao raio da circunferência, que poderá variar de
02 a 35. O primeiro algarismo é o da dezena e o segundo da unidade. A letra C
será substituída pelo primeiro algarismo que por sua vez será substituído por um
caráter indicativo do raio, tão logo seja teclado o segundo algarismo. O código
desse caráter (vide manual) é igual ao raio mais 28 (se você não gostou, deixe de
fazer cara feia e ignore o que se passa no centro da circunferência). A tecla que
desativa a preparação do círculo é NEW LINE.
MANIPULAÇÃO DOS ARQUIVOS
A manipulação dos arquivos é uma das mais versáteis funções do Ed-Art. Ela
permite que se faça a interface de duas telas, portanto deve ser usada quando se
pretender dar continuidade horizontal ou vertical às mesmas. As teclas de
acionamento são P (de Principal), H (de Horizontal) e V (de Vertical). A tecla P
apresenta na tela o conteúdo do buffer principal (o primeiro na memória). Só que,
a cada vez que ela é acionada, esse conteúdo é antes trocado com o que está no
buffer reserva (o segundo na memória). As teclas H e V provocam na tela o
rolamento da imagem para a esquerda e para cima, respectivamente, possibilitando
o interfaceamento das duas pêlos quatro lados. E semelhante a um SCROLL, só que
em vez de rolar linha por linha (coluna por coluna), o rolamento se dá de metade
em metade da tela.
As teclas H e V podem ou não trocar o conteúdo dos buffers, dependendo da
situação. O conteúdo que ocupar o quadrante superior esquerdo da tela será sempre
do buffer principal. Contudo, não convém facilitar: antes de efetuar qualquer
operação que possa comprometer a integridade do seu trabalho (ex: CLS, SAVE e
LOAD de arquivos), estabeleça o conteúdo correto do buffer principal mediante o
acionamento da tecla P - ela existe para isso.
OUTRAS FUNÇÕES DO MODO PIXEL
No modo pixel são disponíveis ainda as funções abaixo, apresentadas na sequência
"tecla-mnemônico-efeito".
9 - "GRAPHICS" - efetua inversão de vídeo
SHIFT S - "LPRINT" - remete imagem da tela para a impressora
SHIFT A - "NEW" - efetua CLS
SHIFT NEW LINE- - "FUNCTION"' - retorna ao Microbug
SHIFT Y - "RETURN" - retorna direto ao BASIC
NEW LINE - - muda para modo ESCRITA HORIZONTAL
MODO ESCRITA
O modo escrita, que pode ser horizontal ou vertical, permite imprimir todos os
símbolos Sinclair em tamanho normal. As funções disponíveis são:
SHIFT 9 - "GRAPHICS" - passa a imprimir caracteres inversos
SHIFT O - "RUBOUT" - executa RUBOUT (horizontal ou vertical)
SHIFT NEW LINE - "FUNCTION" - retorna ao Microbug (igual ao modo PIXEL)
NEW LINE - - muda modo
A TECLA NEW LINE
A mudança do modo de edição é efetuada pela tecla NEW LINE, obedecendo à seguinte
sequência:
PIXEL -> ESCRITA HORIZONTAL -> ESCRITA VERTICAL -> PIXEL ... etc.
O modo em execução é identificado pelo cursor piscante que se alterna com o
caráter, ao qual se superpõe. Esse cursor, dependendo do caso, pode ser: pixel,
H, [H] , V ou [V].
AUTO-REPETIÇÂO
Quase todas as funções do comando T são auto-repetitivas (excetuam-se aquelas em
que essa propriedade seria inconveniente). Ao ser pressionada uma tecla, a função
é prontamente executada e caso você não a libere, após um pequeno tempo de espera
começa a auto-repetição em ritmo veloz. Isso, além de agilizar o seu trabalho,
lhe permitirá apreciar alguns efeitos dinâmicos com a manipulação de arquivos.
COMANDOS S e U
Retornando ao Micro Bug, você disporá ainda dos comandos S, U e V (este será
visto mais adiante).
O comando S (de SAVE) salva em fita o conteúdo do buffer principal e o comando U
carrega, também no buffer principal, o que for lido em fita. Muita atenção no uso
desses comandos, pois um erro de arquivo pode apagar irremediavelmente um
trabalho acabado, sem possibilidade de recuperação. Recorra sempre à tecla P do
modo pixel para estabelecer o conteúdo correio dos buffers.
Para a eventualidade de carregar no buffer uma gravação imperfeita, que mandaria
o sistema para o espaço quando mostrada na tela, o comando U zera o bit 6 dos
bytes lidos em fita. Isso equivale a subtrair 64 dos códigos não imprimíveis,
tornando-os imprimíveis. Os demais permanecem inalterados. Ignore este parágrafo
se você não entendeu nada do que eu quis dizer.
ACOPLAMENTO EM LINHA PRINT - COMANDO V
Existem diversas maneiras de acoplar as telas produzidas com os seus programas.
A mais simples é através do comando V que cria no BASIC uma linha PRINT com o
conteúdo total ou parcial do buffer principal. Sua sintaxe é:
V XXXX,YY
onde XXXX é o número da linha que vai ser criada e YY é a quantidade de linhas do
buffer principal que deve ser copiada (contando de cima para baixo). Dados
impróprios provocam mensagens de erro: as mesmas do comando E do Micro Bug (MS
nº 33) e mais "HUUUU", que é o Ed-Art vaiando se você fizer YY igual a zero ou
maior do que 24. Lembre-se de que, no modo normal, o Micro Bug interpreta os
dados no sistema hexadecimal, a menos que haja um $ antes.
Cabe aqui uma dica importante, para evitar um defeito do firmware Sinclair, que
já atrapalhou a vida de muita gente boa por aí. Quando se está trabalhando com
linhas maiores do que a tela, pode ocorrer de uma delas ficar rolando ad
infinitum na TV, obrigando o infeliz programador a desligar o micro. Isso
acontece por incompatibilidade das variáveis do sistema LPC e LTOP quando, por
exemplo, apaga-se a linha posterior a uma dessas grandonas. Para sua segurança e
tranquilidade, crie uma linha assim:
XXXX REM NÃO ME APAGUE
onde XXXX é igual ao número da linha fatídica mais um.
O defeito pode ocorrer também ao retornarmos ao BASIC e teclarmos NEW LINE, após
termos criado linhas grandes com os comandos E e V do Micro Bug. Para evitar a
"catástrofe", tecle LIST em vez de NEW LINE e crie logo a linha de segurança. Só
então respire tranquilo.
As linhas PRINT criadas pelo comando V podem perfeitamente ser editadas e o PRINT
substituído por outros comandos BASIC válidos, como por exemplo LPRINT; PRINT AT
X,Y; LET A$=;etc.
ACOPLAMENTO EM VARIÁVEL STRING
O Micro Bug possui alguns comandos próprios que podem também ser usados no
acoplamento, embora de maneira menos direta e bem mais complicada. Dentre esses
estão os comandos E (MS n° 33) que cria linhas REM de qualquer tamanho e o
comando O (MS nº 34) que transfere conteúdos da memória de um lugar para outro.
O uso dessas alternativas requer bom conhecimento da organização de memória do
micro e não o recomendamos nem para o preenchimento de variáveis string
previamente criadas pela instrução DIM. Essa terefa é muito mais facilmente
executada através do próprio BASIC, com poucas linhas de programação. Em vez de
ficar aqui gastando inutilmente o nosso escasso latim, vamos a um exemplo (rode-o
no modo FAST).
10 LET A$=""
20 FOR F=l TO 22*32
30 LET A$=A$ + CHRS PEEK (27391+F)
40 NEXT F
50 STOP
Isso copia as 22 primeiras linhas do buffer principal na variável A$, que pode
então ser impressa a qualquer momento no fluxo normal do seu programa, desde que
você jamais tecle RUN (rode o programa com GOTO X) nem CLEAR, que apagam as
variáveis. O programinha apresentado como exemplo pode e deve ser modificado por
você de acordo com as suas conveniências, mas antes entenda-o bem. Repare que o
número 22 da linha 20 é a quantidade de linhas a ser copiada e que o 27391 da
linha 30 é igual ao endereço inicial do buffer principal menos l. Após ser
rodado, o programinha pode ser apagado, mas lembre-se, nada de RUN ou CLEAR.
ACOPLAMENTO NO ARQUIVO DE IMAGENS DO SISTEMA
A maneira mais lógica e inteligente de se efetuar o acoplamento de uma tela é
colocá-la no próprio arquivo de imagens do sistema no momento da gravação do
programa em fita. Como você deve ter notado, a maioria dos programas vai e volta
da fita para o micro, arrastando atrás de si quase 1 Kb de endereços
absolutamente vazios! Pois tratemos de ocupá-los com o que é chamado de "tela de
abertura", aquela que se apresenta tão logo o programa seja carregado no micro.
É uma excelente idéia fazer uma tela padrão, tipo marca registrada, que
personalize os seus programas. Mas o melhor mesmo nesse tipo de acoplamento é que
não aumenta o tamanho dos programas, uma vez que a área utilizada está ali à
espera da nossa criatividade.
O acoplamento é bastante simples. Crie, em local estratégico dentro do seu
programa, as linhas abaixo:
XXXX RAND USR 31210
YYYY SAVE "nome do seu programa"
Naturalmente, o Micro Bug deve estar em posição na memória do micro. Em seguida,
rode o programa BASIC com RUN XXXX ou GOTO XXXX, acionando com isso o Micro Bug.
Uma vez lá em cima, você pode agir calmamente, carregando o Ed-Art se ele ainda
não estiver em posição, carregando e/ou retocando a tela de abertura, etc. Nessa
situação, você só não deve executar os comandos B, E e V; o resto é válido.
Quando estiver tudo pronto, com o Ed-Art (no modo pixel do comando T) mostrando a
tela escolhida, acione o gravador e tecle SHIFT Y, função que retoma direto ao
BASIC sem passar pelo. Micro Bug. O retorno dar-se-á na linha YYYY, executando o
SAVE com tela e tudo. Um programa assim gravado, ao ser carregado, mostra a tela
de abertura e sai rodando a partir da linha seguinte a YYYY. Claro que o fluxo do
programa não deverá mais passar pela linha XXXX.
Essa linha, aliás, pode ser omitida se for adotado o seguinte procedimento:
1°) De alguma forma, descubra o endereço inicial da linha YYYY (será 16509 se for
a primeira do programa);
2°) Acione o Micro Bug através do comando direto RAND USR 31210;
3°) Com o comando M, troque o conteúdo da variável do sistema chamada PXLN,
situada nos endereços 16425/6, pelo endereço inicial de YYYY;
4°) Efetue as operações descritas no processo normal.
Finalizando, espero ter deixado perfeitamente claro ao amigo leitor a pretensão
do Ed-Art GGMI. Ele é apenas um editor gráfico que ajuda a criar telas, sem a
preocupação de empregá-las. Essa tarefa competirá ao seu programa. A sua
competência como programador é que fará com que elas se movimentem graciosamente
na TV ou fiquem estáticas. Creio que nesse mister a sua MICRO SISTEMAS poderá
emprestar valiosa colaboração pelas inúmeras dicas e rotinas já publicadas.
Aplique-se, pois você é o dono da pelota; repare que o Ed-Art não acompanha o seu
programa, ele fica para trás e não deixa marcas. E isso é muito bom.
Um forte abraço meu e de GGMI e boas artes com o Ed-Art.
E D - A R T G G M I
---------------------------------------------------------------------------------
PUBLICADO NA REVISTA MICRO SISTEMAS EDIÇÃO NR.54 (MARÇO DE 1986)
---------------------------------------------------------------------------------
AUTOR: CLÁUDIO DE FREITAS B. BITTENCOURT
---------------------------------------------------------------------------------
CONVERTIDO POR KELLY ABRANTES MURTA - BRASIL - OUTUBRO 2000
---------------------------------------------------------------------------------
OBS.: Texto escaneado diretamente da revista MS e reconhecido via OCR.
INTRODUÇÃO
O computador é uma máquina fria, impessoal e, para muitos, antipática. Sem
dúvida, mas é próprio das máquinas, essa invenção do bicho-homem que carrega tão
pouco da personalidade do seu criador, justamente naquilo que ela tem de mais
humano.
Os seus programas, por exemplo; você já reparou bem neles à luz do sentimento
estético ou moral ou sentimental? São de fato frios, convenhamos. A despeito de
toda a sua criatividade, você não tem feito muita coisa para atenuar essa faceta
menor do seu equipamento, não é verdade? E no entanto, você é um cara legal,
amante do belo, cheio de ternura no coração. Você não é máquina!
Urge então fazer algo a respeito e aqui está GGMI para despertar A veia artística
que há, reprimida, dentro do leitor. Através da arte visual, vamos explodir para
o mundo esse oceano de sentimentos que jaz latente no fundo de su'alma (bonito,
hem'?).
O Ed-Art GGMI é um editor gráfico que se presta à preparação de telas, as quais
poderão ser arquivadas em fita independentemente e acopladas a qualquer programa,
de sua lavra ou não. Dependendo da sua conveniência, as telas poderão ter
continuidade entre si, formando um telão. Sequências verticais e bidirecionais
são também fáceis de se conseguir.
MONTAGEM
O Ed-Art foi criado para ser um módulo do Micro Bug. Para montá-lo, carregue no
micro esse fabuloso (nunca é demais dizer) programa publicado pela sua MICRO
SISTEMAS e, com o comando M, digite os códigos da listagem nos endereços
indicados. Ao terminar, confira com o comando P 6E00,783A. O resultado tem que
ser 9B0A. Isso posto, salve-o em fita várias vezes com o comando I 6E00,783C. A
seguir, use o comando C do Micro Bug para carregar um módulo salvo; só depois
dessa operação ele poderá ser acessado.
ORGANIZAÇÃO DA MEMÓRIA
Um módulo do Micro Bug ocupa a memória do endereço 6E00 até 77FF, mas o Ed-Art é
diferente, pois foi necessário aumentar o espaço, baixando o endereço inicial
para 6B00 (ou seja, menos 768 bytes). Junto com ele desceram o RTP, a ENSP, o
stack do GOSUB e o stack da máquina - veja o manual do micro para maiores
esclarecimentos. Não se preocupe com essa expansão, pois tudo ocorre
automaticamente quando é acionado pela primeira vez qualquer um dos quatro
comandos disponíveis no Ed-Art. E o status quo anterior é restabelecido ao ser
acionado o comando C do Micro Bug, que carrega um novo módulo no lugar do Ed-Art.
O único efeito prático é uma diminuição correspondente da memória disponível para
os programas BASIC, abaixo do Micro Bug. Mas em 99% dos casos essa pequena
quantidade de bytes não fará falta.
Além do arquivo de imagens normal do micro, que aparece na tela da TV, o Ed-Art
trabalha com mais dois arquivos, situados em buffers nas seguintes posições da
memória:
l°) Principal - de 27392(6B00) a 28159(6DFF)
2°) Reserva - de 28160(6E00) a 28927(70FF)
COMANDO T
O comando T, acessado via Micro Bug, é o editor propriamente dito. Ao ser
acionado, aparecerá na tela o Ed-Art piscando maliciosamente para você - não o
censure, é uma cortesia - pois, trata-se de um cavalheiro de fina educação.
Apague-o com SHIFT A. Restará na tela aquilo que o manual do micro chama
pomposamente de "elemento de imagem", mas que para nós responderá pelo simpático
nome de pixel. O dito ocupa a área de 1/4 de caráter e é usado nas instruções
PLOT e UNPLOT do BASIC Sinclair. Reconheceu? É o próprio. Pois o pixel desloca-se
nas oito direções cardeais com o uso das teclas abaixo, sabiamente escolhidas por
GGMI em função de mnemónicos que facilitarão a sua vida, leitor.
TECLA MNEMÓNICO DIREÇAO TECLA MNEMÓNICO DIREÇÃO
1 {1} esquerda-acima 5 {5} esquerda
2 {2} direita-acima 6 {6} abaixo
3 {3} direita-abaixo 7 {7} acima
4 {4} esquerda-abaixo 8 {8} direita
OBS.: Os mnemônicos representam os símbolos gráficos obtidos com SHIFT+TECLA
em modo GRAPHICS.
O pixel pode caminhar nas condições PLOT, UNPLOT e "Sem Rastro", conforme tenham
sido acionadas previamente as teclas K, J ou L, as mesmas de +, - e = . Prático,
não?
MACROCARACTERES
O pixel é o modo principal de edição, permitindo acesso a todas as funções
disponíveis. Podemos imprimir macrocaracteres acionando as teclas N (de <) ou
M(de >). A primeira prepara um caráter grande (4x4) e a segunda um gigante (8x8).
Os símbolos "<" e ">" alternam-se com o pixel piscante para indicar a condição
assumida. A tecla que você pressionar em seguida será macroimpressa, salvo se for
NEW LINE, FUNCTION, RUBOUT ou GRAPHICS, que desativam a preparação. Todos os
símbolos do Sinclair são válidos e os de vídeo inverso são preparados por SHIFT N
e SHIFT M, em vez de N e M. Se o espaço na tela for insuficiente para o
macrocaráter, a tecla de preparação não surtirá efeito. Após a macroimpressão, o
pixel estará na condição "Sem Rastro", o que aliás ocorre após qualquer operação
extraordinária. Logo, você irá apreciar isso.
RETA
Reconheço, "reta" é força de expressão, pois o que aparece na tela é mais chegado
a caminho de rato do que a reta. Enfim, é o que nos permite a baixíssima
resolução do nosso equipamento, que se há de fazer? E deu trabalho, a desgraçada!
Ela é preparada pela tecla R. A partir daí, o pixel desloca-se sem rastro nas
direções horizontal e vertical (teclas 5 a 8), exclusivamente. No ponto de origem
fica um segundo pixel piscante, para sua orientação. Ao ser pressionado SHIFT R,
ei-la impávida e gloriosa na sua pobreza, de um ponto ao outro. NEW LINE é a
tecla que desativa a preparação da reta.
CIRCULO
Esse é melhorzinho, ainda que também precário. Coloque o pixel na posição que
você pretende que seja o centro do círculo e pressione a tecla C, a letra que vai
aparecer irá se alternar com o pixel. O micro ficará então esperando que você
tecle dois algarismos relativos ao raio da circunferência, que poderá variar de
02 a 35. O primeiro algarismo é o da dezena e o segundo da unidade. A letra C
será substituída pelo primeiro algarismo que por sua vez será substituído por um
caráter indicativo do raio, tão logo seja teclado o segundo algarismo. O código
desse caráter (vide manual) é igual ao raio mais 28 (se você não gostou, deixe de
fazer cara feia e ignore o que se passa no centro da circunferência). A tecla que
desativa a preparação do círculo é NEW LINE.
MANIPULAÇÃO DOS ARQUIVOS
A manipulação dos arquivos é uma das mais versáteis funções do Ed-Art. Ela
permite que se faça a interface de duas telas, portanto deve ser usada quando se
pretender dar continuidade horizontal ou vertical às mesmas. As teclas de
acionamento são P (de Principal), H (de Horizontal) e V (de Vertical). A tecla P
apresenta na tela o conteúdo do buffer principal (o primeiro na memória). Só que,
a cada vez que ela é acionada, esse conteúdo é antes trocado com o que está no
buffer reserva (o segundo na memória). As teclas H e V provocam na tela o
rolamento da imagem para a esquerda e para cima, respectivamente, possibilitando
o interfaceamento das duas pêlos quatro lados. E semelhante a um SCROLL, só que
em vez de rolar linha por linha (coluna por coluna), o rolamento se dá de metade
em metade da tela.
As teclas H e V podem ou não trocar o conteúdo dos buffers, dependendo da
situação. O conteúdo que ocupar o quadrante superior esquerdo da tela será sempre
do buffer principal. Contudo, não convém facilitar: antes de efetuar qualquer
operação que possa comprometer a integridade do seu trabalho (ex: CLS, SAVE e
LOAD de arquivos), estabeleça o conteúdo correto do buffer principal mediante o
acionamento da tecla P - ela existe para isso.
OUTRAS FUNÇÕES DO MODO PIXEL
No modo pixel são disponíveis ainda as funções abaixo, apresentadas na sequência
"tecla-mnemônico-efeito".
9 - "GRAPHICS" - efetua inversão de vídeo
SHIFT S - "LPRINT" - remete imagem da tela para a impressora
SHIFT A - "NEW" - efetua CLS
SHIFT NEW LINE- - "FUNCTION"' - retorna ao Microbug
SHIFT Y - "RETURN" - retorna direto ao BASIC
NEW LINE - - muda para modo ESCRITA HORIZONTAL
MODO ESCRITA
O modo escrita, que pode ser horizontal ou vertical, permite imprimir todos os
símbolos Sinclair em tamanho normal. As funções disponíveis são:
SHIFT 9 - "GRAPHICS" - passa a imprimir caracteres inversos
SHIFT O - "RUBOUT" - executa RUBOUT (horizontal ou vertical)
SHIFT NEW LINE - "FUNCTION" - retorna ao Microbug (igual ao modo PIXEL)
NEW LINE - - muda modo
A TECLA NEW LINE
A mudança do modo de edição é efetuada pela tecla NEW LINE, obedecendo à seguinte
sequência:
PIXEL -> ESCRITA HORIZONTAL -> ESCRITA VERTICAL -> PIXEL ... etc.
O modo em execução é identificado pelo cursor piscante que se alterna com o
caráter, ao qual se superpõe. Esse cursor, dependendo do caso, pode ser: pixel,
H, [H] , V ou [V].
AUTO-REPETIÇÂO
Quase todas as funções do comando T são auto-repetitivas (excetuam-se aquelas em
que essa propriedade seria inconveniente). Ao ser pressionada uma tecla, a função
é prontamente executada e caso você não a libere, após um pequeno tempo de espera
começa a auto-repetição em ritmo veloz. Isso, além de agilizar o seu trabalho,
lhe permitirá apreciar alguns efeitos dinâmicos com a manipulação de arquivos.
COMANDOS S e U
Retornando ao Micro Bug, você disporá ainda dos comandos S, U e V (este será
visto mais adiante).
O comando S (de SAVE) salva em fita o conteúdo do buffer principal e o comando U
carrega, também no buffer principal, o que for lido em fita. Muita atenção no uso
desses comandos, pois um erro de arquivo pode apagar irremediavelmente um
trabalho acabado, sem possibilidade de recuperação. Recorra sempre à tecla P do
modo pixel para estabelecer o conteúdo correio dos buffers.
Para a eventualidade de carregar no buffer uma gravação imperfeita, que mandaria
o sistema para o espaço quando mostrada na tela, o comando U zera o bit 6 dos
bytes lidos em fita. Isso equivale a subtrair 64 dos códigos não imprimíveis,
tornando-os imprimíveis. Os demais permanecem inalterados. Ignore este parágrafo
se você não entendeu nada do que eu quis dizer.
ACOPLAMENTO EM LINHA PRINT - COMANDO V
Existem diversas maneiras de acoplar as telas produzidas com os seus programas.
A mais simples é através do comando V que cria no BASIC uma linha PRINT com o
conteúdo total ou parcial do buffer principal. Sua sintaxe é:
V XXXX,YY
onde XXXX é o número da linha que vai ser criada e YY é a quantidade de linhas do
buffer principal que deve ser copiada (contando de cima para baixo). Dados
impróprios provocam mensagens de erro: as mesmas do comando E do Micro Bug (MS
nº 33) e mais "HUUUU", que é o Ed-Art vaiando se você fizer YY igual a zero ou
maior do que 24. Lembre-se de que, no modo normal, o Micro Bug interpreta os
dados no sistema hexadecimal, a menos que haja um $ antes.
Cabe aqui uma dica importante, para evitar um defeito do firmware Sinclair, que
já atrapalhou a vida de muita gente boa por aí. Quando se está trabalhando com
linhas maiores do que a tela, pode ocorrer de uma delas ficar rolando ad
infinitum na TV, obrigando o infeliz programador a desligar o micro. Isso
acontece por incompatibilidade das variáveis do sistema LPC e LTOP quando, por
exemplo, apaga-se a linha posterior a uma dessas grandonas. Para sua segurança e
tranquilidade, crie uma linha assim:
XXXX REM NÃO ME APAGUE
onde XXXX é igual ao número da linha fatídica mais um.
O defeito pode ocorrer também ao retornarmos ao BASIC e teclarmos NEW LINE, após
termos criado linhas grandes com os comandos E e V do Micro Bug. Para evitar a
"catástrofe", tecle LIST em vez de NEW LINE e crie logo a linha de segurança. Só
então respire tranquilo.
As linhas PRINT criadas pelo comando V podem perfeitamente ser editadas e o PRINT
substituído por outros comandos BASIC válidos, como por exemplo LPRINT; PRINT AT
X,Y; LET A$=;etc.
ACOPLAMENTO EM VARIÁVEL STRING
O Micro Bug possui alguns comandos próprios que podem também ser usados no
acoplamento, embora de maneira menos direta e bem mais complicada. Dentre esses
estão os comandos E (MS n° 33) que cria linhas REM de qualquer tamanho e o
comando O (MS nº 34) que transfere conteúdos da memória de um lugar para outro.
O uso dessas alternativas requer bom conhecimento da organização de memória do
micro e não o recomendamos nem para o preenchimento de variáveis string
previamente criadas pela instrução DIM. Essa terefa é muito mais facilmente
executada através do próprio BASIC, com poucas linhas de programação. Em vez de
ficar aqui gastando inutilmente o nosso escasso latim, vamos a um exemplo (rode-o
no modo FAST).
10 LET A$=""
20 FOR F=l TO 22*32
30 LET A$=A$ + CHRS PEEK (27391+F)
40 NEXT F
50 STOP
Isso copia as 22 primeiras linhas do buffer principal na variável A$, que pode
então ser impressa a qualquer momento no fluxo normal do seu programa, desde que
você jamais tecle RUN (rode o programa com GOTO X) nem CLEAR, que apagam as
variáveis. O programinha apresentado como exemplo pode e deve ser modificado por
você de acordo com as suas conveniências, mas antes entenda-o bem. Repare que o
número 22 da linha 20 é a quantidade de linhas a ser copiada e que o 27391 da
linha 30 é igual ao endereço inicial do buffer principal menos l. Após ser
rodado, o programinha pode ser apagado, mas lembre-se, nada de RUN ou CLEAR.
ACOPLAMENTO NO ARQUIVO DE IMAGENS DO SISTEMA
A maneira mais lógica e inteligente de se efetuar o acoplamento de uma tela é
colocá-la no próprio arquivo de imagens do sistema no momento da gravação do
programa em fita. Como você deve ter notado, a maioria dos programas vai e volta
da fita para o micro, arrastando atrás de si quase 1 Kb de endereços
absolutamente vazios! Pois tratemos de ocupá-los com o que é chamado de "tela de
abertura", aquela que se apresenta tão logo o programa seja carregado no micro.
É uma excelente idéia fazer uma tela padrão, tipo marca registrada, que
personalize os seus programas. Mas o melhor mesmo nesse tipo de acoplamento é que
não aumenta o tamanho dos programas, uma vez que a área utilizada está ali à
espera da nossa criatividade.
O acoplamento é bastante simples. Crie, em local estratégico dentro do seu
programa, as linhas abaixo:
XXXX RAND USR 31210
YYYY SAVE "nome do seu programa"
Naturalmente, o Micro Bug deve estar em posição na memória do micro. Em seguida,
rode o programa BASIC com RUN XXXX ou GOTO XXXX, acionando com isso o Micro Bug.
Uma vez lá em cima, você pode agir calmamente, carregando o Ed-Art se ele ainda
não estiver em posição, carregando e/ou retocando a tela de abertura, etc. Nessa
situação, você só não deve executar os comandos B, E e V; o resto é válido.
Quando estiver tudo pronto, com o Ed-Art (no modo pixel do comando T) mostrando a
tela escolhida, acione o gravador e tecle SHIFT Y, função que retoma direto ao
BASIC sem passar pelo. Micro Bug. O retorno dar-se-á na linha YYYY, executando o
SAVE com tela e tudo. Um programa assim gravado, ao ser carregado, mostra a tela
de abertura e sai rodando a partir da linha seguinte a YYYY. Claro que o fluxo do
programa não deverá mais passar pela linha XXXX.
Essa linha, aliás, pode ser omitida se for adotado o seguinte procedimento:
1°) De alguma forma, descubra o endereço inicial da linha YYYY (será 16509 se for
a primeira do programa);
2°) Acione o Micro Bug através do comando direto RAND USR 31210;
3°) Com o comando M, troque o conteúdo da variável do sistema chamada PXLN,
situada nos endereços 16425/6, pelo endereço inicial de YYYY;
4°) Efetue as operações descritas no processo normal.
Finalizando, espero ter deixado perfeitamente claro ao amigo leitor a pretensão
do Ed-Art GGMI. Ele é apenas um editor gráfico que ajuda a criar telas, sem a
preocupação de empregá-las. Essa tarefa competirá ao seu programa. A sua
competência como programador é que fará com que elas se movimentem graciosamente
na TV ou fiquem estáticas. Creio que nesse mister a sua MICRO SISTEMAS poderá
emprestar valiosa colaboração pelas inúmeras dicas e rotinas já publicadas.
Aplique-se, pois você é o dono da pelota; repare que o Ed-Art não acompanha o seu
programa, ele fica para trás e não deixa marcas. E isso é muito bom.
Um forte abraço meu e de GGMI e boas artes com o Ed-Art.