Articolo pubblicato sul n. 64 di MCmicrocomputer (Edizioni Technimedia Srl - Roma) nel giugno 1987
Commodore 128: 128 da zero questo mese trattera' di interrupt, di CIA, di Rom, di grafica ed altro. Presenteremo un comodo orologio in tempo reale (non soggetto cioe' a ritardi a causa di operazioni di I/O), da tenere costantemente acceso in un angolo dello schermo, piu' un pacchetto grafico "640x200 in 320x200" che permette a chi non dispone di un monitor di visualizzare una finestra di alta risoluzione sul proprio TV. Ma il bello di questo risiede nel fatto che il lettore (primo tra tutti) e' riuscito a smanettare nel Basic del 128 fino ad inserire dei nuovi comandi. Complimenti. Per finire, a chi si occupa di programmazione in linguaggio macchina, dedichiamo un riquadro con alcune routine Kernal del 128 non trattate precedentemente.
Orologio R.T. di Adriano Asnaghi - Mestre (VE)
L'integrato CIA 6526 contenuto all'interno del 128 (per l'esattezza cercando bene ne troviamo due) dispone di un orologio interno in formato Ore-Minuti-Secondi-DecimiDiSecondo, indipendente dalle altre attivita' della macchina. Per questo motivo e' detto "in tempo reale": non e' il processore a farlo avanzare ma e' interno al CIA "a tutti gli effetti". Basta settare l'orario, utilizzando appositi registri, e dare il via al conteggio. La routine in linguaggio macchina inviataci dal lettore di Mestre, incuneandosi nella normale procedura di scansione della tastiera (processo che, tramite il meccanismo degli interrupt, avviene in parallelismo simulato all'elaborazione in corso) permette la visualizzazione continua nell'angolo in alto a destra dello schermo 40 colonne. Effettuando operazioni I/O che prevedono la disabilitazione degli interrupt, potremo notare qualche ritardo nella visualizzazione, ma non nel conteggio. Una volta digitato il codice esadecimale mostrato in figura 1, e mandato in esecuzione il programma basic di listato 1 (di inizializzazione) per ottenere l'orologio sara' sufficiente un:
SYS 3072
per ripristinare la normale routine di interrupt (e conseguentemente togliere l'orologio) basta digitare:
SYS 3075
Il listato 2 mostra il disassemblato commentato della routine orologio. Per finire, come lo stesso autore raccomanda, per non far interferire l'orologio con i comandi da noi impartiti e' bene definire un window a partire dalla seconda riga con il comando:
WINDOW 1,0,24,39
(omissis)
640x200 in 320x200 di Enrico Ceppi - Meda (MI)
Il secondo lettore, ci invia un tool di istruzioni Basic atte a visualizzare una finestra larga 320 pixel della pagina grafica ad alta risoluzione, come noto, larga 640 pixel. Cio' puo' essere utile quando non si dispone di un monitor ma solo di un televisore. Lasciamo a lui la parola:
(omissis)
Impaginato originale... Articolo pubblicato su www.digiTANTO.it - per ulteriori informazioni clicca qui |