MorphOS: il sistema operativo fulmineo

 
Cos'è MorphOS?

Questa sarà di sicuro la domanda che i lettori di questo articolo si porranno con maggiore frequenza. È probabile che non abbiate mai sentito prima questo nome - MorphOS - nella corso della vostra vita, ma è assai più probabile che invece ne abbiate sentito un altro: Amiga. In questa introduzione basterà sottolineare che MorphOS, di fatto, è un clone migliorato di AmigaOS (il capitolo Note Storiche esplora i dettagli di questa connessione).

MorphOS in action 2 MorphOS in action 1 Sebbene un clone funzionante di AmigaOS sia un esperimento interessante, la reale potenzialità di MorphOS risiede nella sua capacità di fornire caratteristiche più avanzate non reperibili in AmigaOS. Ciò è possibile perchè MorphOS è costruito attorno a un microkernel molto flessibile, potente e compatto, chiamato Quark, la cui struttura è completamente slegata e indipendente dai kernel Amiga e Linux.

Una caratteristica distintiva di MorphOS è la sua dimensione contenuta. Un'installazione completa richiede meno di 20 Megabyte per l'intero OS. E meno di metà di questi Mb sono necessari se si desidera ottimizzare l'ambiente di lavoro lasciando fuori le parti non utilizzate o inessenziali dell'OS. Un'altra caratteristica distintiva di MorphOS è la sua velocità. Non è certificato come RTOS (Sistema Operativo in Tempo Reale) ma, quando viene usato sul suo tipico hardware, la sua velocità di risposta è davvero prossima al Real Time.

 
La piattaforma hardware

MorphOS funziona esclusivamente su processori PowerPC. Due specifiche piattaforme hardware sono al momento supportate: le schede acceleratrici PowerPC per i computer Amiga (sviluppate da Phase5 e note come CyberStorm e Blizzard) e le schede madri PegasosPPC (distribuite da Genesi e utilizzate anche in un computer completo e compatto denominato ODW, Open Desktop Workstation). Le schede PegasosPPC sono inizializzate dall'HAL/OF (Hardware Abstraction Layer / Open Firmware), un software analogo al BIOS dei PC, creato e mantenuto da Genesi per i suoi prodotti PowerPC (e disponibile sotto licenza per qualsiasi progettista/costruttore di prodotti basati su PowerPC). Potenzialmente MorphOS è in grado di funzionare con piccoli cambiamenti su qualsiasi scheda PowerPC inizializzata dall'HAL/OF: è ad esempio noto che questo OS già funziona su schede EFIKA 5K2.

MorphOS è un OS di proprietà dei suoi programmatori, ad eccezione di alcune parti che sono open source. Al momento è disponibile gratuitamente solo ai possessori del suddetto hardware Amiga/Pegasos. Dopo una registrazione on-line, questi utenti possono connettersi a un sito FTP da cui è possibile scaricare una immagine ISO per masterizzare un CD di avvio di MorphOS. Sullo stesso sito FTP sono anche disponibili gli aggiornamenti software.

 
Installazione

L'installazione della maggior parte dei sistemi operativi è di solito un'operazione lunga e noiosa, e può talvolta divenire un vero incubo se si è sfortunati o inesperti. Un sistema leggero come MorphOS mostra i suoi vantaggi sin dalla fase di installazione, sia in termini di tempo che di semplicità.

Basta inserire il CD di avvio di MorphOS nel drive e selezionarlo come dispositivo di avvio nell'HAL/OF. MorphOS parte direttamente da CD con una configurazione di default dalle richieste hardware minime. Tutto ciò richiede meno di un minuto. Quindi si deve utilizzare l'applicativo di sistema adibito al partizionamento per creare almeno una partizione di avvio sull'hard disk, e l'utilità di formattazione per formattare detta partizione. A questo punto si può lanciare lo script di installazione che si occuperà di caricare MorphOS in quella partizione (lo script gestisce svariate circostanze e casi speciali, ma fondamentalmente copia tutte le directory e i file di sistema, oltre ai file di configurazione di default, dal CD all'hard disk).

A questo punto si può rimuovere il CD di avvio di MorphOS dal lettore e resettare il Pegasos/ODW (o premendo il bottone di reset o con la combinazione di tasti CTRL-WIN-WIN). Dopo una manciata di secondi si ritornerà allo schermo dell'HAL/OF, dove sarà possibile impostare una variabile che conserva l'indicazione della partizione di avvio e dell'hard disk su cui essa si trova.

E' fatta! (L'utente deve eseguire operazioni leggermente più complesse con le vecchie versioni dell'HAL/OF, ma i nuovi arrivati possono solo avere le versioni recenti...)

Tempo totale richiesto per portare a termine tutte le operazioni sopra indicate: non più di 5 minuti! Ma c'è un'altra sorpresa: fate partire MorphOS e contate il tempo necessario a giungere all'ambiente di lavoro. Scoprirete che impiega meno di cinque secondi: benvenuti nel sistema operativo fulmineo!

 
Caratteristiche distintive

Il nucleo di MorphOS è compresso e contenuto all'interno del file denominato boot.img che deve risiedere su una memoria di massa accessibile dall'HAL/OF. Questo file viene caricato dall'HAL/OF e lancia il microkernel Quark, oltre a vari componenti di basso livello che gestiscono ruoli fondamentali per l'OS. Il resto dell'OS è formato da file che si trovano sull'hard disk e gira sopra questo strato software.

L'Amiga è stato caratterizzato da avanzate capacità software di basso livello fornite dal suo microkernel, Exec, come il multitasking pre-emptive, la comunicazione tra processi, ecc., che erano assenti in tutti i computer popolari nei tardi anni '80 (i primi Mac e PC, i computer Atari, etc.). Naturalmente in MorphOS tutte queste caratteristiche sono messe a disposizione da Quark, che è anche in grado di supportare caratteristiche molto più moderne come la protezione della memoria, la memoria virtuale, e via elencando. Quark è anche in grado di fornire varie sandbox in ciascuna delle quali può girare indipendentemente uno specifico sistema operativo virtualizzato. Attualmente sono implementate due sandbox: QBox, ora utilizzata solo per i processi di basso livello, e ABox, che fornisce una particolare API, cioè un'interfaccia per i programmi e le applicazioni. Di fatto questa API è totalmente compatibile con AmigaOS 3.1 (l'ultimo sistema operativo creato e distribuito da Commodore per i suoi computer Amiga), e assieme a Trance (un efficiente compilatore JIT per eseguibili Amiga) garantisce un elevato grado di compatibilità con gran parte delle vecchie applicazioni Amiga. Le complesse operazioni eseguite da Trance sono istantanee e invisibili: questo programma riconosce automaticamente ogni eseguibile Amiga che viene lanciato, lo converte in un eseguibile PowerPC, e lo esegue al volo.

Playing games with UAE Workbench within UAE Si noti che il gran numero di giochi eccellenti che resero famoso Amiga nei tardi anni '80 e all'inizio dei '90 non funziona direttamente nell'ambiente MorphOS. I computer Amiga erano dotati di integrati specializzati per la grafica e l'audio. Il loro modo di operare è totalmente incompatibile con un sistema moderno come MorphOS, che è in grado di gestire le attuali schede grafiche 2D/3D e il sistema audio presente sulla scheda madre o su schede PCI. Se ci si vuole divertire con i vecchi giochi Amiga su un Pegasos/ODW, la cosa è possibile, ma è necessario UAE (l'Emulatore Amiga Universale), che è disponibile anche per MorphOS e fornisce la compatibilità necessaria.

La compatibilità nativa di MorphOS con il vecchio software Amiga ha invece un altro obbiettivo. Gli utenti possono infatti far girare quasi tutte le applicazioni Amiga più recenti e avanzate, che sono in grado di gestire le schede grafiche e audio aggiuntive create per i computer Amiga più moderni. Gli strati software necessari, noti come CGX (CyberGraphX) e AHI (Audio Hardware Interface), mascherano e gestiscono l'hardware reindirizzabile e sono perfettamente integrati in MorphOS.

ShowGirls and MUI Prefs MUI Prefs MUI Info Come AmigaOS, amche MorphOS rende disponibili due interfacce molto compatte, efficenti, e pienamente integrate (Command Line Interface e Graphic User Interface, ovvero l'Interfaccia a Linea di Comando e l'Interfaccia Utente Grafica) per le shell e le applicazioni. Sebbene questo sistema CLI/GUI integrato sia in grado di svolgere tutti i compiti necessari, molti preferiscono avere caratteristiche decisamente più avanzate e un aspetto più piacevole nella GUI. Per rispondere a questa esigenza, MorphOS ha adottato una GUI più orientata verso la programmazione ad oggetti, denominata Magic User Interface. MUI non solo fornisce al programmatore la possibilità di interagire e rappresentare una GUI in modo assai sofisticato, ma permette anche agli utenti di personalizzare a fondo queste GUI adattandole ai propri gusti. In realtà MUI è una delle componenti più distintive di MorphOS, sia in termini di funzionalità che di estetica.

MorphOS shell La shell di MorphOS è in stile Unix ed è dotata di tutte le caratteristiche che ci si aspetta da un tale componente: i comandi AmigaDOS (la maggior parte dei quali sono in stile Unix), variabili locali e globali, sostituzione dei comandi, redirezione degli stessi, pipe con nome e senza, history, menu programmabili, possibilità di aprire istanze multiple della shell in una sola finestra, compatibilità ANSI, scelta arbitraria dell'insieme di colori utilizzabili, etc.. Naturalmente l'insieme dei comandi include tutto il necessario per la realizzazione di potenti script. In conclusione: gli utenti di interfacce a linea di comando non rimarranno delusi...

MorphOS desktop Main preferencess Ambient settings Ambient è il desktop nativo di default di MorphOS, basato su MUI, completamente asincrono e multi-thread. Sebbene il codice sia open source, in pratica Ambient è un componente disponibile esclusivamente per MorphOS, perchè talmente legato a MUI e al resto dell'OS che trasportarlo in qualsiasi altro ambiente sarebbe molto difficile. Ambient permette la gestione delle icone dei programmi, la navigazione nelle directory, il lancio di programmi, la gestione dei file, e in genere tutto quel che è necessario per l'amministrazione del sistema. Ambient è molto adattabile al gusto dell'utente: la gestione dei file può essere effettuata nel modo classico (spaziale) o in modalità di navigazione all'interno di una sola finestra, utilizzando sia la vista ad icone che la lista dei nomi. Il riconoscimento dei tipi di file è realizzato mediante analisi diretta dei file e/o mimetype, e l'utente ha il pieno controllo e la possibilità di modificare le funzionalità dei mimetype per ottenere una configurazione personalizzata delle azioni relative. Ambient permette all'utente di effettuare con semplicità qualsiasi tipo di attività grazie agli strumenti integrati: un programma d'utilità per la ricerca dei file, un visualizzatore di testi, un visualizzatore di immagini, un riproduttore audio, un monitor di sistema, un programma per la formattazione dei dischi, un programma per la gestione delle commodity, e molto altro. Dai menù di Ambient, gli utenti possono controllare tutte le impostazioni del proprio ambiente MorphOS, incluse le impostazioni di MUI e dello stesso desktop.

C'è da notare che, comunque, gli utenti non sono affatto obbligati ad usare Ambient. Altri tipici ambienti desktop del mondo Amiga possono esere utilizzati contemporaneamente ad Ambient, o addirittura come suoi completi sostituti: per esempio Directory Opus (disponibile anche per gli utenti PC come sostituto di Explorer in Windows), Scalos, e anche il classico Workbench Amiga (ma questo è riservato a utenti spericolati che apprezzano fare un po' di hacking).

I componenti dell'OS sin qui descritti sono quelli che l'utente vede e manipola prevalentemente: il loro impatto visivo e la semplicità d'uso hanno una grande influenza sull'apprezzamento da parte dell'utilizzatore. Gli utenti di Ambient, per esempio, possono scegliere tra diverse skin, cambiando al volo l'aspetto di finestre, gadget, e in genere di tutti gli elementi grafici del desktop (nelle immagini si possono vedere alcune skin differenti). D'altro canto, c'è dell'altro software di sistema che gira in maniera invisibile e silenziosa, ma che è altrettanto importante, perchè senza le sue molteplici componenti il computer non sarebbe utilizzabile. Alcuni esempi sono costituiti dai filesystem, dal software di gestione dell'USB, dal software per la stampa, da un sistema avanzato per lo scripting, etc. Naturalmente tutti questi elementi sono presenti in MorphOS, ma qui ne diamo solo una breve descrizione, indirizzata principalmente alle caratteristiche peculiari che si sommano a quelle che gli utenti danno per scontate in questi software nascosti.

I filesystem per gli hard disk sono componenti molto importanti perché devono prendersi cura di dati in genere assai preziosi. MorphOS viene fornito con un'implementazione di FFS, il Fast File System standard di Amiga, presente principalmente per ragioni di compatibilità. SFS (Smart File System), invece, è un filesystem molto più veloce e affidabile, che tiene traccia di tutte le ultime transazioni prima di applicarle. In altri termini si tratta di un filesystem di tipo journaling, il quale cioè garantisce l'integrità dei dati anche in caso di crash del computer durante operazioni di scrittura. SFS è stato adottato da MorphOS come filesystem di default, ma MorphOS supporta anche altri filesystem, tra cui il notevole PFS (Professional File System), disponibile commercialmente per i computer Amiga, e anche l'onnipresente FAT (File Allocation Table) degli ambienti MSDOS. Sia per PFS che per SFS sono disponibili programmi di salvataggio (SFSDoctor è un programma creato di recente specificamente per MorphOS) che sono in grado di gestire operazioni quali il recupero di dati erroneamente cancellati, la riparazione delle strutture del filesystem, e anche la riorganizzazione dei dati al fine di diminuire la frammentazione dei file. Coloro che utilizzano Windows o Linux saranno soddisfatti di sapere che è possibile lavorare anche con partizioni NTFS o EXT2FS mediante versioni preliminari di pubblico dominio di questi due filesystem.

Lo stack USB di MorphOS, denominato Poseidon, è probabilmente lo stack USB più efficiente esistente su qualsiasi piattaforma informatica. La miglior descrizione delle sue caratteristiche è per certo quella data dal suo autore (Chris Hodges), le cui parole sono riportate di seguito.
"Poseidon è una soluzione software che sfrutta le possibilità dell'Universal Serial Bus (USB) e dei dispositivi dotati di interfaccia USB, che comprendono mouse, tastiere, tavolette grafiche, joystick, stampanti, scanner, webcam, fotocamere digitali, lettori di flash card, drive ZIP, drive per floppy disk, harddisk, chiavette di memoria, adattatori ethernet e audio, oltre ad oggetti molto meno comuni come alimentatori, dispositivi per la localizzazione GPS, o lettori di impronte digitali. Poseidon è realizzato in maniera modulare in modo da integrarsi a perfezione nell'ambiente AmigaOS/MorphOS. Non è la conversione di un sistema già esistente (come lo stack USB di Linux), ma è stato creato con in mente quelle caratteristiche distintive di AmigaOS/MorphOS che rendono tanto efficienti questi sistemi operativi."
Vale la pena di aggiungere che, anche se Poseidon cerca sempre di eseguire il suo lavoro in maniera completamente automatizzata, qualora l'utente abbia bisogno di personalizzazioni per specifici dispositivi USB, Poseidon rivela incredibili possibilità di configurazione che permettono all'utente di risolvere quasi ogni problema.

Il sistema di stampa adottato da MorphOS è TurboPrint, un pacchetto software commerciale ottenuto in licenza, che è distribuito anche nel mondo Linux. TurboPrint permette il completo controllo della stampante e dei suoi colori (se presenti), e naturalmente gira in maniera trasparente per qualsiasi applicazione. Qualora l'utente abbia bisogno di driver per stampanti di più recente costruzione, la versione di TurboPrint presente in MorphOS necessita di un aggiornamento. Il pacchetto di aggiornamento è comunque conveniente grazie alla presenza di alcune utilità per la stampa assenti in MorphOS.

Il sistema avanzato di scripting che caratterizza AmigaOS sin dalla versione 2.0 è ARexx, un'implementazione di REXX, un linguaggio di programmazione interpretato, strutturato, e di alto livello, introdotto da IBM. Su Amiga quasi ogni applicazione di un certo spessore è dotata di una porta ARexx che ne consente il controllo esterno (spesso completo) mediante appositi script ARexx, o anche attraverso comandi ARexx provenienti da altri programmi. In tal modo gli utenti avanzati possono attivare e gestire operazioni interattive fra un qualsiasi numero di programmi indipendenti e/o realizzare il funzionamento completamente automatizzato di ogni singolo programma mediante semplici procedure ARexx (il cui uso e la cui struttura sono state ampiamente esplorate durante anni e anni di utilizzo in ambiente Amiga). MorphOS è dotato di una implementazione nativa di questo linguaggio (eccezion fatta per una libreria ancora in fase di programmazione, e che deve essere attualmente recuperata da AmigaOS).

 
Integrazione di MorphOS

C'è un certo numero di applicazioni che al giorno d'oggi la gente considera componenti standard di un OS, come una utility di installazione per i pacchetti software, un editor di testi, uno stack TCP/IP, un programma per la posta elettronica, e un browser. Non appena si comincia ad utilizzare MorphOS, si scopre invece che questo OS, nella sua distribuzione attuale (1.4.5), è privo di questi programmi. Eppure, poche ricerche in rete mostrano che non c'è quasi nessun utente di MorphOS (escluso i principianti) che si lamenta per l'assenza di tali programmi. Questa apparente contraddizione è in realtà un effetto della tormentata storia di Amiga, e non è una reale limitazione di MorphOS. Vale la pena di dedicare una discussione esplicativa a quest'argomento, giusto per chiarire qual è la giusta prospettiva prima che qualcuno cominci a pensare, sbagliando, che MorphOS è un sistema incompleto.

Nella sua forma attuale, MorphOS è perfettamente adatto alla sua odierna comunità di utenti, ovvero un nocciolo duro di utenti Amiga. Tali persone, durante la veloce ascesa dell'era Wintel, hanno dovuto affrontare il problema di integrare un OS che non veniva più aggiornato. Infatti, negli anni '90, dopo il fallimento di Commodore, i possessori del marchio congelarono lo sviluppo di AmigaOS. L'OS sopravvisse grazie all'impulso di una moltitudine di sviluppatori indipendenti che aggiunsero pian piano quasi ogni sorta di caratteristica mancante. La gran parte di questo software è disponibile in Aminet, un'immensa raccolta di software Amiga gratuito e shareware, che contiene oggi circa 76.000 pacchetti software. Di conseguenza la principale regola empirica per gli utenti Amiga è: se ti manca qualcosa, scaricalo da Aminet. E, naturalmente, questa regola si estende a tutti coloro che cominciano a usare MorphOS.

MorphOS è privo di una utility di installazione per le applicazioni nuove e vecchie.
Visitate Aminet e scaricate Installer 43.3. Ovviamente si tratta di un singolo file autonomo che può essere semplicemente copiato manualmente in una directory strategica dell'hard disk.

MorphOS è privo di un editor di testi per modificare gli script di avvio e i testi puri e semplici.
Ci sono un sacco di editor testuali su Aminet. Basta andarci, e cercare e scaricare ciò di cui si ha bisogno. In particolare si possono trovare anche alcuni editor già convertiti e compilati in codice PowerPC nativo per MorphOS.

MorphOS è privo di uno stack TCP/IP.
Ancora esitanti? Andate su Aminet e scaricate MOSNet, che è uno stack TCP/IP compilato in codice nativo PowerPC, e creato esplicitamente per MorphOS.

MorphOS non ha un programma di posta elettronica.
I due principali programmi di posta elettronica per Amiga, YAM o SimpleMail, sono open source. Si possono scaricare da SourceForge o dalle rispettive homepage. Vengono anche realizzate compilazioni notturne in codice nativo PowerPC per MorphOS.

MorphOS non ha un browser.
Il codice sorgente di AWeb, che in passato è stato un browser commerciale, è stato donato alla comunità Amiga dall'autore all'inizio del millennio. Tutti i più recenti aggiornamenti per questo browser creati dal team di sviluppo attuale sono disponibili presso l'homepage di AWeb, anche in versione nativa per MorphOS.

(Notate che tutte le applicazioni precedentemente citate sono software open source - ad eccezione di Installer 43.3 che è liberamente distribuibile -. Il loro utilizzo non pregiudica in alcun modo i diritti di possesso di MorphOS e dei pacchetti software scritti/distribuiti da sviluppatori indipendenti e/o da software house per scopi commerciali.)

MorphOS è dotato di una documentazione molto scarna.
In virtù della compatibilità a livello di API, la documentazione di AmigaOS 3.1 copre il 75% di tutti i possibili dubbi. MorphOS però non è un semplice clone di AmigaOS: include già un gran numero di miglioramenti, la maggior parte dei quali non sono immediatamente visibili ad un utente non esperto. A tale riguardo la comunità ha ancora una volta fornito il suo aiuto con la creazione de Le livre du Pegasos (Il Libro del Pegasos), che raccoglie in un solo libro un enorme insieme di informazioni utili e importanti riguardanti l'hardware, il software, e le problematiche di configurazione che è importante conoscere quando si utilizza la coppia Pegasos/MorphOS.

In conclusione, il punto principale da capire è che la comunità che al momento utilizza MorphOS è solo la piattaforma di lancio di questo OS. La prevedibile comunità futura dovrebbe essere più grande e non necessariamente proveniente da Amiga; e le future versioni di MorphOS potrebbero essere commerciali. In tal caso, naturalmente, il team di sviluppo di MorphOS terrà conto del cambio dell'utenza a cui fare riferimento. Le nuove distribuzioni conterranno versioni proprietarie del software mancante (ad esempio è noto da tempo che uno stack TCP/IP integrato già esiste), o indirizzeranno esplicitamente l'utente non amighista inesperto verso i componenti esterni.

 
Lo sviluppo di MorphOS

Nella prima fase della sua storia, MorphOS fu un sogno che si trasformò pian piano in realtà grazie ad alcuni giovani programmatori dotati di grande talento. In seguito, quando lo sviluppo dell'hardware progettato da bPlan (che è oggi il ramo di Genesi dedicato all'hardware) divenne man mano più vicino alla conclusione, e MorphOS fu l'unico OS usato per la distribuzione iniziale di 200 unità betatester, lo sviluppo venne ben supportato e accelerò. Negli ultimi due anni lo sviluppo di MorphOS è invece rallentato perché Genesi ha concentrato la maggior parte delle sue attività nella progettazione di nuovo hardware, nello sviluppo ulteriore di software di base come l'HAL/OF, e su altri sistemi operativi, come le varie distribuzioni Linux, che naturalmente hanno una più ampia base potenziale di utenti.

Oggi lo sviluppo di MorphOS procede lento ma costante mediante un certo numero di attività simultanee.

(1) Il nucleo interno della boot.img è gestito esclusivamente dal Team di sviluppo di MorphOS. Quando i miglioramenti in quest'area sono stati testati a sufficienza dai membri del team e sono pronti per le prove degli utenti, di solito viene preparata l'immagine ISO di un CD, che contiene anche un'installazione completa di MorphOS, e che definisce il punto di partenza di un successivo rilascio.
Si sa poco dei miglioramenti attualmente apportati, ma è pubblicamente noto che i membri del Team di sviluppo di MorphOS già utilizzano un nuovo file boot.img in cui molti componenti sono stati fortemente migliorati. Ad esempio, Altivec (l'insieme di istruzioni per calcoli numerici paralleli con interi o in virgola mobile, detto SIMD - Single Instruction, Multiple Data -, implementato nei processori PowerPC di fascia alta) è pienamente supportato in tutti le componenti del sistema in cui esso può essere utilizzato per conseguire ingenti vantaggi in termini di prestazioni.

(2) Altre parti di MorphOS che risiedono al di fuori della boot.img sono aggiornate e rilasciate sotto forma di file eseguibili che gli utenti registrati possono scaricare e installare manualmente. Questo tipo di di distribuzione del software, usualmente innescato dall'insorgere di una particolare necessità, serve per rendere disponibili nuove caratteristiche, per correggere problemi, o anche per offrire un'anteprima di ciò che sta per arrivare (mediante software in versione alpha o beta).
Ad esempio, questo è quanto è avvenuto per la versione 4 di MUI, la versione 6 di AHI, la versione 3.3 di Poseidon, versioni migliorate dei driver CGX 3D, versioni corrette di alcune librerie di alto livello, e via dicendo.

(3) Lo sviluppo di MorphOS condotto da terze parti nell'ambito dell'open source non solo è attivo ma è anche apprezzato e molto discusso e dibattuto. Un caso particolare è costituito dal desktop Ambient, divenuto un prodotto open source nel quale alcuni membri del team di MorphOS sono coinvolti attivamente.
Ambient evolve velocemente e in maniera ben visibile agli utenti, che possono scaricare ed installare compilazioni notturne di questo componente di MorphOS.

(4) E' stata avviata un'interessante iniziativa volta a concentrare l'impegno di sviluppatori indipendenti mediante un sistema a premi ("bounty system"). Quest'idea è nata sulla scia di tentativi simili già intrapresi nell'ambito di altre piattaforme: gli utenti unificano le proprie forze per sovvenzionare premi in denaro destinati ai programmatori che sviluppino programmi di particolare interesse (suggeriti dagli utenti o dagli stessi programmatori).
Diversi progetti degni di nota sono stati completati nell'ambito di questo sistema. Fra essi ci sono SFSDoctor e MOSNet (entrambi già citati in capitoli precedenti), e MorphUp (un sofisticato gestore di pacchetti per l'installazione e l'aggiornamento automatico delle applicazioni). Il sistema a premi viene utilizzato anche per rendere più rapido lo sviluppo di parti dell'OS che hanno un valore particolare per gli utenti. Ciò richiede la collaborazione di membri del Team di sviluppo di MorphOS, come nel caso dell'ultima libreria ARexx nativa mancante (rexxsyslib.library).

Qual'è lo scopo finale di questo processo di sviluppo apparentemente anarchico? Conosciamo il suo nome probabile: MorphOS 1.5, e sappiamo che il suo obbiettivo è ambizioso. Questa versione dell'OS dovrebbe finalmente rimuovere la maggior parte delle necessità di ricorso a programmi esterni, e preparerà MorphOS per il suo debutto al di fuori della comunità Amiga. Sfortunatamente non si conosce nulla circa la sua data di rilascio, ma essa non sembra essere molto vicina. In un recente scambio privato di comunicazioni, Frank Mariak, uno dei leader del Team di sviluppo di MorphOS, ha scritto che MorphOS 1.5 è ancora una cosa di là da venire dal momento che "il suo insieme di caratteristiche non è ancora specificato in maniera definitiva".

 
Strumenti per gli sviluppatori

Tutte i capitoli precedenti erano principalmente indirizzati a persone interessate a conoscere MorphOS dal punto di vista dell'utente normale. Ma ci sono utenti meno comuni, che di sicuro nutrono interessi specifici riguardanti altri dettagli dell'ambiente di MorphOS: gli sviluppatori. Questi ultimi sono le persone più importanti per qualsiasi piattaforma informatica, perchè senza di loro non esisterebbe nuovo software, e la piattaforma si ritroverebbe rapidamente in uno stato di stagnazione. Che sia spinto da interessi professionali o da scopi hobbistici, qualsiasi programmatore vorrà conoscere l'ambiente disponibile per la sua attività.

MorphOS è naturalmente dotato di un Software Development Kit che permette a qualunque programmatore di creare applicazioni. L'SDK è completamente gratuito: qualsiasi sviluppatore può iscriversi presso il sito web MorphOS Developer Connection, e scaricare gli archivi necessari. È da notare che l'SDK è disponibile per tutti, anche coloro che non dispongano dell'hardware necessario per far girare MorphOS. Ciò ha due effetti importanti: permette la creazione di ambienti di sviluppo integrati (Integrated Development Environments, IDE) da parte di terze parti (Cubic IDE), e permette anche la compilazione incrociata da altre piattaforme, in particolare da Linux o Windows mediante cygwin (siti collegati: Compilazione incrociata per MorphOS, AmiDevCpp). Il sito web MorphOS Developer Connection si occupa di fornire anche un forum per gli sviluppatori dove è possibile discutere tutti gli argomenti relativi allo sviluppo e i problemi connessi.

L'SDK di MorphOS comprende tutti gli include di sistema; la documentazione per gli sviluppatori inclusi autodoc, articoli, porzioni di codice esemplificative e informazioni generali; strumenti di terze parti e la relativa documentazione per gli sviluppatori; e due componenti molto utili: MorphEd e un ambiente Geek Gadgets completo. MorphEd è un editor testuale avanzato che offre, oltre a tutte le funzioni che ci si attende per il trattamento dei testi, l'highlight della sintassi, il supporto dell'ambiente di sviluppo, l'integrazione dei compilatori GCC o vbcc, e via elencando. I Geek Gadgets sono un corposo insieme di strumenti di sviluppo che sono stati portati su Amiga/MorphOS e sono disponibili sia in forma di sorgenti che in forma binaria. Il pacchetto contiene, tra le altre cose, un gran numero di comandi disponibili per le shell Linux, e il suo obiettivo è di fornire alle persone abituate ad ambienti Linux un insieme di comandi familiare all'interno delle shell di MorphOS.

La disponibilità di GCC, il compilatore C più diffuso, nonché di altri compilatori C, non esaurisce la lista di interpreti e compilatori esistenti per MorphOS. È disponibile un'intera scala di scelte, che si estende dall'assembler per linguaggio macchina PowerPC, utilizzabile per la programmazione a basso livello, fino a linguaggi di alto livello come il classico FreePascal e prodotti più moderni come Python.

 
Grafica 3D

La maggior parte dei sistemi operativi alternativi disponibili non è dotata di supporto per l'accelerazione grafica 3D, o fornisce solo un supporto minimo. Ciò è dovuto al fatto che le poche aziende che sviluppano schede grafiche seguono usualmente una politica restrittiva: o non distribuiscono affatto la documentazione tecnica, o la rendono disponibile in una forma che crea una serie di ostacoli agli sviluppatori individuali. Queste aziende producono e forniscono direttamente i driver grafici per Windows, mentre per i restanti OS c'è solo una documentazione molto difficile da ottenere e utilizzare.

In questo scenario di assenza di supporto 3D, MorphOS è una eccezione di rilievo, entro alcuni limiti. Ci sono due ragioni per ciò. La prima è la creazione della tinygl.library, un componente software molto importante che (nonostante il nome, che vuol dire "minuscola libreria GL") è una reimplementazione delle specifiche OpenGL molto compatibile e piuttosto completa. La seconda è che il team di sviluppo di MorphOS ha deciso di concentrare i propri sforzi nel 3D verso un numero limitato di schede grafiche compatibili con l'hardware PegasosPPC.

L'Open Graphics Library (OpenGL) è uno standard definito da un documento che specifica un insieme di oltre 250 differenti chiamate a funzioni il cui utilizzo permette la generazione di scene 3D complesse a partire da semplici primitive. La sua importanza risiede nel fatto che definisce una API indipendente dalla piattaforma. Gli sviluppatori che utilizzano OpenGL per scrivere applicazioni possono essere sicuri che tali programmi genereranno grafica 3D su tutti i computer che hanno un'implementazione della libreria. OpenGL, inizialmente sviluppato da Silicon Graphics, è importante per l'industria dei videogiochi (dove compete solo con Direct 3D sulla piattaforma Windows), ma è anche utilizzato da applicazioni professionali dove una gestione efficiente e semplificata della grafica 3D è importante (partendo da simulatori di volo e implementazioni di realtà virtuale, passando per visualizzazioni di alta qualità per applicazioni scientifiche e per presentazioni di dati e informazioni, e finendo con applicazioni tecniche molto specializzate come i CAD).

Per quanto riguarda TinyGL riportiamo le parole chiarissime del team di sviluppo di MorphOS. "TinyGL è stata inizialmente creata da Fabrice Bellard come sottoinsieme di OpenGL per sistemi embedded e giochi. Al tempo fu progettata senza pensare alla possibilità di un'accelerazione hardware. La corrente implementazione è stata riscritta per trarre il massimo vantaggio dall'accelerazione hardware 3D, e incorpora anche varie caratteristiche, accuratamente selezionate, del sistema MESA. TinyGL su MorphOS rende disponible un insieme di caratteristiche molto più ricco della versione originale, e contemporaneamente ne supera la velocità."

Naturalmente OpenGL/TinyGL non sono sufficienti per una gestione completa delle schede grafiche 3D. Per utilizzatre l'accelerazione hardware disponibile sulle schede servono driver software specializzati. Il team di sviluppo di MorphOS ha creato driver per le seguenti schede PCI e/o AGP: Voodoo 3, Voodoo 4, Voodoo 5 della 3dfx; Radeon 7000, Radeon 7200, Radeon 7500, Radeon 8500, Radeon 9000, Radeon 9100, Radeon 9200, Radeon 9250 dell'ATI. Come si può notare, queste schede grafiche (anche se certamente non sono quelle di più recente introduzione sul mercato) sono ben supportate dai driver e complementano ottimamente le prestazioni dell'attuale hardware PegasosPPC.

 
Giochi

Dal momento che la grafica 3D su MorphOS certamente non raggiunge lo stato dell'arte correntemente disponibile sul mercato, è lecito chiedersi qual è il motivo per dedicare ai giochi 3D un intero capitolo. Il punto è che la grafica 3D permette di fornire alcune informazioni essenziali sui limiti tecnici raggiunti da MorphOS in questo settore di interesse. Conoscendo i giochi che sono stati convertiti, e il livello qualitativo da essi raggiunto quando vengono visualizzati, gli esperti saranno in grado di valutare lo stato attuale della grafica 3D in MorphOS.

Virtual Grand Prix 2 Virtual Grand Prix 2 Uno dei giochi più rilevanti disponibili per MorphOS è senza dubbio Virtual Grand Prix 2, pubblicato da Alassoft. Si tratta di una simulazione di Formula 1 molto realistica (con ogni probabilità una delle più realistiche per qualsiasi piattaforma), con una buona grafica 3D accelerata, e l'obbligatorio supporto per i dispositivi di controllo analogici, che in MorphOS sono utilizzabili grazie allo stack USB Poseidon e alla nuova lowlevel.library. La versione MorphOS è stata rilasciata poco tempo dopo quelle Mac e Windows grazie alle radici amighiste del programmatore principale Paolo Cattani. Degno di nota il fatto che la versione MorphOS sia completamente gratuita (viene solamente suggerita una donazione PayPal di 5.90 Euro per supportare lo sviluppatore e incoraggiarlo nel realizzare il seguito per MorphOS). Il gioco include la maggior aprte dei circuiti reali del campionato, realizzati piuttosto bene e facilmente riconoscibili. Quelli non inclusi sono recuperabili all'interno di pacchetti aggiuntivi creati dagli utenti e reperibili in rete. Il gioco è piuttosto veloce e giocabile anche su macchine di fascia bassa (G3 @ 600MHz e Voodoo 3, ad esempio).

Wipeout 2097 Altri giochi commerciali disponibili per MorphOS includono tutti quelli originalmente distribuiti per Amiga classici dotati di processori PowerPC. Tra questi ci sono la conversione di Wipeout 2097, rilasciata da Digital Images, e la conversione di Heretic 2, rilasciata da Hyperion Entertainment. Il primo è una versione molto ben realizzata del famoso gioco, che ha preso il meglio tanto dalla versione per PlayStation (la più giocabile) quanto dalla versione Windows (ad esempio la grafica ad alta risoluzione), rendendo la trasposizione per Amiga la migliore tra tutte le versioni. Wipeout 2097 è un eseguibile WarpUp che utilizza il pacchetto software per Amiga Warp3D per l'accelerazione grafica, ma, come al solito, gli utenti MorphOS non hanno nulla di cui preoccuparsi. Wipeout 2097 funziona in maniera del tutto trasparente, sia a pieno schermo che in una finestra sul desktop, supporta schede grafiche e audio non supportate dagli Amiga classici, e può essere giocato utilizzando controller USB. Ovviamente è più veloce di quanto sia mai stato su qualsiasi Amiga classico.

Quake III Molti giochi open source sono stati convertiti per MorphOS, inclusi diversi giochi commerciali dei quali è stato distribuito il codice sorgente, come i capolavori di id Software Wolfenstein 3D, Doom, Doom II, Quake, Quake II e Quake III. La serie Quake supporta l'accelerazione 3D, e, in particolare nel caso del primo vecchio episodio di Quake, sono state convertite anche le versioni alternative denominate Fuhquake, GLQuake e BlitzQuake, che sono assai più efficaci dal punto di vista grafico. Grazie all'accelerazione 3D, tutti questi giochi funzionano con velocità eccellente anche in alte risoluzioni.

Parlando di sparatutto in prima persona, sono stati convertiti e distribuiti anche Cube, AlephOne, e Warsow, un recente gioco freeware. Warsow è probabilmente il progetto più complesso dal punto di vista grafico che sia mai stato convertito in codice per MorphOS (anche se è basato sul vecchio motore di Quake II), ed infatti potrebbe non girare a velocità sufficiente su una CPU G3 con scheda grafica Voodoo. Ma è anche uno dei modi per dimostrare che l'hardware migliore con MorphOS non resta inutilizzato.

FreeSpace 2 Fra gli altri progetti open source di cui è stata effettuata la conversione sono compresi i giochi Freespace 1 e 2 di icculus.org (che naturalmente richiedono le versioni originali per poter essere utilizzati correttamente), e giochi come NeverBall e il gioco di biliardo in 3D FooBillard. È disponibile anche Open Transport Tycoon Deluxe, la reimplementazione open source di Transport Tycoon Deluxe di Microprose. La versione MorphOS (che, come tutte le altre versioni, richiede i file del gioco originale per funzionare) è sincronizzata con le release ufficiali. Questo significa che è disponibile direttamente dalla pagina web del progetto, dal momento che il supporto per MorphOS è stato incluso nel source tree principale. Per il suo funzionamento, Open Transport Tycoon Deluxe fa uso della PowerSDL.library. Questa libreria (le cui caratteristiche distintive sono descritte nel seguito) ha già facilitato la conversione di dozzine di giochi SDL gratuiti e open source su MorphOS.

Robin Hood C'è anche almeno una software house commerciale che sta rilasciando conversioni per MorphOS, ed è RuneSoft (già nota come Epic Interactive). Dopo aver distribuito Knights and Merchants molto tempo fa, quando MorphOS intraprendeva i suoi primi passi, RuneSoft ha recentemente rilasciato Robin Hood. Knights and Merchants è un gioco strategico sullo stile di The Settlers, ma con una grafica molto migliore di quella del primo capitolo della saga che venne alla luce su Amiga nel 1993. Robin Hood, invece, è un gioco strategico sulla falsariga di Commandos, originariamente pubblicato su PC da Spellbound. La grafica e l'audio sono probabilmente i migliori mai visti in un gioco 2D per MorphOS, e, anche se molto impegnativi per il processore, sono stati ottimizzati attentamente per girare fluidamente anche su un Pegasos con G3. RuneSoft ha altri titoli in programma, e auspicabilmente continuerà a supportare MorphOS se avrà qualche riscontro positivo in questo mercato. Questa ditta distribuisce sempre versioni dimostrative delle sue conversioni: in questo modo gli utenti hanno sempre la possibilità di provare preventivamente il gioco prima di votare con il proprio portafogli per far in modo che il supporto della piattaforma prosegua.

ScummVM Naturalmente, nell'ambiente MorphOS l'utente può divertirsi non solo con eseguibili più o meno nativi, ma anche con numerosi emulatori e macchine virtuali. Una delle più conosciute è ScummVM, la reimplementazione gratuita del motore software che azionava la maggior parte delle avventure di Lucas Arts-Lucas Games. Le versioni più recenti sono compatibili anche con alcuni giochi di altri autori (come ad esempio Beneath a Steel Sky o Broken Sword di Revolution), e fortunatamente sono disponibili anche per MorphOS. Il bello in tutto ciò è la possibilità di far girare alcune delle avventure che non sono mai state pubblicate per sistemi Amiga-compatibili (la Lucas Arts lasciò la scena Amiga dopo Indiana Jones 4). Il motore funziona senza alcun problema, e questi giochi, con il loro aspetto retrò, sono sempre divertenti da giocare.

MAME FPSE La categoria dei "veri" emulatori include Genesis Plus e SMS Plus per le console Sega, SNES 9x per la console Super Nintendo (o Super Famicom), VICE per la serie di home computer VIC della Commodore, MAME per i giochi da bar... Questi emulatori eseguono il proprio compito piuttosto bene e non sono solo delle frettolose conversioni, dal momento che, ad esempio, supportano tutti l'overlay (per permettere il ridimensionamento delle finestre in tempo reale) e i joypad USB. Un'aggiunta simpatica è costituita da FPSE, l'emulatore di PlayStation: anche se si tratta di una versione per AmigaOS 4 che richiede OS4Emu per funzionare, FPSE, una volta lanciato, funziona proprio come un qualsiasi programma nativo.

 
Software esclusivo per MorphOS

La dimensione ridotta del sistema operativo e la sua struttura semplice (in termini relativi) implica, tra le altre cose, che progetti che richiedono un gruppo di sviluppatori su altre piattaforme spesso diventano modesti progetti di singoli programmatori negli ambienti MorphOS/Amiga. Ciò rallenta lo sviluppo, ma fornisce anche un'eccellente efficienza, semplicità e compattezza al codice. In questo capitolo sono menzionati alcuni piccoli ma eccellenti programmi realizzati per MorphOS, mentre la descrizione delle applicazioni più importanti e potenti è rimandata al capitolo successivo.

AmiNetRadio
AmiNetRadio ANR è un player audio. Nato come player di stream ShoutCast, si è ben presto evoluto diventando un player ricco di caratteristiche ed estremamente modulare che supporta molti formati audio e plugin grafici. Basilarmente è in grado di suonare file RIFF WAVE, Ogg Vorbis, MPEG Audio, CDDA, AIFF, e moduli ProTracker. Ma altri formati sono stati presto supportati, grazie a un SDK che documenta come creare appropriati plugin. Ciò ha portato al supporto, mediante software di terze parti, di file MIDI, ScreamTracker, e FastTracker, così come di formati più rari (inclusi i formati audio di NES, Super NES, Game Boy, Mega Drive, e Atari ST). Tutto ciò rende ANR uno dei candidati più validi a sostituire il player audio interno di Ambient se lo si associa ai file audio mediante la configurazione dei mimetype.
Un aspetto degno di nota è che ANR è in realtà un eseguibile per AmigaOS 3.x in codice 68k. La trasparenza dell'emulazione e la sua qualità sono così buone in MorphOS che la maggior parte dei player appena citati sono compilati esclusivamente per MorphOS in codice nativo PowerPC, e possono essere mescolati senza alcuna cautela da parte dell'utente. La stessa cosa vale anche per i plugin grafici: ANR è compatibile con l'API di AmiAMP (una vecchia versione Amiga del ben noto WinAMP), e di conseguenza è possibile mescolare plugin 68k e PowerPC. Un aspetto ancora più interessante è la possibilità di utilizzare plugin compilati per vecchi formati di eseguibili (PowerUp e WarpUp) introdotti anni fa per le schede acceleratrici basate su powerPC degli ultimi Amiga classici. I non amighisti non hanno alcuna necessità di preoccuparsi: tutto ciò che li riguarda è che MorphOS risulta compatibile, in maniera del tutto trasparente, con questi eseguibili di strano formato che la comunità Amiga ha introdotto nel passato (purché questi siano stati programmati seguendo le linee guida del sistema). Lo stesso ANR utilizza alcune estensioni dell'API di AmigaOS 3.x (rese disponibili da MorphOS) allo scopo di migliorare le possibilità di configurazione delle skin, e risulta quindi un programma MorphOS a tutti gli effetti, nonostante consista di codice 68k.

ShowGirls ShowGirls
Come dice il nome (e se per voi il nome non fa suonare un campanello, significa che non siete sufficientemente "geek"), questo è un visualizzatore di immagini. Il visualizzatore interno di Ambient è molto spartano: permette di vedere un'immagine, di ridimensionarla fino a riempire la finestra, di ruotarla, e questo è quanto. ShowGirls fa molto di più: la sua interfaccia è di solito divisa in due parti, da un lato ci sono le miniature (con il supporto del formato EXIF nelle immagini JPEG, il che comporta che non è necessario caricare un'immagine di 3 MB o più ed elaborarla solo per mostrarne un'anteprima di 50x50 pixel), mentre dall'altro lato viene visualizzata l'immagine prescelta. Naturalmente l'immagine può essere mostrata a pieno schermo, vi si possono effettuare zoomate in espansione o in riduzione, e la si può anche elaborare. Infatti ShowGirls è dotato di alcuni strumenti di base per la manipolazione delle immagini: si può modificare il bilanciamento dei colori; cambiare la risoluzione dell'immagine; usare operatori per la correzione della messa a fuoco, per la riduzione del rumore, e per effetti di luce e blurring; si può ritagliare, ruotare, rovesciare un'immagine, e convertire interi gruppi di immagini. È anche possibile utilizzare una modalità di visualizzazione in 3D (con rendering 3D accelerato), ma per ora si tratta semplicemente di un'opzione secondaria.
Questo programma era inizialmente nato come strumento per le macchine fotografiche digitali, ed infatti si possono compiere anche tutte le operazioni sui file che risultano necessarie con un qualsiasi dispositivo di memoria di massa. In congiunzione con una fotocamera USB configurata come "mass storage" raramente si avrà la necessità di qualcos'altro. Se però la vostra macchina digitale supporta lo standard PTP, allora potreste rivolgervi verso altre soluzioni.

PTPDigCam
PTPDigCam Questo è un buon software nativo e originale (non basato su librerie provenienti da Linux) che permette di scaricare e cancellare immagini, video e file audio dalle fotocamere Canon, Nikon, Kodak, Sony, che supportano lo standard PTP. Le versioni più recenti permettono all'utente di selezionare le immagini a partire dalle miniature EXIF, e il programma è ben scritto, con una interfaccia grafica MUI semplice e di bell'aspetto. Di certo non si tratta del programma più complesso del mondo, ma mostra lo spirito della comunità Amiga: la maggior aprte dei sistemi operativi alternativi non supporta lo standard PTP e obbliga l'utente a comprare un card reader. Per quanto questa espansione sia economica, è sempre meglio avere un software che supporti anche questo standard non così ampiamente riconosciuto. C'è persino un'alternativa, chiamata SimpleCam e basata su libPTP convertita dall'ambiente Linux ma dotato di una GUI MUI. E per coloro che amano controllare la propria fotocamera a distanza esiste anche CanonToolBox, anch'esso basato su libPTP.

PowerSDL games PowerSDL
Questo nome evocativo indica un pacchetto software, la cui conversione permette di ampliare, indirettamente, la disponibilità di software su MorphOS. Simple DirectMedia Layer (SDL) è una libreria multimediale multipiattaforma che fornisce, per le API grafiche, sonore e di input, uno strato di astrazione comune a diverse piattaforme. SDL permette a uno sviluppatore di scrivere giochi o applicazioni multimediali che possono funzionare nell'ambito di una moltitudine di sistemi operativi, e rende possibili molte conversioni. La versione MorphOS è stata molto migliorata a partire dall'originale conversione per Amiga, ed è ora formata da un certo numero di librerie condivise (il che, incidentalmente, rende possibile utilizzarle in software closed source o non GPL) che sfruttano appieno le API di MorphOS.

OS4Emu
Questo è un esempio di software che espande in modo diretto il numero di applicazioni utilizzabili nell'ambito di MorphOS: si tratta di un wrapper per le API di AmigaOS 4 (che sono molto simili a quelle di MorphOS, viste le origini comuni) che reindirizza le loro funzioni verso le corrispondenti funzioni di MorphOS. Ciò significa che effettuando un doppio click sull'icona di un eseguibile per AmigaOS 4 (o digitandone il nome in una finestra CLI) c'è una buona possibilità che questo funzioni. Gli esempi degni di nota includono FPSE, l'emulatore di Sony PlayStation, che, ironicamente, grazie a Poseidon (lo stack USB incluso in MorphOS), supporta i joypad USB... contrariamente a quanto accade nel suo ambiente naturale, AmigaOS 4! (Ciò è permesso da una semplice caratteristica di Poseidon, che associa la pressione di alcuni tasti selezionati dall'utente ai pulsanti del joypad). Altri programmi funzionanti sono SID4Amiga (un player per i file audio del C64), varie demo prodotte da gruppi della "scena", numerose utility e comandi shell, e molto altro. La compatibilità non è totale, ma aumenta ad ogni nuova release.

 
Crescita della piattaforma

Cubic IDE Uno degli aspetti positivi più importanti della compatibilità di MorphOS con i programmi Amiga è costituito dal fatto che gli utenti MorphOS possono ancora utilizzare quasi tutto il software commerciale acquistato per i loro Amiga, con gran vantaggio in velocità e potenza. Pertanto, la piattaforma informatica MorphOS/Pegasos non parte da zero. Nonostante la fine ufficiale della Commodore sia datata 29 Aprile 1994, molte applicazioni per Amiga sono state sviluppate per svariati anni dopo tale data. E un certo numero di programmi importanti sono ancora attivamente sviluppati. Per esempio, il sofisticato programma di DeskTop Publishing PageStream (disponibile oggi simultaneamente per Amiga, Linux, MacOS e Windows, oltre che in versione nativa PowerPC per MorphOS), l'editor avanzato GoldEd (che oggi costituisce il nucleo di Cubic IDE, un IDE - Integrated Development Environment, Ambiente di Sviluppo Integrato - che copre tutti i linguaggi di programmazione più importanti e gli SDK disponibili per AmigaOS/MorphOS), il programma per presentazioni Hollywood (che, con la sua qualità allo stato dell'arte, raccoglie l'illustre eredità di Scala, mantenendo una compatibilità completa con quel programma, e aggiungendo tutte le caratteristiche permesse dai sistemi grafici moderni), e via elencando.

Tuttavia, quando una piattaforma informatica ha una piccola base di utenti, come MorphOS, lo sviluppo di nuovo software diventa difficile. La produzione di software commerciale non è incoraggiata, dal momento che c'è una bassa probabilità di trovare un numero abbastanza grande di acquirenti. La produzione di software open source e shareware è costante, o cresce molto lentamente, perché non c'è una base di programmatori sufficientemente grande: ognuno è già concentrato su un certo numero di progetti e non ha tempo per altro. In questo caso c'è una soluzione che talvolta può drasticamente ridurre il tempo di sviluppo di un'applicazione: convertire software da altre piattaforme.

MPlayer Blender Quando fu progettato AmigaOS, diverse strutture e caratteristiche si ispirarono a Unix, e ciò si riflette naturalmente nella API ABox di MorphOS. Dunque la conversione di piccoli comandi, utility, programmi e giochi da Unix a AmigaOS, e ora da Linux a MorphOS, talvolta non è difficile. Due specifiche librerie di sistema (ixemul.library e ixnet.library) rendono più semplici un certo numero di conversioni che richiedono routine caratteristiche di Linux. Anche applicazioni grandi e complesse come MPlayer, MEncoder, MLDonkey, E-UAE, MAME, Blender sono state convertite per MorphOS.

Gli ostacoli principali per le conversioni sono l'assenza della funzione fork() in AmigaOS e nell'ABox di MorphOS, il fatto che AmigaOS/MorphOS non rispettano pienamente lo standard POSIX, e l'estrema difficoltà di conversione delle GUI. Le GUI di Linux sono basate su sistemi a finestre che sono di solito parte di ambienti desktop più grandi, e non sono integrati nell'OS. Oltre a un port ancora in fase embrionale di X-Windows, nessun sistema a finestre di Linux è mai stato convertito per AmigaOS/MorphOS. Non c'è nessun vero vantaggio nell'eseguire un simile lavoro, perchè richiederebbe durissimi sforzi, e comunque il più ridotto sistema a finestre per Linux è non meno di cinque volte più grande dell'intero MorphOS. Rendere semplice il port delle GUI richiederebbe la perdita della caratteristica compattezza di MorphOS, e lo trasformerebbe in un nuovo e inutile OS in stile Linux.

E così, al contrario di altre piattaforme, AmigaOS/MorphOS non hanno mai visto la conversione di applicazioni molto grandi ed importanti, come Mozilla e Open Office. L'assenza di simili programmi, indispensabili per un normale utente che desidera interfacciare il proprio computer con tutto il mondo circostante senza problemi di compatibilità, è il più grande ostacolo per un'adozione più ampia di MorphOS nel mercato dei sistemi desktop.

Una volta riconosciuta l'inutilità di convertire grosse porzioni di distribuzioni Linux su MorphOS, è comparsa un'idea migliore: la creazione di appositi wrapper, cioè di programmi che mappano tutte le chiamate ad una determinata struttura base di un sistema ai loro equivalenti nell'altro sistema. Un primo tentativo in questa direzione concerne GTK (GIMP Toolkit, ovvero l'insieme di procedure software del Programma di Manipolazione di Immagini del progetto GNU), e cerca di collegare questo popolare generatore di elementi grafici per finestre, destinato alla creazione di GUI per il sistema X-Windows, ai corrispondenti elementi grafici di MUI. Ad ogni modo, l'attuale tentativo di maggiore rilevanza riguarda KHTML, il motore HTML creato dal progetto KDE. Un imponente wrapper che mette in relazione KHTML a MUI è in fase di lavorazione (la prima versione beta è stata distribuita nel novembre 2006, e molto probabilmente il progetto sarà completamente utilizzabile nel 2007). Il successo di questo tentativo avrà una grossa influenza sul futuro della piattaforma MorphOS/Pegasos. Gli utenti MorphOS avranno un browser allo stato dell'arte (i browser nativi attuali non sono molto aggiornati), i possibili nuovi utenti saranno meno riluttanti, e il successo in questo campo incoraggerà tentativi simili in altre direzioni (per esempio la conversione di Open Office).

 
Chi ha bisogno di MorphOS?

Le precedenti argomentazioni suggeriscono che l'utilizzo di MorphOS come principale OS per uso desktop è affetto da alcune limitazioni che ne impediscono allo stato attuale l'adozione per scopi professionali ad ampio respiro. Ma MorphOS è già utilizzabile per scopi professionali più limitati, ed è ben adatto ad usi semi-professionali e ovviamente per hobby. E naturalmente le sue attuali limitazioni sono del tutto irrilevanti nel mercato dell'"embedded" (i computer nascosti in un'enorme congerie di dispositivi), dove le piccole dimensioni e la velocità di risposta sono le sole caratteristiche davvero rilevanti.

Benché si possa giudicare la frase che segue come un paradosso, si può in effetti affermare che quelle che sembrano limitazioni in un ambito professionale, vengono in realtà percepite come vantaggi dagli utenti attuali. Infatti, questi utenti avanzati sono in grado di compensare quasi ogni mancanza del software disponibile per MorphOS attraverso software di pubblico dominio, shareware, e commerciale già esistente per la piattaforma Amiga o che è in fase di sviluppo per MorphOS. Essi già usano MorphOS al suo meglio ottenendo una velocità di risposta che non ha paragoni su quasiasi altra piattaforma; e il loro ambiente è completamente immune da qualsiasi virus, worm, trojan, spyware, adware e simili bestiole provenienti dalla rete. Questi utenti possono installare Linux e MacOSX (utilizzando MacOnLinux) sul loro Pegasos, anche solo per usare FireFox e Office qualora sia necessario; o altrimenti possono usare all'occorrenza il programma RDesktop da MorphOS per controllare a distanza un PC.

Altri utenti potenziali di MorphOS potrebbero essere quelle persone che vogliono essere "libere" dai condizionamenti di un ambiente monolitico e autoritario qual è Windows, e/o che non vogliono essere "minacciate" dalle indecifrabili profondità dei sistemi stile-Unix, che sono gestibili appieno solo dai superesperti di Linux. E naturalmente MorphOS è la migliore scelta per gli utenti Amiga nostalgici che vogliono la fulminea velocità di un prodotto reale al posto del più lento ambiente sintetico fornito da UAE. Questa lista di persone non esaurisce tutti i potenziali utenti di MorphOS. Se questo OS verrà utilizzato su schede PowerPC per il mercato embedded, un altro gruppo di utenti speciali si unirà agli altri: gli sviluppatori delle applicazioni per usi embedded. Queste persone avranno bisogno di un confortevole ambiente desktop per il loro lavoro, e scopriranno anche l'utilità del dialogo con una comunità in cui una consistente percentuale di persone (più elevata che in molte altre piattaforme) è formata da abili programmatori pronti a dare il proprio aiuto quando viene richiesto.

L'evoluzione del sistema alla lunga dovrebbe rimuovere le limitazioni attualmente presenti e fornire una base utenti più larga: persone meno specializzate che saranno in grado di aprire nuovi orizzonti e far espandere la nicchia attuale.

 
Conclusioni

In questo articolo si è cercato di mostrare che MorphOS è un prodotto vitale in lento ma costante progresso. La piccola taglia e la velocità rendono MorphOS un candidato adatto per un OS desktop, ma simili caratteristiche sono davvero ineguagliabili quando si considera il mercato embedded, dove l'assenza di hard disk, la disponibilità di piccole quantità di memoria, e l'utilizzo di processori di fascia bassa sono richieste molto comuni. Per convincersene è sufficiente immaginare le possibilità offerte da un sistema operativo molto veloce che risieda interamente in una flash RAM di piccola capacità...

MorphOS è in attesa di persone che riconoscano e tentino di utilizzare le sue caratteristiche peculiari e le sue potenzialità più interessanti. Questa potrebbe essere la scintilla in grado di far partire una nuova nuova fase di sviluppo, veloce e ben supportata. Tra i lettori di quest'articolo potrebbero esserci nuovi utenti attratti dall'efficienza, dalla flessibilità, o dagli aspetti esoterici di MorphOS. E magari questo articolo verrà letto anche da VIP che potrebbero intravedere possibilità di profitto per le proprie aziende, aiutandoci a costruire un brillante futuro per questo OS.

 
Collegamenti utili

Siti della comunità MorphOS:
Il perno attorno al quale tutto gira è MorphZone; altri siti importanti sono: Pegasos.org; Obligement; #amigazeux; Amiga Impact.

Siti di notizie e discussione:
MorphOS-News; Amiga-News; AmigaNN; AmigaWorld; Amiga.org; Moo bunny.

Siti dedicati allo sviluppo di/per MorphOS:
MorphOS-Team; Ambient Desktop; MorphOS Developer Connection.

Siti riguardanti l'hardware:
Genesi; PegasosPPC; MorphOSPPC; Freescale MobileGT Platform.

Siti riguardanti il software:
Aminet; MorphOS-news; MorphZone.

Storia di Amiga:
Amiga history guide; The history of the Pegasos; Amiga: storia del più personal tra i computer.

Manuali (formato PDF):
Le livre du Pegasos; e le sue traduzioni: The Pegasos Book, etc..

FAQ (domande poste assai spesso):
MorphZone Quick Help

Rassegne:
L'homepage di DoctorMorbius_FP.

 
F.A.Q.

Come posso andare online per scaricare lo stack TCP/IP se nel CD di MorphOS non c'è alcuno stack TCP/IP?
[Risposta ironica] Per favore spiegaci come hai fatto a scaricare il CD di MorphOS...
[Risposta seria] In pratica questo problema non esiste. (1) Se avete un Amiga con una scheda acceleratrice PowerPC, avete già uno stack TCP/IP e potete usarlo con MorphOS. (2) Se avete acquistato una ODW da Genesi, avete già una o più distribuzioni Linux installate, e potete usare l'ambiente Linux per scaricare tutto ciò di cui necessitate per MorphOS. (3) Il problema può davvero verificarsi se avete acquistato solo una scheda PegasosPPC per fare i vostri esperimenti di assemblaggio. In tal caso siete sufficientemente intelligenti e esperti da aver chiesto al rivenditore un CD di MorphOS e uno stack TCP/IP o da aver scaricato ambedue le cose con un altro computer.

Sto installando MorphOS e lo script di installazione mi chiede di creare e formattare due partizioni: una partizione molto piccola FFS per il file boot.img, e una partizione più grande, bootabile, preferibilmente SFS, per i file di sistema. Qui si è detto che ne serve solo una.
Questo comportamento della procedura di installazione di MorphOS è giustificato dalla necessità di essere compatibile con il passato. Le vecchie versioni di HAL/OF erano in grado di gestire unicamente le partizioni FFS. Dunque boot.img era messo in una partizione FFS per permettere all'HAL/OF di essere in grado di lanciarlo. D'altro canto, era/è meglio mettere i file di sistema in una partizione SFS, a causa della sua maggiore affidabilità. Le nuove versioni dell'HAL/OF possono leggere le partizioni SFS, e persino quelle PFS, dunque potete mettere tutto in un'unica partizione affidabile.

È stato affermato che MorphOS è molto vicino ad essere un OS Real Time. Ciò non ha alcun significato, perchè un RTOS ha specifiche tecniche ben precise. Altrimenti, dato un computer sufficientemente veloce, qualsiasi OS potrebbe essere RT.
Questo non è un articolo per ingegneri e scienziati, altrimenti sarebbe molto più lungo e noioso. Dunque, l'informazione viene passata al lettore anche mediante semplici analogie. In questo caso l'idea è che, dato l'hardware su cui tipicamente gira MorphOS (le schede PegasosPPC), questo OS è estremamente veloce in termini assoluti. Inoltre, in termini relativi, c'è una differenza visibile tra la velocità di MorphOS e la velocità delle distribuzioni PowerPC di Linux. L'informazione importante è che il rapporto tra le velocità rimarrebbe circa lo stesso in favore di MorphOS anche se l'hardware fosse molto più veloce. In ultima analisi, MorphOS è decisamente più vicino a un RTOS di quanto lo sia Linux.

Nelle versioni precedenti dell'articolo erano riportati valori diversi per le dimensioni complessive di MorphOS. Qual'è la dimensione reale di questo OS?
Il numero che avrebbe dovuto essere presente nella prima edizione dell'articolo era 15 Megabyte, ma l'"1" fu perso in qualche modo durante la frenetica fase di revisione finale. Questo spiega i valori 5 e 15. In seguito alcune persone hanno suggerito che anche il file boot.img dovesse essere conteggiato nella dimensione di MorphOS, così come l'ampiezza maggiorata delle nuove versioni di Ambient e MUI. Di conseguenza il valore numerico riguardante la dimensione di MorphOS è cambiato in "meno di 20 Megabyte", per sicurezza. Ad ogni modo, qualsiasi sia il numero, la caratteristica leggerezza di MorphOS è sempre presente, naturalmente.

Nel testo viene detto che Quark e altro software di basso livello sono compressi nel file boot.img Compressi?
Il file boot.img è un archivio gzip, il vero file immagine (bootpegasos2rom.img) è al suo interno ed è estratto e lanciato dall'HAL/OF.

Benché sia stato detto che Quark supporta la protezione della memoria e la memoria virtuale, sembra che queste caratteristiche non siano attive.
La protezione della memoria non esisteva in AmigaOS, e non è implementata all'interno dell'ABox di MorphOS per ragioni di compatibilità (quasi tutte le applicazioni più vecchie non funzionerebbero correttamente con la memoria protetta). D'altro canto, la protezione della memoria è utilizzabile all'interno della QBox e sarà disponibile per le applicazioni specialmente progettate per la QBox quando la migrazione dei driver hardware dall'ABox alla QBox avrà luogo. La memoria virtuale è stata implementata agli inizi dello sviluppo di MorphOS, ma il suo aggiornamento è attualmente fermo, a causa di una priorità molto bassa. Infatti, le massime richieste di memoria di MorphOS e dei programmi nativi/compatibili sono molto piccole rispetto alle dimensioni delle memorie disponibili attualmente.

 
Note Storiche

Storia ultracondensata degli Amiga classici:
Probabilmente siete a conoscenza del fatto che l'Amiga era considerato una straordinaria macchina da gioco, e che guadagnò una grossa base di utenti nei tardi anni '80 e nei primi anni '90. Ma se pensate che L'Amiga fosse solamente una console per videogiochi mascherata da computer, siete completamente in errore. L'Amiga aveva 4096 colori quando gli schermi dei PC erano in verde e nero, era dotato di suono e voce quando i PC erano muti, aveva un multitasking preemptive quando i PC facevano girare un solo programma alla volta. Con queste caratteristiche l'Amiga raccolse anche una comunità di utenti avanzati, che lo adottarono per utilizzi professionali. Dopo la scomparsa di Commodore nel 1994, il popolo amighista si è lentamente disperso. I videogiocatori migrarono verso i PC e le nuove console; e la maggior parte delle software house e dei programmatori professionisti convertirono i propri programmi e migrarono verso le piattaforme PC e Mac. Eppure molti appassionati restarono. Alcune software house e qualche produttore di hardware, un certo numero di programmatori professionisti, assieme a molti programmatori non-professionisti, hobbisti, appassionati, e utenti avanzati si unirono in una comunità sempre pronta alla discussione (quindi assai vitale!) e fortemente coesa da Internet.

Storia ultracondensata di Pegasos/MorphOS:
Per alcuni anni il marchio Amiga passò di mano in mano senza che ci fosse vera evoluzione, principalmente usato solo come un'etichetta utile per farsi pubblicità. Nel frattempo, alcuni membri straordinari della comunità Amiga salirono lentamente in primo piano e riuscirono a creare qualcosa che nessun'altra nostalgica comunità di appassionati di vecchi PC è mai stata in grado di realizzare. Hanno creato dal nulla una nuova piattaforma hardware basata su PowerPC e un nuovo sistema operativo che sono stati in grado di raccogliere l'eredità Amiga e ravvivare il rimanente nocciolo duro di utenti. I maghi dell'hardware sono i membri di bPlan/Genesi, mentre i maghi del software dai quali tutto è partito (Ralph Schmidt, creatore di Quark, e Frank Mariak, creatore di CGX) sono i leader del Team di sviluppo di MorphOS.

Storia ultracondensata di AmigaOne/AmigaOS 4:
Un'altra comunità basata sull'utilizzo di PowerPC è emersa nel nuovo secolo. I penultimi detentori dei diritti sul marchio Amiga, interessati principalmente ad usarlo in un altro mercato, hanno dato in appalto a società esterne lo sviluppo/produzione dell'AmigaOS e di specifici computer desktop. Ciò ha dato origine alla piattaforma PowerPC AmigaOne/AmigaOS 4. Mentre AmigaOS 4 è ancora in fase di sviluppo, l'hardware non è più disponibile dal momento che ha avuto origine da una scheda per sviluppatori non più in produzione. Questa metà della comunità Amiga è ora bloccata nella difficile ricerca di nuovo hardware, complicata da uno schema di licenze penalizzante.

 
Realizzazione

Fulvio "DoctorMorbius_FP" Peruggi ha scritto la maggior parte del testo originale in inglese.
Andrea "Guruman" Maniero ha fornito molti suggerimenti per il capitolo "Strumenti per gli sviluppatori" e ha scritto i capitoli "Giochi" e "Software esclusivo per MorphOS".

Frank Mariak ha attentamente letto il testo e ha curato la supervisione dei contenuti tecnici.
Ed Vishoot ha letto con attenzione il testo e ha proposto importanti suggerimenti per il suo miglioramento.
Martin "Senex" Heine ha fornito innumerevoli suggerimenti e critiche, e li ha reiterati finché il testo non è stato decisamente migliorato.

Stefan Blixth ha fornito le seguenti immagini: MorphOS1.jpg, MorphOS2.jpg, MorphOS0.jpg, Blender.jpg.
Gunne Steen ha fornito le seguenti immagini: UAE_Workbench.png, AboutMUI.png, MainPrefs.png, AmbientSettings.png, ShowGirls.jpg, MUIPrefs.png, MPlayer.jpg.
Fulvio "DoctorMorbius_FP" Peruggi ha fornito le seguenti immagini: Shell.png, VGP2_001.png, VGP2_007.png, MAME_MorphOS004.jpg, CubicIDE.png.
Andrea "Guruman" Maniero ha fornito le seguenti immagini: quake3_003.jpg, freespace2.jpg, robinh_000.jpg, scummvm_000.jpg, fpse_000.jpg, ANR_003.jpg, showgirls_001.jpg, PTPDigCam_001.jpg, chromium_004.jpg.
Christian "tokai" Rosentreter ha fornito l'immagine UAE_SuperFrog.png.

Andrea "Guruman" Maniero e Fulvio "DoctorMorbius_FP" Peruggi: traduzione in italiano.
Martin "Senex" Heine e Oliver "Bladerunner" Hummel: traduzione in tedesco.
Andrei "mobydick" Shestakov e "AmiF1team": traduzione in russo.
Jean-François "Jeffrey" Richard: traduzione in francese.
Héctor "Amiades" Juan López: traduzione in spagnolo.

Questa è la versione 2.02 (2007-01-07) del nostro lavoro collettivo.