1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

Эмулятор Power PC (PPC) SheepShaver с Mac OS 9.0.4 на OS X El Capitan и печать через AppleTalk

Тема в разделе 'Классика (Mac OS 9.x↓)', создана пользователем micstet, 1 апр 2016.

  1. micstet

    micstet iНовичок

    Симпатии:
    3
    Мне надо было напечатать на старом сетевом принтере из 90-х документ на формате А3, притом, что у меня на компе стоит OS X El Capitan 10.11.3. Другого принтера А3, кроме GCC Elite XL 808 не было. Принтер не поддерживает интерфейс по IP адресу и поэтому он пылился в углу с тех пор, как Apple перестала поддерживать AppleTalk, начиная с системы 10.6 Snow Leopard. После поиска в интернете и некоторых размышлений родилось несколько решений:
    • Установить netatalk. Это open-source реализация протокола Apple Filing Protocol (AFP), которая должна поддерживать AppleTalk для UNIX- подобных систем.
    • Поставить эмулятор Power PC (PPC) qemu, на него установить Mac OS X 10.5 Leopard или Mac OS X 10.4 Tiger и настроить сетевой интерфейс.
    • Поставить эмулятор Power PC (PPC) SheepShaver, на него установить Mac OS 9.0.4 Classic (выше на ставится) и настроить сетевой интерфейс.
    • Поставить на старый комп (его надо ещё иметь) Mac OS X 10.5 Leopard (сделать hackintosh). Это последняя операционная система от Apple с протоколом AppleTalk. Тогда, через службу Bonjour, предназначенную для обнаружения других компьютеров и сетевых устройств (например, принтеров) в ближайшем сетевом окружении, и через принт-сервер на Mac OS X 10.5 Leopard, можно печатать по протоколу AppleTalk. Это то, что предлагает делать Apple. Вариант со старым маком Power PC здесь вообще не рассматривается.
    Я задумал написать эту статью, потому что решение проблемы печати на принтере GCC Elite XL 808 на OS X El Capitan не прошло гладко.

    Начал я с netatalk. Сделал поиск в MacPort и получил следующее:

    bash-3.2# port search netatalk
    netatalk @2.0.5_4 (net)
    file and printer server for Apple Macintosh clients

    Как видно, в MacPort есть только версия netatalk 2.0.5_4. Попытка инсталлировать netatalk 2.0.5_4 не увенчалась успехом. Если войти на сайт netatalk http://netatalk.sourceforge.net/, то увидим, что последняя версия netatalk 3.1.18. Её можно скачать в исходных кодах. В документации netatalk на сайте нашёл следующее:

    Required third party software
    В гугл получил перевод:

    Необходимое программное обеспечение сторонних производителей

    Berkeley DB.

    На момент написания, следующие версии поддерживаются:

    минимальная 4.6.x

    В случае, если Berkeley DB не установлен на вашей системе, пожалуйста, загрузите его с:

    http://www.oracle.com/technetwork/products/berkeleydb/downloads/index.html

    и следуйте инструкциям по установке.

    Libgcrypt

    Требуется для OS X 10.7 и более поздних версий. Libgcrypt необходим для DHX2.

    Libgcrypt можно скачать с: http://directory.fsf.org/wiki/Libgcrypt.

    После установки Berkeley DB и Libgcrypt я ввёл в терминале

    ./configure

    и получил в конце вывода следующее:

    Configure summary:
    INIT STYLE:
    none
    AFP:
    Extended Attributes: ad
    ACL support: yes
    Spotlight: no
    CNID:
    backends: dbd last tdb
    UAMS:
    DHX2 (PAM)
    clrtxt (PAM)
    guest
    Options:
    Zeroconf support: no
    tcp wrapper support: no
    quota support: no
    admin group support: yes
    valid shell check: yes
    cracklib support: no
    ACL support: auto
    Kerberos support: yes
    LDAP support: yes
    AFP stats via dbus: no
    dtrace probes: yes
    Paths:
    Netatalk lockfile: /var/spool/locks/netatalk
    pam config directory: ${sysconfdir}/pam.d
    Documentation:
    Docbook: no

    Что здесь правильно, что не правильно, наверное известно только разработчику.

    Затем я ввёл

    make

    и получил ошибки компиляции:

    Making all in bstring
    CC bstrlib.lo
    bstrlib.c:2743:12: error: expected parameter declarator
    extern int vsnprintf (char *buf, size_t count, const char *format, va_list arg);
    ^

    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/secure/_stdio.h:75:40: note: expanded from macro 'vsnprintf'
    __builtin___vsnprintf_chk (str, len, 0, __darwin_obsz(str), format, ap)
    ^
    bstrlib.c:2743:12: error: expected ')'


    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/secure/_stdio.h:75:40: note: expanded from macro 'vsnprintf'
    __builtin___vsnprintf_chk (str, len, 0, __darwin_obsz(str), format, ap)
    ^
    bstrlib.c:2743:12: note:
    to match this '('

    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/secure/_stdio.h:75:29: note: expanded from macro 'vsnprintf'
    __builtin___vsnprintf_chk (str, len, 0, __darwin_obsz(str), format, ap)
    ^

    bstrlib.c:2743:12: error: conflicting types for '__builtin___vsnprintf_chk'

    extern int vsnprintf (char *buf, size_t count, const char *format, va_list arg);
    ^

    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/secure/_stdio.h:75:3: note: expanded from macro 'vsnprintf'
    __builtin___vsnprintf_chk (str, len, 0, __darwin_obsz(str), format, ap)
    ^
    bstrlib.c:2743:12: note:
    '__builtin___vsnprintf_chk' is a builtin with type 'int (char *, unsigned long, int, unsigned long, const char *, __va_list_tag *)'

    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/secure/_stdio.h:75:3: note: expanded from macro 'vsnprintf'
    __builtin___vsnprintf_chk (str, len, 0, __darwin_obsz(str), format, ap)
    ^

    3 errors generated.
    make[3]: *** [bstrlib.lo] Error 1
    make[2]: *** [all-recursive] Error 1
    make[1]: *** [all-recursive] Error 1
    make: *** [all] Error 2

    На этом мой энтузиазм закончился и я так и не узнал работает ли netatalk и поддерживает ли AppleTalk в OS X El Capitan. Может быть кому-то удалось получить бинарник netatalk, который работает в OS X El Capitan? Было бы интересно узнать как.

    После неудачи с netatalk я взялся за qemu. Не буду здесь описывать подробности, остановлюсь только на результате. Поставить qemu удалось, в ней проинсталлировал Mac OS X 10.4 Tiger, настроил сеть. Попытался войти на сайт http://www.apple.com/. Пришлось ждать 15 минут, пока он криво открылся. После этого я решил дальше с qemu не экспериментировать.

    Следующий шаг - это поставить эмулятор Power PC (PPC) SheepShaver, на него установить Mac OS 9.0.4 Classic и настроить сетевой интерфейс. Всё дальнейшее изложение посвящено именно этому.

    Сначала скачиваем Mac OS 9.0.4 с сайта https://winworldpc.com/library. Распаковываем, получаем файл Apple Mac OS 9.0.4.iso. Я переименовал этот файл в AppleMacOS904.iso на всякий случай, убрав пробелы и точки. Правой кнопкой мышки выбираем Get info и ставим галочку на Locked - это важно!
    Заходим на сайт http://www.emaculation.com/forum/viewtopic.php?f=20&t=7360. Внимательно прочтите что здесь написано, можно в гугл переводе. В помощь - видео из youtube:

    .

    Скачиваем последнюю версию SheepShaver по ссылке http://www.xs4all.nl/~ronaldpr/sheepsha ... 140201.zip. После распаковки кликаем мышкой по иконке SheepShaver. Она попрыгает и на этом всё закончится. Это потому, что SheepShaver не находит Mac OS ROM. Скачиваем Mac OS ROM с сайта http://www.redundantrobot.com/sheepshaver-tutorial/ по ссылке http://www.redundantrobot.com/macemulator/newworld86.rom.zip. После распаковки файл надо переименовать в Mac OS ROM без расширения и положить в папку SheepShaver_UB_20140201. Туда же положить файл AppleMacOS904.iso. При запуске SheepShaver появится серое поле с мигающей дискетой с вопросом. На сайте http://www.emaculation.com/doku.php/sheepshaver_mac_os_x_setup подробно описано как настраивается окружение SheepShaver, а также смотрим видео. Вместо подключения диска OS9.img (на видео) подключаем AppleMacOS904.iso. В SheepShaver Preferences в сетевых установках надо заменить “slirp” на “tap0”- это важно! Установка “tap0” понадобится для создания моста с виртуальным интерфейсом tuntap. После настройки окружения, чтобы выйти из SheepShaver надо прервать процесс через комбинацию клавиш Command-Option-Esc или в Activity Monitor. После повторного запуска SheepShaver появится инсталляционный диск Mac OS 9.0.4 и будет предложено проинициализировать хард, на который вы будете устанавливать Mac OS 9.0.4. В SheepShaver Preferences я создал хард 6 ГБ, но можно и 2 ГБ. Установка Mac OS 9.0.4 длится довольно долго, не помню сколько. Первое, что я заметил после загрузки Mac OS 9.0.4 - это неработающий звук. После запуска пульта Sound (Control Panels из яблока) необходимо активировать звук, нажав мышкой на Build-in в Output - это важно! При закрытии пульта Sound система Mac OS 9.0.4 зависает или выскакивает бомбочка (аналог экрана “смерти”). Звук в SheepShaver поддерживается SDL.framework, который находится в папке Contents приложения SheepShaver.app (увидеть папку можно при нажатии правой кнопки мыши и выбора Show Package Contents). Там стоит SDL.framework версии 1.2.14 размером 1 302 331 байт. Она не работает. Попытки заменить её на предыдущие версии ни к чему не привели. Решение удалось найти, скачав SheepShaver Wrapper с сайта http://www.columbia.edu/~em36/sheepshaverwrapper.html, на который я вышел с сайта http://www.emaculation.com/forum/viewtopic.php?f=20&t=8759&sid=9f2905ee3d3d7f9d0009b30c92afbf66. Там пишут, что в SheepShaver Wrapper стоит SDL.framework версии 1.2.15, но в плисте записана версия 1.2.14, но она явно другая. Её размер 1 776 862 байта. Я сделал в SheepShaver.app замену SDL.framework версии 1.2.14 на 1.2.15. Почему-то не с первого раза (возможно, нужна перезагрузка компа), но звук в конце концов заработал. В SheepShaver Wrapper звук тоже работает, но ребята что-то намудрили с apple скриптом, и в Preferences сбрасывается поле Unix Root с установленного пути до Shared на /Users/Name/Documents/.

    Следующий шаг - это настройка виртуальной сети для SheepShaver. При настройке сети тоже не обошлось без трудностей. Делаем в Mac OS 9.0.4 Shut Down. С сайта http://tuntaposx.sourceforge.net/ скачиваем виртуальный сетевой интерфейс tuntap и инсталлируем. Появятся следующие файлы:

    /Library/Extensions/tap.kext
    /Library/Extensions/tun.kext
    /Library/StartupItems/tap
    /Library/StartupItems/tun

    в каталоге /dev/ появятся файлы от /dev/tap0 до /dev/tap10, и от /dev/tun0 до /dev/tun10

    После этого необходимо перезагрузить комп и убедиться, что кексты загрузились. Для этого выбираем в яблочке About This Mac и смотрим, есть ли в Software Extensions против tap.kext и tun.kext слово Yes. Заходим на сайт http://www.emaculation.com/doku.php/appletalk_for_sheepshaver и внимательно читаем. Сразу скажу, что не всё там правильно и не всё нужно делать так, как там написано. Но в целом процесс описан верно. IPNetrouter вообще не понадобится, тем более, что он платный. В пульте AppleTalk устанавливаем Ethernet, в пульте TCP/IP устанавливаем IP адрес (не должен совпадать с другими адресами в сети), соответствующий своей локальной сети, маску и Router address (он должен совпадать с адресом, который вы назначите потом для tap0 - у меня это 192.168.0.10). Более подробно эти установки даны в конце мануала. Далее я создал несколько скриптов для bash в текстовом редакторе TextWrangler и сохранил в каталоге SheepShaver_UB_20140201:

    1). OnProxyArp.sh

    #!/bin/bash
    sysctl -w net.link.ether.inet.proxyall=1
    sysctl -w net.inet.ip.forwarding=1
    sysctl -w net.inet.ip.fw.enable=1

    Этот скрипт включает proxy arp и форвардинг пакетов. Не знаю насколько он нужен, но я его запускал. Чтобы он исполнялся надо в терминале выполнить команды

    cd ~/SheepShaver_UB_20140201 (устанавливается текущий каталог SheepShaver_UB_20140201)
    sudo chmod +x ./SheepShaver_UB_20140201/OnProxyArp.sh (аналогично, для всех других скриптов).

    2). SheepShaverRun.sh

    #!/bin/bash
    cd ~/SheepShaver_UB_20140201
    sudo ./SheepShaver.app/Contents/MacOS/SheepShaver

    Это скрипт запуска SheepShaver, который открывает виртуальный интерфейс tuntap. Если текущий каталог в терминале будет не SheepShaver_UB_20140201, то SheepShaver не найдет Mac OS ROM и поэтому не запустится!

    Дальше начинается самое интересное. Если исполнить этот скрипт в терминале, то процесс SheepShaver будет убит Killed: 9. Меня это поставило в тупик. Если бы я внимательно читал информацию с сайта http://www.emaculation.com/forum/viewtopic.php?f=20&t=7360, то обратил бы внимание на фразу

    01 February 2014 build For PPC and Intel Mac, OSX 10.4 (Tiger) through OSX 10.9 (Mavericks)

    Runs in OSX 10.10 (Yosemite), albeit only in 32-mode.

    Это означает, что SheepShaver в OSX 10.10 (Yosemite) работает только в 32-битном режиме. SheepShaver_UB_20140201 откомпилироан в Xcode 3.2.6. На другом сайте https://github.com/devernay/xcodelegacy указаны компиляторы Xcode 3.2.6 (10.4, 10.5 and 10.6 SDKs, PPC assembler, GCC 4.0 and 4.2, LLVM-GCC 4.2)

    и есть фраза:

    GCC 4.0, GCC 4.2 and LLVM GCC 4.2 cannot compile for OS X 10.10 or newer.

    Это означает, что Xcode 3.2.6 не может компилировать для OS X 10.10 или более новых OS X. Где-то я читал про mach-o 32-бит и 64-бит и их совместимость с Mac OS X, но не смог снова найти где это. И меня очень удивило то, что старые нативные 64-битные бинарники для Intel процессоров не работают в новых операционных системах Apple. Если в терминале ввести

    lipo -info ./SheepShaver.app/Contents/MacOS/SheepShaver

    получим

    Architectures in the fat file: SheepShaver.app/Contents/MacOS/SheepShaver are: ppc i386 x86_64

    Отсюда видно, что файле SheepShaver находится три банарника для архитектур ppc, i386 и x86_64. Когда в терминале запускается SheepShaver, процесс launchd пытается исполнить x86_64 файл SheepShaver и не может, поэтому вызывается Killed: 9. Тем не менее, когда запускается приложение SheepShaver.app, исполняется, именно, работоспособный 32-битный файл архитектуры i386. Такое поведение OS X мне показалось странным. Выхода здесь два:

    Первый выход - это заменить в скрипте SheepShaverRun.sh строку

    sudo ./SheepShaver.app/Contents/MacOS/SheepShaver

    на строку

    sudo arch -arch i386 ./SheepShaver.app/Contents/MacOS/SheepShaver

    При этом SheepShaver запустится с архитектурой i386.

    Второй выход - выполнить в терминале команду

    lipo ./SheepShaver.app/Contents/MacOS/SheepShaver -output ./SheepShaver.app/Contents/MacOS/SheepShaver.i386 -extract i386

    Файл SheepShaver.i386 будет содержать только 32-битный вариант SheepShaver. Затем файл SheepShaver, содержащий все три архитектуры исполняемого файла, можно переименовать, а файл SheepShaver.i386 переименовать, убрав расширение. Тогда по команде в скрипте SheepShaverRun.sh

    sudo ./SheepShaver.app/Contents/MacOS/SheepShaver

    запустится 32-битный исполняемый файл (другого там просто нет).

    Я пошёл по второму пути, чтобы в случае, когда я не пользуюсь скриптом SheepShaverRun.sh, не надо было набирать дополнительно arch -arch i386.

    Перейдём к следующему скрипту.

    3). tuntapbridge.sh

    #!/bin/bash
    sudo ifconfig tap0 192.168.0.10 netmask 255.255.255.0 up
    sudo ifconfig bridge0 create
    sudo ifconfig bridge0 addm en0
    sudo ifconfig bridge0 up
    sudo ifconfig bridge0 addm tap0

    Этот скрипт присваивает IP-адрес и маску для tap0, создаёт мост bridge0, добавляет в мост bridge0 сетевую карту компа en0 и сетевой виртуальный интерфейс tap0. Чтобы открыть интерфейс tap0 (помните установку в SheepShaver Preferences?) SheepShaver необходимо запускать с правами root. Через tap0 SheepShaver выходит в сеть. Если запустить скрипт tuntapbridge.sh до запуска скрипта SheepShaverRun.sh, то возникнет ошибка, так как tap0 пока не открыт. Надо заметить, что запуск приложения SheepShaver.app tap0 не открывает! Его открывает только следующая строка в терминале (или скрипте):

    sudo ./SheepShaver.app/Contents/MacOS/SheepShaver

    Если выполнить в терминале команду

    ifconfig

    получим вывод списка сетевых интерфейсов

    lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    options=3<RXCSUM,TXCSUM>
    inet6 ::1 prefixlen 128
    inet 127.0.0.1 netmask 0xff000000
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
    nd6 options=1<PERFORMNUD>
    gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
    stf0: flags=0<> mtu 1280
    en0: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    options=2b<RXCSUM,TXCSUM,VLAN_HWTAGGING,TSO4>
    ether 20:25:64:51:65:dd
    inet6 fe80::2225:64ff:fe51:65dd%en0 prefixlen 64 scopeid 0x4
    inet 192.168.0.16 netmask 0xffffff00 broadcast 192.168.0.255
    nd6 options=1<PERFORMNUD>
    media: autoselect (100baseTX <full-duplex>)
    status: active

    После запуска SheepShaver с помощью скрипта SheepShaverRun.sh, открываем другое окно терминала и набираем ifconfig. В выводе ifconfig появится виртуальный сетевой интерфейс tap0:

    lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    options=3<RXCSUM,TXCSUM>
    inet6 ::1 prefixlen 128
    inet 127.0.0.1 netmask 0xff000000
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
    nd6 options=1<PERFORMNUD>
    gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
    stf0: flags=0<> mtu 1280
    en0: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    options=2b<RXCSUM,TXCSUM,VLAN_HWTAGGING,TSO4>
    ether 20:25:64:51:65:dd
    inet6 fe80::2225:64ff:fe51:65dd%en0 prefixlen 64 scopeid 0x4
    inet 192.168.0.16 netmask 0xffffff00 broadcast 192.168.0.255
    nd6 options=1<PERFORMNUD>
    media: autoselect (100baseTX <full-duplex>)
    status: active
    tap0: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 72:25:2a:85:6f:c6
    media: autoselect
    status: active
    open (pid 70155)

    Последняя строчка показывает, какой процесс открыл виртуальный сетевой интерфейс tap0. Если посмотреть в ActivityMonitor, то это будет SheepShaver (у вас pid, конечно, другой).

    После запуска скрипта tuntapbridge.sh утилита ifconfig даст

    lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    options=3<RXCSUM,TXCSUM>
    inet6 ::1 prefixlen 128
    inet 127.0.0.1 netmask 0xff000000
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
    nd6 options=1<PERFORMNUD>
    gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
    stf0: flags=0<> mtu 1280
    en0: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    options=2b<RXCSUM,TXCSUM,VLAN_HWTAGGING,TSO4>
    ether 20:25:64:51:65:dd
    inet6 fe80::2225:64ff:fe51:65dd%en0 prefixlen 64 scopeid 0x4
    inet 192.168.0.16 netmask 0xffffff00 broadcast 192.168.0.255
    nd6 options=1<PERFORMNUD>
    media: autoselect (100baseTX <full-duplex>)
    status: active
    tap0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    ether 72:25:2a:85:6f:c6
    inet 192.168.0.10 netmask 0xffffff00 broadcast 192.168.0.255
    media: autoselect
    status: active
    open (pid 70155)
    bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=3<RXCSUM,TXCSUM>
    ether 22:25:64:15:8b:00
    Configuration:
    id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
    maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
    root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
    ipfilter disabled flags 0x2
    member: en0 flags=3<LEARNING,DISCOVER>
    ifmaxaddr 0 port 4 priority 0 path cost 0
    member: tap0 flags=3<LEARNING,DISCOVER>
    ifmaxaddr 0 port 5 priority 0 path cost 0
    nd6 options=1<PERFORMNUD>
    media: autoselect
    status: active


    Здесь видно, что у tap0 IP адрес 192.168.0.10 и в bridge0 подключились en0 и tap0. Таким образом, виртуальная сеть для SheepShaver построена. Если выйти из SheepShaver с помощью ShutDown в Mac OS 9.0.4, то интерфейс tap0 закроется и пропадёт в bridge0. Сам bridge0 можно закрыть командой

    sudo ifconfig bridge0 destroy

    При желании можно создать скрипт из этой строки, если лень набирать.

    Можно создать дополнительный скрипт, который добавляет tap0 в bridge0 при повторных запусках SheepShaver (при условии существования моста):

    4). tuntapaddm.sh

    #!/bin/bash
    sudo ifconfig tap0 192.168.0.10 netmask 255.255.255.0
    sudo ifconfig bridge0 addm tap0

    После построения виртуальной сети SheepShaver остаётся только проверить правильно ли настроены пульты в Mac OS 9.0.4.

    Для AppleTalk настройки следующие:

    Connect via: Ethernet

    Для TCP/IP настройки следующие:

    Connect via: Ethernet

    Setup

    Configure: Manually
    IP Address: 192.168.0.15
    Subnet mask: 255.255.255.0
    Router address: 192.168.0.10

    Теперь, если при включённом принтере в Chooser выбрать LaserWriter 8, в окошке появится Elite XL 808. Кликаем на нём мышкой и создаётся Desktop Printer Elite XL 808, который можно настроить. Если его выделить на Desktop, в меню появится Printing, где выбор Change Setup… позволяет установить PostScript Printer Desсription (PPD) файл для Elite XL 808. Этот PPD файл должен находится в /System Folder/Extensions/Printer Desсriptions. После этого можно печатать.

    Дополнительный бонус - это возможность запускать программы для классики. Любители старых игр могут найти их на сайтах http://www.macintoshrepository.org, http://macintoshgarden.org/ или http://steamcommunity.com/id/sheepofsalt/games/?tab=all и не только. Чтобы увидеть игру в Mac OS 9.0.4 на диске Unix, надо её файл поместить в папку Shared, путь к которой задан в поле Unix Root в SheepShaver Preferences, а если это диск с расширением cdr, img или iso, то подключить его в SheepShaver Preferences.
    Ещё есть полезная утилита hdiutil, с помощью которой можно преобразовать файлы с расширением dmg и img в файлы с расширением iso и обратно, в том числе в cdr. Например,

    hdiutil convert /path/imagefile.dmg -format UDTO -o /path/convertedimage.iso

    или

    hdiutil convert /path/imagefile.img -format UDTO -o /path/convertedimage.iso

    После конвертации расширение cdr убираем, оставляем iso. Для обратного преобразования используем шаблон

    hdiutil convert /path/imagefile.iso -format UDRW -o /path/convertedimage.dmg

    То же самое можно проделать с помощью Disk Utility > Images > Convert...

    Удачи.

    Решил для совсем старых игр установить эмулятор для совсем старых маков BasiliskII, который можно скачать с сайта http://www.emaculation.com/forum/viewtopic.php?f=6&t=7361&sid=0f7993a382541cf1fcd7df509bcfaefe и заодно почитать про BasiliskII. А ROM файлы для этих маков можно скачать здесь: https://archive.org/download/mac_rom_archive_-_as_of_8-19-2011. Лаконичная информация про BasiliskII с картинкой старого интерфейса есть на сайте http://www.redundantrobot.com/#/sheepshaver. BasiliskII использовался как основа для SheepShaver. Поэтому интерфейсы и подходы к подключению внешних дисков, папок и т.д. очень похожи. Разница в том, что для ROM файла во вкладке Memory/Misc указывается путь. У меня в этой вкладке следующие установки:

    Mac OS RAM Size (MB): 1024
    Mac Model ID: MacIIci (Mac OS 7.x)
    CPU Type: 68020 with FPU
    ROM file: Quadra 630.ROM (взял из mac_rom_archive)

    Поставил эти значения чисто интуитивно.
    С сайта https://winworldpc.com/library скачал Apple Mac OS 7.5.3 (первая строчка в списке 7-х версий). Во вкладке Volumes подключены хард MacOS_HD (1 GB), InstallerParts (100 MB) (они создаются во время инсталляции) и System753.iso (убирал точки в версии системы). Дополнительно, после установки системы, подключил диски игры The 7th Guest: The_7th_Guest_CD1-1.cdr и The_7th_GUest_CD2.Sd2f для проверки работоспособности MacIIci. Когда система запускается, она предлагает проинициализировать диск The_7th_GUest_CD2.Sd2f как untitled. Этого делать не надо.

    Вот скрины того, что в результате получилось.

    Screen Shot 2017-01-18 at 14.52.17.

    Screen Shot 2017-01-18 at 14.49.13.

    Screen Shot 2017-01-18 at 14.50.28.

    Screen Shot 2017-01-18 at 17.32.50.
     
    Последнее редактирование: 20 янв 2017
    slice нравится это.
     
  2. micstet

    micstet iНовичок

    Симпатии:
    3
    Как установить эмулятор Power PC (PPC) SheepShaver с Mac OS 9.0.4 Classic на OS X El Capitan подробно описано на сайте https://applelife.ru/threads/pechat...cherez-sheepshaver-v-os-x-el-capitan.1229752/. В конце статьи есть ссылки на ресурсы для Mac OS 9. Ссылка /applelife.ru/threads/pechat-na-printere-appletalk-cherez-sheepshaver-v-os-x-el-capitan удалена из-за поглощения этой статьёй.
     
    Последнее редактирование: 4 янв 2017
  3. ACIDSky

    ACIDSky iГуру

    Симпатии:
    1`011
    Дружок, ты что то по моему оливье несвежего поел )))
     
  4. micstet

    micstet iНовичок

    Симпатии:
    3
    А что не так?
     
  5. ACIDSky

    ACIDSky iГуру

    Симпатии:
    1`011
    Ссылаться на свою же тему от 01.04.2016 г. на этом же форуме.
    Создавать для того новую тему.
    Зачем?
     
  6. micstet

    micstet iНовичок

    Симпатии:
    3
    Здесь в этом разделе задают вопросы по SheepShaver, а ответа нет, как его установить на современной macOS. И не все, кто интересуется Mac OS 9, видели мою тему в разделе Софт. Я использовал SheepShaver для решения конкретной проблемы - печати на старом принтере, который работает только через AppleTalk. И в заголовке той темы не сказано, что SheepShaver это эмулятор Power PC с Mac OS 9.0.4 Classic. А не всякий это знает, кто интересуется Mac OS 9. И я подумал, что в новогодние каникулы кто-то зайдёт в раздел Mac OS 9.x и захочет вспомнить молодость и поиграть в любимую игру под девяткой. Я когда поставил SheepShaver не удержался и заново прошёл The 7th guest (за 20 лет забыл как там решать головоломки).
     
  7. medik

    medik Технический Специалист Команда форума

    Симпатии:
    3`328
  8. ARMAGEDDON

    ARMAGEDDON Администратор Команда форума Гуру

    Симпатии:
    832
    SheepShaver теперь не очень актуален. Mac OS 9.2.2 можно запустить в qemu.

    [​IMG]
     
    medik, nms42 и Vandroiy нравится это.
  9. micstet

    micstet iНовичок

    Симпатии:
    3
    Я ставил qemu с Mac OS X 10.4 Tiger. Об этом у меня написано: qemu намного тормознее, чем SheepShaver. По крайней мере мне так показалось. А на SheepShaver MacOS 9 работает так же быстро, как на каком-нибудь PowerPC 8500 или Quadra 950. Поэтому я от qemu отказался.
     
    Последнее редактирование: 14 июл 2017
  10. ARMAGEDDON

    ARMAGEDDON Администратор Команда форума Гуру

    Симпатии:
    832
    Ну, QEMU в отличие от SheepShaver умеет таки запускать Mac OS 9.2.2. А это критично, так как 9.0.4 значительно старее.
     
  11. micstet

    micstet iНовичок

    Симпатии:
    3
    Это да. Но в SheepShaver есть проблема посерьёзнее. Если Apple отменит в macos поддержку 32-битных приложений, то SheepShaver вообще нельзя будет запустить, если, конечно, кто-то не откомпилирует исходники SheepShaver в 64-битном режиме.
     
    Последнее редактирование: 15 июл 2017
  12. ARMAGEDDON

    ARMAGEDDON Администратор Команда форума Гуру

    Симпатии:
    832
    Так он уже 64-битный.
     
  13. micstet

    micstet iНовичок

    Симпатии:
    3
    Architectures in the fat file: SheepShaver.app/Contents/MacOS/SheepShaver are: ppc i386 x86_64
    Здесь видно, что в fat файле три исполняемых файла: для ppc, i386, x86_64. Последний из них x86_64 для 64-битной архитектуры. Но он откомпилирован старым компилятором: GCC 4.0, GCC 4.2 and LLVM GCC 4.2 cannot compile for OS X 10.10 or newer. Меня такая несовместимость, честно говоря, удивила. Поэтому в macos 10.10 и новее работает только бинарник i386. Чтобы SheepShaver заработал на последней версии macos в 64-битном режиме, исходники SheepShaver должны быть откомпилированы в этой же системе, или, по крайней мере, новее OS X 10.9, что вряд ли возможно. Думаю, это под силу только разработчику SheepShaver, а он, похоже, давно забросил этот проект.
     
  14. ARMAGEDDON

    ARMAGEDDON Администратор Команда форума Гуру

    Симпатии:
    832
    А ты смотрел обновления на emaculation??
     
  15. micstet

    micstet iНовичок

    Симпатии:
    3
    Нет не смотрел. Но вряд ли там есть обновление. Сейчас посмотрю.
     
  16. micstet

    micstet iНовичок

    Симпатии:
    3
    Currently recommended SheepShaver build for Mac OS X:

    01 February 2014 build
    For PPC and Intel Mac, OSX 10.4 (Tiger) through macOS 10.12 (Sierra)
    See also Known issues and Compatibility notes below!

    Download: http://www.xs4all.nl/~ronaldpr/sheepsha ... 140201.zip

    Обновления не было. Это сборка, которая описана в мануале.
     
  17. ARMAGEDDON

    ARMAGEDDON Администратор Команда форума Гуру

    Симпатии:
    832
    Мда, печаль
     
  18. micstet

    micstet iНовичок

    Симпатии:
    3
    Пока Apple поддерживает 32-битные бинарники в x86_64 режиме, печалиться нечего. Надеюсь, что так будет и дальше. Хотя они могут. Зачем, например, Rosetta убрали. Кому она помешала? А у меня программа для калибровки монитора перестала работать (со спектрофотометром i1 Eye-One monitor).
     
  19. ARMAGEDDON

    ARMAGEDDON Администратор Команда форума Гуру

    Симпатии:
    832
    А там фреймворки PPCшные были. Вот они и "мешали".
     
  20. micstet

    micstet iНовичок

    Симпатии:
    3
    То, что сейчас в Xcode нет поддержки PPC это понятно и поэтому без правки исходников SheepShaver не обойтись. А что, без этих PPCшных фреймворков можно откомпилировать исходники SheepShaver и получить работоспособный бинарник под macos 10.10 и новее? Я пробовал, но у меня сходу ничего не получилось и я оставил эту затею.
     
Similar Threads: Эмулятор Power
Форум Заголовок Дата
Классика (Mac OS 9.x↓) Эммуляция OS9 в нативной OSX на PowerPC G4 8 фев 2014
Классика (Mac OS 9.x↓) Power Macintosh G3 и Mac Os X помогите завести!!!! 3 май 2012

Поделиться этой страницей