MacintoshPi是一个小型项目,允许在Raspberry Pi上运行全屏版本的苹果公司的Mac OS 7、Mac OS 8和Mac OS 9,具有声音、活跃的互联网连接和调制解调器模拟功能。所有这些都无需X.org管理器,只需一个多媒体SDL2库,并从CLI / Raspberry Pi OS (Legacy)运行。这使得模拟器可以充分利用Raspberry Pi的性能,使其更加稳定,并与其他复古软件结合使用更加实用。安装只需在一个干净的Raspberry Pi OS (full) Legacy上运行一个脚本,然后等待约两小时编译和安装软件包。此外,通过项目中包含的文档,可以在双启动模式下放置最快的(裸机)Commodore 64/128/PET模拟器BMC64,从而在一张SD卡上构建一个有趣的复古软件包。整个MacintoshPi项目可在Raspberry Pi Zero 2 W、2、2B、3、3B、3A+、3B+上运行(目前不支持版本4)。
以下是一个简短的视频片段,展示了MacintoshPi的功能:
<p align="center"><a href="https://www.youtube.com/watch?v=J2kgQuUPLoY" target="_blank"><img src="https://yellow-cdn.veclightyear.com/835a84d5/a3cba943-fdd2-4063-a2cb-e95f8f6b1322.jpg" width="50%"></a></p>更长版本的视频可以在这里找到。
该项目包含以下用于Raspberry Pi的自动编译和安装bash脚本:
Mac OS镜像已预先配置以支持在线连接。
Apple-1、Apple ][、Altair和IMSAI模拟器已移至新的DinosPi项目。
特别感谢Christian Bauer和kanjitalk755。
该项目必须安装在干净的完整Raspberry Pi OS(oldold Legacy)Buster映像2022-04-04-raspios-buster-armhf.img.xz上 - 你必须切 换到命令行或将系统启动设置为CLI(开始 -> 首选项 -> Raspberry Pi配置:选择To CLI和Wait for network)。安装过程需要至少16 GB的SD卡。
安装整个MacintoshPi软件包只需运行单个命令./build_all.sh
- 所有依赖项和所需软件包将自动安装:
git clone https://github.com/jaromaz/MacintoshPi
cd MacintoshPi
./build_all.sh
# 就是这样 - 现在你可以运行,例如,Mac OS 9:
mac os9
编译和安装软件包的过程可能需要约两个小时。
这些子项目中的每一个都可以通过运行相应子项目目录中包含的编译和安装脚本来单独安装。安装脚本必须以pi
用户身份运行。
该脚本下载启动Mac OS所需的所有文件 - ROM、系统镜像,并创建配置文件。安装时,/home/pi/Downloads
目录将在Apple桌面上显示为Unix
目录 - 文件可以在这两个资源之间双向复制,但应用程序不能直接从该目录启动。此外,还编译了所谓的NetDriver,允许从虚拟化的Apple系统进行完全的在线访问。
到目前为止,全屏模式的Mac OS 9(没有不必要的窗口管理器)在Raspberry Pi上还不可用。这可能是第一个允许在全屏模式下使用Mac OS 9和SDL2的实现,具有声音和在线连接功能 - 甚至在小型Raspberry Pi 2W上也可以运行。
每个系统必须使用适当的命令启动:mac os7
、mac os8
或mac os9
。可以通过在启动相关系统的命令末尾添加图像文件名来将额外的.img
或.dsk
文件添加到启动的系统中,例如
mac os9 demo.img
可以使用键盘组合CTRL+SHIFT+ESC停止Basilisk II和SheepShaver模拟器。这会立即返回到命令行。在Mac OS 9中,COMMAND键通过左ALT键获得,在Mac OS 7和Mac OS 8中通过CTRL键获得。 有关这些模拟器的更多信息,请访问BasiliskII和SheepShaver网站。
编译 VICE Commodore 模拟器的脚本,可用于将模拟的 Commodore 连接到现代 BBS。它允许下载文件,这些文件可以在同一台 Raspberry Pi 设备上使用,但在双启动安装的快速 BMC64 模拟器上使用。将 BMC64 分区安装到 rootfs 后,可以直接从 BBS 下载数据到虚拟驱动器,然后在 BMC64 中自动可用。Raspberry Pi 上的 VICE 模拟器非常慢,因此建议对更高要求的应用程序使用 BMC64 模拟器。有关 VICE 模拟器的更多信息,请访问项目网站。
一个在 Raspberry Pi OS 中编译和安装虚拟调制解调器的脚本,允许使用上述 Basilisk II、SheepShaver 和 VICE 模拟器以及 Raspberry Pi OS 本身启动的任何终端软件连接到现代 telnet BBS。
MacintoshPi 虚拟调制解调器 由 systemd 控制,使用 tpcser 软件,通过 tty0tty 项目写入虚拟设备 /dev/tnt0
。数据可以从另一个虚拟设备 /dev/tnt1
读取,从而成为系统中的虚拟串行端口。调制解调器在系统启动后默认启动。
可以使用标准的 systemd 命令重置或暂停:
sudo systemctl stop vmodem
sudo systemctl reset vmodem
速度(bps)更改选项可以在配置文件中设置,如提供的示例条目 所示:
/etc/vmodem.conf
要连接到 telnet BBS,只需在终端应用程序中运行以下命令:
ATDT telnet_url:port
例如:
ATDT borderlinebbs.dyndns.org:6400
虚拟调制解调器与 VICE Commodore 64 模拟器兼容,但只能与使用 x64sc
文件启动的版本兼容。
系统 | 最大速度 bps |
---|---|
Commodore / VICE | 2400 |
Mac OS 7-8 / BasiliskII | 28800 |
Mac OS 9 / SheepShaver | 28800 |
Raspberry Pi OS | 38400 |
在 VICE Commodore 64 中,运行命令 x64sc 并选择:F12 -> Machine settings -> RS232 Settings: 按下图设置屏幕,同时用绿色标记适当的点:
<p align="center"><img src="https://yellow-cdn.veclightyear.com/835a84d5/1fdc4c10-ed33-4093-84be-50cec7924e0e.png" width="50%"></p>在 Basilisk II 和 SheepShaver 中,配置已在其配置文件中自动完成。在 Apple 终端应用程序中,只需选择标准串行端口和在 Raspberry Pi OS 的 /etc/vmodem.conf
文件中设置的调制解调器速度(默认 2400 bps)。
在直接在 Raspberry Pi OS 下的终端应用程序(如 minicom)中,只需指定串行端口:/dev/tnt1
和 /etc/vmodem.conf
文件中显示的速度。
一个编译 CDEmu CD/DVD 模拟器的脚本,允许挂载 iso、toast、cue/bin、mds/mdf 等多种格式的 CD 和 DVD 镜像。该应用程序类似于 Windows 的 Daemon Tools,可与 BasiliskII 和 SheepShaver 以及 Raspberry Pi OS 一起运行。它允许您创建旧 CD-ROM 的镜像,将其复制到 Raspberry Pi,并在 Raspberry Pi 上模拟的 Apple 系统中安装软件。
不再需要将 .toast 文件复制到磁盘镜像或用 Mac OS 软件挂载它们 - 现在您可以在 Raspberry Pi OS 下使用 unar
命令解压 .sit 文件,然后使用 cdload
命令在 Raspberry Pi OS 下挂载解压后的 .toast 文件,并在任何 Mac OS 上像使用普通 CD-ROM 一样使用 CD 镜像。在 CDEmu 中启动的音频 CD 在 Raspberry Pi OS 的图形和文本模式下都能正常运行,但在 Basilisk II 或 SheepShaver 模拟器中声音不工作。有关 CDEmu 的更多信息,请访问项目网站。
最简单的挂载 CD 镜像的方法是使用以下命令:
cdload image.toast
CD 将在虚拟设备中可用:
/dev/sr0
可以使用以下命令从虚拟设备卸载镜像:
cdunload
模拟器的最大性能是在模拟系统的原生分辨率下实现的,即如果我们想在 640x480 分辨率下启动 Mac OS,建议 Raspberry Pi 应该以 640x480 分辨率启动。
启动器的任务是启动给定版本的 Mac OS,如果已经以适当的参数运行,则用分配给特定系统或任何其他定义应用程序的适当屏幕分辨率和位置覆盖 config.txt
和任何其他系统文件,然后在系统重启后立即以新分辨率启动模拟器或应用程序。
包含系统要覆盖的数据的目录名称与 mac
命令后面的参数名称相同,例如 mac os8-480
将以 640x480 分辨率重启 Raspberry Pi OS,然后以该分辨率启动 Mac OS 8,但 mac os8
命令将简单地以最近选择的分辨率启动 Mac OS 8。
每个系统启动时都会播放不同的启动音效 - 根据所选分辨率:Macintosh 128K、Macintosh Classic II、Macintosh Color Classic、Macintosh Performa 520、Power Macintosh 550、Power Macintosh G3 的声音。
启动器还允许使用 mac os7 file.img
等方式将 .img
或 .dsk
文件添加到 Mac OS - 然后将启动相关的 Mac OS,镜像内容将作为额外驱动器出现在桌面上。
目前这是使用 telnet 协议连接现代 BBS 的最佳应用程序。它使用 SDL 图形库的选项编译,因此在图形模式下使用适当调整的字体而不是系统字体。同样,SyncTERM 不需要 X.org 就能运行,程序本身默认以全屏模式启动。
有关启动 Raspberry Pi OS 与快速 Commodore 模拟器 BMC64 双启动的可能性信息,包含在单独的 README dual-boot 中。
Mac OS 7、Mac OS 8 和 Mac OS 9 的软件可以在以下网站找到:
这些网站可以直接在Raspberry Pi OS的Chromium浏览器中舒适地使用 - 下载的文件默认保存在/home/pi/Downloads
目录中,该目录被 配置为本项目中所有Mac OS的共享目录 - 在Mac OS下,它显示为Unix驱动器。
虽然并非每个下载的应用程序都能在Basilisk II或SheepShaver模拟器中运行(例如OpenGL应用程序就是这种情况),但绝大多数应用程序都能正常运行。在下载之前,请确保软件属于abandonware组,或者如果可能的话购买所需的许可证。
根据下载文件的类型,有三种安装软件的方法:
下载的文件扩展名为.sit
,包含.toast
或.iso
CD镜像:
在Raspberry Pi OS下使用unar file.sit
命令解压文件;删除解压后的.toast
文件名中的任何空格(如果有的话),然后使用cdload file.toast
命令挂载.toast
文件。接下来,启动给定的Mac OS版本,从桌面上显示的虚拟CD驱动器安装软件。
下载的文件扩展名为.sit
或.zip
,包含.img
或.dsk
文件:
在Raspberry Pi OS下使用unar file.sit
或unzip file.zip
命令解压文件;删除解压后的.img
或.dsk
文件名中的任何空格,然后使用mac os7 file.img
命令启动给定的Mac OS - 镜像将自动添加到系统中,并在桌面上显示为额外的驱动器。
下载的文件扩展名为.sit
,包含直接用于Mac OS的软件:
首先下载Stuffit Expander应用程序的镜像并将其安装在Mac OS中;然后,将原本下载到Downloads目录的.sit
文件从Mac OS中的Unix目录复制到Macintosh HD虚拟驱动器,并双击该文件以直接在Mac OS中解压。
我的MacintoshPi版本由Raspberry Pi 3B+驱动。我 在eBay上购买了Macintosh Classic II机箱 - 它完全发黄,但我使用18%的过氧化氢和适当的光照恢复了它的出厂状态。
它的LCD IPS 10.1'' 1024x600px HDMI Waveshare 11870屏幕旋转了180°,这样接线就不会妨碍Macintosh上框。我用3D打印件填充了平面屏幕和CRT形状剩余部分之间的空间,这个设计来自2GuysTek YouTube频道的作者。Waveshare屏幕稍微有点宽,但适当操作config.txt
文件可以实现软件旋转并为每个系统或应用程序精确定义显示的屏幕图像(重启后)。屏幕也太低了,所以我用黑色卡纸填充了空隙,这样这些元素几乎无法区分(看起来像围绕屏幕的框架的黑色背景)。然而,我建议使用不同的、稍大一些的屏幕,然后通过软件减小显示的屏幕图像并确定其适当位置。
键盘和鼠标是Logiteh MK295 Silent Wireless Combo - 它们在风格上只与当时提供的外围设备略有相似,但它们也是无线的,使用单个蓝牙适配器。我添加了两个连接到Raspberry Pi 3B+模拟音频/插孔输入和分配器的扬声器。我将所有这些元素集成在Apple Macintosh Classic II机箱内。
我已经研究Apple电脑模拟这个主题大约五年了(因为我真的喜欢并欣赏Apple复古系统),这个主题相当复杂:构建正确镜像的问题,为互联网支持配置系统镜像的问题,模拟器的适当配置问题,编译模拟器和(单独的)SDL2的正确选项(因为当然,来自软件包的SDL2在模拟中不起作用),性能问题,正确编译NetDriver的问题,库版本的问题(因为它们必须是遗留版本),最小化鼠标移动延迟的问题,声音问题等等。当然,我说的是初学者会遇到的问题,之后他们会感到沮丧并放弃这些模拟器。既然我在我的Raspberry Pi上解决了所有这些问题,我决定将这个解决方案提供给每个人,这样你只需运行一个脚本就可以毫不费力地在一个包中获得所有三个系统 - 这就是这个小项目的目的。
更多信息(和高分辨率照片)请访问我的网站:https://jm.iq.pl/MacintoshPi
如果你想支持这个项目,你可以向我的PayPal账户转账任何你希望的金额。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
字节跳动发布的AI编程神器IDE
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI助力,做PPT更简单!
咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。
选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。
专业的AI公文写作平台,公文写作神器
AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。
OpenAI Agents SDK,助力开发者 便捷使用 OpenAI 相关功能。
openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。
高分辨率纹理 3D 资产生成
Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。
一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。
3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。
最新AI工具、AI资讯
独家AI资源、AI项 目落地
微信扫一扫关注公众号