#jam #qwk #pcboard #messagebase #qwke

nightly jamjam

处理 JAM、PCBOARD 消息库和 QWK 数据包

2 个不稳定版本

0.2.0 2024 年 4 月 8 日
0.1.0 2024 年 4 月 6 日

#3 in #jam

Download history 1/week @ 2024-05-17

每月 51 次下载

自定义许可

210KB
7K SLoC

jamjam

这是一个用于加载和转换消息库的库。它最初是为 JAM 消息库格式编写的库。但为了我的项目,添加 pcboard 消息库加载和转换代码也是有意义的。

JAM

JAM 是一种消息库格式。

来自维基百科

JAM 消息库格式是 20 世纪 90 年代基于 DOS 的 BBS 上最受欢迎的消息库文件格式之一。JAM 代表 "Joaquim-Andrew-Mats",这个名字是为了纪念 API 的原始作者 Joaquim Homrighausen、Andrew Milner、Mats Birch 和 Mats Wallin。[1] Joaquim 是 FrontDoor 的作者,这是一个基于 DOS 的 FidoNet 兼容的邮件程序。Andrew 是 RemoteAccess 的作者,这是一个流行的基于 DOS 的公告板系统。JAM 最初于 1993 年以 C 语言发布,但最受欢迎的实现是 Mark May 的 "MK Source for Msg Access",它也是用 Pascal 编写的,并于 1993 年首次发布。

我需要这部分作为 pcboard 重写的部分(是的,pcb 有自己的消息库格式,但 JAM 更常见)。

jamjam 根据 MIT-X11 或 Apache 2.0 许可(您可选择)。JAM 本身来自

JAM(mbp) - 版权所有 1993 Joaquim Homrighausen、Andrew Milner、Mats Birch、Mats Wallin。版权所有。

请注意,jamjam 不包含任何第三方源代码,但从中提取了一些官方 JAM (JAM.txt) 文档的源代码注释。

PCBoard

这种消息格式仅用于 PCBoard - 一个旧的公告板系统。这种格式是更著名的 QWK 标准的基础。QWK 格式从该格式继承了一些有趣的东西,例如仅由 PCBoard 使用的 '密码' 字段。

目标是读取/理解 PCBoard 格式,以便将其转换为其他格式。我不会费心/介意编写更新例程。然而,格式是文档化的,欢迎添加。

QWK

开始添加一些 QWK 支持。目前,我还没有达到需要导出的地步。但我需要导入大量消息库进行测试。读取 QWK 库工作。然而,*.ndx 文件似乎毫无用处。当前 QKW 实现中存在 ±1 错误。

但是,JamJam 读取时(并在写入时也会这样做)做正确的事。定义 QWK 的程序是 PCBOARD :)。PCBoard 不计算 messages.dat 中的第一条记录,因此 0 表示它是文件中的第二条记录。这完全有道理。

示例

cargo运行 --exampleread_jam data/jam/ra

更多格式正在等待

也许 Squish 下一个?

依赖项

~3–4MB
~76K SLoC