Mini vMac е отворен код, безплатен и междуплатформен графичен софтуер, вграден в C и проектиран от офсетовия, за да действа като емулатор за компютърната система Macintosh Plus, създадена от Apple на операционни системи Linux, BSD, Microsoft Windows и Mac OS X.
Като една от най-ранните машини Macintosh, проектирани от Apple, Macintosh Plus работи само със стар софтуер за Mac, който, разбира се, не работи на последните Macintosh компютри. Следователно, софтуерът Mini vMac помага да се запази историята. Той е проектиран така, че да е толкова лесен за употреба, преносим и прост, колкото е възможно.
Първи стъпки с Mini vMac
За да използвате приложението Mini vMac на вашата GNU / Linux система, уверете се, че сте изтеглили двоичния пакет, съответстващ на хардуерната архитектура на вашия компютър, запазете архива някъде на вашия компютър, разопаковайте го и щракнете двукратно върху изпълнимия .
Приложението ще се отвори, като ви уведоми, че изображението на системата Macintosh Plus не може да бъде намерено. Това означава, че ще трябва да получите и файл vMac.ROM (повече подробности можете да намерите на началната страница на проекта) и го поставете в същата папка като изпълнения на Mini vMac.
След като сте получили изображението на Macintosh Plus ROM, трябва да затворите програмата и да я отворите отново. Ако ROM файлът е валиден, системата автоматично ще стартира и ще ви позволи да го използвате, както бихте използвали всяка друга виртуализирана операционна система.
Изпълнява всички основни операционни системи
Този софтуер всъщност е спиране на приложението vMac, което не е актуализирано в продължение на много години. За ваше удобство той се разпространява като предварително изградени двоични пакети за гореспоменатите операционни системи, поддържащи архитектури на 64-битови (x86_64) и 32-битови (x86) комплекти за инструкции.
Изходният код на приложението е достъпен и за изтегляне за тези от вас, които искат да оптимизират софтуера за конкретна хардуерна платформа или операционна система.
Какво е нова в тази версия:
- Днешният Mini vMac 3.5.8 актуализира стабилната версия за отстраняване на проблем в PowerPC OS X и също така поправя проблем, засягащ услугата "Variation". Mini vMac 3.5.8 на платформи, различни от PowerPC OS X ("mach") и x86-32 OS X ("imch"), трябва да бъде идентичен с Mini vMac 3.5.7, / Li>
- Съобщено е, че "Mini vMac 3.5.7 няма да работи на системи PPC G3". Оказва се, че флагът ССС "-mmacosx-version-min" трябва да бъдат посочени за всички компилирани файлове, а не само за платформата, зависима от платформата. Това засяга неща като изисквания процесор. Извършването на тази промяна няма да има ефект върху Mini vMac за x86-64 OS X, има ефект за x86-32 OS X и най-големият ефект е за PowerPC.
Какво е новото във версия 3.3.3:
- Нови функции в компилацията по подразбиране:
- Повече операционни системи официално се поддържат от Mini vMac:
- FreeBSD на x86-32 (Използвайки "-t fbsd" в изграждащата система)
- FreeBSD на x86-64 ("-t fb64")
- OpenBSD на x86-32 ("-t obsd")
- OpenBSD на x86-64 ("-t ob64")
- NetBSD на x86-32 ("-t nbsd")
- NetBSD на x86-64 ("-t nb64")
- Dragonfly BSD на x86-32 ("-t dbsd")
- Dragonfly BSD на x86-64 ("-t db64")
- OpenIndiana на x86-32 ("-t oind")
- OpenIndiana на x86-64 ("-t oi64")
- Линукс на ARM ("-t larm")
- Linux на SPARC ("-t lspr")
- Minix 3.2 ("-t minx")
- Тези портове се приспособяват към същия прозорец на X прозореца като пристанище Linux и трябва да имат една и съща функционалност, но в момента не звучат за някои. Версиите x86-64 понастоящем са по-бавни, поради липсата на променяне на езика за сглобяване и не трябва да се използват, ако версиите x86-32 ще работят.
- Версиите X вече могат да възпроизвеждат звук, използвайки API на Open Sound System (OSS). (Обикновено се използват съвместими реализации на всяка операционна система, а не на официалния OSS.) Звукът вече е разрешен по подразбиране на FreeBSD и NetBSD. Звукът се компилира без проблеми (използвайки "сигнал 1") на Dragonfly BSD и OpenIndiana, но все още не успях да тествам тези неща. Първият звук на Dragonfly BSD изглежда изисква някои ръчно настройване. OpenIndiana изглежда не произвежда никакъв звук във VMware Fusion. Звукът също се компилира без проблеми в OpenBSD, но не работи - настройването на желания пробен курс се провали. Minix не изглежда да поддържа звука. Също така е възможно да използвате OSS API на Linux, като използвате новата "-snd-api" изграждане на опция за системата.
- Вече X версиите ще се опитат да видят в папката, съдържаща приложението за ROM изображението, както при Macintosh и Windows версията. (И за диск1.dsk и т.н. файлове.) Ако директорията на приложението не може да бъде определена, текущата директория се използва както преди. Това се прилага за Linux, FreeBSD, NetBSD, Dragonfly BSD и OpenIndiana, но не и OpenBSD и Minix.
- Версиите X вече имат нова опция за командния ред "-d [директория_данни]", в която [directory_path] се използва вместо директорията на приложението при търсене на ROM изображение и диск1.dsk и т.н. файлове .
- Версиите X сега имат нова опция за командния ред "-n [име_на_приложение]", в която се използва името на приложение вместо името на приложението за заглавието на прозореца Mini vMac.
- Вече X версията поддържа централна ROM папка, подобна на версиите на Macintosh и Windows. Ако "/ .gryphel / mnvm_rom" съществува, Mini vMac ще търси там ROM изображението. Ако тя не е там, тя ще изглежда в директорията на приложението. (И опцията за командата -r ще замени двете.)
- Променено поведение при компилиране по подразбиране:
- Изчертаването на емулирания екран на реалния екран е по-ефективно. Когато дълбочината на цвета е 4 бита или по-малко, вместо да преобразувате всеки пиксел, има таблица с 256 записа за конвертиране на един байт в даден момент. Също така е по-внимателно да конвертирате пиксели в правоъгълника, ограничаващ променената област, вместо в целия екран.
- Линукс версията динамично зарежда библиотеката на ALSA за възпроизвеждане на звук, така че Mini vMac ще продължи да работи без звук, дори ако ALSA не е инсталиран. (Тази техника е видяна в SDL.) По подразбиране версията на Линукс сега е компилирана със звук, съответстващ на версиите на Mac и Windows.
- В Linux версията, когато възпроизвеждате звук с ALSA, snd_pcm_delay вече не се извиква. Забавянето до изписването на извадката не е релевантно. Какво трябва да знаете за Mini vMac е времето, за да се избегне натиск. Така че Mini vMac сега гледа на буферния размер минус наличното пространство в буфера, което може да е по-полезно, за да се предотврати натиска на буфера, като се сведе до минимум латентността.
- Версиите X вече използват заключване на съветите, за да откажат да се отворят за писане на дисково изображение, което е било отворено за писане от друго копие на Mini vMac. Преди това, версиите X на Mini vMac можеха да отворят вече отворено дисково изображение, което вероятно щеше да повреди изображението. Ако Mini vMac може да отвори само изображение на диска само за четене, например защото потребителят е заключил файла, не се използва заключването на съветника и много копия на Mini vMac могат да го използват.
- Вече X версията се опитва да използва името на приложението, за да зададе заглавието на неговия прозорец, подобно на версиите на Macintosh и Windows. (Ако името на приложението не може да бъде определено, "Mini vMac" се използва както преди.) Това се намира едновременно с директорията на приложението и се изпълнява за същите операционни системи.
- Аргументите на командния ред вече се сканират, преди да търсят файловете disk1.dsk и т.н. Това е необходимо за новата "-d" опция за работа и има страничен ефект, че ако дисковите изображения са зададени на командния ред, те първо ще бъдат отворени. Ако има изображения на командния ред, Mini vMac няма да се притеснява да търси изобщо disk1.dsk.
- "-l" (или "/ l" в Windows) опцията за команден ред е премахната. "Скоростта z" вместо това трябва да се използва опция за изграждане на системата. Опцията за командния ред е от преди изграждането на системата и решението е направено за предпочитане на опции за време за изграждане по време на опции за време на изпълнение.
- Коригиране на грешки при компилиране по подразбиране:
- Сега версията на Windows нанася клавиша Enter на цифровата клавиатура на клавиша Enter Macintosh. Сега той може да различи този ключ от клавиша Enter на главната клавиатура, който е преобразуван в Macintosh Return Key. В миналото нямаше начин да въведете клавиша за въвеждане на Macintosh. Благодарение на "Alex" за да посочите този проблем.
- В версията на Windows, в режим на цял екран, проверката дали дадено събитие с ключ е автоматично ремонтиран ключ е неправилно. Така че потенциалните ключове биха могли да бъдат игнорирани, когато не би трябвало да са били. Премахнах проверката, тъй като не е ясно как да направите това правилно (когато използвате "ниска клавиатура"). Това не влияе върху емулацията на Macintosh, тъй като има допълнителна проверка за излишни събития. Тя може да повлияе на режима на управление, например когато държите натиснат Control-M.
- Сега версията на Windows отговаря на съобщението WM_QUERYENDSESSION, така че ако се опитате да изключите компютъра с Mini vMac (с монтирани дискови изображения), Mini vMac ще се оплаче и ще спре изключването.
- В Linux версията, използвайки ALSA за възпроизвеждане на звук, се извиква snd_pcm_start преди поставянето на всички звукови проби в буфера ALSA. Това може да причини заекване в началото, или според един доклад, да предотврати звука да работи изобщо. Мини vMac чака чак докато неговият частен буфер е пълен, след това прехвърля толкова, колкото ще се побере в буфера на ALSA, а след това започва звуковото възпроизвеждане.
- Когато версията на Линукс се компилира за ARM, тя включва проверка дали резултатът от snd_pcm_avail_update изглежда разумен и ако не се обажда snd_pcm_status_get_avail вместо това. Това работи около това, което изглежда да е бъг в Raspbian за малина Pi.
- Емулираният часовник не е правилно иницииран и е бил правилен само след първото "второ" прекъсне.
- Ако емулираният екран е твърде голям, за да се побере на истинския екран (когато е налице автоматичен избор), ако областта на емулирания екран, която е променена, не пресича видимата област на емулирания екран, тогава е бил вписан невалиден правоъгълник използван за рисуване. Открих това при изпробването на Vector Linux 7, което изглежда има някои допълнителни проверки за отстраняване на грешки.
- При неблагоприятни обстоятелства, в режим на цял екран, е възможно авто маслото да не се превърта, за да се покаже последният ред пиксели в долната или последната колона от пиксели вдясно.
- Ако хост компютърът не е достатъчно бърз, за да може Mini vMac да работи на 1 скорост, Mini vMac няма да работи гладко, като периодично спира за няколко секунди. Тестът за тази ситуация е неправилен и един бийт брояч ще преливат. (Имате такива броячи, колкото е възможно по-малък, улеснява откриването на подобни бъгове.)
- В X Window версии на Mini vMac, когато използвате разширението Mini vMac, за да създадете файл на хост системата, като например ExportFl, не се изпълнява диалогов прозорец за запис. Преди това файлът просто би бил създаден в директорията на приложението с исканото име. Това не е безопасно, в най-лошия случай позволява на програма, работеща в Mini vMac, да замени приложението Mini vMac. Така че сега файловете ще бъдат създадени в папка, наречена "изход" в директорията, съдържаща приложението. Тази папка ще бъде създадена, ако тя не съществува.
- В версията на Microsoft Windows, ако пътят към изображението на диска се предава на Mini vMac на командния ред, който е по-дълъг от този, който е законосъобразен за път, резултатът е препълване на буфера.
- Версията на Windows CE претърпя малко гниене. Сега той се компилира и поне работи на Microsoft Emulator устройство с Windows Mobile версия 5.0. Нямам представа дали работи на реален хардуер. Дали някой се интересува? (Windows Mobile беше прекратен и заменен от Windows Phone.) Този порт започва да пречи на поддържането на основната версия на Windows и изборът е да го премахнете изцяло или да го направите поддържаем.
- Нови функции, които не са компилирани по подразбиране:
- Новата опция за изграждане на системата "-lt" дава възможност за емулация на LocalTalk на Mike Fort. Понастоящем има някои ограничения. Тя се прилага само за OS X. Тя изисква да изпълните командата "sudo chmod ugo + rw / dev / bpf *". за да позволи на Mini vMac (и на всички останали) достъп до целия мрежов трафик. "-lt" опцията също така кара Mini vMac да работи на заден план по подразбиране, защото Mini vMac не може да бъде правилен локален тон, ако не работи. И трябва ръчно да включите AppleTalk в избора - мога да настроя параметрите PRAM, за да стартирам вече с AppleTalk, но това не работи правилно.
- Нова опция за изграждане на система "lang pol" избира полски превод на потребителския интерфейс от Przemyslaw Buczkowski.
- X версиите имат първоначална поддръжка за цветовете (за Mac II емулация). Версията X досега поддържа само 24 бита "TrueColor" и има няколко други ограничения за формата. Съмнявам се, че всичко друго освен TrueColor се използва на съвременни машини и вероятно няма да поддържа другите опции. Могат да се използват и други дълбочини, като 15, 16 и 32 бита, и вероятно трябва да се поддържат, ако мога да намеря начин да ги тествам.
- Нова опция за изграждане на система "-mf" позволява промяна на увеличението от по подразбиране 2. Например, "-mf 3" установява увеличението до 3. Опцията "-mf 1" деактивира увеличаването (премахване на командата Control-M). Факторът на увеличение трябва да е цяло число.
- Променено поведение, което не е компилирано по подразбиране:
- Основната дълбочина на цвета за емулация на Mac II е "-дълбочина 3" вместо "-depth 0".
- За емулация за Macintosh II, AutoSlow вече е деактивирано по подразбиране "-а 0". Възможно е автоматичното засмукване да се нуждае от допълнителна настройка, за да работи добре с емулация на Mac II.
- В X версиите резултатите от fwrite и fread на дисковите изображения вече се проверяват за грешки, което спира предупрежденията на съставителите в последните Ubuntu.
- Поправки на грешки, които не са компилирани по подразбиране:
- Отстранена е грешка в инструкцията DIVS.L, съобщена от "AP". (Инструкция A 68020, използвана в емулация Mac II.)
- Фиксирана е инструкцията BFFFO, която е била напълно счупена, както е съобщено от "AP". (Друга 68020 инструкция, използвана при емулация на Mac II.)
- Дейностите в бит поле в регистър сега използват ротация, а не промяна. Избраните бита могат да бъдат несъседни, както е посочено от "AP" и потвърдено от документацията. (Битовите полета бяха добавени в 68020.)
- Операциите с битови полета в паметта се опитват да работят само на толкова байтове, колкото е необходимо. По-рано той винаги работи на 5 байта, което може да има нежелани ефекти при работа с устройство с памет, както е посочено от "AP".
- Бутоните "MoveP.L, Dn" инструкцията смесва реда на преместване и маскиране и така се нарушава напълно, както е съобщено от "AP".
- Хакването, което позволява много големи количества видео RAM в емулацията Macintosh II, не работи правилно, защото масивът, използван за преобразуване на адресно пространство в емулацията на процесора, не е разпределен достатъчно голям. Сега системата за изграждане избира размера на разпределението. (Този проблем е наблюдаван при 1024x768 с милиони цветове.) Допълнителна подробност: Всяка карта NuBus получава само 1 метър от адресното пространство, когато компютърът е в 24-битов режим. И Mac II изглежда, че обикновено тегли 24 битов режим. Когато е необходима още видео RAM за желаните опции за компилиране, Mini vMac използва адресно пространство от съседни NuBus слоеве.
- Фиксиран "-min-extn" build версия в Linux версията.
- Създайте система:
- Добавена опция за изграждане на системата "-api cco" да използва API за какао на Apple за OS X, а не на отхвърления Carbon API. Но какаовото пристанище на Mini vMac все още не се смята за готово да бъде официално поддържано и така Carbon версията все още се използва.
- Добавена опция за изграждане на системата "-api sdl" да използвате приложния програмен интерфейс (API) на Simple DirectMedia Layer 1.2. Това беше добавено като стъпало до какаовия порт - чрез комбиниране на изходния код за SDL със изходния код за SDL порт на Mini vMac и след това премахване на всичко, което не е необходимо, а след това много почистване, докато първоначално местното какао порт се появи. Въпреки това, SDL портът може да се използва по същия начин като пристанище към други платформи, поддържани от SDL. Но това (все още) не е официално подкрепено.
- Добавена опция за изграждане на системата "-t mx64" за внедряването на X11 на Apple на x86-64. (Преди са били поддържани x86-32 и PowerPC.)
- Добавена опция за изграждане на системата "-t cygw" за Cygwin / X за Microsoft Windows. Cygwin може да се използва и за компилиране на обикновената версия на Microsoft Windows с "-t wx86 -e cyg".
- Добавена опция за изграждане на системата "-t irix" за IRIX от Silicon Graphics, Inc., благодарение на Джон Перкинс.
- MinGW може да се използва за компилиране на Mini vMac с опция за изграждане на системата "-t wx86 -e mgw". Тъй като Bloodshed Dev-C ++ се основава на MinGW, "-t wx86 -e dvc-cl" ще даде подобни резултати.
- Променен ред на аргументите към командата за връзка при изграждането на версията на Linux. Оказва се, че има конвенционален ред за това как библиотеките трябва да бъдат уточнени, което аз не знаех, тъй като не бях прекосил линкер, който да се грижи за Ubuntu 11.10.
- Системата за създаване трябва да работи правилно в други емулатори като SheepShaver. Анонимно бе съобщено, че системата за изграждане ще бъде смазана с емулатори. Тестът дали системата за инсталиране работи в Mini vMac (така че полученият архив може да бъде експортиран на хоста) не е достатъчно добър.
- Системата за изграждане вече подтиска предупредителните съобщения, генерирани при компилирането на Macintosh II емулация с Microsoft Visual C ++, благодарение на доклад от Уилям Грана.
Коментари не е намерена