Releases: shayanoh/c64util
Releases · shayanoh/c64util
Release list
v1.2.1
v1.2.0
v1.2.0 Release Notes
New Features
- TAP & WAV readers —
c64utilcan now extract program data from standard.tap(C64-TAPE-RAW) and.wavaudio files. Pulse-based tape decoding converts raw audio into C64 programs. - Image to C64 converter — New
imagereader converts images to C64 hi-res bitmap format. Includes a quantization engine and animage_viewer.prgthat displays converted images on the C64. - Quantized image preview — Terminal preview of quantized C64 images via ASCII blocks.
- Text-mode turbo loader option — Added support for a text-mode turbo loader variant alongside the existing bitmap loader.
Bug Fixes & Improvements
- Shortened silences in raw cycle data for more compact turbo tape output
- Fixed
formatInfo()to print directly and support all file formats - Fixed multi-channel WAV sample indexing
Other
- Updated README with expanded documentation for c64turbo, image viewer, and TAP/TAP-WAV import notes
- Package version bumped to 1.2.0
v1.1.2
version: Patch release v1.1.1
Release Notes (since v1.1.0)
Audio Player Improvements
- Added an audio buffer (~200ms) to the WAV player to prevent sound interruptions caused by timer scheduling jitter
- Pre-fills the speaker buffer before playback starts
- Dynamically calculates how much data to write each tick based on hardware consumption rate
- Pads with silence near end-of-file to avoid partial underruns
- Removed return value from playWavBuffer (now returns void instead of boolean)
Player TUI Fixes
- File selector now remembers the previously selected file index when looping back to select another file
- Fixed progress bar display (now correctly uses 0-100 range)
- Adjusted TUI layout dimensions for proper rendering
Writer Improvements
- Increased chunk size from 64KB to 1MB for buffered I/O
- Extracted appendToOutputBuffer helper method for cleaner buffer concatenation
v1.1.0
v1.1.0
🎮 Interactive Play Mode
- New -p/--play flag for in-memory preview and playback without writing to disk.
- Select programs from an interactive TUI file selector
- Toggle between Kernal and Turbo loader modes (t key)
- Full audio player TUI with progress bar, time display, and playback controls
- Pause, skip forward/back 5 seconds, and quit back to file list
- Zero disk I/O — conversion happens entirely in memory
📦 Core Improvements
- Added bufferOnly mode to the Writer base class for in-memory output
- Added WriterFactory.getBufferWriter() for buffer-based conversion
📖 Documentation
- Updated README with play mode usage, keybindings, and architecture notes