Skip to content

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

Open
tlindner wants to merge 7 commits into
nitros9project:mainfrom
tlindner:reveal
Open

Add os9 reveal to identify what lives at a given disk location#77
tlindner wants to merge 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.

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