C64uhex
A Commodore 64 Hex Editor
Install / Use
/learn @drericflores/C64uhexREADME
C64UHEX — Commodore 64 Ultimate Hex Editor
CODE NOT READY! This is for demonstration purposes ONLY -- Currently developing an Assembly/C hybrid version. The C64U has proven to be more challenging than expected to program.
C64UHEX is a native hex editor for the Commodore 64, designed to run on real hardware, the Commodore 64 Ultimate, and emulators such as VICE. It provides professional, byte-level inspection and modification of binary data using a true PETSCII interface, respecting the constraints and character semantics of the original platform.
This project is focused on correctness, stability, and historical authenticity, not modern abstractions.
🎯 Purpose & Scope
C64UHEX exists to fill a long-standing gap on the Commodore 64 platform: a real, usable hex editor comparable in workflow (not scale) to modern tools such as Hex Editor Neo, adapted for a 40×25 PETSCII display and 8-bit memory model.
It is intended for:
- Binary inspection and modification
- Reverse-engineering and analysis
- Educational exploration of low-level data
- Preservation and tooling for vintage computing
✅ What C64UHEX IS
- A true hex editor, not a memory monitor
- Overwrite-mode byte editor (hex-authoritative)
- PETSCII-native character view (not ASCII emulation)
- Paged buffer design supporting files larger than RAM
- IEC device-agnostic (devices 8–15)
- Designed for real C64 hardware
- Written in C using the cc65 / cl65 toolchain
- Distributed as a
.PRGexecutable
❌ What C64UHEX IS NOT
- ❌ Not a BASIC program
- ❌ Not an ASCII editor
- ❌ Not a modern filesystem browser
- ❌ Not a debugger or disassembler
- ❌ Not a GUI application in the modern sense
- ❌ Not designed for speed over correctness
- ❌ Not a replacement for modern hex editors
C64UHEX deliberately avoids features that would compromise determinism, authenticity, or hardware compatibility.
✨ Core Features
-
Hex Data Grid
- 8 bytes per row
- Nibble-level cursor editing
-
PETSCII Interpretation Pane
- Accurate rendering of Commodore character codes
-
Paged ViewBuffer
- 160-byte window cache (20×8)
- Supports large files via on-demand paging
-
Cursor-centric Navigation
- Arrow-key movement
- Goto offset
-
Find
- Hex or PETSCII search modes
-
Device-Independent File I/O
- IEC devices 8–15
-
Runs on Real Hardware
- Tested on Commodore 64 Ultimate and VICE
🛠 Build Instructions (Host System)
C64UHEX is developed on a modern system and cross-compiled.
Requirements
cc65toolchain- GNU
make - Linux, BSD, or macOS (tested on Pop!_OS)
Build
make
The resulting file:
build/C64UHEX.PRG
Load on real hardware or emulator:
LOAD"C64UHEX.PRG",8,1
RUN
🧠 Technical Design Notes
-
Hex view is authoritative PETSCII is a representation, not the source of truth.
-
Strict module separation
buffer→ authoritative file accessviewbuffer→ paged cacheui/grid/screen→ rendering onlystate/input→ interaction logic
-
No dynamic allocation
- Deterministic memory usage
-
No ASCII assumptions
- All character handling is PETSCII-aware
📚 Educational & Preservation Notice
This application is provided freely for learning and historical preservation purposes. No fees are required to read, use, or share this material.
Optional Support
If you find this project helpful and wish to support the author, you may optionally buy me a beer via PayPal at:
PayPal: @floreseo
(Completely optional — education comes first.)
🤝 Collaboration & Contributions
Contributions are welcome and encouraged, especially from developers interested in:
- cc65 development
- PETSCII UI design
- Commodore file systems
- Retro-computing tooling
⚠️ Important Collaboration Policy
Please do NOT submit experimental or developmental changes to this main repository.
This repository is treated as a stable reference implementation.
👉 All active development, experimentation, and collaboration must occur in:
c64uhex2
Once features mature and stabilize, they may be selectively merged back into C64UHEX.
This policy exists to:
- Preserve build stability
- Maintain a clean historical baseline
- Avoid breaking real hardware users
📄 License
MIT License © 2026 — Dr. Eric Oliver Flores
