我用 CheerpJ 2.3 移植了文曲星 Lava 模拟器 JGvm
https://github.com/pengan1987/jgvmJava 端的代码改动非常小,最麻烦的部分在于 JS 代码没法比较容易的操作 Java 代码的文件系统,交换数据都需要走/str 路径,所以 Java 端可能需要做一些重建文件结构的操作,commit 419dcdb 里那个 copyDataDirectory 方法的主要功能就是重建 LavaData 目录。
社区版本是免费的,但协议只允许从 cheerpj 的 CDN 加载,cheerpj 的 CDN 是走 Cloudflare ,在国内很慢,特别 Cloudflare 对新的浏览器使用 QUIC 的情况,会被运营商 UDP 限速而导致加载失败。
https://github.com/leaningtech/cheerpj-meta/issues/138Essential 授权 80 英镑每月,合 710 人民币,对商业应用来说可以承受,但同样只允许从 CheerpJ 的 CDN 加载,Cloudflare 在国内的连接性成了最大的障碍。