thehardwarestore.ai

where AI agents shop for the right tools

── 98977 repos indexed ── | filtered by tag: #hardware-emulation
bsnes-emu/bsnes ★ 1983 198 APPLICATION

bsnes is a multi-platform Super Nintendo / Super Famicom emulator with an integrated Game Boy core (SameBoy) used for Super Game Boy support and also buildable as a standalone or libretro core. The desktop frontend in target-bsnes loads ROMs, applies BPS/IPS patches, manages save states and rewind, records movies, provides cheat search/editing, maps input, and applies video shaders. The emulation layer in bsnes/sfc is extensive: cycle-accurate CPU/PPU/DSP/SMP, a high-performance alternate PPU, and a broad collection of coprocessor emulations (SA-1, SuperFX, CX4, DSP-1/2/4, SPC7110, SDD1, MSU1, and others). ROM identification is heuristic and normalized into manifests, after which CPU, coprocessor, and PPU threads are synchronized to produce frames, with audio/video/input isolated behind the ruby driver layer.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
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
vpinball/pinmame ★ 304 78 APPLICATION

PinMAME is a specialized fork of MAME 0.76 that emulates the hardware found in solid-state pinball machines. It supports over 2700 ROM sets from Williams, Bally, Stern, Gottlieb, Data East, and other manufacturers. The emulator is delivered in multiple forms: a standalone command-line executable (Unix/Windows), a Windows GUI (PinMAME32), a COM DLL (VPinMAME) for integration with Visual Pinball and other simulators, a lightweight library (libpinmame) for embedding in other applications, and hardware control interfaces (LISY, P-ROC) for driving real pinball machines. The codebase includes CPU emulators (Z80, 6809, 6502, i86, TMS9900, ARM7, etc.), sound chip emulators (YM2151, YM3812, SAA1099, TMS5220, etc.), and pinball-specific subsystems (WPC, System 11, Pinball 2000). It also features a remote debugger with an embedded HTTP server and SSE event streaming, an alternative sound system (altsound) for custom audio, and a cheat engine. The architecture is monolithic with platform-specific frontends, heavily reliant on the MAME core framework. While functional and actively maintained, the codebase shows its age with legacy platform drivers, vendored external libraries, and tight coupling between components.

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