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).
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.
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.
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!
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.
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.
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.
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...
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).
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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
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
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
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
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.
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.
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).
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.
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.
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.
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.
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.
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.