[閒聊] LLVM 與 紅白機
再分享一點資訊
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://www.ptt.cc/bbs/Emulator/M.1448359769.A.47E.html
Emulator 近期熱門文章
PTT遊戲區 即時熱門文章
13
17