ИНСТАЛЯЦИЯ ЭМУЛЯТОРА
На Amiga наиболее популярны два эмулятора 68K Mac: ShapeShifter 3.10 (ниже по
тексту SS) и FUSION 3.2, поэтому и речь далее будет идти о них. SS 3.10
необходимы 020/OS2.1/4MB Fast-памяти, FUSION 3.2 нужно 020/OS2.04/8MB
Fast-памяти и обоим желательно как минимум 20Mb дисковой памяти (это может быть
специально выделенная партиция на винчестере или образ макового винчестера в
виде файла). Для инсталяции SS нужно просто разархивировать его архив в то
место куда вы сочтете нужным. Для инсталяции FUSION необходимо и достаточно
ткнутьcя в иконку HardDisk_Installer и ответить на несколько несложных
вопросов. Но на этом заканчивается только первое отделение большой оперы под
названием: "инсталяция эмулятора 68K Mac на Амиге" и начинается вторая -
установка патча.
УСТАНОВКА ПАТЧА AOS В ТЕОРИИ:
Для понимания нижеследующего необходимо сказать, что эмуляторы 68K Mac на
Amiga не эмулируют процессор (В этом нет необходимости т.к. на Amiga и Mac
используются одна и та же линейка 68K/PPC процессоров Mototola, следовательно
имеется принципиальная возможность исполнять маковый софт, как "родной"). Т.е.
грубо говоря, амижные эмуляторы Mac, создают условия для функционирования MacOS
как одной из задач AmigaOS, предоставляя в распоряжение MacOS и запускаемых под
ней приложений амижное железо (с точки зрения MacOS - маковое).
В этом месте необходимо развеять один из мифов бытующих в сознании наших
сограждан. Маковая малтитредовость это совсем не то же самое, что амижная
вытесняющая многозадачность. Многозадачности в MacOS нет.
Для запуска MacOS под эмулятором необходимо соблюсти два условия, которые сами
эмуляторы обеспечить не могут т.к. условия эти связаны с коррекцией AmigaOS в
момент ее старта. Конкретно это необходимость того, чтобы после старта системы
регистр процессора VBR не был обнулен, а нижние 8K Chip-памяти оставались
полностью свободными. Эти условия выполняются специальными программами
(корректорами или иначе патчами системы, от англ. Patch - заплатка) путь к
которым и аргументы прописываются в S:Startup-Sequence, что является обычной
практикой на Amiga.
УСТАНОВКА ПАТЧА AOS В ПРАКТИКЕ:
1] PrepareEmul
Требования - AOS2.1
Этот патч можно взять из архива SS. Его необходимо положить в Вашу
директорию C: , прописать первой строкой в S:Startup-Sequence, как
"C:PrepareEmul" и перезагрузить амигу. PrepareEmul не "живет" с программами,
которые загружают обновленный кикстарт с диска в память (с тем же Blizkick,
например) поэтому не стоит даже пытаться их "поженить" (хотя в принципе для
этого можно воспользоваться KickShifter из архива SS, все это крайне
ненадежно). Если Вы не пользуетесь патчами такого рода, и на Вашей амиге
стоит акселератор произведенный Phase5/DCE, видеокарта, или любое другое
возможное расширение, это также может вызвать неработоспособность
PrepareEmul. В данной ситуации Вам может помочь аргумент "A1200"
("C:PrepareEmul A1200"). Tакже PrepareEmul конфликтует с утилитой
CyberPatcher, пользователям оной придется ее снять. Есть еще одна маленькая
тонкость; PrepareEmul с аргументом A1200 будет работать только в том случае,
если кикстарт Вашей амиги V39, V40 и выше. Индикатором того, что PrepareEmul
установлен правильно, являются оригинальные вспыхивающие цветные полосы на
экране в момент перезагрузки Вашей амиги.
REM> PrepareEmul позволит вам выполнить патч системы при условии, что вы не
пользуетесь патчами загружающими обновленный кикстарт с диска в память,
даже если Ваш акселератор/CPU-карта обладают функцией MapROM. Согласитесь,
это маловероятно, т.к. обычно если функция есть, то ей пользуются. Кроме
того FUSION не сможет стартовать с PrepareEmul. Таким образом, на данный
момент этот патч морально устарел.
2] RsrvCold
Требования - AOS2.04
Этот патч можно взять из архива FUSION. Его необходимо положить в Вашу
директорию "C:", прописать первой строкой в "S:Startup-Sequence", как
"C:RsrvCold" и перезагрузить амигу. Патч имеет два аргумента-переключателя:
"C:RsrvCold -f" - располагать алоцированный код в Fast-памяти, по умолчанию
он алоцируется в Chip.
"C:RsrvCold -of" - "мирит" RsrvCold с OxyPatcher, если вы им пользуетесь.
На самом деле, на большинстве амиг RsrvCold заводится безо всяких аргументов,
но для некоторых акселераторов (Apollo), может потребоваться поставить
аргумент "-f". Кстати, следует упомянуть config приведенный в PowerAmiga3:
RsrvCold >NIL: -f
BlizKick MODULE FusionReserve
Здесь первая и вторая строчка делают одно и то же. Это абсолютно неверно
товарищи, старайтесь избегать подобных конфигов построенных по принципу "Maшу
каслом не испортишь", они приводит только к регулярным зависаниям вследствие
конфликта патчей.
REM> RsrvCold - наилучший выбор для тех владельцев амиг, которые обделены
акселераторами и тех, кто, имея акселератор, по тем или иным причинам
недолюбливают SoftKicking (например, жалеют 512K Fast'а ;).
С предустановленным RsrvCold обязаны стартовать и SS, и FUSION.
3] BlizKick
Требования - AOS1.2, Phase5/DCE акселератор с возможностью MapROM/CPU-карта
Этот патч, помимо своей основной функции (поддержка MapROM для акселераторов
произведенных Phase5/DCE и CPU карт, так называемый SoftKicking) имеет
поддержку множества других задач требующих динамического патча в момент
старта системы, в том числе может служить 100% замещением патчей поставляемых
с эмуляторами SS и Fusion (по принципу все в одном). Дополнительные функции
реализованы в виде модулей (подборка модулей идет в одном архиве с BlizKick).
Поддержку эмуляторов выполняют модули PrepareEmul (аналог своего тезки из
SS), MoveVBR (переносит VBR в Fast-память), FusionReserve (замещение RsrvCold
из FUSION/PrepareEmul из SS). Используя PrepareEmul, необходимо использовать
также и MoveVBR, иначе никто не гарантирует сохранность VBR. Используя
FusionReserve, нет необходимости использовать также PrepareEmul и MoveVBR.
FusionReserve замещает их обоих. Для установки патча копируйте из архива
файл BlizKick и SaveROM в C:, директорию Modules в DEVS:, наберите в CLI
"C:SaveROM DEVS:my-rom" и пропишите первой строкой в S:Startup-Sequence:
"C:BlizKick DEVS:my-rom MODULE FusionReserve" или "C:BlizKick DEVS:my-rom
MODULE PrepareEmul MoveVBR", в зависимости от избранного варианта. В первом
случае будут запускаться оба эмулятора, во втором только SS. На амигах с
040-060'м процессором FusionReserve может отказаться работать. В этом случае
автор BlizKick советует использовать патч FixPatchMAC c aminet'a. Просто
положите его в C: и пропишите второй строкой в S:Startup-Sequence:
"C:FixPatchMAC", это должно помочь. Для облегчения процесса
подключения/снятия модулей в архиве с BlizKick идет диспетчер BKGUI.
REM> BlizKick можно назвать одним из самых грамотных "CoфтКикеров", он очень
гибок и регулярно обновляется. Если Вы обладатель Phase5/DCE
акселератора, то вопрос эмуляторного патча, лучше всего решать при помощи
BlizKick.
Все остальные существующие патчи являются аналогами PrepareEmul, либо
аналогами RsrvCold. Поэтому я перечислил только те решения, которые имеют право
на жизнь, оставив за скобками разно-всяческие BlizzMagic'и и RsrvWarm'ы.
С появлением 1-го Февраля 2001 г. неофициальной версии Exec 44, необходимость
во многих патчах просто отпала. В том числе в эмуляторных. Для получения
нового KickStart, возьмите архив exec44_1_beta2.lha с aminet'а, разархивируйте
его в RAM: и наберите в CLI "RAM: zapexec FROM DEVS:my-rom WITH exec.bin.
TO DEVS:rom441". Для корректного выполнения этого
апдейта, ваш my-rom должен иметь версию 40.68 (AOS3.5). После этого вы можете
подсовывать полученный rom441 вашему любимому софткикеру, например
так: "C:BlizKick DEVS:rom441". На амигах с 040-060'м процессорам возможно
придется поставить второй строкой в S:Startup-Sequence: "C:FixPatchMAC".
p.S. В общем, не такое уж это и сложное дело. ;)
Если вы с честью прошли этот этап и сделали все "по науке", но эмулятор все
равно не работает, причиной неработоспособности могут являться в порядке
убывания: MacRom, настройки эмулятора, MacOS.
Пробуйте и я уверен, что у Вас все получится...
Eugene Sobolev aka aGGreSSor; Copyright 2001