Files
fpc-msgbase/docs/format-notes/dependencies.md

47 lines
1.9 KiB
Markdown
Raw Normal View History

# External dependencies
## Sample test data
Real message bases for testing live under `tests/data/` (vendored
into the repo) for the formats covered by the test suite. Additional
working bases used during development:
- `~/fidonet/msg/` — Hudson, JAM, Squish, FTS-1 *.msg, etc.
- `~/allfix_dev/f_drive/tpfiles/allfix/wc_dev/testdata/` — WildCat 4
(7 conferences, MSG/MSG0..MSG6.DAT/IX, DATA/ALLUSERS.DAT, etc.)
Tests should open these read-only and verify message counts, first /
last messages, and specific known attributes. Do NOT write to these
paths from tests — copy them into a scratch dir first. The Wildcat
SDK mutates the message database during Open (btis locks, modcounters)
so even "read" paths must go through a scratch copy.
## Authoritative specs
The FTSC document collection at `/home/ken/Source Code/ftsc/docs/` is
the source of truth when validating attribute bits, packet header
layouts, date strings, and kludge syntax. Key documents we cross-check
against:
- `fts-0001.016` — FTS-1 packet & message format (PKT, *.MSG,
attributes, date string, kludges)
- `fsc-0039.001` / `fsc-0039.004` — Type-2+ packet header
- `fsc-0045.001` — Type-2.2 packet header
- `fsc-0048.002` — AuxNet Type-2 variant
- `fsc-0009`, `fsc-0035`, etc. — kludges and control lines
Non-FTSC formats follow their original authors' published specs:
jam.txt (JAM), squish.doc (Squish/Lanius), pcboard.doc, the EzyCom
reference, and the WildCat 4 SDK headers vendored under `src/wc_sdk/`.
When in doubt about an encoding or bit position, reference the spec
before changing the conversion tables in `ma.types.pas`.
## ma.fmt.wildcat.pas
The Wildcat backend uses the WildCat 4 SDK vendored at `src/wc_sdk/`.
The SDK is kept on its own search-path entry (`-Fusrc/wc_sdk`) so
callers that don't need Wildcat can omit the backend without forcing
the SDK onto the build line. See the active cleanup pass to trim the
SDK to only what `ma.fmt.wildcat` actually uses.