SheepShaver вспоминая неслучившееся.

Автор ferum, 11 марта 2023, 09:49:38

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

ferum

Как большинство пользователей компьютера, живших и работавших в суровые 90е, я начинал с MS DOS, windows 95, 98... и до появления windows xp всё было ... мама не горюй, хотя DOS была хоть и примитивной но достаточно надёжной и стабильной системой. Именно на нём были опробованы первые игрушки, самая запомнившаяся wolfenshtein 3D. Я и сейчас периодически бывает гоняю фашистов на эмуляторе dosbox.
Как то даже наткнулся на реализацию этой игры для windows 95, легко кстати работает на port prothon. Там капельку лучше графика, но в принципе всё тоже самое.
Однако всезнающий google утверждает что на ранних стадиях Apple так же не гнушалась играми, и получалось у них это даже несколько лучше.
Решил попробовать, естественно на windows 7 реализовать  это гораздо проще https://www.youtube.com/watch?v=dRZebFah9_g
Действительно всё работает ... но недолго. Игрушка достаточно динамична и эмулятор на каком то этапе зависает. Помогают только горячие клавиши и завершение сеанса windows и как следствие некорректное выключение нашей виртуальной машины. Пара - тройка таких выключений и Mac OS приходится переустанавливать. Не то что бы это долго, но выше второго уровня в игрушке пройти так и не удалось.
  Теперь по делу: на официальном сайте программы, являющейся на мамом деле узконаправленной виртуальной машиной, https://www.emaculation.com/doku.php/mac_emulation как будь то бы всё расписано. Проблема, в том что было это давно и отстало от сегодняшних реалий, по этому пришлось собрать и обобщить пользовательский опыт, если же делать по стандартному манулу, не удаётся даже запустить виртуалку, не то что бы нанеё что то устанавливать.
Собираем для debian 11
sudo apt install build-essential git libgtk2.0-dev x11proto-xf86dga-dev libxxf86dga-dev libxxf86dga1 libsdl1.2-dev libesd-java alsa-oss


Создаём в домашней папке пользователя произвольный каталог для сборки и использования программы, и переходим в него.
git clone https://github.com/cebix/macemu.git
 cd macemu/SheepShaver
 make links
 cd src/Unix
 NO_CONFIGURE=1 ./autogen.sh
 ./configure --enable-sdl-video --enable-sdl-audio
 make -j5 # на примере 4х ядерного процессора
Прежде чем запускать скомпилированный бинарник, надо отключить защиту системы
В конец файла добавим строку
 sudo nano /etc/sysctl.conf vm.mmap_min_addr = 0что бы не тратить время на перезагрузку системы
sudo sysctl -w vm.mmap_min_addr=0 Теперь мы готовы запустить нашу виртуалку, но в ней не будет звука, а нам он нужен.
Соответственно запускаем
padsp /home/alex/ss/macemu/SheepShaver/src/Unix/SheepShaverСоответственно путь до бинарника указываем свой
Думаю не надо объяснять как интегрировать команду в меню приложений, иконку я взял в исходниках для windows.
Далее всё в принципе как в ролике на youtube, добавлю только что программы в mac os 9 устанавливались с дискет, в нашем случае с их образов с расширением .disk ну и несколько своих скриншотов.
https://ibb.co/6X9FWS1
https://ibb.co/LzS49d0
https://ibb.co/9T4qJP0
https://ibb.co/5MBxbJ0
https://ibb.co/H2FsCP0
https://ibb.co/rp9qM5D
https://ibb.co/BsfBMdw
https://ibb.co/pbhNFdx
https://ibb.co/Nx7KMC0
https://ibb.co/YQkvQ84
Русские дебианщики против цифрового слабоумия !

dzhoser

К чему весь этот геморрой, если в DosBox все прекрасно работает.
Ubuntu->Linux mint->Astra Linux SE->Debian 12
Для новичков

Aalexeey

https://debianforum.ru/index.php?topic=6879 100% защиты от "Ааааа у меня всё поломалось"

ferum

Цитата: dzhoser от 11 марта 2023, 13:11:31К чему весь этот геморрой, если в DosBox все прекрасно работает.
В форточках вообще всё прекрасно работает, религия у нас другая....
Русские дебианщики против цифрового слабоумия !

ferum

#4
Для Debian 12 bookworm программа собирается из других исходников тем не менее я собрал с теми же параметрами, виртуалка прекрасно работает, запускаясь из меню приложений.
Обращаем внимание на сборочную зависимость  libsdl2-dev, без неё программа крашится.
sudo apt install build-essential git automake libsdl2-dev libgtk2.0-dev
git clone https://github.com/kanjitalk755/macemu.git
cd macemu/SheepShaver
 make links
 cd src/Unix
 NO_CONFIGURE=1 ./autogen.sh
 ./configure --enable-sdl-video --enable-sdl-audio
 make -j5 # на примере 4х ядерного процессора
sudo cp SheepShaver /usr/local/bin
sudo chmod +x /usr/local/bin/SheepShaver
Делаем что бы эмулятор культурно запускался из меню приложений
sudo convert ~/Downloads/macemu-master/SheepShaver/src/Windows/SheepShaver.ico /usr/share/pixmaps/SheepShaver.png
bash -c 'cat <<EOF > ~/.local/share/applications/SheepShaver.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=SheepShaver
Icon=SheepShaver.png
Exec=SheepShaver
Comment=An emulator for classic Apple computer systems
Categories=System;
Terminal=false
EOF'
Возможно кого то интересует старый маковский софт. которому необходимо сетевое подключение. В данном мануале предусмотрена  возможность проброса сети через модуль ядра sheep_net.
sudo bash -c 'cat <<EOF > /etc/sysctl.d/99sheepshaver.conf
# --
# Needed for SheepShaver Mac Classic emulator
# --
vm.mmap_min_addr=0
EOF'
sudo sysctl -p /etc/sysctl.d/99sheepshaver.conf

cd macemu/SheepShaver/src/Unix/Linux/NetDriver
make
sudo cp sheep_net.ko /lib/modules/$(uname -r)/kernel/drivers/net
sudo depmod -a
sudo modprobe sheep_net
sudo bash -c 'cat <<EOF > /etc/modules-load.d/sheep-net.conf
# --
# Needed for SheepShaver Mac Classic emulator
# --
sheep_net
EOF'

Что бы не пересобирать модуль всякий раз при обновлении ядра, я скопировал его в  /lib/modules/$(uname -r)/updates/
разумеется dkms присутствует в системе.
Оригинал статьи доступен на середину января 2024 по адресу. https://muylinux.xyz/sheepshaver-emula-computadoras-apple-clasicas-bajo-linux/
Русские дебианщики против цифрового слабоумия !