The blog post explores the recently released and surprisingly readable Macintosh QuickDraw and MacPaint 1.3 source code. The author dives into the inner workings of the software, highlighting the efficient use of assembly language and clever programming techniques employed to achieve impressive performance on limited hardware. Specific examples discussed include the rectangle drawing algorithm, region handling for complex shapes, and the "FatBits" zoomed editing mode, illustrating how these features were implemented with minimal resources. The post celebrates the code's clarity and elegance, demonstrating how the original Macintosh developers managed to create a powerful and user-friendly application within the constraints of early 1980s technology.
SheepShaver is a free and open-source emulator that allows you to run classic PowerPC Mac OS versions (from 7.5.2 up to 9.0.4) on modern macOS, Windows, and Linux systems. It requires a ROM image from a compatible Mac model to function and offers good performance for many older Mac applications and games. While support for newer macOS versions relies on community patches, SheepShaver remains a viable option for revisiting classic Mac software.
Commenters on Hacker News express nostalgia for classic Mac OS and discuss their experiences using SheepShaver. Some highlight its speed and compatibility, even on low-powered hardware like the Raspberry Pi. Others reminisce about specific games and software that ran well on the emulator. A few users mention the limitations of emulating older systems and suggest alternative emulators like Basilisk II for 68k Macs. Some discuss the legal gray area of ROM acquisition, essential for running SheepShaver. The thread also touches on the challenges of preserving old software and hardware, as well as the ongoing interest in retro computing.
A hidden recovery partition, dating back to 1994 and designed for Apple's Quadra 630, has been discovered. This partition, previously unknown, contains a mini operating system and tools intended to help users recover their system in case of corruption. Located on a small sliver of the hard drive, it was found by a user who meticulously examined disk images and realized its purpose. This "mini OS" is bootable and provides utilities for repairing directory damage and other system issues, offering a fascinating glimpse into early Apple recovery methods.
Hacker News users discuss the practicality and historical significance of the discovered System 7.5 recovery partition. Several commenters note the small size of the partition (20MB) reflects the much smaller software of the time, with one pointing out a full System 7.5 install was only 50MB. Others delve into the technical aspects, discussing how the partition was hidden and the methods used to access it. Some express skepticism about the "lost" nature of the partition, suggesting it was simply undocumented rather than unknown. The overall sentiment is one of mild interest in this piece of Apple history, with a touch of nostalgia and some technical curiosity about retro computing.
1984 saw the rise of networked filesystems like NFS, which offered performance comparable to local filesystems, and the introduction of the Andrew File System (AFS), designed for large-scale distributed environments with client-side caching and whole-file serving. Research focused on improving performance and reliability, with log-structured filesystems like LFS emerging to optimize write operations. Additionally, the standardization of file systems continued, with work on the ISO 9660 standard for CD-ROMs solidifying the format's widespread adoption. This year highlighted the increasing importance of networking and the evolving demands placed upon file systems for both performance and portability.
The Hacker News comments discuss the blog post's focus on the early days of networked filesystems, particularly NFS. Several commenters share their own experiences with early NFS, highlighting its initial slow performance and eventual improvements. Some discuss the influence of Sun Microsystems and the rise of distributed systems. Others delve into technical details like caching, consistency models, and the challenges of implementing distributed locks. A few comments compare NFS to other contemporary filesystems and contemplate the enduring relevance of some of the challenges faced in the 1980s. There's a general appreciation for the historical perspective offered by the blog post.
Macintosh Allegro Common Lisp (MCL) was a popular Lisp development environment for the classic Mac OS. Developed by Franz Inc., it offered a full-featured implementation of Common Lisp, including an integrated development environment (IDE) with a compiler, debugger, and inspector. MCL leveraged the Macintosh interface, offering a graphical user interface and utilizing features like QuickDraw for graphics. It was known for its performance and robust capabilities, making it a favored choice for AI research and development on the Mac platform during the late 80s and 90s. Though no longer actively developed, it represents a significant chapter in the history of Lisp on the Mac.
Hacker News users discuss Macintosh Allegro Common Lisp, with several expressing nostalgia for the environment and its impressive capabilities for the time. One commenter recalls its speed and the powerful IDE, noting its use in AI research. Another highlights its foreign function interface, enabling integration with existing Mac Toolbox code. Some lament the closed-source nature and the eventual decline of MCL, while others suggest exploring modern open-source Lisp options like SBCL or CCL. The high cost of MCL is also mentioned. One user points out the existence of a free version with limitations. The thread overall expresses appreciation for MCL's historical significance in the Lisp and Mac communities.
A quirk in the Motorola 68030 processor inadvertently enabled the Mac Classic II to boot despite its ROM lacking proper 32-bit addressing support. The Classic II's ROM mistakenly used a "MOVEA" instruction with a 32-bit address, which should have caused a failure on the 24-bit address bus. However, the 68030, when configured for a 24-bit bus, ignores the upper byte of the 32-bit address in this specific instruction. This unintentional compatibility allowed the flawed ROM to function, making the Classic II's boot process seemingly normal despite the underlying programming error.
Hacker News commenters on the Mac Classic II boot anomaly generally express fascination with the technical details and the serendipitous nature of the discovery. Several commenters delve into the specifics of 680x0 instruction sets and how an invalid instruction could inadvertently lead to a successful boot, speculating about memory initialization and undocumented behavior. Some share anecdotes about similar unexpected behaviors encountered during their own retrocomputing explorations. A few commenters also highlight the importance of such stories in preserving computer history and understanding the quirks of older hardware. The overall sentiment reflects appreciation for the ingenuity and occasional happy accidents that shaped early computing.
The Mac Mini G4 strikes a sweet spot for classic Mac gaming, balancing performance, affordability, and size. Its PowerPC G4 processor handles early 2000s Mac OS X games well, including some Classic environment titles. While not as powerful as the Power Mac G5, its smaller footprint and lower cost make it more practical. The option for an internal optical drive is beneficial for playing original game discs, and it supports various controllers. Though not perfect due to limitations with certain later-era games and the eventual demise of Rosetta, the Mini G4 remains an excellent entry point for exploring the older Macintosh gaming library.
Hacker News users generally agree with the article's premise that the Mac Mini G4 is a good choice for classic Mac gaming. Several commenters praise its relatively compact size, affordability, and ability to run OS 9 and early OS X, covering a wide range of game titles. Some highlight the ease of upgrading the RAM and hard drive. However, some dissent arises regarding its gaming capabilities compared to earlier PowerPC Macs like the G3 or G4 towers, suggesting they offer superior performance for certain games. Others point to the lack of AGP graphics as a limitation for some titles. The discussion also touches on alternative emulation methods using SheepShaver or Basilisk II, though many prefer the native experience offered by the Mini. Several commenters also share personal anecdotes about their experiences with the Mac Mini G4 and other retro Macs.
Summary of Comments ( 16 )
https://news.ycombinator.com/item?id=43589156
Hacker News commenters on the MacPaint source code release generally expressed fascination with the code's simplicity, small size, and cleverness, especially given the hardware limitations of the time. Several pointed out interesting details like the use of hand-unrolled loops for performance and the efficient drawing algorithms. Some discussed the historical context, marveling at Bill Atkinson's programming skill and the impact of MacPaint on the graphical user interface. A few users shared personal anecdotes about using early Macintosh computers and the excitement surrounding MacPaint's innovative features. There was also some discussion of the licensing and copyright status of the code, and how it compared to modern software development practices.
The Hacker News post "Investigating MacPaint's Source Code" generated a lively discussion with several insightful comments. Many commenters expressed fascination with the historical significance of the code and the ingenuity of the original Macintosh development team.
Several commenters focused on the technical aspects of the code. Some marveled at the efficiency and compactness of the code, particularly given the hardware limitations of the time. Others pointed out interesting programming techniques used, such as the use of assembly language for performance-critical sections and the clever handling of memory management. One commenter highlighted the use of fixed-point arithmetic due to the lack of a floating-point unit on the original Macintosh. Another discussed the implications of the code's reliance on QuickDraw, the Macintosh's graphics library, and how it contributed to the system's overall responsiveness.
A few comments delved into the historical context of MacPaint's development. One commenter recounted their personal experience using MacPaint in its early days, highlighting its revolutionary user interface and the impact it had on the creative landscape. Another discussed Bill Atkinson's role as the primary developer of MacPaint and his other contributions to the early Macintosh. There was also some discussion of the challenges faced by the development team, including the limited hardware resources and the tight deadlines.
Some comments also touched upon the broader implications of making historical source code available. Commenters argued that studying such code can provide valuable insights into the evolution of software development practices and inspire future generations of programmers. They also emphasized the importance of preserving and sharing such historical artifacts for educational and research purposes.
A few commenters shared links to related resources, including the Computer History Museum's exhibit on the Macintosh and other online repositories of historical software. Some also suggested tools and techniques for analyzing and understanding the MacPaint source code.
Overall, the comments on the Hacker News post demonstrated a strong appreciation for the historical significance and technical brilliance of MacPaint's source code. The discussion provided valuable insights into the early days of personal computing and the ingenuity of the pioneers who shaped the industry.