UAE - The Un*x Amiga Emulator Copyright 1995, 1996 Bernd Schmit & collaboratori vari (vedi fondo). Questo programma e' freeware. Potete farne cio' che volete per uso personale. E' permessa la distribuzione gratuita di questo programma, fatto eccezione il costo di riproduzione del supporto su cui e' distribuito, purche' il programma non venga alterato nei suoi contenuti e la distribuzione non sia svolta a scopo di lucro. Unica eccezione: le raccolte di shareware su CD- ROM. Il programma vi viene offerto "cosi' com'e'", senza alcuna garanzia esplicita o implicita: se lo usate, lo fate unicamente a vostra discrezione. Gli autori non si assumono alcuna responsabilita' per i danni eventualmente causati dall'uso di questo programma. Nota del traduttore: la documentazione che state leggendo e' la traduzione di quella distribuita con DosUAE 0.6.4, alcune parti potrebbero essere cambiate nella versione corrente, ragion per cui fate anche riferimento a quella in Inglese. Poiche' vi erano delle effettive incongruenze, ho ritenuto opportuno aggiungere delle note a fondo testo. I rimandi sono inseriti tra parentesi tonde (1), (2), ecc SGUARDO D'INSIEME UAE emula l'hardware di un A500 con 2MB di chip ram, e una quantita' variabile di fast ram (1). E' possibile montare fino a 11,8MB di memoria. Funziona con tutte le versioni delle ROM del Kickstart e supporta i chipset OCS ed ECS. UAE e' stato originariamente concepito per sistemi operativi tipo Unix, tuttavia e' stato convertito anche per Mac, DOS, BeBox, NextStep, Xfree/OS2 e Amiga AA (anche se non e' ancora in grado di far funzionare se stesso). Le versioni MAC e DOS sono distribuite gia' compilate e con documentazione separata, da leggersi immediatamente dopo questa. La traduzione in Italiano copre anche il "read me" relativo alla versione DOS. Le altre versioni vanno compilate dal codice sorgente. Cio' che UAE non e' (ancora) in grado di emulare e' il software: per poterlo utilizzare, e' necessario procurarsi un file immagine delle ROM originali di Amiga cosi' come e' necessario farlo per il software che si desidera farci girare sopra (ad esempio il Workbench). Poiche' questi sono protetti dal diritto d'autore, non e' stato possibile includerli nell'emulatore, per cui non chiedeteci di procurarveli. Poiche' il controller dei floppy del PC non e' in grado di leggere i dischetti Amiga (purtroppo e' cosi'), l'accesso ai dischetti va emulato differentemente: questi sono emulati da file immagine che contengono la struttura originale dei floppy. Per maggiori informazioni a riguardo si consulti la sezione relativa agli "strumenti" forniti con l'emulatore. E' anche possibile emulare un disco fisso. UAE non puo' montare il filesystem nativo come hard disk Amiga, per cui potrete accedere ai dati contenuti su di questo solo dopo aver effettuato il boot della "macchina". Purtroppo non e' possibile eseguire il boot da un disco fisso simulato, e non ho esattamente idea del perche' (2). Io sto sviluppando UAE sotto Linux, per cui potete ragionevolmente aspettarvi che UAE funzioni correttamente solo se usate anche voi lo stesso sistema operativo: con altri sistemi Unix, potreste incontrare qualche problema di vario tipo. Io non posso garantire nulla riguardo le versioni BeBox e NextStep, si tratta di due conversioni molto recenti e probabilmente ci vorra' ancora parecchio tempo prima che si compilino e girino nel migliore dei modi. Queste sono le caratteristiche necessarie per il corretto funzionamento delle versioni Unix: -X11, o la SVGAlib se state usando Linux; -un compilatore ANSI C. GCC e' VIVAMENTE raccomandato; -Opzionale, tcl7.4/tk4.0. NOTA: l'installazione di alcune versioni di Linux (solitamente le Slackware) sono difettose. Se riscontrate problemi nei collegamenti ("final link failed: bad value"), dovrete aggiornare il pacchetto di binutils con quello che potrete trovare presso sunsite.unc.edu:/pub/Linux/GCC. Prima d'installare qualsiasi cosa da quella directory, leggete attentamente i file release.* corrispondenti. Otterrete le migliori prestazioni su sistemi ELF. Sotto Linux, 8MB di RAM sono sufficienti per far girare UAE, nonostante l'avvio del programma sia piu' veloce montando piu' memoria. Anche la versione DOS gira con 8MB, ma l'avvio sara' comunque lento. Non ho potuto controllare le altre versioni, ma e' probabile che altri sistemi operativi necessitino di maggior memoria per far funzionare l'emulatore. In ogni caso, 16Mb sono vivamente raccomandati. INSTALLAZIONE Per compilare UAE, cominciate col decomprimerlo in una directory a parte (ad esempio, se usate Linux, /usr/src/uae). Dopodiche' dovrete editare il file config.h per mettere apposto alcuni valori di configurazione. Poi, dovrete dare il comando "configure". Questo script cerchera' di capire che sistema state utilizzando, in modo da creare un makefile appropriato. Date poi il "make" per compilare UAE. Se state usando Linux, potete anche specificare "configure -without-x". In questo modo, UAE verra' configurato per usare la libreria SVGA. Se usate la SVGAlib, tenete presente che la medesima non e' molto stabile, e che questo potrebbe essere abbastanza pericoloso. Al limite dovrete effettuare un login da una macchina remota se le cose dovessero volgere per il peggio. Si noti che per avviare i programmi sotto SVGAlib e' necessario essere root. Lanciare UAE da root non e' un'idea particolarmente brillante se ci tenete alla stabilita' del vostro sistema. Se avete BeBox, non dovrete lanciare configure. Piuttosto, compilate UAE tramite "make bebox". Se configurate UAE per compilare la versione X11 (e' cio' che avviene per default, se non specificate altro che "configure"), lo script di configurazione cerchera' il programma "wish4.0" nel path. Potete disabilitare l'interfaccia utente di UAE tramite l'opzione "-disable-gui". Per default, la versione X11 di UAE cerchera' di usare una GUI scritta in Tcl. Cio' richiede la versione 4.0 di Tk. La versione SVGAlib cerchera' di usare un'interfaccia utente ncurses-based. La compilazione potrebbe portare via parecchio tempo, soprattutto per i file cpu*.c. Potrebbero apparire dei warning: semplicemente ignorateli. Potrebbe anche aver bisogno di parecchia memoria, per cui anche se dovreste teoricamente lasciare liberi almeno 8MB, sarebbe un'ottima idea averne a disposizione almeno 10 di SWAP e 9 di filesystem. Terminata la compilazione, dovrete installare l'immagine della ROM. Questa deve avere una dimensione precisa di 512K (funzionano anche i 256K delle versioni 1.x), e dovrebbe essere l'immagine della porzione agl'indirizzi 0xF80000-0xFFFFFF del vostro sistema Amiga. Il file deve chiamarsi kick.rom per essere riconosciuto (3). Si prega di leggere la sezione successiva per chiarimenti sul trasferimento di file tra Amiga e PC Avete anche bisogno d'installare il file immagine di un dischetto d'avvio. Questo dev'essere chiamato per default df0.adf (ADF=Amiga Disk File), e deve riprodurre la struttura base dei dati contenuti sul floppy: 11x2x80 settori == 901120 byte. E' una buona idea provare a lanciare UAE senza impostare alcun file disco: se tutto e' andato bene, l'emulatore dovrebbe far comparire il logo del Kickstart (siate pazienti, su alcune macchine quest'operazione puo' portar via un po' di tempo). Anche se privi di un file Kickstart, dovreste comunque essere in grado di far partire alcuni giochi e qualche demo: l'emulatore infatti e' provvisto di alcune routine primitive che cercano di leggere e di eseguire il bootblock del diskfile che state usando (4), e se per caso questo utilizza quelle due o tre routine emulate dal "sostituto del Kickstart" incluso nel programma, il vostro dischetto si avviera' senza problemi. Non aspettatevi granche', pero'! Se poi siete particolarmente coraggiosi, potete provare ad abilitare la definizione "EMULATE_AGA" editando il custom.c prima della compilazione. UAE cerchera' di emulare alcune caratteristiche del chipset AGA, mi piacerebbe sapere se e come vi funziona (partite comunque da presupposto che non funzioni). LANCIARE UAE Dopo aver compilato il programma, dovreste disporre di un eseguibile chiamato "uae". Potete semplicemente lanciarlo, ma potete anche dargli alcuni parametri per definire meglio l'ambiente emulato. Opzioni generali: -h: fornisce un aiuto sulle opzioni -f n: setta il frame rate ad 1/n. Solo l'ennesimo schermo verra' disegnato -a: non aggiunge alcun modulo d'espansione. Questo disabilitera' l'emulazione della memoria fast e dell'hard disk. Solo giochi programmati decisamente male richiedono questa opzione. -l linguaggio: setta il layout della tastiera. Nella versione corrente, si possono usare i valori us, per la tastiera americana (default); se, per quella svedese, fr per quella francese, de per quella tedesca e it per quella italiana (5) -0 file.adf: usa come disco d'avvio il diskfile specificato. Si possono "inserire" altri dischetti in disk drive virtuali, usando le opzioni -1, -2 e -3. -r file: usa il file specificato al posto di kick.rom -J: usa il tastierino numerico per emulare il joystick. Questo disabilitera' i joystick collegati al PC ed utilizzabili da UAE. -x: assume diversi significati a seconda della versione di UAE utilizzata. Su X, rendera' il cursore di X visibile (raccomandato). Usando la SVGAlib disattivera' il supporto framebuffer (provare anche con -d 4) -o: permette a UAE di cancellare il file di configurazione ~/.uaerc sostituendolo con le opzioni correntemente selezionate. Solo nelle versioni DOS e SVGAlib (6) -G: disabilita l'interfaccia utente (se presente) Emulazione di periferiche esterne: -M VOLUME:path -m VOLUME:path monta il file system di Unix a partire dal percorso specificato come unita' disco fisso Amiga, identificandolo come VOLUME: Per esempio, "-M Suoni/usr/amiga/moduli" montera' l'hard disk "Souni:" a partire dalla directory specificata. Usando -M invece di -m, si otterra' un disco protetto in scrittura. -p cmd: abilita la stampa (vedi sotto) -I dev: usa dev come dispositivo seriale (es. /dev/ttyS1 su Linux). A dire il vero non funziona, almeno non a me. Suoni: -S n: se la vostra versione di UAE supporta il sonoro, configurate il livello di emulazione tramite questa opzione: se n=0, non verra' emulato il sonoro; con n=1, sara' emulato l'hardware, ma non verra' proferito alcun suono; con n=2 il sonoro sara' emulato e con n=3 il livello di emulazione sara' totale. Molti non s'accorgeranno della differenza tra gli ultimi due valori. -b n: usa n bit per l'output sonoro (8 o 16) -R n: usa n Hz per generare il suono. I valori comunemente utilizzati sono 22050 o 44100 -B n: Setta un buffer musicale di n bytes (usare valori bassi su macchine veloci). Di default e' 8192. Opzioni di memoria: -s n: monta n*256K di memoria slow all'indirizzo 0xC00000. Serve con alcune demo. -F n: monta n megabyte di fast ram emulando un'espansione di memoria -c n: monta n*512K di memoria chip. Il valore di default e' 2MB, ma alcuni programmi nati veramente male, necessitano che il settaggio sia n=1. Opzioni di debug: -D: usa il debugger interno ritardando la partenza dell'emulatore. -i: stampa gli accessi illeciti alla memoria -g: emula parte del sistema operativo. Non e' ne' stabile ne' raccomandato. Schermo: -d modo: sceglie la modalita' grafica con cui far partire l'emulatore (consigliata 800x600) -H modo: sceglie la profondita' della palette (consigliati 256 colori) -C: corregge la visualizzazione. Normalmente, lo schermo apparirebbe allungato, con un'altezza inferiore a quella che dovrebbe essere in realta'. Con questa opzione 'aspetto viene corretto, ma l'emulatore ne esce rallentato. E' comunque impossibile visualizzare bene le risoluzioni interlacciate senza attivare questo parametro. Risoluzioni: 0 (320x200); 1 (320x240); 2 (320x400); 3 (640x480); 4 (800x600) Colori: 0 (256, default); 1 (32768); 2 (65536); 3 (256 colori con dithering, migliora la qualita' ma rallenta l'emulazione); 4 (16, con dithering); 5 (16 milioni di colori) UAE potrebbe decidere di sua spontanea volonta' di non accettare questo o quel valore. Alcune di queste modalita' potrebbero non funzionare sul vostro sistema. Potete inserire queste opzioni in un file di configurazione nella vostra home directory. Basta creare un file ~/.uaerc e inserire alcune di queste opzioni. In altre versioni, il file e' chiamato uae.rc e dev'essere inserito nella directory corrente (7). SCELTA DELLA MODALITA' GRAFICA Come descritto nel paragrafo precedente, UAE puo' funzionare in diverse modalita' video e con profondita' di palette differenti. Tuttavia, poche delle opzioni riguardanti il colore sono disponibili nella versione X11. Questo semplicemente perche' i server X determinano per conto loro quanti colori siano disponibili. Se state usando un server a 256 colori, potete utilizzare l'opzione -H3 per ottimizzare i colori e ottenere migliori risultati. Dovrete essere voi stessi a stabilire quale modalita' di visualizzazione si adatti meglio alle vostre esigenze. Tenete sempre presente, pero', che il dithering consuma parecchio tempo, e che se le modalita' ottimizzate appagano meglio la vista, UAE girera' piu' lentamente. La bassa risoluzione (320x???) dovrebbe far felici tutti gli orgogliosi acquirenti di sistemi P6, dotati di un chipset bacato ma anche della considerevole performance PCI da 4 MB/s. La risoluzione raccomandata e' 800x600. A risoluzioni inferiori, alcune immagini visualizzate in overscan da Amiga potrebbero non apparire correttamente. Per i migliori risultati, usate una profondita' di palette pari a 32768 colori. DISCHI FISSI Attenzione: la parte di codice relativo a questa sezione e' stato interamente riscritto. Se riscontrate delle difficolta', per favore, descrivetemele. Ci sono due modi per manipolare grandi quantita' di dati con UAE. L'emulatore puo' infatti montare piu' di un disco fisso per volta, e i volumi saranno chiamati rispettivamente UAE0:, UAE1, ecc. UAE tentera' un boot dall'unita' UAE0 qualora non vi fossero dischetti presenti nell'unita' Df0. a) hard disk file Potete creare un disco fisso virtuale (non formattato) con dd if=/dev/zero of=hardfile bs=512 count=16384 Attualmente, la dimensione e' fissa (8 MB) (8). L'accesso all'hard disk file e' gestito da un modulo ROM inserito nell'emulatore, chiamato "dispositivo hardfile" (hardfile device). Se presente, viene sempre montato come prima unita', e viene recepito dall'emulatore come volume UAE0: Se state usando Kickstart 1.3 o ancora inferiore, l'hard disk file non puo' essere montato come dispositivo di boot, ma va fatto riconoscere tramite un disco d'avvio o da un filesystem che contenga l'hardfie.device nella mountlist. Per fare cio', aggiungete le seguenti linee a "DEVS:mountlist" UAE0: Device = hardfile.device Unit = 0 Flags = 0 Surfaces = 1 BlocksPerTrack = 32 Reserved = 1 Interleave = 0 LowCyl = 0 ; HighCyl = 511 Buffers = 5 DosType = 0x444F5300 BufMemType = 1 # A questo punto, digitate "mount UAE0:" (o mettete questo comando nella vostra startup-sequence), e dovreste essere in grado di accedere al disco fisso virtuale. Non scordatevi di formattarlo con il comando AmigaDOS format drive uae0: name mio_disco b) accesso al filesystem nativo L'uso di questa modalita' presenta alcuni vantaggi: - Non da' problemi con Kickstart 1.3 - E' piu' conveniente - E' molto piu' veloce. Infatti, puo' risultare persino piu' veloce di un Amiga quando legge le directory Tuttavia, su alcuni porting ancora non funziona Se specificate i parametri -M o -m, potete accedere ai file Unix dall'emulatore. Se partite con la linea di comando uae -m SUONI:/usr/amiga/modules potrete accedere ai file contenuti nella directory modules, come se fossero nella directory principale dell'hard disk SUONI: appena montato. Gli utenti della versione DOS possono provare a usare la riga di comando "UAE -m HD0:C:\" per montare il loro disco fisso C come unita' HD0: sull'Amiga emulato (9). Se volete eseguire dei file, devono avere il permesso x abilitato. Per ottenere cio', potete da Unix impartire il comando "chmod +x file", o da Amiga CLI dare un bel "protect file rwed". Potete montare fino a 20 unita' diverse impartendo questo comando piu' volte. STRUMENTI PER IL TRASFERIMENTO DEI FILE Per trasferire file da Amiga a un altro computer, avrete bisogno di un'utility apposita che vi permetta di accedere a dischetti DOS o Macintosh dal drive di Amiga. Non e' infatti possibile leggere i dischetti Amiga su un PC a causa del controller utilizzato dai personal. Esistono numerosi programmi, come CrossDOS o MessyFS, che permettono di farlo, cosi' com'e' possibile trasferire i file tramite un cavo null modem. Vi occorrerebbero comunque i necessari programmi di comunicazione. In questa sede non e' possibile spiegare per filo e per segno l'uso di tutti questi programmi, per cui fate riferimento alla relativa documentazione. Nota bene: se usate un programma d'accesso ai dischetti PC sul vostro Amiga, ricordatevi che la maggior parte dei drive Amiga legge solo dischetti a bassa densita' (720/880 k). Meglio non usare mai dischetti HD. Nella sottodirectory "amiga" troverete due piccoli programmi per Amiga che potrete utilizzare per trasferire le ROM e i dischi in formati leggibili dall'emulatore. Questi sono chiamati transrom e transdisk. Copiateli sul vostro Amiga e rendeteli eseguibili ("protect transrom rwed" e "protect transdisk rwed"). Transrom riversera' il contenuto della ROM del vostro Amiga nel file kick.rom, mentre transdisk servira' a generare i file immagine dei dischetti *.adf. La sintassi e' transrom >ram:kick.rom transdisk >ram df0.adf Questi file sono abbastanza grandi, quindi sarebbe opportuno disporre almeno di 1,5MB di RAM sul proprio amiga per farli stare tranquillamente nella ram disk. Se il vostro vecchio computer non e' pero' cosi' dotato, potete anche spezzettare i file. Transdisk accetta infatti diversi parametri, ovvero: -d nn: usa il dispositivo dfnn al posto del df0. -s nn: inizia a copiare dalla traccia nn (default 0) -e nn: interrompe la copia alla traccia nn (default 79) di conseguenza, per trasferire un dischetto dal floppy esterno, potete dare il comando transdisk >ram:disk1.adf -d trackdisk 1 Per spezzettare i file come dicevamo prima (anche perche' comunque un file immagine da 920K non potrebbe mai starci su un disco PC da 720, a meno che non siate fortunati e, disponendo di un compressore diffuso su entrambi i sistemi, come LHA, riusciate a farcelo stare), provate a impartire la seguente sequenza: transdisk >ram:df0_1.adf -s 0 -e 19 transdisk >ram:df0_2.adf -s 10 -e 39 transdisk >ram:df0_3.adf -s 40 -e 59 transdisk >ram:df0_4.adf -s 60 -e 79 Ovviamente in condizioni di estrema mancanza di memoria, dovrete via via trasferire i singoli file ottenuti su un disco PC. Una volta che i 4 file in questione saranno sul vostro fido hard disk PC, potete riunirli in un unico file "df0.adf" con il seguente comando UNIX: cat df0_1.adf df0_2.adf df0_3.adf df0_4.adf >df0.adf oppure col corrispettivo DOS COPY /B df0_1.adf df0_2.adf df0_3.adf df0_4.adf df0.adf Mi e' stato detto che esistono alcuni programmi per Macintosh che permettono di riunificare i file binari, si dovrebbero chiamare ChunkJoinfer 2.1.2 e JoinfFiles 1.0.1. La versione corrente di transdisk puo' leggere solo i file in standard AmigaDOS, questo significa che alcuni giochi che usano trucchi vari o formattazioni particolari come protezione, potrebbero non essere convertibili il formato adf. Tuttavia, esistono dischi formattati nel solito formato a 880k, ma che non dispongono di un filesystem. Questi solitamente vengono visti dal Workbench di Amiga come "NDOS": possono essere convertiti alla perfezione. C'e' anche un modo decisamente comodo per trasferire i dati via null-modem sotto Linux. Basta impartire su Amiga il comando transdisk >SER: e, preventivamente, mettere il PC in attesa col comando cat /dev/ttyS1 >df0.adf Per fare questo mestiere, dovrete settare le seriali dei due computer alla stessa velocita', e con gli stessi parametri. Questo puo' essere ottenuto dal cassetto "Preferenze" di Amiga (Workbench 2.0 o superiore), alla voce "serial". Dalla parte di Linux, usate il programma stty. "man stty" vi fornira' l'occorrente per il suo uso. Per essere sicuri dei risultati, settate le seriali a una bassa velocita' (2400 bps), eliminate il controllo di flusso Xon/Xoff ed abilitate invece l'RTS/CTS. Personalmente uso questi settaggi: stty 19200 parenb -cstopb cread clocal crtscts -istrip -inlcr -icrln -opost -onlcr -parodd -isig -icanon - iexten raw cs8 : contenuto della memoria a parire dall'indirizzo specificato d : disassembla il codice a partire dalla locazione specificata in t: passo-1 z: si muove all'interno di un'istruzione (utile con JSR, DBRA, ecc) f : esegue fino a che PC == q: esce dall'emulatore. (^C non ha effetto sulla versione compilata per SVGAlib, usare F12 per uscire) DISPOSITIVI D'INGRESSO Mouse, joystick e tastiera possono essere utilizzati in modo del tutto trasparente all'emulatore. Sono disponibili un paio di layout per tastiere internazionali, patch esterni per altri tipi di tastiera sono benvenuti. La versione per X di UAE cerchera' di far corrispondere il puntatore di Amiga con quello di X. Potete annullare questa caratteristica premendo F12, se non dovesse funzionare col vostro computer o con qualche programma (11). Questo e' necessario, per esempio, con Lemmings e con le vecchie avventure della Magnetic Scrolls, che non usano lo sprite 0 come puntatore del mouse. Le altre versioni non hanno questo problema (11). Se disponete del modulo kernel joystick driver per Linux, configure dovrebbe essere in grado di calibrare automaticamente il vostro joystick: muovetelo durante l'avvio per ottenere una migliore calibrazione. SUONO Se definite LINUX_SOUND nel file config.h, l'emulatore usera' /dev/dsp per generare suoni. Potete passare parametri come frequenza o numero di bit tramite linea di comando. Se non specificate nulla, verra' utilizzata di default la migliore configurazione. Se l'output grafico e' abilitato contemporaneamente a quello sonoro, l'emulazione sara' piu' lenta sulla maggior parte dei sistemi. Il suono ne uscira' oltremodo distorto. Tuttavia, e' possibile bloccare l'aggiornamento dello schermo premendo una volta BlocScorr (premere una seconda per riavviarlo, nella versione X dovrete premerlo due volte in entrambi i casi). Puo' essere utile in programmi come i player di moduli, dove la continuita' dell'output sonoro e' di vitale importanza mentre quella dello schermo molto meno. L'opzione LINUX_SOUND_SLOW_MACHINE rubera' cicli all'emulatore della CPU, di conseguenza la velocita' della medesima ne uscira' rallentata. Questo potrebbe portare a delle incompatibilita'. La qualita' dell'emulazione varia in base al parametro -S. Assegnando un valore di 3 otterremo il meglio da UAE, e alcuni programmi come AIBB si rifiuteranno di partire con altri settaggi. Col valore 2 la qualita' non dovrebbe diminuire affatto, ma l'alleggerimento dell'emulazione puo' giovare alla velocita' d'esecuzione della maggior parte dei programmi. "-S 1" emula l'hardware senza proferire suoni, "-S 0" elimina del tutto le possibilita' audio dal vostro "Amiga". Su altri sistemi Unix, potrebbe essere disponibile il sistema AF. Potreste anche provare a configurare UAE per utilizzarlo, ma non avendone mai visto uno non ho la piu' pallida idea di come si faccia, o se effettivamente funzioni. VELOCITA' La domanda piu' ricorrente su questo emulatore riguarda appunto la velocita' di esecuzione. Le risposte sono molteplici e comunque riconducibili ad una sola: "Dipende". Tutti i tempi d'esecuzione qui riportati sono stati misurati sulla mia macchina, un Pentium 90 che utilizza SVGAlib, con tutte le opzioni x86 abilitate. L'MC68000 emulato va a velocita' doppia rispetto un normale A500: l'ho misurata facendo comprimere a PowerPacker se stesso. Il risultato dell'elaborazione e' stato 6 minuti con UAE, e 15 con un A500. Se settate il frame rate a un valore molto alto, la velocita' della grafica perde importanza e potete ottenere un computer che va a velocita' doppia rispetto un normale A500. Se poi adottate lo smart update method nel file config.h, e se il medesimo funziona con i vostri programmi (va praticamente su tutto il software che gira sotto Workbench), potrete ottenere la medesima velocita' a pieno frame rate. Per giochi e demo, la velocita' della CPU non ha grande importanza, ma la media dei frame puo' avere la sua incidenza. UAE puo' calcolarla autonomamente: la versione SVGAlib fornisce questo valore all'uscita dall'emulatore. Per otterlo dalla versione X bisogna entrare nel debugger e usare il comando c. Un A500 vero ha un tempo d'aggiornameno costante, pari a 20ms (50 Hz). Se avete un gioco o una demo che mette a dura prova il chipset grafico di Amiga, magari con diversi effetti copper/sprite, doppi fondali in parallasse, e via dicendo, nessuno puo' aiutarvi. Fortunatamente, si tratta di episodi molto rari. In caso di eccessivi rallentamenti, potete sempre diminuire la frequenza dei frame, ma generalmente tutto il software dovrebbe assestarsi tra il 50% e il 100% della velocita' originale. Le combinazioni sono effettivamente troppe e troppo complesse da elencare: l'unica e' provare, provare e riprovare ancora. Otterrete sicuramente risultati diversi e, a volte, clamorosi. BACHI e CARATTERISTICHE DA INSERIRE L'emulazione degli sprite e' ancora imperfetta, le collisioni non sono ancora state inserite (12). L'emulazione della porta seriale non sembra ancora funzionare. A parte questo, UAE puo' fare tutto cio' che poteva fare un vecchio A500, e anche qualcosa di piu'! Ma potrebbero esserci sempre quei due o tre errori che bloccano questo o quel programma. RINGRAZIAMENTI Grazie a tutti coloro che mi hanno scritto per segnalare errori, successi e fallimenti cercando di usare questo o quel programma per Amiga, usando diverse configurazioni software e hardware. Potrete trovare una lista di tutti coloro che hanno contribuito al codice sorgente nel file CREDITS (stava diventando troppo lungo, per metterlo qui). Special thanks to: - Jay Miner, Dale Luck, R.J. Mical e tutti quelli che costruirono l'Amiga. - Felix Bardos, whose HRM I "borrowed". - Hetz Ben Hamo ha chiesto a Peter Kittel della Commodore se si poteva distribuire il kickstart. Sfortunatamente la risposta e' stata negativa. - Bruno Coste, Ed Hanway, Alessandro Soldo and Marko Nippula per aver procurato la documentazione - Fabio Ciucci merita il premio "Miglior bug report" per il suo aiuto sull'emulazione del blitter - Paolo Besser per aver tradotto in Italiano tutto quello che avete letto fin ora CONVERSIONI Ecco i responsabili dei porting per gli altri sistemi operativi Gustavo Goedert ha convertito UAE per DOS usando la DJGPP port di GCC. Ernesto Corvi ha portato UAE su Apple Macintosh. Christian Bauer , UAE per BeBox. Ian Stephenson , UAE per NextStep. Olaf 'Olsen' Barthel ha convertito UAE su Amiga. Richiede chipset AGA e Kickstart 3.0. E' supportata la CyberGraphX Krister Bergman , UAE per XFree86/OS2 Poiche' non ho avuto modo di controllare il funzionamento di tutte queste conversioni, sarebbe una buona idea contattare direttamente i loro autori per ogni ragguaglio. IN RETE... La documentazione originale di UAE non e' particolarmente ricca di links a cui collegarsi per ulteriori informazioni. Quanto leggerete e' il frutto di una ricerca personale del traduttore. Sono citati anche gl'indirizzi presenti nel readme di UAE. UAE MAIN PAGE http://www-users.informatik.rwth-aachen.de/~crux/uae.html pagina di Bernd Schmidt, programmatore UNIX di UAE. UAE FUN PAGE http://www.foi.hr/~dpavlin/amiga/index.html UAE XFREE86/OS2 http://www.kuai.se/~bellman/html/xfreeapps.html DOS UAE MIRROR PAGE http://www.schokola.de/~stepan/dosuae.html TIM GUNN HOME PAGE http://rdragon.livewire.com.au/homepages/timgunn/uae.html NODE 99/AMIGA http://www.nfinity.com/~swhalen/node99/amiga.html ALTRI LINK INTERESSANTI http://www.son.wisc.edu/~paul/uae.html http://www.cling.gu.se/~cl3polof/uaepics.html http://www.iscs.nus.sg/~chankumh/EMU/Amiga.html L'email e' il mezzo piu' sicuro per ottenere una risposta, soprattutto in tempi brevi. Si prega anche di evitare le telefonate. Se avete difficolta' a recepire le informazioni contenute in questo readme, siete pregati di cercare qualcuno con il bagaglio tecnico sufficiente a capirle e spiegarvele: io non posso rispondere a tutte_le_domande. Per esempio, non potrei mai dirvi come si usano CrossDOS o i programmi di terminale semplicemente perche' non ne ho mai fatto uso. Questo file e le FAQ contengono gia' tutte le informazioni che avrei potuto darvi: cerco sempre di aiutare le persone in difficolta', ma questo mi porta via un sacco di tempo. Per piacere, non chiedetemi d'inviarvi le ROM su file. Ah, un'ultima cosa: se prometto di fare qualcosa (tipo, che so, aggiungere questo o quello), e poi me ne dimentico, siete pregati di ricordarmelo: e' un bug abbastanza famoso del mio cervello. Prima o poi lo cambiero'! ============================================================================ Note aggiunte dal traduttore: Questa traduzione e' stata scritta con Word per Windows, riaggiustata con C1-Text sotto UAE, salvata col medesimo in carattere PC e infine salvata nuovamente con l'edit del DOS. Purtroppo non ho la piu' pallida idea dei risultati sotto Unix: spero vivamente che il tutto sia leggibile: dal canto mio, ho cercato di non usare mai caratteri speciali quali simboli e accentate Sono comunque disponibili le versioni in HTML (l'unico formato che puo' attualmente garantire la piena compatibilita' tra codici e piattaforme) di questo documento e di tutti quelli che, spero, avro' tempo in futuro di tradurre. 1) nella versione DOS 0.6.4 e' possibile modificare entrambi i valori. 2) in realta' la versione 0.6.4 per DOS puo' emulare i dischi fissi in due maniere diverse: o montando una directory del vostro PC come disco Amiga, oppure tramite un file immagine simile (ma piu' grande come dimensioni) a quello usato per i dischetti. In quest'ultimo caso, e' possibile eseguire il boot dell'Amiga emulato, ma non su una directory montata come disco fisso. 3) anche questa limitazione e' sorpassata 4) con diskfile s'intende sempre un file immagine *.adf relativo a un dischetto. Si e' piu' volte parlato di struttura base dei dati conenuti sul disco. Il termine originale era "raw data", ma immagino che "dati grezzi" non avrebbe costituito il massimo della leggibilita'... 5) A onor del vero, la tastiera dipende unicamente dalla versione del Workbench caricata. 6) DosUAE 0.6.4 non fornisce il minimo risultato con questa opzione 7) Diciamo subito che la versione DOS 0.6.4 ignora bellamente qualsiasi UAE.RC. E' comunque possibile aggirare l'ostacolo editando un file batch (.bat) che contenga le proprie impostazioni. Per esempio, io uso correntemente un file A500.BAT che contiene la seguente linea di comando @echo off uae -l it -m HDIR:.\hdir -S 2 -d 4 -H 0 -C -F 4 -s 2 Questo tipo di configurazione mi permette di usare la tastiera Italiana (quando verra' implementata anche nella versione DOS), con un hard disk "condiviso" tra PC e Amiga locato nella directory "\path dell'emulatore\HDIR\" e chiamatao HDIR:. Il suono e' emulato di base, la risoluzione e' una 800x600x256, l'aspetto e' corretto, l'emulatore dispone di 4Mb di fast ram e di 1 mega di slow. Ovviamente l'avvio avviene da disco fisso emulato e nei drive virtuali non ho inserito alcun dischetto. 8) cio' non e' assolutamente vero per la versione DOS. Si veda piu' avanti. 9) Se poi disponete di Windows 95, ancora meglio: UAE riconosce la VFAT e vi permette di usare i nomi lunghi. Di conseguenza non avrete alcun problema a passare i dati tra Amiga e PC. 10) Probabilmente l'autore involontariamente confonde Kickstart e Workbench, visto che le librerie fanno intimamente parte del secondo, piuttosto che del primo. E' anche vero, pero', che certe librerie potrebbero non funzionare con versioni troppo vecchie delle ROM di Amiga. 11) non cercate di farlo con DosUAE, in primo luogo perche' funziona - anche sotto Windows 95 - solo a pieno schermo, e poi perche' premendo F12 uscireste dall'emulatore! 12) nella versione DOS funzionano correttamente Paolo Besser (paolone@digibank.it)