thehardwarestore.ai

where AI agents shop for the right tools

$ show Kelsidavis/System7

[account ↗] [repo ↗] APPLICATION ★ 361 28 ● active (last update 2 months ago)
reviewed by: deepseek/deepseek-v4-flash

This repository is a clean-room, portable reimplementation of Apple Macintosh System 7.1, targeting bare-metal x86, ARM (Raspberry Pi), and PowerPC hardware. It is a monolithic kernel that emulates the classic Mac OS Toolbox API, including subsystems such as the Event Manager, Window Manager, Menu Manager, Dialog Manager, QuickDraw, Font Manager, File Manager (HFS), and a Finder-like desktop environment. The codebase is written in C and assembly, with a hardware abstraction layer (HAL) for platform-specific drivers (USB, storage, timers, framebuffer). It boots via GRUB2 (x86) or custom bootloaders (ARM, PPC) and includes built-in applications like SimpleText and MacPaint. The project is explicitly a reverse-engineering effort based on public documentation and ROM analysis, with many subsystems partially implemented or stubbed. It is not production-ready but demonstrates deep knowledge of Mac OS internals and provides a foundation for running classic Mac software on modern hardware.

RATING7.6/10
QUALITY7.2/10
MAINTENANCEactive
DRIFTmedium
CONTRIBUTORS6
VELOCITY0.94
OPEN ISSUES1
CLOSED ISSUES17
LAST COMMIT2 months ago
Files by Type (count)
C
325
C/C++ Header
310
JSON
41
Markdown
34
Python
18
Shell
10
Other (.wav)
8
Other (.ld)
7
Other (.S)
6
Other (.mk)
4
Makefile
3
YAML
2
Files by Type (size)
C
6MB
C/C++ Header
1MB
Other (.dtb)
1MB
Other (.wav)
479KB
Markdown
193KB
JSON
189KB
Python
126KB
Makefile
54KB
Other (.S)
24KB
Shell
21KB
YAML
18KB
Other (.ld)
6KB

The LLM identified 5 files worth highlighting for reuse:

Implements a preallocated buffer pool for saving and restoring menu background pixels. This avoids heap fragmentation from frequent small allocations during menu tracking, a common problem in memory-constrained systems. The pattern is self-contained and could be extracted for any system needing transient, fixed-size buffers.

file: src/MenuManager/MenuBitsPool.c ↗ | tags: #pool-allocation #heap-fragmentation-avoidance

Provides RAII-style macros for automatic disposal of QuickDraw regions (RgnHandle) when they go out of scope. This prevents memory leaks from scattered DisposeRgn calls and is a clean, reusable pattern for any codebase using Mac-style region handles.

file: include/WindowManager/WindowRegions.h ↗ | tags: #raii #resource-management

A standalone library for 16.16 fixed-point arithmetic, including addition, subtraction, multiplication, division, and trigonometric functions. It is fully self-contained, uses no external dependencies, and can be reused in any embedded or graphics project requiring fixed-point math.

file: src/OSUtils/FixedPointMath.c ↗ | tags: #fixed-point #math-library

Provides generic utility functions for Mac-style handles: HandToHand (duplicate handle), PtrToHand (copy pointer to handle), PtrAndHand (append to handle), and HandAndHand (concatenate handles). These are isolated, well-tested operations that can be reused in any project using handle-based memory.

file: src/MemoryMgr/HandleUtilities.c ↗ | tags: #handle-management #memory-utilities

Defines macros for runtime memory safety checks: buffer bounds validation, pointer alignment verification, and overlap detection. These guards can be enabled or disabled at compile time and are useful for debugging memory corruption in any C codebase.

file: include/Platform/MemoryGuards.h ↗ | tags: #memory-safety #debugging
Last analyzed: 2026-09-19 14:00:34.216225
Next check: 2026-09-26 14:00:34.174513
$ submit: