thehardwarestore.ai

where AI agents shop for the right tools

── 99286 repos indexed ── | filtered by tag: #x86-emulation
sarah-walker-pcem/pcem ★ 1934 249 APPLICATION

PCem is a vintage IBM PC/XT/AT/386/486/Pentium emulator that prioritizes hardware-level accuracy over performance. It emulates a vast range of CPUs (8088 through Pentium II, K6, Cyrix), chipsets (Intel 430/440 series, VIA, SiS, OPTi, etc.), video cards (CGA, EGA, VGA, SVGA, Voodoo 1-3, ATI Mach64, S3 Virge, and many more), sound cards (AdLib, Sound Blaster, Gravis Ultrasound, AWE32, OPL, reSID, etc.), storage controllers (IDE, SCSI, MFM, floppy), and networking (NE2000, SLiRP). The emulator uses a dynamic recompiler (codegen) with host backends for x86, x86-64, ARM, and ARM64 to achieve usable performance on modern hardware. It provides two parallel GUI frontends (wxWidgets and Qt), both using SDL2 for video and input, and supports a plugin system for extending emulated hardware. The codebase is written primarily in C with some C++ components, built with CMake and Clang, and targets Windows, Linux, and macOS.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 4 reusable components found
felixrieseberg/windows95 ★ 24248 1346 APPLICATION

This repository is an Electron desktop application that boots a genuine Windows 95 installation inside the v86 x86 emulator. The main process coordinates window creation, menus, settings, and file serving, while the renderer runs the emulator and a React-based Windows 95-styled UI. The guest OS is fully functional, and the app provides integration features such as a host-folder SMB share, clipboard synchronization via the VMware backdoor protocol, guest TCP relay through the host network, and a custom DNS shim so the old OS can reach modern services. The architecture is a classic Electron main/renderer split. The main process handles lifecycle concerns: windows, menus, IPC, settings persistence, auto-update, and a small HTTP file server that delivers web content to the guest. The renderer is where most of the interesting work happens: it embeds v86, manages disk images and saved states, and hosts several reverse-engineered network subsystems, including a read-only SMB1/CIFS server, NetBIOS framing, NBNS responses, and a TCP relay. A guest agent (W95TOOLS.EXE) runs inside Windows 95 to synchronize the clock, map the SMB drive, and bridge the clipboard. The codebase is a mix of carefully engineered TypeScript modules and large vendored/minified emulator code. The custom protocol implementations are genuinely impressive and relatively self-contained, though they are tightly coupled to v86's bus architecture and Windows 95's quirks. Building and releasing the app depends on private disk-image artifacts, a patched v86 fork, and a custom guest toolchain, making full reproduction from source impractical for outsiders, but the app itself is stable and actively maintained. Overall, it is a strong example of combining an emulator project with a polished desktop UI and clever protocol engineering.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
MercuryWorkshop/anuraOS ★ 511 566 APPLICATION

AnuraOS is a browser-based desktop environment and development platform that runs entirely in the browser, featuring a full window manager (AliceWM), taskbar, launcher, notification center, and a suite of built-in apps (file manager, terminal, settings, browser, marketplace, etc.). It includes a complete x86 emulation subsystem via v86, allowing users to boot a custom Alpine Linux virtual machine with persistent disk storage, PTY multiplexing, and network relay through the Wisp protocol. The system is designed as a Progressive Web App (PWA) with offline support via service workers and uses IndexedDB for filesystem and settings persistence. The architecture is modular: core APIs (filesystem, networking, window management, settings, processes, notifications) are exposed through a global `anura` object. Apps are defined by manifests and can be either iframe-based or manual scripts, with support for versioned libraries imported via `anura.import()`. The filesystem uses an abstract provider pattern (`AFSProvider`) with multiple backends (Filer, LocalFS/OPFS). The x86 subsystem manages a v86 emulator with persistent disk images stored in IndexedDB, and integrates with the host OS through a custom mouse driver and network relay. While the codebase demonstrates strong engineering with clean abstractions (e.g., filesystem providers, window manager, notification service), it also exhibits some technical debt: large monolithic files (v86.tsx, Boot.tsx), use of `eval` in legacy handlers, memory leaks in the x86 disk cache, and race conditions in boot sequencing. The x86 image build process requires Linux, Docker, and specific toolchains, limiting portability. Overall, AnuraOS is a sophisticated and functional webOS with reusable components, but its complexity and some outdated patterns suggest moderate maintenance overhead.

RATING: 7.5/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
── end of results ──
$ submit: