Mini vMac è un software grafico open source, libero e cross-platform implementato in C e progettato dall'offset per agire come emulatore per il sistema Macintosh Plus creato da Apple, in esecuzione su sistemi operativi Linux, BSD, Microsoft Windows e Mac OS X.
Essendo una delle più antiche macchine Macintosh progettate da Apple, Macintosh Plus gestisce solo un vecchio software Mac, che, ovviamente, non funziona sui computer Macintosh recenti. Di conseguenza, il software Mini vMac aiuta a preservare la cronologia. È stato progettato per essere il più facile da usare, portatile e semplice possibile.
Come iniziare con Mini vMac
Per utilizzare l'applicazione Mini vMac sul tuo sistema GNU / Linux, assicurati di scaricare il pacchetto binario che corrisponde all'architettura hardware del computer, salvare l'archivio da qualche parte nel computer, disimballarlo e fare doppio clic sull'eseguibile .
L'applicazione si aprirà, avvisando che un'immagine ROM del canonico del sistema Macintosh Plus si trova. Ciò significa che dovrai anche ottenere un file vMac.ROM (maggiori dettagli possono essere trovati nella home page del progetto) e inserirlo nella stessa cartella del file eseguibile Mini vMac.
Dopo aver ottenuto l'immagine ROM ROM Macintosh, è necessario chiudere il programma e riaprirlo. Se il file ROM è valido, il sistema verrà automaticamente avviato e ti consente di utilizzarlo come se si utilizza qualsiasi altro sistema operativo virtualizzato.
Funziona su tutti i sistemi operativi principali
Questo software è in realtà uno spin off dell'applicazione vMac, che non è stato aggiornato in molti anni. Per la tua comodità, viene distribuito come pacchetti binari preinstallati per i suddetti sistemi operativi, supportando le architetture di set di istruzioni a 64 bit (x86_64) e 32 bit (x86).
Il codice sorgente dell'applicazione è anche disponibile per il download, per coloro che desiderano ottimizzare il software per una specifica piattaforma hardware o sistema operativo.
Che cos'è nuovo in questa versione:
- Il mini vMac 3.5.8 di oggi aggiorna la versione stabile per risolvere un problema su PowerPC OS X e corregge anche un problema che riguarda il servizio di variazione. Mini vMac 3.5.8 su piattaforme diverse da PowerPC OS X ('mach') e x86-32 OS X ('imch'), deve essere identica a Mini vMac 3.5.7, ad eccezione della stringa di versione e della data di modifica. / li>
- È stato riferito che & quot; Mini vMac 3.5.7 non funziona nei sistemi PPC G3 & quot ;. Si scopre che la bandiera GCC & quot; -mmacosx-version-min & quot; dovrebbe essere specificato per tutti i file compilati, non solo il codice dipendente dalla piattaforma. Interessa cose come la CPU richiesta. Facendo questo cambiamento accade di non avere alcun effetto su Mini vMac per x86-64 OS X, esiste qualche effetto per x86-32 OS X e l'effetto più grande è per PowerPC.
Cosa c'è di nuovo nella versione 3.3.3:
- Nuove funzionalità di compilazione predefinite:
- Altri sistemi operativi sono ufficialmente supportati da Mini vMac:
- FreeBSD su x86-32 (usando & quot; -t fbsd & quot; nel sistema di generazione)
- FreeBSD su x86-64 ("-t fb64")
- OpenBSD su x86-32 (& quot; -t obsd ")
- OpenBSD su x86-64 (& quot; -t ob64 & quot;)
- NetBSD su x86-32 ("-t nbsd")
- NetBSD su x86-64 ("-t nb64")
- Dragonfly BSD su x86-32 (& quot; -tdbsd & quot;)
- Dragonfly BSD su x86-64 (& quot; -t db64 & quot;)
- OpenIndiana su x86-32 ("-tind")
- OpenIndiana su x86-64 ("-t oi64")
- Linux su ARM (& quot; -t larm & quot;)
- Linux su SPARC (& quot; -t lspr & quot;)
- Minix 3.2 (& quot; -t minx & quot;)
- Queste porte adattano lo stesso codice X Window come la porta Linux e dovrebbero avere la stessa funzionalità, a meno che adesso non siano suoni per alcuni. Le versioni x86-64 sono attualmente più lente, per mancanza di tweaking della lingua di assemblaggio e non dovrebbero essere utilizzate se le versioni x86-32 funzioneranno.
- Le versioni X possono ora suonare il suono utilizzando l'API Open Sound System (OSS). (Di solito usando le implementazioni compatibili su ciascun sistema operativo, piuttosto che lo stesso OSS ufficiale.) Il suono è abilitato per impostazione predefinita su FreeBSD e NetBSD. Il suono è compilato senza problemi (usando il & quot; -sound 1 & quot;) su Dragonfly BSD e OpenIndiana, ma non sono ancora in grado di testare su questi. Ottenere il suono su Dragonfly BSD sembra richiedere alcune impostazioni manuali. OpenIndiana non sembra produrre alcun suono in tutte le versioni di VMware Fusion. Il suono anche compila senza problemi su OpenBSD, ma non funziona - imposta la frequenza di campionamento desiderata fallisce. Minix non sembra davvero supportare il suono. È anche possibile utilizzare l'API OSS su Linux, utilizzando i nuovi "-snd-api" costruire l'opzione di sistema.
- Le versioni X che cercheranno di cercare nella cartella contengono l'applicazione per l'immagine ROM, come la versione Macintosh e Windows. (E anche per i file disk1.dsk e così via.) Se la directory applicazione non può essere determinata, la directory corrente viene utilizzata come prima. Questo è attuato per Linux, FreeBSD, NetBSD, Dragonfly BSD e OpenIndiana, ma non OpenBSD e Minix.
- Le versioni X hanno ora una nuova opzione della riga di comando & quot; -d [directory_path] ", in cui viene utilizzato [directory_path] anziché la directory dell'applicazione quando si cerca l'immagine ROM e disk1.dsk e così via .
- Le versioni X hanno ora una nuova opzione della riga di comando & quot; -n [app_name] ", in cui viene utilizzato [app_name] anziché il nome dell'applicazione per il titolo della finestra Mini vMac.
- Le versioni X supportano ora una cartella centrale ROM come le versioni di Macintosh e Windows. Se & quot; ~ / .gryphel / mnvm_rom & quot; esiste, Mini vMac cercherà lì per l'immagine ROM. Se non è presente, apparirà nella directory dell'applicazione. (E l'opzione della riga di comando -r sostituirà entrambi.)
- Modificato il comportamento compilazione predefinita:
- Disegnare lo schermo emulato sullo schermo reale è più efficiente. Quando la profondità del colore è di 4 bit o meno, invece di convertire ogni pixel, esiste una tabella con 256 voci per la conversione di un byte alla volta. È anche più attento solo per la conversione di pixel nel rettangolo che limita l'area modificata, piuttosto che l'intero schermo.
- La versione Linux carica dinamicamente la libreria ALSA per riprodurre il suono, in modo che Mini vMac continui a funzionare, senza suono, anche se ALSA non è installato. (Questa tecnica è stata vista in SDL.) Quindi per impostazione predefinita la versione Linux è ora compilata con il suono, corrispondente alle versioni di Mac e Windows.
- Nella versione Linux, quando si riproduce il suono con ALSA, snd_pcm_delay non è più chiamato. Il ritardo fino a quando non viene riprodotto un campione non è veramente rilevante. Quello che Mini vMac ha bisogno di sapere è il momento di bloccare il underrun. Così Mini vMac guarda ora la dimensione del buffer meno lo spazio disponibile nel buffer, che può essere più utile, al fine di impedire il buffer underrun riducendo al minimo la latenza.
- Le versioni X utilizzano ora il blocco consultivo per rifiutare di aprire la scrittura di un'immagine disco aperta per la scrittura da un'altra copia di Mini vMac. In precedenza, le versioni X di Mini vMac potrebbero aprire un'immagine disco già aperta, probabilmente danneggiando l'immagine. Se Mini vMac può solo aprire un'immagine di disco solo in lettura, ad esempio perché l'utente ha bloccato il file, il blocco consigliato non viene utilizzato e possono essere usate più copie di Mini vMac.
- Le versioni X tentano di utilizzare il nome dell'applicazione per impostare il titolo della finestra, come le versioni di Macintosh e Windows. (Se il nome dell'applicazione non può essere determinato, viene usato come "Mini vMac"). Viene trovato contemporaneamente alla directory delle applicazioni e viene implementato per gli stessi sistemi operativi.
- Gli argomenti della riga di comando vengono ora scanditi prima di cercare disk1.dsk e così via i file. Ciò è necessario per il nuovo & quot; -d & quot; opzione per funzionare e ha l'effetto collaterale che, se le immagini del disco sono specificate nella riga di comando, saranno aperte per primo. Se ci sono immagini sulla riga di comando, Mini vMac non si preoccupa di cercare disk1.dsk a tutti.
- Il & quot; -l & quot; (o "l" su Windows) l'opzione della riga di comando viene rimossa. Il "-peed z" dovrebbe essere utilizzato invece l'opzione per il sistema di compilazione. L'opzione della riga di comando era da quando esisteva il sistema di generazione e la decisione è stata scelta per favorire le opzioni di time build per le opzioni di tempo di esecuzione.
- Correzioni di bug nella compilazione di default:
- La versione di Windows ora mappe il tasto Invio sulla tastiera numerica al tasto Invio Macintosh. Ora è possibile distinguere quella chiave dal tasto Invio nella tastiera principale, che viene mappata alla chiave di ritorno Macintosh. In precedenza non è stato possibile digitare il tasto Macintosh Enter. Grazie a & quot; Alex & quot; per indicare questo problema.
- Nella versione di Windows, in modalità a schermo intero, il controllo per verificare se un evento chiave in corso è un codice autorepeed non è corretto. Così potenzialmente le chiavi potrebbero essere ignorate quando non avrebbero dovuto essere. Ho rimosso il controllo, poiché non è chiaro come farlo correttamente (quando utilizzi un & quot; gancio della tastiera a basso livello & quot;). Ciò non influisce sull'emulazione di Macintosh, poiché esiste un controllo aggiuntivo per eventi ridondanti. Può influenzare la modalità di controllo, ad esempio quando si tiene premuto Control-M.
- La versione di Windows ora risponde al messaggio WM_QUERYENDSESSION, in modo che se si tenta di arrestare il computer con Mini vMac in esecuzione (con immagini disco montate), Mini vMac si lamenterà e interromperà lo spegnimento.
- Nella versione Linux, utilizzando ALSA per riprodurre il suono, è stato chiamato snd_pcm_start prima di mettere qualsiasi campione di suoni nel buffer ALSA. Ciò potrebbe causare balbuzie all'inizio, o in base a una relazione, impedire al suono di lavorare affatto. Il mini vMac attende fino a quando il suo buffer privato è pieno, quindi trasferisce quanto più si inserisce nel buffer ALSA e quindi inizia a suonare.
- Quando la versione Linux è compilata per ARM, include un controllo che il risultato di snd_pcm_avail_update sembra ragionevole e se non le chiamate snd_pcm_status_get_avail invece. Questo funziona attorno a quello che sembra essere un bug in Raspbian per il Raspberry Pi.
- L'orologio emulato non è stato inizializzato correttamente ed è stato corretto solo dopo il primo "secondo" interrompere.
- Se la schermata emulata è troppo grande per adattarsi alla schermata reale (quando è disponibile l'autoscroll), se l'area della schermata emulata che è stata modificata non interseca l'area visibile dello schermo emulato, è stato un rettangolo non valido utilizzato per il disegno. Ho scoperto questo quando provavo VectorLinux 7, che sembra avere alcuni controlli di debug aggiuntivi.
- In circostanze improbabili, in modalità a schermo intero, l'autoscroll non può scorrere per visualizzare l'ultima riga di pixel in basso o l'ultima colonna di pixel a destra.
- Se il computer host non è abbastanza veloce per Mini vMac per eseguire a velocità 1x, quindi Mini vMac non funzionerebbe correttamente, pausa per alcuni secondi periodicamente. Il test per questa situazione era errato e un contatore di un byte sarebbe overflow. (I contatori minimi, più piccoli, facilitano la rilevazione di bug come questo.)
- Nelle versioni X Window di Mini vMac, quando si utilizza l'estensione Mini vMac per creare un file sul sistema host, ad esempio con ExportFl, una finestra di salvataggio non viene implementata. In precedenza il file sarebbe stato creato semplicemente nella directory dell'applicazione con il nome richiesto. Questo non era sicuro, al peggio consente un programma in esecuzione in Mini vMac per sostituire l'applicazione Mini vMac. Così ora i file saranno invece creati in una cartella denominata & quot; output & quot; nella directory contenente l'applicazione. Questa cartella verrà creata se non esiste.
- Nella versione di Microsoft Windows, se un percorso ad un'immagine disco viene passato a Mini vMac sulla riga di comando che è più lungo di quanto non sia legale per un percorso, un risultato di overflow di buffer.
- La versione di Windows CE ha subito un pizzico di bit. Ora compila e funziona almeno sull'emulatore di periferiche Microsoft con Windows Mobile versione 5.0. Non ho idea se funziona su hardware reale. Qualcuno si preoccupa? (Windows Mobile è stato interrotto e sostituito da Windows Phone.) Questa porta ha iniziato ad interferire con il mantenimento della versione principale di Windows e la scelta è stata di rimuoverla completamente o renderla aggiornabile.
- Nuove funzionalità non compilate di default:
- L'opzione del nuovo sistema di build & quot; -lt & quot; abilita l'emulazione LocalTalk di Mike Fort. Le attuali sono alcune limitazioni. Viene implementato solo per OS X. Richiede l'esecuzione del comando & quot; sudo chmod ugo + rw / dev / bpf * & quot; per consentire a Mini vMac (e tutti gli altri) l'accesso a tutto il traffico di rete. Il "-lt" l'opzione causa anche la funzionalità di avvio Mini vMac in background per impostazione predefinita, poiché Mini vMac non può essere un nodo LocalTalk appropriato se non è in esecuzione. E devi attivare manualmente AppleTalk nel selezionatore - posso impostare le bandierine PRAM per avviare AppleTalk già, ma non funziona correttamente.
- Una nuova opzione di build system & quot; -lang pol & quot; seleziona una traduzione polacca dell'interfaccia utente di Przemyslaw Buczkowski.
- Le versioni X hanno il supporto iniziale per il colore (per l'emulazione di Mac II). La versione X finora supporta solo 24 bit "TrueColor" e presenta alcune limitazioni sul formato. Dubito che qualcosa oltre TrueColor sia usato su macchine moderne e probabilmente non supporterà le altre opzioni. Possono essere utilizzate altre profondità, come 15, 16 e 32 bit, e quindi probabilmente dovrebbe essere supportato, se posso trovare un modo per testarli.
- Una nuova opzione di build system & quot; -mf & quot; consente di modificare l'ingrandimento dal valore predefinito 2. Ad esempio, & quot; -mf 3 & quot; imposta l'ingrandimento su 3. L'opzione & quot; -mf 1 & quot; disattiva l'ingrandimento (rimozione del comando Control-M). Il fattore di ingrandimento deve essere un numero intero.
- Il comportamento modificato non è compilato in precedenza:
- La profondità di colore predefinita per l'emulazione di Mac II è & quot; -depth 3 & quot; invece di "-depth 0".
- Per l'emulazione di Macintosh II, AutoSlow è disattivato per impostazione predefinita & quot; -as 0 & quot ;. AutoSlow potrebbe richiedere ulteriori sintonizzazioni per funzionare bene con l'emulazione di Mac II.
- Nelle versioni X, i risultati di fwrite e delread su immagini sul disco vengono ora verificati per errori che smettono di avvisare il compilatore nel nuovo Ubuntu.
- Correzioni di bug non in compile predefinito:
- Corretto un bug nell'istruzione DIVS.L riportata da & quot; AP & quot ;. (Istruzione 68020 utilizzata per l'emulazione di Mac II).
- Fissa l'istruzione BFFFO, che è stata interrotta, come riportato da & quot; AP & quot ;. (Un'altra istruzione 68020 utilizzata nell'emulazione di Mac II).
- Le operazioni sul campo di bit in un registro ora utilizzano ruotare piuttosto che spostamento. I bit selezionati possono essere non contigui, come sottolineato da & quot; AP & quot; e confermati dalla documentazione. (Nel 68020 sono stati aggiunti i campi di operazioni di bit)
- Le operazioni sul campo di bit sulla memoria cercano di operare solo quanti più byte di cui si desidera. In precedenza operava sempre su 5 byte, che potrebbero avere effetti indesiderati se funzionano su un dispositivo mappato come indicato da & quot; AP & quot ;.
- Il nome "MoveP.L, Dn" l'istruzione ha mescolato l'ordine di spostamento e di mascheramento e così è stato completamente rotto, come riportato da "AP".
- L'hack che consente grandi quantità di RAM video nell'emulazione di Macintosh II non funzionava correttamente perché una matrice utilizzata per la traduzione degli spazi di indirizzamento nell'emulazione della CPU non è stata allocata abbastanza grande. Ora il sistema di costruzione sceglie la dimensione di allocazione. (Questo problema è stato osservato per 1024x768 con milioni di colori.) Ulteriori dettagli: Ogni scheda NuBus ottiene solo 1M di spazio di indirizzi quando il computer è in modalità a 24 bit. E un Mac II sembra di solito disegnare in modalità a 24 bit. Quando è necessaria una maggiore quantità di RAM video per le opzioni di tempo di compilazione richieste, il Mini vMac utilizza lo spazio di indirizzi dagli slot NuBus adiacenti.
- Fixed & quot; -min-extn & quot; build option nella versione Linux
- Sistema di generazione:
- Aggiunto l'opzione del sistema di generazione & quot; -api cco & quot; utilizzare l'API Cocoa di Apple per OS X anziché l'API obsoleta di Carbon. Ma il porto di Cocoa di Mini vMac non è ancora considerato piuttosto pronto per essere ufficialmente supportato, e quindi la versione del Carbon è ancora usata.
- Aggiunto l'opzione di sistema di build & quot; -api sdl & quot; utilizzare l'API Simple DirectMedia Layer 1.2. Questo è stato aggiunto come una pietra miliare alla porta Cocoa - combinando il codice sorgente per SDL con il codice sorgente per una porta SDL di Mini vMac e quindi rimuovendo tutto ciò che non è necessario e poi un sacco di pulizia fino a quando un nativo nativo Cacao il porto è emerso. Tuttavia la porta SDL può essere utilizzata come per la porta ad altre piattaforme supportate da SDL. Ma questo non è (ancora) ufficialmente supportato.
- Aggiunto l'opzione del sistema di build & quot; -t mx64 & quot; per l'implementazione X11 di Apple su x86-64. (Precedentemente x86-32 e PowerPC sono stati supportati.)
- Aggiunto l'opzione del sistema di build "& quot; -t cygw & quot; per Cygwin / X per Microsoft Windows. Cygwin può anche essere utilizzato per compilare la normale versione di Microsoft Windows con "-t wx86 -e cyg".
- Aggiunto l'opzione del sistema di build "& quot; -t irix & quot; per IRIX di Silicon Graphics, Inc., grazie a John Perkins.
- MinGW può essere utilizzato per compilare Mini vMac con l'opzione di sistema di build & quot; -t wx86 -e mgw & quot ;. Poiché il sanguinamento Dev-C ++ è basato su MinGW, "-t wx86 -e dvc -cl" precedentemente fornirà risultati simili.
- Modificato ordine di argomenti al comando link quando si crea la versione Linux. Si scopre che c'è un ordine convenzionale per come devono essere specificate le librerie, che non sapevo da quando non ero arrivato a un linker che ha curato fino a Ubuntu 11.10.
- Il sistema di build dovrebbe ora funzionare correttamente in altri emulatori come SheepShaver. È stato riferito in modo anonimo che il sistema di compilazione sarebbe in crisi emulatori. Il test per verificare se il sistema di generazione era in esecuzione in Mini vMac (in modo che l'archivio risultante possa essere esportato all'host) non era abbastanza buono.
- Il sistema di build ora elimina i messaggi di avviso generati durante la compilazione dell'emulazione di Macintosh II con Microsoft Visual C ++, grazie a un rapporto di William Grana.
I commenti non trovato