Skip to content

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VoltHex

VoltHex is a focused desktop workspace for inspecting binary files and live memory through the GDB Remote Serial Protocol. It combines a virtualized hex view, typed search, reversible file patches, and live declarative data models in a Tauri 2 application.

Highlights

  • Preact + TypeScript interface designed for dense technical work, with keyboard navigation, ASCII pairing, selectable 8/16/32-byte rows, region context, inspector and command palette.
  • Binary files stay in Rust and are read in pages. Patches are non-destructive overlays until an explicit export.
  • mGBA-optimized GDB RSP client with packet checksums, ACK/no-ACK negotiation, fragmented/coalesced packet handling, bounded timeouts, chunked reads and writes, and safe fallback from fast reads.
  • Typed searches for signed/unsigned integers, floats and fixed-point numbers; comparison operators, alignment and endian controls; validated delta snapshots.
  • Versioned .vhex workspaces with portable references, transactional saves and backups. Opening a workspace never reconnects a live target automatically.
  • Safe .vmodel.json models with typed inline writes, includes, computed values, automatic file watching, and compressed last-known-good project backups.

Development

Requirements: Node.js 22+, stable Rust with the MSVC toolchain, and the Tauri Windows prerequisites.

npm install
npm run tauri dev

Useful checks:

npm run build
npm test
cd src-tauri
cargo fmt --all -- --check
cargo clippy --all-targets -- -D warnings
cargo test --all-targets

The ordinary Vite page opens with deterministic demo memory, so most visual and interaction work can be done with npm run dev without an emulator.

Models and projects

Release

Windows MSI/NSIS bundles are produced by the tag workflow. Releases are created as drafts for manual smoke testing and signing review. The final updater-signing setup is intentionally a publisher step because its public key and GitHub endpoint depend on the repository that will host releases; follow docs/RELEASING.md before the first public tag.

No analytics or telemetry are collected. Licensed under the MIT License.

About

Desktop hex and live memory inspector with GDB RSP support, typed searches, reversible patches, and declarative data models.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages