Skip to content

v1.9 — 街机黑屏修复 + 手柄方向 + 远程导入

Choose a tag to compare

@xvzxv xvzxv released this 23 Oct 10:32
· 2 commits to main since this release

修复

1. 手柄方向「按一下动一下」

十字键和摇杆共用同一张方向状态表:摇杆每帧回调(停在死区内 = 四个方向全 false),
立刻把十字键按住的方向清掉,所以按住不动也走不动。
现在两个输入源分开记录、取「或」合并(DirectionInputMerger),并补了 4 项单测,
其中一条直接复现旧行为。设置里仍可选 十字键 / 左摇杆 / 两者。

2. 街机导入后打不开(用真实包 kovsh_v13.zip 定位到两个原因)

  • 壳包:包里是 kovsh/kovsh.zip + ini + 说明文件。FBNeo 按 romset 文件名认驱动名,
    喂外层壳包必然「no driver」。现在导入会自动拆包(BIOS 装 System/、内层 romset 逐个入库),
    v1.8 已入库的壳包也会在启动扫描时自愈。
  • 黑屏根因:FramePipeline 上限写死 512×512,PGM 实际输出 640×480 —— 每一帧都被静默丢弃。
    上限提到 1024×1024,超限改为打日志(静默丢帧这种坑不该再让人猜第二次)。
  • 顺带修:statusMessage(加载失败 / 缺 BIOS / 已载入进度)从来没显示过,现在是可点掉的提示条。

实测这台模拟器上:Romset name: kovsh → 640×480 出帧 60fps → FBNeo 自绘错误页
「missing files for THIS VERSION:pgm_t01s.rom / pgm_m01s.rom / pgm_p01s.u20 / pgm_p02s.u20 / ddp3_bios.u37 / bios.u42」。

这个包还缺 PGM BIOS(pgm.zip)。BIOS 属于厂商版权内容,App 不内置也不会内置;
把 pgm.zip 用游戏库「+」导入(自动装到 System/)即可。

3. 远程导入(直链 / WebDAV)

游戏库右上角 🌐:

  • 直链:粘贴任意 http(s) 地址,带进度下载后走同一套导入流程
  • WebDAV:群晖 / 坚果云 / Nextcloud / InfiniCLOUD 等,可浏览目录、下载后导入
  • 密码存钥匙串,服务器与用户名存 UserDefaults;局域网 http 已放行(ATS NSAllowsLocalNetworking)

实测:本地 HTTP 服务器下载 21,158,101 字节 → 导入成功并拆出 kovsh.zip;
WebDAV 列目录 3 项(含中文文件名解码)。

未做(说明)

没有集成 ROM 站点的自动搜索下载。 两个原因:

  1. 这些站点分发的是 IGS / SNK 等仍在维权的街机 ROM,做成「搜索即下载」等于把 App 变成分发渠道;
  2. store.hzqiangzhi.cn 目前被 Cloudflare 判定为 Suspected Phishing(403 拦截页),
    给 App 接一个自动下载通道到这种域名,风险大于收益。

替代方案:远程导入的「直链」可以下载你自己确认过的任何文件;站点上手动拿到链接后粘贴即可。

安装

未签名 ipa,用 Sideloadly / AltStore / 自签证书签名;要求 iOS / iPadOS 17.0+。

完整对比:v1.8...v1.9