浏览器里可跑的 东方旧作? Dosbox-X Emscripten 化取得初步成功
东方吧
全部回复
仅看楼主
level 1
yksoft1 楼主
看这几天浏览器里的 DOS 游戏 挺火,我也跟风搞了一个类似的。
其实就是根据 em-dosbox 对 dosbox 的第二种改法(用 Emterpreter 把主循环解释执行),把 Dosbox-X ( Dosbox 的一个支持 PC-98 模拟的 fork,我自己也 fork 了而且一直在跟)给弄到了 Emscripten 上。
链接的时候有问题(用-O3 参数,asm2wasm 会挂掉,也不是内存爆了,估计触发了 bug ),用-O1 参数生成的 wasm,导致图形部分卡得要死( SDL2 没有生成优化版本)。只是刚好能看而已。
其实昨天就搞定了类似之前的那个改 Dosbox 0.74-2 的,用暴力改 Dosbox-X 主循环为 Emscripten 主循环回调的版本,那个版本可以全优化,丝滑 60fps,但是一个瞬卡程序就可能跑飞,就可能把整个标签卡死在那里。这次没敢放出来。
demo地址看反应再放。
2018年09月14日 08点09分 1
level 12
大佬[惊哭]
2018年09月14日 08点09分 2
感觉这玩意很多人用不了。尤其是用3x0浏览器的,里面老内核chrome不一定能跑起这个,要求2017年第一季度才定稿的WebAssembly
2018年09月14日 08点09分
@yksoft1 Chrome 57能跑吗?
2018年09月14日 11点09分
@VicViperT300 应该能,支持wasm的都能。我用Firefox 52都试成功了
2018年09月15日 16点09分
@yksoft1 我把版本号记错了,应该是Chrome 67,我昨天刚升级到69
2018年09月16日 14点09分
level 12
大佬
2018年09月14日 10点09分 3
level 12
tql[喷][大拇指]
(某不知名打砖块html5小游戏风靡网络[滑稽]
2018年09月14日 10点09分 4
th1楼主没搞啊
2018年09月15日 02点09分
level 13
我......什么都看不懂......[委屈]打砖块是真的好玩。[滑稽]
2018年09月14日 10点09分 5
现在真把打砖块加进去了。
2018年09月15日 16点09分
打了灵异传才知道自己有多鸡。[滑稽][委屈]
2018年09月15日 18点09分
level 12
PC98硬件指标里的屏幕刷新率最多也就56Hz,楼主这60fps是从何而来的呢……[阴险]
2018年09月14日 11点09分 6
PC-98有56Hz、70Hz两种显示模式。Dosbox-X里开31KHz模拟就是70hz的刷新率了
2018年09月14日 12点09分
@yksoft1 噢?原来如此
2018年09月14日 14点09分
@VicViperT300 70Hz是9821的PEGC新加的
2018年09月14日 15点09分
level 14
并不能看懂,但是楼主太触了[阴险][大拇指]
2018年09月14日 14点09分 7
level 12
[喷][大拇指]
2018年09月14日 14点09分 8
level 1
yksoft1 楼主
发现为啥固定cycles不工作的原因了,用istringstream转字符串为整数,但它必须要C++异常支持,而Emscripten好像默认不开这个且开了整体会变慢
2018年09月14日 14点09分 9
真真技术宅
2018年09月14日 14点09分
不过话说istringstream绝大多数情况下不会throw吧
2018年09月14日 15点09分
@AWE🌐 好像emscripten用的这个libc++里的实现里面用了抛异常来判断某类型
2018年09月14日 17点09分
@yksoft1 惊了,第一次见到这么用异常的[惊讶],明明c++有typeid这种东西[喷]
2018年09月16日 04点09分
level 1
yksoft1 楼主
我想是时候放出demo地址了:
https://yksoft1.github.io/dosboxxem-demo/
2018年09月14日 18点09分 10
level 11
话说,浏览器要求是什么。。。
2018年09月15日 02点09分 11
支持WebAssembly的都行吧,Firefox效果比Chromium系好
2018年09月15日 09点09分
@yksoft1 反正在网吧试了3x0极速浏览器,问题是没问题但好像那个emularity版有些文件没认出来
2018年09月18日 09点09分
level 14
能更改一下增加Cycles的快捷键么,每次按到F12都会自动打开开发人员工具[黑线]
2018年09月15日 03点09分 12
原版Dosbox-X在Win32下是改成F11的,但浏览器里面F11是全屏。F10行么。。
2018年09月15日 09点09分
回复 yksoft1 : 找一个几乎没有程序会使用的功能键就可以了,例如F6
2018年09月15日 09点09分
@贴吧用户_QPZAeJN F10也不行,Shift+F10打开了右键菜单。我试试看F9
2018年09月15日 09点09分
@贴吧用户_QPZAeJN F10也不行,Shift+F10打开了右键菜单。我试试看F9
2018年09月15日 09点09分
level 15
呜呼呼呼呼~~~~~~~~~~~~~~~~~~~~~~~H5的DosBox?
2018年09月15日 16点09分 13
level 11
强诶,已star
2018年09月15日 16点09分 14
level 13
事⑨打法作者()
2018年09月16日 04点09分 15
1 2 3 尾页