Numero 16 Aprile 2008 - Retrocomputing.net
Numero 16 Aprile 2008 - Retrocomputing.net
Numero 16 Aprile 2008 - Retrocomputing.net
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Jurassic News - Anno 3 - numero <strong>16</strong> - <strong>Aprile</strong> <strong>2008</strong><br />
appena caricato (immagine nella<br />
pagina a fianco), scopriamo che la<br />
periferica è mappata all’indirizzo<br />
07h, infatti il loop di caricamento include<br />
l’istruzione IN 07h.<br />
A questo punto resettiamo la CPU<br />
per impostare i valori corretti dei<br />
registri, fra i quali importante il PC<br />
che deve puntare all’indirizzo zero,<br />
da dove iniziano le istruzioni del caricatore.<br />
Da notare che il reset non<br />
modifica il contenuto della memoria,<br />
comportamento che è corretto<br />
perché agisce solo sul processore<br />
e non innesca alcuna routine di gestione<br />
della macchina. Settiamo lo<br />
switch A15 e lanciamo il RUN.<br />
Come si accennava gli switch servono<br />
sia per impostare indirizzi e<br />
dati e sia per guidare la macchina,<br />
ad esempio per indirizzare l’I/O.<br />
Il caricamento è immediato ovviamente,<br />
se avessimo dovuto leggere<br />
veramente un nastro perforato<br />
l’operazione avrebbe impiegato<br />
qualche minuto (anche per questo<br />
amo gli emulatori!).<br />
Al termine del caricamento il PC è<br />
fermo su una istruzione HLT (halt,<br />
cioè di stop del processore), dobbiamo<br />
resettare per impostare il<br />
PC all’indirizzo zero e dare il RUN.<br />
Qui bisogna decidere quale output<br />
vogliamo considerare; l’emulatore<br />
prevede infatti la possibilità di collegare<br />
un terminale vero via seriale<br />
o arrivarci con un Tel<strong>net</strong>. La scelta<br />
più comoda è però quella di attivare<br />
la console virtuale, una specie di<br />
terminale built-in, al momento della<br />
configurazione. Per fare in modo<br />
che l’output venga mandato<br />
al terminale e che<br />
l’input per converso sia<br />
accettato dalla tastiera,<br />
dobbiamo definire la<br />
porta di I/O mettendo<br />
alto lo switch dell’indirizzo<br />
A11. Il Run a questo<br />
punto attiva la console virtuale<br />
e ci permette di interagire con il basic<br />
caricato (vedi figura in questa<br />
pagina).<br />
A questo punto ci siamo lanciati<br />
nella programmazione (si fa per<br />
dire), con il più classico dei cicli<br />
FOR e stampa dei primi 20 numeri.<br />
Dobbiamo dire che il sistema risulta<br />
usabilissimo e anche abbastanza<br />
veloce già a 2 MHz, che è il setting<br />
predefinito.<br />
Una modalità di funzionamento<br />
che avvicina maggiormente l’uso<br />
dell’emulatore alla macchina reale,<br />
è la predisposizione di un terminale<br />
fisico in collegamento seriale, oppure<br />
in subordine la gestione di una<br />
console attraverso un programma<br />
di emulazione di terminale, come<br />
ad esempio Hyperlink che è con-<br />
Il pezzo di codice che<br />
carica dati dal nastro<br />
perforato.<br />
Il Basic 4k alla partenza<br />
nella console virtuale.<br />
29