How tasemulators/bizhawk works
BizHawk is a multi-system emulator frontend aimed at both casual play and tool-assisted speedrunning. The main workflow is to load a game image, run it in an emulation core, then interact through controls and inspect the rendered output; users can also record, debug, and automate sessions. The README documents broader features than the sampled implementation files expose. Accordingly, the graph includes those capabilities but limits implementation-level connections to relationships supported by the excerpts or README; several frontend and feature paths are represented only by existing enclosing directories.
Main entry points: BizHawk.Client.EmuHawk EmuHawk frontend · DisplayManagerBase.cs Display manager · PCEngine.cs PC Engine core · PipelineCompileArgs.cs Pipeline arguments
Components 18
Frontend and input
- EmuHawk frontend
src/BizHawk.Client.EmuHawk - Input mapping
src/BizHawk.Client.Common
Emulation runtime
- Emulation core
src/BizHawk.Emulation.Cores - PC Engine core
src/BizHawk.Emulation.Cores/Consoles/PC Engine/PCEngine.cs - Turbo CD devices
src/BizHawk.Emulation.Cores/Consoles/PC Engine/PCEngine.TurboCD.cs - Memory domains
src/BizHawk.Emulation.Cores/Consoles/PC Engine/PCEngine.cs
Session tools
- RAM search
src/BizHawk.Client.Common/tools/RamSearchEngine/RamSearchEngine.cs - Save states
src/BizHawk.Client.Common - Input recording
src/BizHawk.Client.Common - Debug tools
src/BizHawk.Client.Common - Lua / C# control
src/BizHawk.Client.Common
Graphics and output
- Display manager
src/BizHawk.Client.Common/DisplayManager/DisplayManagerBase.cs - Pipeline arguments
src/BizHawk.Bizware.Graphics/PipelineCompileArgs.cs - D3D11 pipeline
src/BizHawk.Bizware.Graphics/D3D11/D3D11Pipeline.cs - OpenGL pipeline
src/BizHawk.Bizware.Graphics/OpenGL/OpenGLPipeline.cs - Media capture
src/BizHawk.Client.Common/DisplayManager/DisplayManagerBase.cs
Other components
- Player / TASer
- Game image
Connections 16
- Player / TASer → EmuHawk frontend: operates
- Game image → EmuHawk frontend: loads
- EmuHawk frontend → Emulation core: runs core
- Input mapping → EmuHawk frontend: provides controls
- PC Engine core → Turbo CD devices: implements CD
- PC Engine core → Memory domains: exposes memory
- Memory domains → RAM search: searches
- EmuHawk frontend → Save states: manages states
- EmuHawk frontend → Input recording: records input
- EmuHawk frontend → Debug tools: offers debugging
- EmuHawk frontend → Lua / C# control: exposes control
- EmuHawk frontend → Display manager: presents video
- Pipeline arguments → D3D11 pipeline: configures
- Pipeline arguments → OpenGL pipeline: configures
- Display manager → Media capture: supports capture
- Display manager → Player / TASer: renders output