Skip to content

Releases: hffgzktbcc-blip/ounce-core

v0.3.1: Live Audio Streaming, Indexed Rendering, fsp-srv & System Services

Choose a tag to compare

@hffgzktbcc-blip hffgzktbcc-blip released this 26 Oct 16:20
4ecacae

Continuous Live Audio Streaming & Frame Pacing (Milestone 3B)

  • Lock-free, bounded sample queue in HostAudioSink with capacity management (192,000 samples / 2 seconds) and graceful eviction to preserve low latency.
  • Real-time queue latency queries (queue_latency_ms), atomic underrun tracking, played/dropped sample counters, and snapshot metrics.
  • Diagnostic waveform synthesizer (Sine, Square, Sawtooth, Triangle) producing 48 kHz stereo 16-bit PCM for automated frame pacing.
  • Multi-voice polyphonic mixing in audren:u DSP renderer with fractional sample stepping and linear interpolation resampling to 48 kHz stereo.

GPU Indexed Rendering & High-Level NVN Elements (Milestone 3C)

  • Tegra T239 pushbuffer command execution for METHOD_SET_INDEX_ARRAY_ADDR (0x05F2) and METHOD_DRAW_INDEXED (0x05F4).
  • Support for 16-bit and 32-bit index buffers with vertex cache fetching and barycentric triangle rasterization in rasterize_indexed_triangles.
  • High-level NVN API integration: NVN_CMD_BIND_INDEX_BUFFER and NVN_CMD_DRAW_ELEMENTS added to command buffer encoder, decoder, and GPFIFO compiler.

Horizon OS Filesystem, Clock & System Settings Services (Milestone 5)

  • VirtualFileSystem directory iteration and enumeration (list_directory) returning sorted directory entries across in-memory and disk hierarchies (sdmc:/, save:/).
  • Persistent storage management: recursive directory creation, file deletion, and directory deletion with free/total virtual disk space queries.
  • fsp-srv CMIF IPC handling for IFileSystem (CreateFile, DeleteFile, CreateDirectory, DeleteDirectory, OpenFile, OpenDirectory, GetFreeSpaceSize, GetTotalSpaceSize) and IDirectory (ReadDirectory, GetEntryCount).
  • High-resolution monotonic steady clock matching host Instant with nanosecond precision (time:u, ISteadyClock), and UTC epoch timestamp calculation via ISystemClock::GetCurrentTime.
  • Hardware system settings queries (set:sys) reporting console model 0x02 (Drake / Tegra T239), system language, and device nickname Ounce-T239.

Input & Presentation

  • Analog stick threshold synthesis to D-pad directional buttons in HostGamepadManager::poll for physical gamepad thumbsticks.
  • Tested and verified on Apple Silicon Metal integrated GPU with 60 FPS swapchain pacing.

Verification & Quality Gates

  • 103 unit tests passing (cargo test --release --features gpu-present).
  • 25-stage architecture verification harness passing with exit code 0xEEE (cargo run --release --features gpu-present -- test).
  • 100% safe Rust: #![forbid(unsafe_code)] with zero unsafe keywords in src/.

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 26 Oct 11:18
v0.3.0: Horizon OS FW 23.0.1 clean-room compatibility runtime