# Z8PRESTP.BIN:读取、原因码与恢复 [中文说明](#这个文件是什么) · [English summary](#english-summary) **发现停止文件后,先停止继续连拍,等待写入结束,保留文件及相关素材。不要直接删除停止文件后继续长连拍。** 当前版本仍使用这个停止文件。原因码记录触发停止的路径,不能单凭它判断卡满、卡速或硬件故障。 ## 版本适用范围 当前版本与上一公开版 **v0.2.0** 都保留 `Z8PRESTP.BIN`,格式和存在性检查相同。下文正文按当前版本说明。 **当前版本中,数据库拒绝登记或锁失败只尝试 JPEG 回退,不创建停止文件,后续帧仍可尝试 NEF。** 实际 NEF 写入失败、写后找不到文件或超出时间预算,仍可能创建原因码 **3/4/6** 的停止文件。 v0.2.0 在登记拒绝后还会进入直接写临时 NEF 的后备路径。该路径在当前版本中已移除;它特有的原因码 **5** 及 `.NE_` 改名失败见下方“上一公开版的区别”。 ## 这个文件是什么 补丁在某些 NEF 写入错误或时间预算超限时,会尝试在对应卡的根目录创建 `Z8PRESTP.BIN`。正常写出的记录是 **32 字节**。 - 对命中补丁的 **C15/C30 RAW 或 RAW+JPEG 帧**,写入任务发现该文件就跳过该卡的新增 NEF,尝试走原厂 JPEG 写入。选“仅 RAW”也可能得到替代 JPEG,其质量可能采用 NEF 预览档位;卡仍有错误时,JPEG 也不保证写成功。 - 这不是关闭预拍摄、画质菜单或整机 RAW 的开关;普通单拍等原厂 RAW 路径不由这个检查禁用。预拍缓存、HE★ 分配与菜单仍可能生效,不能据此保证卡故障或积压不会影响继续拍摄。 - **双卡不是完全独立的。** 在受支持的双卡帧路径上,主卡已有停止文件时,补丁会释放该帧保留的 RAW 缓冲,随后副卡也会退回 JPEG,尽管副卡没有停止文件。仅副卡停止时,主卡可能已正常写出 NEF。主卡/副卡是该帧提交时的设置,不固定等于 CFexpress/SD。两张卡都要检查。 - **重启不清除它。** 固件仅检查同名文件是否存在,不读取或验证其内容:空文件、短文件或内容异常的同名文件也可能阻止后续 NEF。 - 已有同名文件不会被覆盖,因此保留下来的通常是较早的一次异常,不一定对应最后一帧。修改文件里的原因码不能解除停止或改变时间预算。 - 创建、写入和关闭这个小文件本身也可能失败;代码没有确认 32 字节是否全部成功落盘。因此文件缺失不能证明没有发生错误,格式异常也不能证明不是本版写出的。 请保留停止文件原件、`.NE_`、对应 NEF/JPEG 及两卡目录清单。将可读素材备份到**有足够空间的另一存储介质**,例如外置盘;不要求复制到本机数据卷。空间不足时先保留卡、停止继续使用,不要为腾空间删除待核查素材。 ## 读取命令 以下命令只读文件,先检查长度和完整的 16 字节标识区,再解读字段。正常输出中的数字使用十进制。 ### macOS / Linux ```bash python3 -c 'import struct,sys;d=open(sys.argv[1],"rb").read();print("size",len(d),"magic",d[:9].decode("ascii","replace"));sys.exit("INVALID FORMAT: keep the original file; do not delete it") if len(d)!=32 or d[:16]!=b"Z8PRESTOP"+bytes(7) else None;s,n,t=struct.unpack_from("