作者erspicu (.)
看板Emulator
标题[闲聊] LLVM 与 红白机
时间Tue Nov 24 18:09:21 2015
再分享一点资讯
http://hookrace.net/blog/porting-nes-go-nim
简单来说就是有一个老兄很欣赏某个go语言(近来变红)写的nes模拟器专案,
把它改写成nim版本的nimes (nim这语言我第一次听到...没了解很多,
初看语法有点像是js又有点像是python),这语言可以编译,
再透过LLVM的关系工具emscripten,转出成js格式
(js上有llvm js实作版,来读转出的bytecode)
最後变成js网页版
https://github.com/def-/nimes
demo
http://hookrace.net/nimes
COSCUP 2012年也有人介绍过差不多的方式把超任模拟器移植到网页上去
http://www.slideshare.net/weijr/javascript-14012795
https://www.youtube.com/watch?v=6DI3S0oIeno
这应该也不算新闻了(相关的还有DOSBOX JS版本,有的没的很多...)
更特殊的是LLVM应用在直接把任天堂的ROM透过编译的方式,
变成可以直接跑的应用程式
http://andrewkelley.me/post/jamulator.html
这是好几年前就听闻传说中用编译方式执行的概念...
好像还有别版本的,要再找一下?
说到LLVM这东西还满神奇的,不知道有兴趣就google看看..
怕说多说错,比起java或是.net(stack machine),
LLVM(register machine)更像是真正一般硬体处理的观念.
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 60.248.56.181
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Emulator/M.1448359769.A.47E.html