Skip to content

Add os9 reveal to identify what lives at a given disk location - #77

Merged
tlindner merged 7 commits into
nitros9project:mainfrom
tlindner:reveal
Jul 29, 2026
Merged

Add os9 reveal to identify what lives at a given disk location#77
tlindner merged 7 commits into
nitros9project:mainfrom
tlindner:reveal

Conversation

@tlindner

Copy link
Copy Markdown
Member

Summary

Add a new os9 reveal command that explains what resides at a given location within an OS-9 RBF disk image.

Given an LSN (optionally with a byte offset) or an absolute byte offset, reveal walks the filesystem metadata and reports, in plain English, what occupies that location.

Features

  • Adds the new os9 reveal command.
  • Supports:
    • LSN[:offset] addressing.
    • Absolute byte offsets (-b).
    • Dragon boot track layout (-d).
  • Identifies locations within:
    • LSN0 fields.
    • Allocation bitmap.
    • File descriptors.
    • Segment tables.
    • Directory entries.
    • File data.
  • Recursively traverses the live directory tree to map sectors back to files.
  • Reports whether unmapped sectors are:
    • Free.
    • Part of the boot track.
    • Likely remnants of deleted files or other allocated data.
  • Detects and reports several forms of filesystem corruption, including:
    • Invalid sector references.
    • Truncated disk images.
    • Corrupt directory structures.
    • Invalid filesystem geometry.

Documentation

  • Adds REVEAL to the ToolShed manual.
  • Documents syntax, options, behavior, and an example invocation.

Motivation

When debugging OS-9 disk images, it's often difficult to determine what a particular sector or byte actually represents. reveal turns a raw disk location into a human-readable explanation, making filesystem debugging, reverse engineering, and image validation significantly easier.

@DrPitre

DrPitre commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator

This is very useful.

@tlindner
tlindner merged commit 1bc8269 into nitros9project:main Jul 29, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants