docs(amiga): expand RDB partitioning details, LSEG driver chains, and clarify Boot Block vs RDB

This commit is contained in:
Ilia Sharin 2026-07-02 16:39:28 -04:00
parent 2678744be0
commit 5bf51819af
5 changed files with 155 additions and 40 deletions

View file

@ -15,7 +15,7 @@ This section covers the complete lifecycle of an AmigaOS executable:
| File | Topic |
|---|---|
| [hunk_format.md](hunk_format.md) | Complete HUNK binary specification — all 22 hunk type codes with wire format, memory flags, advisory bits |
| [hunk_format.md](hunk_format.md) | Complete HUNK binary specification — all 22 hunk type codes, RDB embedded driver usage, memory flags, advisory bits |
| [hunk_ext_deep_dive.md](hunk_ext_deep_dive.md) | HUNK_EXT: exports (EXT_DEF), imports (EXT_REF32), commons, linker resolution |
| [hunk_relocation.md](hunk_relocation.md) | Relocation mechanics: visual before/after, patching algorithm, RELOC32/SHORT/DREL32, PC-relative impact |
| [hunk_debug_info.md](hunk_debug_info.md) | HUNK_SYMBOL and HUNK_DEBUG: stabs format (SAS/C, GCC), debugger consumption, stripping |

View file

@ -14,6 +14,9 @@ The **HUNK** format is the binary container format used throughout AmigaOS. It i
An object file (`.o`) is **intermediate output** from a compiler. It contains relocatable code and unresolved external references. A linker (`slink`, `vlink`) combines one or more `.o` files with library archives into a final executable.
> [!NOTE]
> **RDB Embedded Drivers:** The loadable executable format (`HUNK_HEADER`) is also used for filesystem drivers embedded directly into a hard drive's Rigid Disk Block (RDB). The `LSEG` blocks in the RDB carry a standard executable file sliced into 492-byte chunks. See [Disk Boot](../02_boot_sequence/disk_boot.md) for details on how the bootstrap loader relocates and registers these before `dos.library` even initializes.
The format is a linear stream of **hunk records**, each identified by a 32-bit type word followed by type-specific data.
---