22.08.2013 Views

MicroHobby27.pdf

MicroHobby27.pdf

MicroHobby27.pdf

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

I<br />

I<br />

~ I<br />

I<br />

o truque e inserir 12 caracteres em<br />

um, ou seja, fazer com que um mesmo<br />

codigo corresponda nao somente a<br />

um, mas a 12 caracteres, e de 64 saltamos<br />

a 768. Para que isto funcione, divide-se<br />

a tela de imagem em 12 setores<br />

de duas linhas cada. Se imprimirmos 0<br />

mesmo caracter na tela toda, veremos<br />

que nas duas primeiras linhas ele apresentara<br />

um aspecto, nas duas subsequentes<br />

outro aspecto, e assim por<br />

diante.<br />

Vamos ver entao como isto e feito.<br />

Quando 0 computador envia um caractere,<br />

ele consulta uma tabela de formas<br />

que indica 0 formate de todos os<br />

caracteres, sendo cada um deles representado<br />

por 8 bytes (64 bits), Cada byte<br />

e responsavel por uma linha do caractere<br />

(nao confundir com uma Iinha<br />

da tela), logo sac usados 512 bytes para<br />

os 64 caracteres, e, consequentemente,<br />

6144 bytes para os 768.<br />

o computador esta preparado para<br />

habilitar somente 512 bytes, que sac<br />

validos para qualquer posic;:aoda tela.<br />

Tudo 0 que deve ser feito e chavear tabelas<br />

de 512 bytes, sendo cada tabela<br />

responsavel somente por duas linhas<br />

do video. Este chaveamento deve ser<br />

feito de forma sincronizada com a gerac;:aoda<br />

imagem, e por isto nao podemos<br />

contar com a CPU, que neste instante<br />

nao reconhece os comandos do<br />

programador.<br />

o circuito da figura 3 (resumido) faz<br />

este trabalho. 0 contador-1 faz uma divisao<br />

de frequencia, de modo que dele<br />

saia um pulso a cada duas linhas (16<br />

"rasters") enviados a televisao. Este<br />

pulso incrementa 0 contador-2, que faz<br />

a troca das tabelas de caracteres atraves<br />

da manipulac;:ao das Iinhas A9 a<br />

A 12, sendo que A9 e A 10 fazem uma<br />

selec;:aodentro de cada chip de memoria,<br />

enquanto A 11 e A 12 selecionam 0<br />

chip de memoria.<br />

Outra parte importante do circuito e<br />

o multiplexador de quatro linhas (8 entradas,<br />

4 saidas), que separa em tempos<br />

exatos as Iinhas A9 a A 12, vindas<br />

da CPU, das Iinhas QA a QD, vindas do<br />

contador-2. Durante a fase em que a<br />

A9<br />

AIO<br />

All<br />

Al2<br />

IlrnI!<br />

lB<br />

I j 1111111<br />

MULTIPLEX MEMORIAI6Id<br />

.28<br />

1Y A9'<br />

_._--<br />

2Y AIO'<br />

• 3B<br />

3Y All'<br />

48<br />

• SEl<br />

4Y A12'<br />

IA 2A 3A 4A<br />

QA aB ac aD<br />

CLOCK aD CLOCK<br />

RESET<br />

RESET<br />

CONTADOR·2 CONTADOR·1<br />

CPU esta voltada ao programa do<br />

usuario (RFSH = 1), 0 multiplex conecta<br />

as linhas A9 a A 12 as memorias,<br />

permitindo sua leitura (PEEK) e escrita<br />

(POKE). 'Quando a CPU esta voltada a<br />

gerac;:ao de imagens, 0 multiplexador<br />

habilita as Iinhas QA a QD (RFSH<br />

0),<br />

o circuito e controlado por um software<br />

gratico que Ihe confere os seguintes<br />

recursos:<br />

HGR: passa 0 sistema para 0 modo<br />

gratico.<br />

TEXT: passa 0 sistema para 0 modo<br />

texto.<br />

CLEAR: apaga toda a tela gratica.<br />

PLOT: acende um ponto gratico especificado.<br />

UNPLOT: apaga um ponto gratico especificado.<br />

POINT: indica 0 estado de um ponto<br />

especificado.<br />

DRAW: interliga dois pontos especificados.<br />

COPY: faz uma copia gratica na impressora.<br />

Na proxima edic;:ao passaremos a<br />

montagem eletr6nica do circuito. Ate<br />

la! •<br />

Bibliografia do autor<br />

Milton Maldonado Junior e estudante de engenharia<br />

eJetrica, da Escola Politecnica da Universidade<br />

de Sao Paulo, tern 19anos e e au tor do<br />

Iivro Super BASIC TK, publicado pela Editora<br />

Aleph.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!