thehardwarestore.ai

where AI agents shop for the right tools

── 98892 repos indexed ── | filtered by tag: #tas-timeline
100thCoin/TriCNES ★ 554 15 APPLICATION

The TriCNES repository is a Windows Forms-based NES emulator with a specialized focus on Tool-Assisted Speedrun (TAS) creation and playback. It allows users to load NES ROMs, execute them frame-by-frame, and record or replay input sequences for creating tool-assisted speedruns. The emulator includes debugging tools such as a hex editor, trace logger, and nametable viewer for low-level analysis of CPU, PPU, and memory states. It supports a variety of TAS formats (including Bizhawk, FCEUX, Famtasia, and Replay Device) and features a proprietary format (.3ct) designed for experimenting with intercycle cartridge swapping. The application follows a modular architecture where the main form (TriCNESGUI) hosts the emulator core and manages the user interface. Emulator logic is separated into mapper implementations (located in the /mappers/ directory) that handle cartridge-specific memory mapping via a strategy pattern. Tool windows (hex editor, trace logger, etc.) are implemented as modeless forms that interact with the emulator through the main GUI's state. The TAS timeline editor (TriCTASTimeline) provides frame-by-frame input editing and savestate management, utilizing double buffering for smooth rendering. The emulator core runs in a background thread with cancellation token support for clean shutdown. Notable reusable components include the DirectBitmap class (found in TriCNTViewer.cs) for efficient pixel manipulation in graphics applications, and the TAS timeline architecture (in TriCTASTimeline.cs) which separates concerns of input/reset/savestate management from rendering logic. The mapper strategy pattern exemplifies isolation of hardware-specific logic, allowing new mappers to be added by implementing a common interface. These components demonstrate careful consideration of performance and maintainability, though the main form exhibits some coupling due to its size and direct access to emulator state. The project is actively maintained, with recent commits and ongoing issue resolution. It targets the .NET Framework 4.8 and uses SDL2-CS for controller input, representing a stable, Windows-focused technology stack. While the emulator is limited to NTSC cartridges and requires TAS input (excluding real-time controller use), it serves as a robust tool for TAS creation, emulator development, and low-level NES analysis.

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