[閒聊] 用C#自撰的GameBoy模擬器

看板Emulator作者 (.)時間11年前 (2014/12/07 03:35), 11年前編輯推噓4(402)
留言6則, 3人參與, 最新討論串1/2 (看更多)
https://dl.dropboxusercontent.com/u/61164954/project/AprGBEmu/index.htm //------------------------------------------------- 2014/12/14更新 版本說明 1.新增支援zip rom檔開啟 2.支援遊戲手把按鈕輸入 3.設定介面完成 4. shift + p 遊戲擷圖 5.實作 scale2x , scale3x , scale4x 遊戲畫面放大filter ( 由於沒使用遊戲引擎去硬體rendering處理,因此放越大越耗用計算資源, 4x的情況可能會些許lag). 6.遊戲可以選擇黑白或是模擬老GB經典綠的顏色畫面. 7.介面修改. 關於scalex放大 https://dl.dropboxusercontent.com/u/61164954/project/AprGBEmu/scalex.htm //------------------------------------------------- 給對想自己寫模擬器有興趣的人參考看看 但如果單純想玩遊戲 找別款比較適合 目前成熟度還不是很高 能跑的遊戲應該還不是很完整 網友有興趣的可以跑看看 估計太舊的電腦跑起來可能會LAG點 PS.今年剛好也是任天堂25周年生日哩..真巧 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.70.74.143 ※ 文章網址: http://www.ptt.cc/bbs/Emulator/M.1417894505.A.FE1.htmlerspicu:轉錄至看板 C_Sharp 12/07 03:36 ※ 編輯: erspicu (61.70.74.143), 12/07/2014 03:38:04

12/08 12:22, , 1F
感謝分享
12/08 12:22, 1F

12/08 12:58, , 2F
請問GB的Sprite是怎麼畫出來的?可以在任何時間點在任何位
12/08 12:58, 2F
透過oam跟title組出來

12/08 13:00, , 3F
置畫出來嗎?還是要跟顯示裝置同步?
12/08 13:00, 3F
對玩的人來看的確是在任何時間任何在螢幕上的位置都可以顯示 但實際上Sprite的顯示只能在LCD於特定的狀態時期下顯示出來 基本上我是在HBlank階段去做這件事情 如果OAM剛好把Sprite定位到那時候在處理的掃描線 就在那時候把那Sprite跟線交集到的部分丟到buffer內 最後144條線處理完 在VBlank的階段把整張圖丟出來 ※ 編輯: erspicu (61.70.74.143), 12/08/2014 21:45:56

12/09 18:02, , 4F
所以遊戲作者只需要把Sprite讀到OAM,其他都不用管了是嗎?
12/09 18:02, 4F
建構出sprite的兩個要素title(算vram的一部分)跟oam都只能在特定的lcd階段才能寫入, 基本上正確把把OAM屬性寫入後,剩下的就都硬體去顯示了, 但正確把OAM跟title在寫入,這就必須要設計者自己去負責了. ※ 編輯: erspicu (61.70.74.143), 12/10/2014 01:13:14

12/10 07:52, , 5F
了解囉,感謝。看來寫PC遊戲還是比寫console遊戲簡單很多
12/10 07:52, 5F

12/10 14:53, , 6F
新版下周前應該會放出 功能完整很多
12/10 14:53, 6F
請自行追官網 ※ 編輯: erspicu (60.248.56.185), 12/10/2014 14:55:40 ※ 編輯: erspicu (61.70.74.143), 12/14/2014 14:22:36
文章代碼(AID): #1KWrff_X (Emulator)
文章代碼(AID): #1KWrff_X (Emulator)