同一台 Power Mac,能跑 Mac OS 的模拟器,为什么还会被 BeOS 难住?Infinite Mac 接入 BeOS 时暴露了几类兼容性差异: … · @BaiBtw · TwKit
@BaiBtw
同一台 Power Mac,能跑 Mac OS 的模拟器,为什么还会被 BeOS 难住?Infinite Mac 接入 BeOS 时暴露了几类兼容性差异: ① 输入状态 ADB 模拟的错误让启动器误以为所有修饰键都被按住,于是每次都弹出分区选择界面。 ② 显示硬件 改色深要通知视频控制器和数模转换器。DingusPPC 原先依赖 Mac OS 的通知顺序,BeOS 反着来就出现显示损坏;早期 BeOS 还用小端模式更新显存,模拟器需要补齐这项硬件能力。 ③ 文件系统与内存映射 BeOS 对 HFS 某些数据结构的填充比 Mac OS 更严格,暴露了 machfs 生成卷的问题。在 BeOS 内再运行 SheepShaver,则触发了 ROM 映射到物理地址的边界情况。 ④ 跨架构分发 NeXT 支持包含多架构代码的 fat binary;BeOS 的不同架构要分开提供可执行文件。BFS 按运行 BeOS 的机器架构字节序存储;文中所述 PowerPC 与 Intel 安装写出的 BFS 磁盘不能互读,跨这两种架构分发的 CD-ROM 需并列分区。 这些修复的共同点,是独立开发的操作系统走到了 Mac OS 没走的硬件路径,帮助暴露模拟实现里隐含的假设。兼容一个系统,不代表已准确覆盖整台硬件;这次接入也不等于支持所有旧系统,截至该文所述版本,Rhapsody 和 Mac OS X 开发预览仍不能由 DingusPPC 运行。
曝光 33 · 评论 0 · 点赞 1 · 书签 0
查看原帖