13.06.2013 Views

con - Amiga Magazine Online

con - Amiga Magazine Online

con - Amiga Magazine Online

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.

.................... .................................................<br />

Didattica AMIGA MAGAZINE<br />

Il formato di WAIT è un po' più com-<br />

plesso di quello di MOVE, in quanto<br />

non solo ci è permesso di specifica-<br />

re una coordinata x e una y da a-<br />

spettare, ma anche di fornire una<br />

maschera di bit che specifica quale<br />

parte è rilevante nel <strong>con</strong>fronto. In<br />

particolare, il fatto che in tutte le no-<br />

stre istruzioni WAIT (tranne due di<br />

cui parleremo più avanti) la se<strong>con</strong>da<br />

parola sia O x FFOO fa sì che la coor-<br />

dinata x sia <strong>con</strong>siderata dal Copper<br />

irrilevante.<br />

La prima parola indica invece il pun-<br />

to da aspettare: il primo byte <strong>con</strong>tie-<br />

ne la coordinata y, il se<strong>con</strong>do la<br />

coordinata x privata del bit 0, che<br />

viene sempre messo a 1. In pratica,<br />

si può individuare un punto in oriz-<br />

zontaleogni 4di unoschermoa bas-<br />

sa risoluzione, mentre il <strong>con</strong>trollo<br />

verticale permette di aspettare una<br />

qualunque riga.<br />

Quando il <strong>con</strong>tatore arriva alla riga<br />

44, succede una cosa un po' parti-<br />

colare. Il Copper mette il valore di<br />

<strong>con</strong>trollo $1 200 nel primo registro di<br />

<strong>con</strong>trollo video e, come <strong>con</strong>seguen-<br />

za, la bitmap da noi indicata <strong>con</strong> le<br />

prime due istruzioni comincia ad es-<br />

sere visualizzata sotto forma di<br />

schermo 320x 256 <strong>con</strong> profondità 1.<br />

Un aspetto fondamentale dell'hard-<br />

ware di <strong>Amiga</strong> che è necessario<br />

comprendere a fondo per capire<br />

l'importanza del Copper è che i regi-<br />

stri che puntano alle bitmap vengo-<br />

no aggiornati durante il display alla<br />

locazione correntemente visualiz-<br />

zata. Questo significa che quando<br />

si giunge alla fine della bitmap, e il<br />

pennello elettronico è alla fine del<br />

monitor, i registri non hanno più il<br />

<strong>con</strong>tenuto da noi immesso, in quan-<br />

to indirizzano la fine, e non l'inizio<br />

della memoria che abbiamo alloca-<br />

to. Se non ci fosse il Copper, che 60<br />

volte al se<strong>con</strong>do si premura di rista-<br />

bilire i valori corretti, vedremmo il<br />

<strong>con</strong>tenuto dello schermo cambiare<br />

ad una velocità impressionante, co-<br />

me in effetti capita quando qualche<br />

programma "bucato" va a sporcare<br />

le Copper List di sistema.<br />

Mentre il resto della bitmap viene vi-<br />

sualizzato, il colore di sfondo viene<br />

modificato, come già detto, ogni no-<br />

ve righe. Un'attenzione speciale<br />

merita però I'istruzione che si trova<br />

verso la fine, e che ho volgarmente<br />

tradotto <strong>con</strong> un WAIT UNTIL VERT<br />

256. La sua ragion d'essere è sem-<br />

plice: il <strong>con</strong>tatore di linee verticali<br />

del Copper è formato da un solo<br />

byte, mentre le righe sono più di<br />

300; passata la riga 255, il <strong>con</strong>tato-<br />

re ricomincia da zero. E' quindi ne-<br />

cessario, se si vuole aspettare una<br />

riga n oltre la 255esima, aspettare<br />

quest'ultima e poi aspettare la riga<br />

n-256. Supponiamo per esempio<br />

che il Copper si trovi alla riga248. Se<br />

in<strong>con</strong>trasse ora un'instruzione WAIT<br />

VERT 2, non aspetterebbe la linea<br />

258, ma salterebbe subito all'istru-<br />

zione successiva, in quanto 248>2!<br />

Se invece noi inseriamo prima della<br />

WAITVERT2 una WAIT UNTILVERT<br />

256, al momento del <strong>con</strong>fronto <strong>con</strong> 2<br />

il <strong>con</strong>tatore del Copper sarà già tor-<br />

nato a O, e il nostro amico dovrà a-<br />

spettare, in quanto 0

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

Saved successfully!

Ooh no, something went wrong!