posta - Amiga Magazine Online
posta - Amiga Magazine Online posta - Amiga Magazine Online
1 O Capitolo 1 : Introduzione ad Amiga Drive Amiga, come è già stato detto in precedenza, è in grado di gestire un massimo di quattro disk drive. I drive possono essere sia da 5"1/4 che da 3111/2. I1 controllo dei drive avviene tramite una combinazione di porte su un chip 8520 e i DMA. Due porte sul 8520 selezionano il drive da cui mandare o ricevere i dati gestendo, tramite una serie di segnali la rotazione del motore, i mbvimenti delle testine, la presenza del disco o I i la protezione dalla scrittura. i Il trasferimento dei dati da e per il drive è realizzato tramite un canale DMA.
La gestione del Timer su Amga Antonello Biancalana Tre metodi per perdere sempre lo stesso tempo Antonello Biancalana lavoraper la ProMIND, una sofiwa- re house di Pemgia che sviluppa software grafico e musi- cale per Amiga, ed è sviluppatore Amiga registrato nella catego" "commercial". Di recente, Antonello Biancala- na, ha progettato e sviluppato MSPL (Music Synthesis Pro- gmmming Language), un particolare linguaggio di pro- grammazione rivolto alla sintesi sonora e musicale. Può accadere che, durante la scrittura dei nostri program- mi, si abbia bisogno di momenti di pausa, o comunque di controllare ed eseguire alcuni eventi dopo un certo periodo di tempo. L'errore più frequente che si commette nell'im- plementare i momenti di pausa all'interno di un program- ma, è quello di fare uso di cicli, come accade, per esempio, nelle istruzioni "C": oppure nell'equivalente codice assembler: m0ve.w #30000,dO wait: dbra do, wait entrambi gli esempi assicurano un certo periodo di ritardo che può soddisfare le nostre esigenze, ma in alcune circo- stanze il loro risultato sarà assolutamente imperfetto, pre- giudicando l'esecuzione dell'intero programma e, alle vol- te, l'utilizzo dello stesso. I1 motivo è semplice: supponiamo di sviluppare un nostro ipotetico programma su un Amiga 2000, che, come tutti sanno, utilizza il microprocessore Motorola 68000 a una frequenza di 7 MHz, e supponiamo anche che uno dei due esempi riportati sopra sia stato incluso nei nostro program- ma. Tutto funzionerà correttamente fino a quando il pro- gramma viene eseguito in un Amiga con caratteristiche simili, in tal caso le pause saranno esattamente come le volevamo. Immaginiamo ora che il programma venga eseguito in un Amiga 2000 con una scheda acceleratrice, o peggio ancora, su un Arniga 3000: il programma diventerà di colpo "ultraveloce", e, in alcuni casi, diventerà impossi- bile usarlo. E' chiaro che il ritardo ottenuto con gli esempi precedenti e strettamente dipendente dalla velocità del microprocessore usato, nonché dalla frequenza di clock dello stesso, ed è owio che il tempo di esecuzione dell'i- struzione assembler "dbra" sia notevolmente minore su un 68030 che su un 68000. Delay Per risolvere correttamente il problema, Amiga offre diver- se possibilità a seconda delle nostre esigenze. Se abbiamo bisogno di includere dei semplici momenti di pausa all'in- terno dei nostri programmi, potremo far ricorso alla funzio- ne Delay( ) supportata dalla "dos.library". I1 suo compito, infatti, è quello di fornire un certo periodo di ritardo determinato dal suo argomento. I1 periodo dovrà essere espresso in "tick" e, tenendo conto che ogni secondo è composto da 50 tick, il calcolo del tempo di attesa da fornire alla funzione è molto semplice. L'esempio n. 1 su disco comprende un semplice programma scritto in C, che utiliz- za appunto la funzione "Delay". Forse, alcuni lettori si meraviglieranno di non trovare nel programma il codice relativo all'apertura della "dos.library", dove risiede la funzione Delay( ): ricordiamo che i compilatori C per Amiga (Aztec, Lattice. ecc.) gestisco- no automaticamente l'apertura e la chiusura di questa libreria. Rispetto agli esempi precedenti, questa volta la quantità di tempo sarà sempre la stessa, indipendentemen- te dalla configurazione hardware in cui il programma viene eseguito, e sarà anche più precisa. I1 timer device Amiga, come sappiamo, possiede una struttura hardware e software dalle possibilità infinite (o quasi), per esempio il multitasking, le librerie di funzioni e i device. Proprio da uno dei device di Amiga otteniamo un metodo ancora più potente e accurato per la gestione dei tempi: il timer device. Questo va gestito come tutti gli altri device: prima deve essere aperto, poi gli si devono spedire i comandi necessari e, infine, si deve chiuderlo. L'uso del timer device permette di implementare dei ritardi molto più precisi di quanto consenta la funzione Delay( ) esaminata in precedenza. Può lavorare in due modalità diverse a seconda delle esigenze del programmatore e, inoltre, il suo uso consente al nostro programma di gestire altre risorse mentre attende che la richiesta di pausa sia
- Page 2 and 3: l con una videocassetta che ha tutt
- Page 5 and 6: P O S T A I Lettori ci Scrivono 6 S
- Page 7 and 8: ga 500 con 1,5 Mb di RAM e il mio p
- Page 9 and 10: nella gestione dei testi. E' una co
- Page 11 and 12: stato i diritti dell'HAM-E per migl
- Page 13 and 14: del brush secondo linee orizzontali
- Page 15 and 16: o più dischi interamente ci trovia
- Page 17: Un mondo uettoriale. Niente di spec
- Page 20 and 21: disorientato. Nello stesso modo son
- Page 22 and 23: espinto agli esami. Per orgoglio no
- Page 27 and 28: D' I tutte le applicazioni realizza
- Page 29 and 30: Q uasi tutti i nuovi programmi di g
- Page 31 and 32: On Disk 25 ILIVIIQA MAOAZINE ON DIS
- Page 33 and 34: Paolo Canali Guida tecnico-pratica
- Page 35 and 36: AT-BUS e XT-BUS Gli standard AT-BUS
- Page 37 and 38: l'"intelligenzan tipica delle perif
- Page 39 and 40: usare due trucchi: il primo è tene
- Page 41 and 42: HARD WARE In questo capitolo verrà
- Page 43 and 44: Capitolo 2: Hardware 3 SKIP Skip è
- Page 45 and 46: Ca~itolo 2: Hardware 5 I1 Blitter p
- Page 47: i-, L' ("i V l'-'l '.L/ I? Capitolo
- Page 51 and 52: Attese hardware Ci sono alcune appl
- Page 53 and 54: essere assoluto, cioè deve compren
- Page 55 and 56: DOS 2.0 elenca una serie di pacchet
- Page 57 and 58: f~nestra CL1 scrivete: TArc/TArc a
- Page 59 and 60: U no dei campi in cui il software p
- Page 61 and 62: un errore o che tutti gli errori in
- Page 63 and 64: F in dall'uscita sul mercato di emu
- Page 65 and 66: IL SOFTWARE DI SETWP E DI GESTIONE
- Page 67 and 68: ggi le possibilità di scelta che s
- Page 69 and 70: problemi un A2091 della Commodore d
- Page 71 and 72: che gira perfettamente sul 3000) si
- Page 73 and 74: 17,. I I SET PN31 13) SELECT SET 15
- Page 75 and 76: vole interesse. Semplici modifiche
- Page 77 and 78: a GVP ha superato se stessa: quando
- Page 79 and 80: formare la song finale. Ogni evento
- Page 81 and 82: miga è sicuramente un com- puter i
- Page 83 and 84: Iprogrammatori di giochi preferi- s
- Page 85 and 86: Questo mese la consueta sono loro g
- Page 87: SIOA 1992 IO0 SALONE DELL'INFORMATI
1 O Capitolo 1 : Introduzione ad <strong>Amiga</strong><br />
Drive<br />
<strong>Amiga</strong>, come è già stato detto in precedenza, è in grado di gestire un<br />
massimo di quattro disk drive. I drive possono essere sia da 5"1/4 che da<br />
3111/2. I1 controllo dei drive avviene tramite una combinazione di porte<br />
su un chip 8520 e i DMA. Due porte sul 8520 selezionano il drive da cui<br />
mandare o ricevere i dati gestendo, tramite una serie di segnali la<br />
rotazione del motore, i mbvimenti delle testine, la presenza del disco o I<br />
i<br />
la protezione dalla scrittura. i<br />
Il trasferimento dei dati da e per il drive è realizzato tramite un canale<br />
DMA.