Power Macintosh G3 隐藏彩蛋:27 年后的惊喜发现

2025-06-24

一位开发者在 Power Macintosh G3 的 ROM 中意外发现了一个此前未被记录的隐藏彩蛋。这个彩蛋是一个 JPEG 图片,包含了 Power Mac G3 开发团队成员的照片。通过分析 ROM 中的 SCSI Manager 代码,开发者找到了触发彩蛋的方法:在系统启动后,格式化 RAM 磁盘,并在格式化对话框中输入“secret ROM image”文本。这样,一个名为“The Team”的 JPEG 文件就会在 RAM 磁盘中生成,显示团队成员的照片。这个发现可能代表着 Mac 早期开发历史中最后一个隐藏彩蛋,为这段历史增添了一抹神秘色彩。

阅读更多

Basilisk II 黑屏Bug:一段跨越十二年的调试之旅

2025-05-17

十二年前,Basilisk II 虚拟机在较新Windows版本上出现黑屏Bug,困扰着许多用户。作者通过添加调试信息,追踪问题到一个与内存分配相关的细节:Windows下两次内存分配的顺序导致模拟器ROM加载失败。最终,作者通过修改内存分配代码,解决了这个困扰多年的问题,展现了调试技巧和对操作系统的深入理解。

阅读更多
开发

苹果Performa 550的隐藏恢复分区:一段充满悬念的考古之旅

2025-03-16

作者在修复一台老旧的苹果Performa 550电脑的坏硬盘时,意外发现了隐藏的恢复分区,这其中包含了珍贵的苹果系统软件历史资料。这个分区在系统崩溃时可以启动,让用户重新安装系统。作者历经三年,通过网络求助,最终寻获一个保存完好的硬盘,解密了这个神秘分区的工作原理,并分享了其镜像文件。整个过程充满悬念,也展现了科技考古的魅力。

阅读更多

修复30年前的苹果SCSI硬盘:橡胶老化导致的读写故障

2025-03-02

本文讲述了作者修复1990年代苹果品牌的Quantum和Conner SCSI硬盘的经历。这些硬盘普遍存在一个问题:硬盘启动后会立即停止旋转。作者通过打开硬盘,发现问题根源在于老化的橡胶缓冲器导致磁头卡住。作者尝试了手动移动磁头和使用Kapton胶带固定磁头的两种方法,成功恢复了数据。文章还介绍了硬盘数据存储方式的有趣细节,并提醒读者定期备份数据,避免数据丢失。

阅读更多

Mac Classic II 的意外之喜:一个未定义的 68030 指令拯救了开机

2025-01-25

作者在使用 MAME 模拟器调试 Macintosh Classic II 时发现,在 32 位寻址模式下,系统会因一个总线错误而崩溃,显示“Sad Mac”。通过反向工程和调试,他发现 ROM 中存在一个越界跳转错误,导致 CPU 执行了一条未定义的 68030 指令。令人惊讶的是,这条指令意外地修正了寄存器 A1 的值,避免了系统崩溃,从而使 Classic II 能够成功启动。作者通过实际修复一台老旧的 Classic II 并修改 ROM 进行了验证,证实了这一发现。这个案例揭示了模拟器在发现硬件漏洞方面的潜力,也展现了软件错误如何被硬件意外“修复”的奇特现象。

阅读更多
硬件 68030

Chumby 8内核升级:100% CPU占用率的谜题

2025-01-13

作者在升级Chumby 8设备的Linux内核至6.x版本的过程中,遇到了CPU占用率始终为100%的问题。通过时间回溯、内核性能分析和深入研究`/proc/stat`文件,最终发现问题根源在于内核中读取PXA168硬件计时器寄存器的代码存在计时问题,导致空闲时间计数不准确。作者修复了这个问题,并将其贡献回Linux内核主线。

阅读更多
开发

苹果工厂焊接错误的电容

2024-11-27

本文讨论了苹果Macintosh LC III(以及Performa 450、460、466和467)主板上一个电容(C22)焊接错误的问题。该电容负责-5V电源轨,其正负极在工厂焊接时与电路板丝印相反,导致电容承受反向电压。虽然原装电解电容对这一错误有一定的容忍度,但如果使用钽电容替换,则可能导致串口问题,甚至电容爆炸或起火。作者希望提高人们对这个问题的认识,并在替换电容时提醒大家注意C22的正确焊接方向。

阅读更多
未分类 硬件维修 电容

Chumby 8 内核升级终章

2024-08-04

本文详细记录了作者将Chumby 8设备从Linux 2.6.28内核升级到现代6.x内核的历程,包括解决各种驱动程序问题,如时钟、音频、DMA、串口、电源管理、触摸屏和显示等。作者还分享了提交内核补丁的经验,以及对主流内核和厂商定制内核的看法。

阅读更多
未分类

升级我的 Chumby 8 内核 第11部分:SD/CF 读卡器

2024-06-26

本文介绍了作者在升级 Chumby 8 内核过程中解决 SD/CF 读卡器问题的过程。作者发现内置读卡器即使没有插入卡也会分配一个虚拟块设备,于是通过修改 U-Boot 中的 usb-storage 驱动参数和编写用户空间守护进程来根据检测引脚连接和断开读卡器设备,最终成功解决了这个问题。

阅读更多

修复无法正常工作的仿冒 Altera USB Blaster

2024-06-09

这篇文章讲述了作者如何修复两个购买后无法正常工作的 Altera USB Blaster 克隆设备。第一个是 Waveshare USB Blaster V2,在 Linux 下无法正常工作,但在 Windows 下工作正常。作者通过分析 USB 通信和硬件电路,发现问题出在 JTAG 时钟频率过高。通过使用 Raspberry Pi Pico 提供较低频率的时钟信号,成功修复了该设备。第二个是更便宜的克隆设备,使用 CH552G 单片机。该设备在 Linux 和 Windows 下均无法正常工作。作者通过反向工程和移植开源固件,成功修复了该设备,使其能够在 Linux 和 Windows 下正常工作。

阅读更多
未分类 USB Blaster

升级 Chumby 8 内核 Part 10:实时时钟

2024-06-02

本文介绍了作者升级 Chumby 8 设备内核以运行现代 Linux 系统时,解决实时时钟(RTC)问题的过程。作者最初试图启用 PXA168 处理器内置的 RTC,但发现该 RTC 无法在断电情况下保存时间。经过对电路原理图的分析,作者发现 Chumby 8 实际使用 STM32 芯片来跟踪时间,并通过软件模拟 RTC 功能。作者最终采用类似的软件方案,成功解决了 RTC 问题。

阅读更多
未分类 Chumby