Numero 1
Novembre-Dicembre 1983
AQUARIUS Edizioni s.n.c.
RUN bimestrale su cassetta.
Periodico registrato presso il Tribunale di Milano con il N. 469/83 il giorno 07/10/83. Tutti i diritti sono riservati
per tutti i paesi. Programmi, manoscritti e cassette anche senon pubblicati non sono rinviati all'autore se non
su richiesta.
RIGHTS RESERVED EVERYWHERE
1984 by Aquarius edizioni - RUN
direttore
SIMONE MAJOCCHI
direzione software
BEPPE ANDRIANO'
direzione diffusione
PIERO ROCCHI
direzione editoriale
MARIO MAGRONE
direttore responsabile
Simone Majocchi
Collaborano a RUN
Alex Gatti, Alessandra Angiolini, Alessandra Baretta, Alberto Bassi,
Antonio Trupo, Bruno Rota, Dario Mella, Franco Tagliabue, Giancarlo Belloni, Maurizio Feletto, Mauro Scaioni Roberto
Cislaghi, Sandro Serra, Stefano Prina, Tina Cerri, Viviana Angiolini.
DISTRIBUZIONE :
edicole - SO.DI.P Angelo Patuzzi - Via Zuretti 25 MILANO
computer shops - MICROSTAR V. Cagliero 17 Milano
COME UTILIZZARE RUN
I programmi sono concatenati fra loro in modo tale da permettere
la lettura della rivista senza dover dare LOAD in continuazione ma sem licemente fermando il registratore quando
richiesto. Per minimizzare le manovre con il registratore la rivista e' a blocchi (circa 18) da diversi K di RAM.
Le dimensioni sono tali da ermettere il caricamento su Spectrum non espansi. Date le dimensioni della rivista le
due facciate della cassetta contengono materiale diverso per un totale di oltre 120
KBytes .
Campagna abbonamenti 1984
Assicurati oltre mezzo
Megabyte di programmi, corsi , giochi edidattica sul tuo ZX Spectrum con sole
cinquantamila lire. Avrai
diritto ad una cassetta di software di elevata qualita' e ad una tessera
sconto valida per l'acquisto di software e hardware presso i rivenditori convenzionati.
Per abbonarti devi mandare un vaglia postale di 50000 lire a Aquarius
Edizioni, C.so Vittorio Emanuele 15, 20122 , Milano con il tuo indirizzo completo
ed il tipo di cassetta che desideri in regalo.
SOMMARIO
1 3-5 Chi lavora per RUN
6 Istruzioni per l'uso
2 7-8 Campagna Abbonamenti
9-11 SOMMARIO
3 13-15 Editoriale
4 17 La vendetta della rana
5 ROADER gioco Basic e L/M
6 18-27 Corso di BASIC
7 35-39 Tutto Sinclair
8 35-39 Spectrum HARDWARE
9 41 Cosa sono gli UDG
10 UDG editor programma
11 42-45 Software TEST
12 47-50 Come ti scrollo l'hires
13 Bytes SCROLL in L/M
14 51-64 Corso di L/M
15 66 Spari tu o sparo io ?
16 RUN Invaders gioco L/M
17 67-72 Cosa c'e' sul mercato
18 73-78 Posta e risposta
19 79-82 Le occasioni di
20 83-85 Sul prossimo numero
21 87 METEORS il superGIOCO
|
Per facilitarvi la lettura i RUN abbiamo diviso il sommario secondo
i blocchi di caricamento indicando con un numero da 1 a 18 (in
giallo) il blocco a cui il pezzo appartiene. Mantenendo lo stile delle normali
riviste ogni pagina ha un numero progressivo; in questo modo potrete stamparvi gli articoli che vi interessano
senza confondere le pagine.
EDITORIALE
di Simone Majocchi
Si dice sempre che rispetto agli altri noi poveri italiani siamo
sempre indietro...
Questa volta pero' siamo stati capaci di fare qualcosa di buono
ed interessante: avete infatti per le mani qualcosa di speciale e unico per l'Italia.
RUN e' infatti la prima
rivista su cassetta che compare in edicola dando qualcosa di nuovo a tutti i possessori di Spectrum italiani. Siamo
certi che questa iniziativa ottera' la vostra approvazione.
Come possessori di computer sapete bene quale sia l'annoso problema
che vi assilla dal momento in cui l'avete acceso per la prima volta: si sa che il computer puo' fare tutto o quasi,ma
ben pochi sanno come farlo fare al computer. E' proprio per questo che noi della Aquarius abbiamo deciso di produrre
una rivista su cassetta in grado di dare tutte le informazioni necessarie per arrivare alla piena padronanza del
vostro ZX Spectrum.
Su RUN troverete corsi di programmazione e articoli didattici
per insegnarvi direttamente sul computer come si programma, con tutti i trucchi e le astuzie per avere il massimo
dal vostro computer. Anche i giochi saranno pero' oggetto delle nostre pagine e noterete come tutti i programmi
siano gia' pronti da far girare e senza errori. Gia' su questo numero inizia il corso di Basic ed il corso di programmazione
in linguaggio macchina; tre giochi ed un programma di utilita' piu' qualche altra routine sono il software che
vi terra' impegnati fino al primo gennaio 84, giorno in cui uscira' il secondo numero di RUN nelle edicole e nei computer shop. Se avete delle idee e dei commenti scriveteci...
<Pubblicità>
Sei appassionato di astronomia ?
Allora corri alla tua edicola!
E' uscita ASTRONOMIA 2000
La prima rivista di astronomia pratica, astrofisica, astronautica.
LA VENDETTA DELLA RANA
Introduzione a ROADER
di Massimo Soncini
E' ormai un dato di fatto che i Videogames stanno diventando sempre
piu' cruenti... Basta un semplice sguardo ai classici da bar per trovare Pengo che con la sua aria ingenua spiaccica
a cubi di ghiaccio le Snow Bees contro il muro, oppure Q*bert che saltellando da una pedana all'altra cerca di
far precipitare nel vuoto i suoi nemici ed emette una serie di strane imprecazioni come @!#* se sbaglia. Solitamente
sono sempre o gli alieni o gli animaletti che vengono trucidamente uccisi, questa volta pero' siete voi (e noi)
poveri umani a dover salvare la pelle dalle trappole tese dagli animali alla guida delle navi e delle macchine.
Il programma e' stato realizzato da Marino Fabio seguendo le tracce del noto Frogger. Lo scopo del gioco e' quello di portare 'a casa'
il povero omino utilizzando i soliti tasti del cursore: 5=sinistra, 7=su e 8=destra.
L'omino va portato a casa evitando di toccare i mezzi che popolano
lo schermo; le case sono i quadrati in alto e una volta che avete riempito le prime 4 case passate al secondo muro,
con due ragni e maggiore sprint. Il gioco utilizza delle routine in linguaggio macchina per il movimento 'soft'
dei vari mezzi. Piu' avanti troverete un articolo sullo scroll in hires...
Corso di BASIC
Ad alcuni potrebbe sembrare poco sensato inserire un corso di BASIC in una rivista come RUN. E' infatti probabile che la maggioranza di voi conosca gia' tale linguaggio di programmazione.
Non e' altresi' scontato che tutti sfruttino appieno le possibiliita', davvero notevoli, che il BASIC offre. Ecco quindi il perche' di questa
rubrica, dove cercheremo di illustrarvi i concetti della programmazione evoluta.
Cercheremo di spiegarvi come scrivere programmi efficienti, privi
di dozzine di inutili GOTO e documentati quanto basta per essere riletti e compresi a distanza di mesi dalla loro
stesura. Qualcuno potrebbe dire che questa si chiama programmazione strutturata, ma in realta'non si puo' cosi'
definire, perche' il Sinclair manca di vere e proprie strutture (leggi IF- THEN-ELSE,REPEAT-UNTIL & co.). Il
nostro prediletto e' pero' fornito di un BASIC veramente potente, ed alcune delle sue caratteristiche risultano
molto utili per la documentazione dei listati. Ovviamente non ci riferiamo esclusivamente alla ben nota istruzione
REM, dopo la quale potete inserire qualunque commento, ma alla possibilita' di assegnare alle variabili nomi composti
da piu' lettere, tutte significative. Per chi non avesse compreso l'u tilita' del poter attribuire alle variabili
nomi attinenti al loro contenuto ci proferiamo in un esempio chiarificatore, che trovate nella pagina seguente.
Supponiamo di voler scrivere un breve programmino che calcoli il costo totale di uno ZX Spectrum. La formula, se
e' lecito cosi' chiamarla,dovra' tener conto del costo reale e della famigerata IVA. Il programma potrebbe essere
del tipo :
10 INPUT x
20 INPUT y
30 LET p=x+x/100*y
40 PRINT p
Per il ruolo che deve svolgere questa procedura e' perfetta,ma
volendola riutilizzare dopo un mese vi rendereste conto della incomprensibilita' di un listato privo della minima
documentazione. Perche' risulti 'leggibile' anche dopo mesi e ad altri che voi, basta modificarlo cosi'
10 INPUT "Costo ";costo
20 INPUT "IVA % ";iva
30 LET prez=costo+costo/100 iva
40 PRINT "Prezzo ";prez
I piu' smemorati, o i formalisti avrebbero inserito anche un bel
5 REM calcolo costo SPECTRUM
ma in un simile programma sembra quasi superfluo. Finita questa
bella e interessante chiaccherata (brusio di fondo) possiamo continuare cercando di essere un tantino piu' pratici,
cosicche' nessuno abbia a dire che RUN e' una rivista di poco pratici.
Prima dobbiamo spendere ancora qualche parola a riguardo dell teoria,
la quale dice che ogni problema, per quanto complesso esso sia, e' scomponibile in diversi sottoproblemi. E' facile
intuire quanto sia piu' conveniente ai fini della programmazione scomporre un problemone in problemini piuttosto
che tentare di risolvere tutto assieme. Cio'che si deve attuare e' quindi la scomposizione di ogni programma in
diverse procedure, partendo da quella piu' lontana alla soluzione finale. Daltronde questa operazione viene normalmente
compiuta da tutte le massaie. Si! Avete letto bene, abbiamo scritto massaie. Queste infatti prima di cuocere la
pasta preparano tutti gli ingredienti necessari, in modo da non dover correre per la cucina durante la fase piu'
delicata, la cottura. Cosi' come le donne di casa, anche i programmatori devono rendere le loro azioni, in termini
di programmi, il piu' lineari possibile. Per chi e' abituato a programmare in top-down, senza cioe' analizzare
il problema che si vuole risolvere prima di iniziare a battere i tasti, puo' risultare abbastanza difficile strutturare
un programma, ma ovviamente i vantaggi offerti dalla strutturazione, leggibilita' del listato e linearita' in esecuzione,
valgono qualche sforzo.
Dovete inoltre tenere conto del fatto che i vantaggi della programmazione
strutturata si sentono solo su programmi di un certo peso, e questo e' il motivo principale per cui non ci siamo
esibiti in un esempio pratico. In questa rubrica tratteremo argomenti sempre piu' interessanti e, anche se non
molto semplici, alla portata di tutti. Chi e' interessato a migliorare il proprio stile di programmazione non si
lasci sfuggire questo corso, MAI !!!
COSA C'E' DI NUOVO TARGATO ZX
E' finalmente arrivato il tanto atteso momento in cui la Sinclair
ha messo in vendita il latitante microdrive.
Da quando e' stato annunciato per la prima volta e' passato piu' di un anno e le caratteristiche sono state modificate
in abbondanza. E'ormai certo che si tratta di uno stringy-floppy e non un floppy, si sa anche che e'indispensabile
l'interfaccia RS232 e proprio in questa interfaccia si trova una seconda ROM contenente un nuovo set di comandi dedicato alla comunicazione fra lo Spectrum e (udite
udite): 8 Microdrive , 64 ZX Spectrum e tutto quello che puo'
essere attaccato a una RS232.
Sappiamo che state gia' friggendo sulle sedie per sapere come avere
un Microdrive e la ZX Interface 1, ma in questo momento anche gli inglesi stanno soffrendo poiche' la produzione
va ancora molto a rilento... Forse per marzo si potranno avere i primi pezzi e anche le cartucce di nastro da 200Kbytes
dovranno, per quella data, essere disponibili.
Per quanto ne sappiamo funzionano a meraviglia ed il nuovo set
di comandi comprende tutte le istruzioni visibili sotto la prima fila di tasti ognuna delle quali ha piu' funzioni
a seconda del formato utilizzato.
La parte piu' interessante riguardo all'insieme e' comunque quella
dedicata per la comunicazione fra piu' Spectrum: il NET permette di collegare fra loro ben 64 computer con una
velocita' di comunicazione pari a 100 Kbaud. E' poi anche possibile usare un computer come master per inviare dati
a tutti gli altri connessi al NET, rendendo un facile giochetto computerizzare una intera classe. L'RS232 prevede
gia' il collegamento con una stampante con l'espansione dei token corrispondenti alle istruzioni; non e'pero' possibile
far stampare senza software aggiuntivo la pagina hires o i caratteri grafici.
Per concludere l'exploit Sir Clive ha finalmente immesso sul mercato
il suo Microvision 2000
che per la cronaca e' il televisore tascabile a schermo piatto. Secondo le sue migliori tradizioni costa meno di
100 sterline e funziona come il Sony da 200!! Dalle voci del solito corridoio si incomincia a sentir parlare di
ZX84: si tratterebbe di un personal con Microdrive, televisore piatto e modem, l'ideale in tutti i casi in cui
e' richiesta la portatilita'. Anche qui il prezzo e' supercompetitivo a paragone dei milioni necessari all'acquisto
di un simile personal computer.
Infine sempre dalla mente fervida di Sir Sinclair sta per nascere
la 'Sinclairmobile' elettrica, in grado di risolvere i difficili problemi della circolazione cittadina. Ancora
una volta restiamo in attesa della presentazione ufficiale in cui si vedra' qualcosa di incredibile ad un prezzo
ancora piu' incredibile! E tutto questo sempre con il 'technological breakthrough' a cui ci ha abituato Sir Clive
Sinclair da sei anni a questa parte. Di solito si dice che chi vivra' vedra', in questo caso si vedra' se la Sinclair
ci riuscira'!
ZX SPECTRUM HARDWARE
Anche se di ridotte dimensioni il vostro computer contiene un sacco
di circuiti, che tradotti in transistor basterebbero a saturare la stanza in cui vi trovate. L ingombro ridotto
e' il frutto della moderna tecnologia a LSI (Large Scale Integration) e con meno di 25 integrati il vostro ZX funziona
a meraviglia. Ogni integrato ha una funzione ben precisa e specializzata: il 'cervello' che coordina tutte le operazioni
e' lo Z80 (CPU); il braccio e' il Custom della Ferranti; l'artista che provvede ai colori e' il codificatore PAL
ed infine l'archivio delle informazioni sono la ROM e le RAM.
Anche se ogni integrato sa bene cosa fare e' necessario coordinare
tutte le operazioni: per questo esiste la ROM che contiene il Sistema Operativo e il Basic. Quando accendete il
computer la CPU incomincia a leggere nella ROM cosa deve fare e tutti i circuiti eseguono quello che la CPU ordina.
Anche se ai vostri occhi il computer non sta facendo nulla, sta eseguendo parecchie decine di migliaia di operazioni
al secondo. Nel frattempo anche il Ferranti lavora come un matto provvedendo alla visualizzazione dei dati in memoria
corrispondenti al video.
Dal punto di vista tecnico il vostro ZX e' stato progettato in
modo poco usuale: molte delle funzioni solitamente svolte da normali integrati TTL del tipo 74LS sono risolte dal
Custom di produzione Ferranti e addirittura tutta la procedura di visualizzazione su TV e' espletata da questo
'superintegrato'. Oltre che per motivi di costi di produzione, la Sinclair ha utilizzato questa soluzione per complicare
al massimo la vita a tutti i 'copioni'. Per usare un solo circuitone 'fac totum' sono pero' stati necessari compromessi
sulla velocita' del computer.
Tanto per darvi un idea di cio che accade, vi diciamo che il perfido
Ferranti sospende il segnale di clock alla CPU quando non vuole essere disturbato durante la visualizzazione della
pagina video, e questo capita abbastanza frequentemente, con una riduzione del 20% della velocita' di esecuzione.
Un altro impiccio all'esecuzione speedy' dei programmi sono gli Interrupts, ovvero dei salti forzati ad un breve
programma in l/m ogni tot millisecondi.
Allo ZX gli Interrupts servono per controllare la pressione di
un tasto e per alterare alcune variabili del sistema; ovviamente non si tratta di tempo sprecato, ma utilizzando
delle soluzioni circuitali tradizionali questo non sarebbe stato necessario. A parte il Custom, tutto il resto
e' regolare, molto piu' che nello ZX81 per cui era necessario molto lavoro per collegare l'interfaccia piu' semplice
e banale. Questa prima chiacchierata serve solo a darvi un'idea di che cosa si trova sotto i vostri rosei polpastrelli;
nei prossimi numeri andremo piu' a fondo sulle singole parti e vi daremo le informazioni necessarie alla realizzazione
di qualche semplice interfaccia, quindi pazientate e meditate fino a gennaio.
UDG di M.S.
Non temete: non si tratta di una nuova casa editrice, ma di un
argomento particolarmente "scottante" per tutti i possessori di Spectrum: la programmazione dei caratteri.
Leggendo il manuale di Steven Vickers in dotazione al computer si scopre come molto sia stato fatto per facilitare
questo compito, inserendo nel sistema operativo istruzioni come BIN, POKE USR "(lettera che si vuore ridefinire)"
e la possibilita' di utilizzare i due set, quello programmabile e quello standard, contemporaneamente; se qualcuno
di voi ha avuto la possibilita' di utilizzare ad esempio l'ORIC1 si sara' reso conto degli sforzi compiuti in casa
Sinclair. Dato a Clive quello che e' di Clive, passiamo ad esaminare i lati negativi dell'argomento. Probabilmente
sarete anche voi tra quelli che, ritornando a casa dopo aver visto "TRON", si sono seduti di fronte al
fedele ZX con l'evidente intenzione di fare un video-game ispirato alle scene piu' emozionanti dell'ultima fatica
dei maghi della Walt Disney; e, altrettanto probabilmente, sarete tra coloro che hanno perso ore e ore nel tentativo
di definire una figura piu grande di 64 punti, convertendo in codici decimali i quadrati bianchi e neri che hanno
posizione sulla carta millimetrata. Ma adesso, grazie al nostro UDG Editor, potrete creare personaggi, astronavi
e altre piacevolezze formate da 512 pixel in pochi minuti!
E adesso che vi siete ripresi dalla "crisi da notizia sconvolgente",
passiamo ad esaminare il programma.
All inizio verra' creata una griglia divisa in 8 parti, allo interno
della quale e' possibile muovere un cursore utilizzando i classici tasti da 5 a 8; se mentre eseguite questa operazione
tenete premuto anche CAPS SHIFT, cambierete il colore del punto in cui si trova il cursore. Quando sarete soddisfatti
del risultato ottenuto, premete S, e 8 caratteri verranno programmati ricopiando l'immagine contenuta nella griglia.
Seguendo le opzioni indicate dal menu', potrete correggere, listare i codici ed infine ricominciare.
In una prossima puntata vedremo come programmare TUTTI i caratteri
dello Spectrum.......
Software test
Un numero sempre maggiore di software house si occupa della produzione
di programmi per ZX SPECTRUM, la Sinclair, non volendo passare in secondo piano neanche in questo settore, ha commissionato
alla ben nota PSION due programmi, da poco disponibili in Italia nei negozi della catena REBIT - BIT SHOP PRIMAVERA.
Non si puo' dire quale sia la cassetta piu' interessante, ma, probabilmente, Cyrus -IS- Chess riscuotera' il maggior
successo.
Si tratta, come avrete gia' capito, di un programma per giocare
a scacchi. L'idea non e' delle piu' nuove, ma Cyrus e' fratello del programma che ha trionfato agli ultimi campionati
Europei di scacchi per microcomputer. E' dotato, oltre che di un ottimo gioco - potete scegliere fra 8 livelli
di difficolta' - di interessanti ed esclusive caratteristiche fra le quali citiamo la possibilita' di muovere i
pezzi con il cursore, quella di gestire incontri fra piu' di due giocatori e di rendere possibile la correzione
di ogni mossa, anche dopo la sua esecuzione. Attenzione, Cyrus e' dotato di una vasta biblioteca dove puo' scovare
le aperture piu' strane e micidiali, e' infatti questa la fase del gioco durante la quale il nostro "amico"
mostra tutta la sua eccezionale abilita'.
Se non ve la sentite di impegnarvi in una tremenda partita a scacchi
con il tenacissimo Cyrus, potete scegliere Scrabble: un gioco sicuramente piu' riposante ed anche educativo.Scrabble,
meglio noto dalle nostre parti come Scarabeo (?!), mette a vostra disposizione un vocabolario di oltre 11.000 parole
(11.000 !). Utilizzando delle lettere dovete "scrivere" sulla scacchiera, sempre visualizzata, delle
parole, comprese nelle ennemila, creando sempre nuovi incroci. Le caselle, cosi' come le lettere non hanno tutte
lo stesso valore, occorre un'abilita' diabolica per trovare parole sufficientemente lunghe e inserirle nella posizione
piu' vantaggiosa. Il gioco e' giocoso e, a patto di non selezionare il livello piu' difficile (ce ne sono 4), e'
adatto a chiunque, quindi..... Buon divertimento !
COME TI SCROLLO IL VIDEO
di Massimo Soncini
Sara' capitato a molti di voi, di trovarsi di fronte il solito
esperto (o presunto tale) di computer che incominciava a guardare con diffidenza la scatoletta nera che troneggiava
sulla vostra scrivania e iniziava l'elenco delle funzioni del suo elaboratore, concludendo inevitabilmente con
la frase "E il tuo Spectrum, riesce a fare questo?", trovando sempre la lacuna che il buon Clive si e'
dimenticato di colmare.
E' quindi evidente che noi di RUN non potevamo rimanere inerti
di fronte a queste insinuazioni ed eccoci pronti a fornirvi, da questo numero,le spade con cui difendere il vostro
Sinclair. Come prima integrazione vi proponiamo una routine che permette di eseguire lo scroll IN ALTA RISOLUZIONE,
pixel per pixel, nelle quattro direzioni. Chiaramente, il programma che permette di ottenere questo effetto e'
totalmente in linguaggio macchina, compattando l'occupazione di memoria a soli 160 bytes! Per poter entrare in
possesso di queste nuove possibilita' e' sufficiente terminare la lettura di questo articolo,e si passera' al caricamento
della routine, seguita da uno schermo dimostrativo. Poiche' la zona in cui il linguaggio macchina si carichera'
dipende dalla versione del vostro computer (16K/48K), abbiamo ritenuto opportuno riportare una tabella delle chiamate
(RAND USR), che vi consigliamo di ricopiare:
SCROLL 16K 48K
SINISTRA 32000 60000
DESTRA 32026 60026
ALTO 32052 60052
BASSO 32107 60107
Nonostante la brevita' il programma si presenta molto flessibile,
permettendo con interventi minimi di far riapparire all'estremita' opposta tutto quello che esce da un lato dello
schermo, con inoltre l'opzione dell'inverse.Qui di seguito sono riportati i tre casi e i POKE che bisogna eseguire:
1)SCROLL SENZA RIENTRO LATERALE
POKE 32013(60013),55
POKE 32039(60039),55
2)SCROLL CON RIENTRO LATERALE
POKE 32013(60013),63
POKE 32039(60039),63
3)COME PUNTO 2 CON INVERSE
POKE 32013(60013),0
POKE 32039(60039),0
Le locazioni segnate in parentesi riguardano gli Spectrum 48K.
Corso di linguaggio macchina by:
Dario Mella
Linguaggio macchina,assembler: questa espressione, per coloro che
si dilettano a programmare in Basic, Fortran, Pascal ecc. e' spesso causa di disagio e si pensa a qualcosa al di
la' della nostra mente, un divertimento riservato solo a pochi eletti. Questo nostro corso non vi dara' ovviamente
tutte le nozioni necessarie alla creazione di un programma per giocare a scacchi ma vi dara' comunque una buona
conoscenza sulla materia.
Cos e' il codice macchina ?
La risposta e': un linguaggio come un altro, anzi piu' semplice,perche'
le istruzioni di cui si compone sono concettualmente semplicissime. La piu' grande differenza e' che non si scrivono
le istruzioni come parole segni di interpunzione e nomi di variabili, ma sotto forma di numeri. Ogni computer ha
la possibilita' di venir programmato in L/M anche perche' ogni istruzione di alto livello,per essere eseguita deve
venir interpretata e tradotta in routine di L/M dalla ROM.
In L/M potete leggere e scrivere numeri nella memoria, potete fare
addizioni,sottrazioni e salti nel programma, condizionati e non. Come esistono vari 'dialetti' Basic, esistono
anche diversi codici macchina in dipendenza della CPU che il computer usa. Dato che nel nostro caso si tratta di
uno Z80 i riferimenti saranno tutti sul set Z80 di comandi. Tutti gli esempi sono gia' nel vostro Spectrum e vi
risparmiamo la fatica di caricarli. Per uniformarci alla maggioranza dei testi i numeri che formano i listati dei
programmi in L/M verranno scritti in esadecimale, cioe' in un sistema di numerazione che anziche' avere come base
10 ha come base 16 La scelta della base 16 e dettata dal fatto che e' molto piu' vicina al modo di "pensare"
della macchina di quanto non lo sia la base 10. Apprezzeremo comunque piu' avanti questa scelta. Per adesso ci
basta sapere che c9 in hex o 201 in decimale sono la stessa cosa. Eccovi ora un programmino in BASIC per operare
le conversioni da decimale in hex e viceversa. Fate un po' di pratica e cercate di capire il perche' dei risultati.
Tenete presente che le lettere dei numeri hex dovranno essere scritte
minuscole. Dando RUN avrete la conversione da dec a hex; RUN 1000 convertira' da hex a dec. Quando sarete stufi
di fare conversioni e vorrete continuare nella lettura della rivista,fermate il programma e date semplicemente
LOAD"".
COME ACCEDERE AL L/M
Il primo problema e' quello di scrivere qualcosa in l/m; il che
significa mettere in qualche punto della memoria questi benedetti numeri. Tale scopo si raggiunge con l'istruzione
BASIC "POKE"
Se diamo il comando
POKE 25000,201
il risultato sara' che nella cella di memoria 25000 verra' scritto
il valore 201. Per controllare sara' sufficiente fare PRINT PEEK 25000 che dara' come risposta 201.
Il comando POKE non ha effetto se si tenta di scrivere nella zona
di memoria riservata alla ROM (indirizzi da 0 a 16383) Gli amanti delle curiosita' potranno fare il seguente esperimento
per vedere come effettivamente i POKE alterino il contenuto della memoria. Caricate un qualunque programmino BASIC
e date dei POKE dove, al posto dell'indirizzo, scriverete dei numeri compresi tra 23755 e 24000 e,al posto del
valore dei numeri casuali scelti tra 0 e 255. Le locazioni tra 23755 e 24000 sono approssimativamente quelle dove
viene memorizzato il listato di un breve programma.
Con le operazioni sopra descritte voi lo altererete e il comando
LIST vi dara' delle sorprese. Un programma in linguaggio macchina potrebbe dunque essere scritto con tanti POKE,ma
questo diventerebbe estremamente lungo e sarebbe facile causa di errori; ecco dunque un hex-loader, cioe' un programma
in BASIC che permette di caricare un programma in l/m espresso nella forma di numeri esadecimali. Le istruzioni di funzionamento sono abbastanza
semplici:
1) scrivere l'indirizzo di partenza del programma (la cui scelta
sara' un argomento che discuteremo piu' avanti)
2) inserire il listato hex sotto forma di doppietti (ogni nu- mero
hex e' formato da 2 cifre). Il numero di doppietti per riga e' arbitrario
3) Digitare "s" e il caricamento terminera' Per fare
un po' di pratica annotatevi il seguente listato il cui significato per ora vi sara' oscuro:
3e02cd011606e0c53e2ad7c110f9c9
Ora caricate HEXLOADER e date RUN. Quando vi verra' chiesto l'indirizzo,
scrivete 30000. Inserite poi i numeri hex. Finito il caricamento date RANDOMIZE USR 30000 e osservate il risultato:se
non avete fatto errori, verranno stampati 224 asterischi. Poi, per tornare alla lettura della rivista, date LOAD
""
Dopo una operazione di inserimento eseguita con HEXLOADER il programma
in codice macchina e' scritto nella memoria pronto a funzionare. Ad esempio,dopo l'inserzione del programma che
stampava asterischi nella memoria avevamo la seguente situazione:
Indirizzo contenuto hex dec
30000 3e 62
30001 02 2
30002 cd 205
30003 01 1
30004 ... ecc
Come avrete notato,per abilitare il l/m e' sufficiente dare un
qualsiasi comando BASIC dove compaia la funzione USR seguita dall'indirizzo a cui parte il codice macchina;nell' esempio era 30000
Due sono le cose importanti da osservare nel precedente programma. La prima e' il ridottissimo consumo di memoria
rispetto al BASIC. Infatti il listato in questione e' lungo solo 15 celle di memoria o bytes. Il corrispondente in BASIC:
9900>FOR f=1 TO 224
9910 PRINT "*";
9920 NEXT f
ne occupa invece 40! la seconda e fondamentele proprieta' del l/m
e' la velocita'. Controllate la differenza che c'e' facendo girare prima il BASIC per tre volte ,in modo da riempire
lo schermo e poi tre chiamate al l/m (FOR a=1 TO 3: RANDOMIZE USR 30000: NEXT a)
SPARA TU CHE SPARO ANCH'IO..
Un classico 'shoot 'em up' non poteva mancare in questo primo numero.
Non si tratta comunque di un banale Space Invaders, ma di una raffinata quanto piu difficile versione a dodici
schermi ingrado di farvi passare un po' di tempo sul gioco a provare la vostra abilita'. Per rendere comodo il
gioco abbiamo scelto i tasti C. Shift, Z e Space per gli spostamenti e il fuoco, quindi la funzione Break e' disabilitata.
Se volete uscire dal gioco dovete resettare il computer.
BUON DIVERTIMENTO !
LA POSTA DI RUN
Siamo al primo numero e di posta non ne abbiamo ancora molta, per
lo piu' si tratta di richieste di maggiori informazioni su questa fantomatica testata. Il colloquio con voi lettori
rimane sempre un punto di grande importanza per lo sviluppo di questa nostra iniziativa quindi non fatevi alcun
problema nel mandarci una letteraccia in cui elencate una ventina di cose che secondo voi non vanno,ne terremo
conto per il numero successivo. Se poi la vostra lettera puo' interessare anche gli altri lettori allora potrete
vederla pubblicata in queste ultime pagine.
Le occasioni di RUN, mercatino
Come per la posta, anche per quelle vostre richieste di cambi acquisti
e vendite e' stato pre disposto uno spazio. In questo numero vedete dei numeri di pagina apparentemente errati,
ma sono quelli fissati per le due rubriche che per que sta volta 'marcano visita'. Se avete quindi qualcosa da
scambiare, se cercate uno schem o volete vendere il vostro ZX dalla disperazione, allora scrivete in non piu' di
cinque righe da 32 caratteri il vostro annuncio e mandatelo a :
RUN
Aquarius Edizioni snc
C.so Vittorio Emanuele 15
20122 MILANO
SUL PROSSIMO NUMERO
Non lasciatevi scappare il prossimo favoloso numero di su cui potrete
trovare:
Basic & L/M part 2
I segreti della CPU
I colori e gli Attributes
Linguaggi: il FORTH
per non parlare poi dei giochi..
Tre eccezionali giochi
Palloni areostatici
SUPERBALL
Uomini e Topi
e non dimenticate che su RUN troverete tanti altri articoli ed un simpatico programma per far suonare un po' il vostro
timido computer. Se gia' state aspettando il prossimo numero, vi siete dimenticati dell ultimo programma di questo
numero...
voltate pagina e scoprirete che...
METEORS
Siete in un mare di guai, o meglio in un mare di meteore che con
fare disinvolto rimbalzano per lo spazio con buone probabi- lita' di colpire la vostra nave spaziale. Come se non
bastasse anche un gruppo di fastidiosi ufetti e ufini cerchera' di complicarvi un altro po' l'esistenza. Il computer
di bordo vi dara' le istruzioni necessarie a compiere la vostra missione.
COMPUTER DI BORDO A CAPITANO
STATO DELLA NAVICELLA:
Sistemi di difesa: OPERATIVI
Hyperdrive: EFFICENTE 100%
Giroscopi: 12000 giri/min.
Motori: EFFICENTI SU 360 gr.
Sistema di guida: tasti 6 7
Ignizione motori: tasto 8
Salto iperspazio: tasto 9
Missili dirompenti: tasto 0
Possibilita' di riuscita:3/9
...... FINE MESSAGGIO ......