Menù principale
 Notizie
 Grafica
 Forum
 Links
 Retro Trailer
 Recensioni
 Modelli Amiga
 Storia Amiga
 Retro-Gamers
 Lista Utenti
 Contatti
 Policy sito
Ricerca Google

Login

Nick


Password


29 Aprile 2005 Postato da: Marco Lovera
Sconosciuto

MorphOS













Bitplane



Questa recensione è tratta dal n°4 della rivista Bitplane





MorphOS

Parte terza - MorphOS dal vivo



Con la scorsa puntata abbiamo trattato l'installazione di MorphOS, o perlomeno abbiamo cercato,
basandoci sulle nostre esperienze, di tracciare una linea guida su come procedere in questo
compito purtroppo ancora poco o male documentato, e proprio per questo fonte spesso di
scoraggiamento da parte del potenziale utente. Fino a quando non si tornerà a lavorare al
supporto di Amiga con PowerPC, l'attuale beta release disponibile è ancora la vecchia 0.4
(terza release) pertanto è sempre ad assa a cui noi faremo riferimento in questa serie di
articoli.



L'installazione è certamente lo scoglio più grande da superare proprio per il fatto che la
documentazione, forse perchè si tratta ancora di una beta, è piuttosto scarna e lascia molto in
parte all'immaginazione, in parte all'intuito e al buonsenso dell'utente. Ma una volta capito
il meccanismo di emulazione ed entrati nell'ottica di capire cosa va fatto e cosa non va fatto,
si prenderà confidenza e tutto ci sembrerà uguale a prima, anzi direi molto migliore di prima in
termini di prestazioni. Ma in che misura esattamente ? Cerchiamo di capirlo insieme. Ovvio, il
migliore dei modi per rendersene conto sarebbe provarlo di persona, in quanto il fattore
velocità, come affermato anche nel capitolo scorso, dipende ampiamente dalla propria
configurazione: chi, come chi scrive, possedeva un 68040 sicuramente apprezzerà un incremento
di velocità notevole.



Chi invece disponeva già di un 68060 a 50 Mhz, per esempio, sentirà meno
questa accelerazione, che rimarrà comunque piuttosto evidente nello svolgimento di operazioni
grafiche in generale, specialmente se dispone di una scheda video supportata dal driver nativo
(come la CVisionPPC). Per fare un esempio, il tracciamento dei pattern di sfondo del Workbench
ora è nettamente più veloce, quasi istantaneo, poichè la funzione AllocBitMap() di CGX PPC è
abbastanza intelligente da allocare la bitmap in videoram, se c'è spazio a sufficienza, e non è
più necessario ricorrere a patch. Inoltre la banda con cui i dati vengono spostati dalla
Fast Ram della CyberStormPPC alla scheda video da parte del PPC è nettamente superiore a quella
disponibile sul lato 68K. Il caricamento di immagini tramite Multiview o altri programmi che
fanno uso dei datatypes avviene in frazioni di secondo, grazie ai datatypes PPC. I programmi
che utilizzano MUI avranno un feeling decisamente migliore ed un refresh fulmineo, sempre che
sia stata installata la MUI nativa. Parlando di emulazione si può affermare che la velocità nel
puro calcolo intero si assesta mediamente su quella di un 68060 a 20 Mhz, usando un
PowerPC 604e200, anche se i programmi che utilizzano codice FPU saranno avvantaggiati e più
veloci di un normale 68060-50.



Avevamo già accennato a questo punto chiave nel primo capitolo,
vediamo ora di chiarirlo meglio. Un programma compilato specificatamente per 680x0 normalmente
utilizza delle link library per la risoluzione di molte operazioni in virgola mobile, come per
esempio le funzioni trigonometriche e trascendenti, poichè tali CPU sono sprovviste di queste
istruzioni a livello di codice macchina; istruzioni che invece erano implementate nei buoni
vecchi coprocessori, come il 68881-2. Le link library usate allo scopo contengono quindi
funzioni, spesso molto lunghe e complesse, anche solo per calcolare un semplice coseno o
radice quadrata. E' evidente che l'emulatore risulti molto più veloce nell'interpretazione di
una singola istruzione specifica che non nell'emulazione di qualche centinaio di istruzioni!
Quindi vale la seguente regola: se potete scegliere tra uno stesso programma compilato per
diverse cpu, scegliete quello che solitamente viene indicato come "FPU" oppure "68881-2":
sarà sicuramente molto più veloce della controparte compilata per il 68040 o il 68060.



Se invece si tratta di un programma che non fa uso della FPU o la cosa non è specificata, è
palese che la scelta dovrà cadere sulla versione 060: non dimentichiamoci che, dal lato 68K,
MorphOS emula un perfetto 68060, oltre a comprendere ed emulare molto rapidamente tutto il
subset di istruzioni FPU specifiche dei vecchi coprocessori matematici. Dove non ci si può
aspettare un grande incremento di prestazioni è invece nei programmi che non giovano minimamente
della FPU, come la maggior parte dei compattatori/scompattatori, oppure nei programmi che per il
caricamento e salvataggio delle immagini utilizzano algoritmi proprietari senza fare uso dei
datatypes. ImageFX ne è un esempio: se escludiamo la disponibilità di alcuni moduli per PowerPC
rapidissimi (che comunque sono scritti per PowerUP) le prestazioni generali sono pressochè
identiche a quelle di prima, anche se l'uso di finestre in true color su Workbench e altre
operazioni grafiche di blitting trarranno sicuramente vantaggio dalla presenza di CGX5 PPC.
Le stesse affermazioni si possono fare per programmi simili come ArtEffect, Photogenics, etc.



L'immancabile PersonalPaint, programma arcinoto per accedere all'OS in modo sporco e fare
ancora affidamento alla grafica planare, benchè sempre lento lavora alla perfezione anche sotto
emulazione - e questo la dice lunga sull'affidabilità di MorphOS. Se volete giocare un pò con i
benchmark a vostra disposizione fate pure, ma prendete i risultati con le pinzette perchè
spesso sono tutt'altro che attendibili. In modo particolare il vecchio Sysinfo è sconsigliabile
sotto emulazione. Per fare qualche esempio, Scout mostra come CPU uno 060 a 16 Mhz con FPU a
80 Mhz (risultati piuttosto coerenti con l'evidenza). SysSpeed indica circa 9 MIPS e 11 MFLOPS
sul lato 68K, e 286 MIPS e 185 MFLOPS sul lato PPC... L'accesso ai dischi fissi collegati al
controller UltraWide della CSPPC sembra leggermente più veloce rispetto ad AmigaOS: SCSIBench
indica transfer rate di circa 15MB/Sec per il migliore hard disk provato (un IBM in modo
sincrono) contro i circa 11 ottenuti sotto AmigaOS; mentre per lo ZIP, sempre collegato alla
stessa catena, il valore è sempre di circa 800 KB/Sec. Come FileSystem abbiamo usato sia il FFS
che il PFS3, entrambi funzionanti in modo egregio e trasparente in emulazione. Il kernel di
MorphOS comprende comunque una versione nativa residente dell'SFS (Smart FileSystem) per chi si
volesse cimentare nel suo utilizzo: a noi non è stato possibile provarlo per via del non
funzionamento di HDToolBox (vedi oltre). Sembra comunque che le prestazioni siano simili a
quelle ottenibili col PFS3.



Fin'ora abbiamo parlato di emulazione, dando quasi per scontato che nel 90% dei casi ci
troveremo a dover utilizzare ancora, vuoi per la carenza delle rispettive versioni per MorphOS,
vuoi per nostalgia o necessità, vecchie applicazioni scritte per il 68K. Ma come si comporta il
PPC ? Nella prima puntata avevamo accennato che l'attuale release di MorphOS "emula" in un certo
senso le API dei kernel PowerUP e WarpOS, rendendole entrambe visibili all'utente e senza
conflitti di sorta. Questo significa, almeno su carta, che finalmente potremo usare
indistintamente i nostri vecchi programmi per PUP o WOS senza dover ogni volta resettare la
macchina, disabilitare uno dei due kernel o utilizzare la (a suo tempo utilissima) ppclibemu di
Frank Wille. In pratica sembra comunque, e possiamo riconfermarlo, che la compatibilità e la
stabilità sia nettamente maggiore nei confronti dei programmi .elf scritti per il vecchio kernel
PowerUP: capita spesso che le relative versioni per WarpOS causino alerts o blocchi di
sistema. Ma salvo rari casi, questo è un problema abbastanza raggirabile poichè la
disponibilità di molti programmi, utilities, devices e librerie in forma nativa per MorphOs
sembra crescere piuttosto rapidamente. Già sul numero precedente avevamo stilato una breve lista
del materiale disponibile, a cui attualmente si aggiungono l'editor CED, emulatori come il MAME,
per la prima volta in versione MorphOS, e ScummVM, l'interprete di avventure della Lucas ad
opera del bravo Rudiger Hanke, da cui attendiamo con impazienza anche il porting per MorphOS del
suo software-synth AMidi.



Un elenco delle utility minori o porting da ambienti unix/linux è
pressochè impossibile, e consigliamo a questo fine di consultare quotidianamente le news sulla
home page di MorphOS. Sul fronte dei programmi per Internet l'accoppiata YAM PPC e Voyager PPC
si riconferma vincente. Yam, grazie anche alla MUI per PPC, è letteralmente una scheggia e
sembrerebbe ancora una volta il programma perfetto. Su Voyager si potrebbe scrivere un libro,
come sempre. Va a suo favore il fatto di essere attualmente l'unico browser per Amiga in codice
PPC oltre ad essere l'unico a venire costantemente aggiornato, ma a suo sfavore troviamo i
consueti bachi e intriseche instabilità o incoerenze di sempre. Certamente questa versione PPC
(attualmente è giunto alla 3.3.126) è visibilmente più veloce e fluida nel refresh e nella
risponsività rispetto all'originale, ma non è raro imbattersi in crash, funzioni ancora
disabilitate, stati di "morte apparente" e altre noiose evenienze. Recentemente gli autori di
Aweb hanno deciso di rilasciare i sorgenti sotto licenza APL e non è mancato un primo tentativo
di porting per MorphOS che, dobbiamo dirlo, sembra funzionare davvero bene (ricordiamo che AWeb
rimane pur sempre il vincitore del premio Compatibilità).



Va fatto notare che nella maggior parte dei casi, quando si verifica un errore, MorphOS riesce
ad aprire una finestra della console per visualizzarne i dettagli, come la task incriminata e
il contenuto dei registri del PPC e del 68K emulato (a meno che non sia stato impostato un altro
tipo di debug nel comando Startup, come quello seriale o il ram-debug). Se siamo fortunati si
tratta di un errore recuperabile, altrimenti può accadere che tale output continui ad oltranza e
l'unica speranza sia quella di rimuovere la task in questione tramite utilities come Scout.
Se l'errore è grave, invece, è possibile che il sistema si blocchi irrimediabilmente, con un
reset manuale come unica via di uscita. A questo proposito dobbiamo precisare che il kernel di
MorphOs non resiste ai reset, almeno nella versione attuale, ma che dopo ogni chiamata a
ColdReboot() o reset manuale esso si rimuove rendendo necessario il suo ricaricamento.
Tutto avviene in modo automatico ovviamente, se sono stati seguiti i consigli di installazione
dello scorso numero, ma quella ventina di secondi necessaria per compiere un doppio boot possono
essere fastidiosi, specialmente se si hanno i nervi logorati per aver appena subìto un crash di
qualche programma...



Cosa non va ancora ?



Come abbiamo purtroppo affermato nei capitoli scorsi, MorphOS soffre ancora di diversi difetti
di gioventù. Piccoli o grandi... questo dipende in larga misura dall'uso che viene fatto del
proprio Amiga, dalle abitudini personali, dalla configurazione hardware... certo sarebbe
auspicabile che tutti i difetti presenti venissero rimossi al più presto, o perlomeno che vi
fosse un maggiore feedback tra utenti e sviluppatori del team, al fine di dare garanzie circa
miglioramenti e futuri sviluppi. Sicuramente il difetto più fastidioso è quello del nuovo
picture.datatype.elf che, oltre a non salvare (e questo purtroppo contribuisce ulteriormente a
scoraggiare quei già pochi programmatori che ne potrebbero fare uso al posto di algoritmi
proprietari...) compie diversi errori di visualizzazione se usato su modi video a 32 bit. Un
difetto visibilissimo specialmente nei pattern di sfondo del Workbench o di altri programmi che
usano i datatypes per caricare le immagini. La funzione DrawEllipse() della "nuova"
graphics.library (ovvero, patchata da CGX5 PPC) sembra totalmente difettosa, in quanto su molti
modi video genera pixel sporchi e privi di significato (questo bug è visibile per esempio
tracciando cerchi da un pixel di spessore con PersonalPaint o ImageFX: spesso non viene
tracciato un bel niente). Altra cosa piuttosto infelice è l'uso di uno stack dell'input.device
PPC di soli 2044 bytes. Non è chiaro se si tratti di un errore o di una scelta; fattostà che è
causa di gravi crash durante l'uso di gadget ReAction o altri gadget complessi usati da GUI
esotiche.



Dal momento che tutti i programmi di sistema a partire da AmigaOS 3.5 utilizzano
ReAction come motore di gui, si tratta comprensibilmente di un difetto penalizzante, anche se
non tutte le classi, al tocco, sembrano generare (sempre ?) questo tipo di blocchi. Un'altra
nota spiacevole riguarda HdToolBox: con tutte le macchine usate per la prova, sotto MorphOS
mostra i gadget INSTALL DRIVE e PARTITION DRIVE irrimediabilmente disabilitati, e questo rende
necessario ritornare sotto AmigaOS per eseguire operazioni di partizionamento e configurazione
dei device scsi, sempre che non si scelga di usare il buon vecchio e sempre funzionante
HDInstTools. Altro noioso difetto che vale la pena menzionare riguarda dei frequenti e
imprevedibili blocchi che sembrano essere collegati all'uso del blitter su schede dotate di
Permedia II. Tali blocchi si verificano quando vengono invocati i backfill hooks di sistema,
quindi ogni volta che una finestra viene ridimensionata, spostata oppure chiusa o cambiata di
profondità; la loro frequenza sembra aumentare all'aumentare del refresh del modo video scelto,
sempre con preferenza per i modi a 32 bit. Come ultima nota negativa dobbiamo ribadire che
spesso e volentieri i programmi scritti per WarpOS sono quasi del tutto
inutilizzabili, salvo rare eccezioni. WarpMAME di Colin Ward 9 volte su 10 si inchioda, mentre
la rispettiva versione di AmiDOG, sempre per WarpOS, sembra funzionare correttamente.



Lo stesso purtroppo dicasi di AMidi, della versione PPC di AmigaWriter (non totalmente ma
piuttosto instabile), dei moduli PPC di ArtEffect e della stragrande maggioranza dei giochi
scritti per WarpOS. Ma anche se meno frequenti, non mancano casi di malfunzionamento di
programmi o moduli PowerUP: APDF funziona egregiamente, ma quando si tratta di leggere dei file
.pdf compressi (come LZW) ecco che si congela irrimediabilmente; inoltre il modulo per la
decodifica dei file ShockWave di Voyager sembra anch'esso cadere in coma profondo se usato
sotto MorphOS (almeno, sulle macchine usate per le nostre prove).



Per finire...



E' doveroso ribadire quanto specificato nel capitolo precedente, ovvero che la maggior parte dei
difetti appena descritti e riscontrati sono stati rimossi nell'attuale versione di MorphOS per
il Pegasos (1.1) quanto nella beta 1.0 per Amiga PowerUP (si tratta però purtroppo di una
release privata non ancora distribuibile) Come ultima nota vorremmo segnalare la presenza di un
ottimo manuale in vari formati, redatto dagli Autori di MorphOS, scaricabile al seguente
indirizzo dalla directory
http://zapek.meanmachine.ch/morphos .



Tale manuale riunisce in modo ordinato tutte le principali tematiche riguardanti l'uso,
installazione, il funzionamento e la programmazione di MorphOS: informazioni precedentemente
disponibili solo in tanti files sparsi all'interno del sito, nell'archivio User e in quello
Developer. Per finire, un sincero augurio di buon lavoro e con tutto il cuore alle persone
impegnate dietro a questo progetto, che potrebbe sul serio essere una valida alternativa (anzi,
attualmente l'unica) per garantire qualche futuro alla nostra macchina.



Si ringrazia Elena Novaretti per aver messo a disposizione questo articolo






Copyright (C) 2002 Bitplane, nessuna parte di questo articolo può essere
riprodotta in alcuna forma senza l'esplicito assenso dell'editore.

Commenti: 0  Aggiungi 

Indice: forum / Recensioni

Utenti Online
Utenti registrati: 1206 dal 1 Gennaio 2006
di cui online: 2 registrati - GabrieleNick - Ozzyboshi_2 -
101 non registrati

Benvenuto all'ultimo utente registrato: zulu

Buon Compleanno a Adry82 - 

© Amigapage 1998 - 2007 - Sito italiano dedicato alla piattaforma Amiga ed evoluzioni varie.
Struttura del sito interamente ideata e realizzata da Marco Lovera e Alessandra Lovera - Tutto il materiale inserito all'interno del sito è dei rispettivi autori/creatori.
E' assolutamente vietata la riproduzione o la manipolazione di tutti i contenuti o parte di essi senza l'esplicito consenso degli amministratori e degli autori/creatori.

Eseguito in 0.11087894439697 secondi