# SheepShaver

SheepShaver è un emulatore open source di computer Apple Macintosh basati su processori PowerPC (RISC), che permette quindi di far girare su altre piattaforme vecchie applicazioni Macintosh e molti giochi. Era stato originariamente progettato per BeOS e Linux. Il nome è un gioco di parole riferito a ShapeShifter, un emulatore di Macintosh II per Amiga, reso obsoleto da Basilisk II, che a sua volta non deve essere confuso con un pannello di preferenze di terze parti per Mac OS X avente lo stesso nome. Il progetto SheepShaver (e ShapeShifter) è stato originariamente concepito e sviluppato da Christian Bauer. Tuttavia, il principale sviluppatore dietro SheepShaver è stato Gwenolé Beauchesne.
SheepShaver era originariamente un software commerciale (shareware) quando fu distribuito per la prima volta nel 1998 ma, dopo il fallimento di Be Inc. (il produttore di BeOS), divenne open source nel 2002. Esso poteva essere eseguito sia sulle piattaforme PowerPC che su Intel x86; comunque, SheepShaver è più lento se eseguito su un sistema x86 che su un sistema PowerPC (equivalente per prestazioni), dato che in quest'ultimo caso SheepShaver non deve emulare il processore (le istruzioni sono già nel sistema operativo del Mac). Quando invece SheepShaver gira in macchine con processori Intel occorre una trasformazione del set di istruzioni tra PowerPC e Intel x86.
Attualmente SheepShaver continua ad essere un software open source e viene distribuito nei termini della GNU General Public License (GPL), la sua pagina ufficiale è su cebix.net, il suo codice sorgente è su GitHub e può essere eseguito all'interno di più sistemi operativi oltre ai due originari. Questi sono:
* Unix con X11 (Linux i386/x86_64/ppc, NetBSD 2.x, FreeBSD 3.x)
* Mac OS X (PowerPC e Intel)
* Windows NT/2000/XP/7/8/10/11
* BeOS R4/R5 (PowerPC)
Esistono recensioni del programma e guide all'installazione ed all'uso, anche con forum.
SheepShaver è considerato un buona alternativa ad "ambiente classico", parte del macOS, che svolge la funzione di permettere all'interno di quest'ultimo l'esecuzione di applicazioni scritte per il MacOS classic, il quale ambiente classico però non è più presente nelle versioni successive alla 10.4.11 (Tiger).

## Sistemi Macintosh emulabili

SheepShaver può eseguire al suo interno un'ampia gamma di versioni Mac OS classic, da 7.5.2 fino a 9.0.4, sebbene la sua principale utilità sia nell'eseguire sistemi operativi più recenti del Mac OS 8.1, quelli cioè non utilizzabili in Basilisk II, quali Mac OS 8.5, 8.6 e 9.0-9.0.4. Questo in quanto Basilisk II risulta alquanto più veloce rispetto a SheepShaver, a parità di macchina (hardware) e di sistema operativo su cui l'emulatore è ospite (salvo quando SheepShaver gira su una macchina PPC: in tal caso l'emulazione del processore non avviene perché non serve e si guadagna così in velocità). D'altro canto, molte applicazioni Mac OS più recenti richiedono il processore PowerPC (come tali non possono essere usate in Basilisk) e allora SheepShaver permette di usarle.

## Requisiti

Come per altri emulatori Macintosh (Mini vMac, Basilisk II ed altri) l'esecuzione del programma richiede, oltre una copia del Mac OS che si vuole emulare, di avere una immagine software di una ROM originale di un Mac. Quest'ultima può essere copiata da un Mac reale usando un software come CopyROM. A tal proposito, alcuni ritengono che l'operazione sia legale se si possiede il Mac da cui si estrae l'immagine della ROM.
L'immagine ROM dovrebbe essere inserita, preferibilmente, nella stessa cartella che ospita SheepShaver, l'interfaccia di configurazione SheepShaver GUI e le immagini disco. Per quanto riguarda il tipo di ROM, per eseguire fino Mac Os 8.1 è sufficiente una Old World ROM ma oltre, fino a Mac Os 9.0.4, è più consigliabile avere una New World ROM.

## Procedure preliminari

L'interfaccia di configurazione di SheepShaver (SheepShaver GUI), un'applicazione a sé stante che si presenta nel formato a schede, consente di impostare e/o eseguire varie operazioni preliminari. Permette già di creare un'immagine disco vuota, di sceglierne la capacità e di aggiungere, nella prima scheda (Volumes), tale immagine disco alla lista dei volumi da utilizzare da parte di SheepShaver stesso. Questi file immagini disco sono essenzialmente dei contenitori aventi estensione .dsk (o anche .hfv, se creati da HFVExplorer, ma il formato è lo stesso). Quando sono stati aggiunti in SheepShaver e si lancia il Mac OS, questo chiede di inizializzarli; il che vuol dire, in Mac OS classico, formattarli in HFS (o anche in HFS+, se si è nella versione OS 8.1 o superiore). Fatto questo, all'interno dell'ambiente emulato sono visti come normali dischi del Mac OS classico mentre, all'esterno, possono essere copiati e incollati in ambienti software di pressoché tutti i sistemi operativi.
Le immagini disco che SheepShaver usa come suoi dischi interni sono le stesse immagini disco che usa Basilisk II o Mini vMac. L'interfaccia iniziale di SheepShaver permette di aggiungere alla lista di volumi utilizzabili anche immagini di Disk Copy (file .img), anche di dischetti (solo quelli di 1.44 MB), e immagini CD-ROM in formato .ISO e .toast. In ambiente Windows si può installare HFVExplorer (un particolare file manager) che permette sia la creazione di tali immagini, che di copiare in esse file dal sistema ospitante. In ambiente Mac OS X (macOS) si possono usare, allo stesso scopo, HFSUtilsGUI e HFS Disk Maker. L'interfaccia iniziale di SheepShaver accetta anche immagini già create da Macintosh, come ad esempio le immagini disco di Disk Copy, anche di dischetti (ma solo quelli di 1.44 MB), nel suo formato .img, e immagini CD-ROM in formato .ISO o anche .toast.
Nella seconda scheda (Graphics/Sound) si può scegliere la dimensione che si vuol dare allo schermo Mac: si immette la risoluzione orizzontale e quella verticale, e inoltre la frequenza di aggiornamento video (refresh rate); quest'ultima viene di solito impostata convenientemente su "dynamic"; si può inoltre scegliere se disabilitare o meno la scheda audio.
Seguono poi tre schede, Keyboard/Mouse, Serial e Network, dove si possono impostare varie regolazioni.
La scheda successiva è Memory/Misc. Si imposta la quantità di RAM per il Mac OS (massimo 1 GB), e inoltre si indica il percorso del file immagine della ROM.
L'ultima scheda, JIT Compiler, permette di abilitare questa funzionalità, che velocizza l'emulazione ma che può dare problemi di compatibilità con qualche applicazione, o di disabilitarla.
Infine, la SheepShaver GUI permette di avviare l'emulatore, cosa che si può fare anche più semplicemente lanciando l'applicazione SheepShaver direttamente, quando non si ha necessità di fare regolazioni.

## Possibilità offerte dall'emulatore

Come anche Basilisk II, SheepShaver permette lo scambio di file tra sistema ospite e sistema ospitante tramite un'icona presente sulla scrivania (desktop) del Mac OS emulato. Permette altresì lo scambio tra essi degli Appunti (clipboard), permettendo quindi il copia-incolla, ma limitatamente al contenuto di solo testo, non grafica o altro. A tal proposito, se in Windows era stato copiato del testo o altro, questo rimane negli appunti del Mac; si può sostituirlo solo se in Mac si copia testo, se si vuole copiare grafica occorre prima svuotare gli appunti in Windows, con un comando o un software/app (es. clipbrd.exe).
SheepShaver può, come Basilisk II, essere eseguito anche all'interno di una finestra così che le applicazioni Mac OS classiche possano essere attive insieme a quelle del sistema ospitante.
SheepShaver ha il supporto Ethernet e uscite sonore di qualità CD. Esso però non emula l'unità di gestione della memoria (MMU). Sebbene sia stato discusso di aggiungere l'emulazione della MMU, questa caratteristica non è mai stata aggiunta a causa dello sforzo necessario per la sua implementazione. Tale mancanza è la causa per cui SheepShaver non può accettare versioni più recenti di OS 9.0.4 (per es. 9.1, 9.2.1 e 9.2.2). Per emulare questi ultimi sistemi si può usare ad esempio QEMU.

## Profili di utilizzo

Dato che i nuovi computer Apple Macintosh con processori Intel non possono eseguire la modalità Classica, ma anche i precedenti PPC la cui versione minima di MacOS X era successiva alla 10.14.11 (Tiger), SheepShaver resta una valida alternativa per gli utenti che vogliano usare programmi che giravano in versioni Mac OS classic dalla 7.5.2 alla 9.0.4. Per eseguire applicazioni che giravano in versioni Mac OS classic dalla 7.0 alla 8.1, si può invece usare un emulatore come Basilisk II. SheepShaver non può comunque essere sostituito da Basilisk II per quelle applicazioni e giochi scritti esclusivamente per PPC.