我用 Python 寫的 Atari 2600 模擬器失敗作三號
進度
- 再次修改了除錯的顯示方式,增加目前電子槍和記憶體映射的位置,並更改顯示順序
- 基本物件差不多都能正常顯示
- 可以使用 Py65,一個別人寫好的 6502 模擬器當 CPU
- 有兩個 CPU 的函式可以把遊戲解譯成指令
下載
需求
資源
心得
- Pygame 在 PyPy3 上不能用,pygame-cffi 裝不起來,PySDL2 能用但太慢,所以最後用了 pysdl2-cffi。剛改用 PySDL2 時,最佳化版能跑出 9 FPS;改用 pysdl2-cffi 後,最佳化版能跑出 38 FPS;增加 TIA 功能後,最佳化版能跑出 13 FPS,除錯版則是 0.5 FPS
- 目前只剩大於 4 KB 的卡匣和聲音部分還不清楚怎麼做,其他都瞭解了。本來這次是希望能只參考規格書,不要靠別人的程式碼來完成,不過在處理碰撞的時候遇到問題,解譯整個遊戲也找不到讀取碰撞的地方,所以不得已把 Stella Integrated Debugger 拿出來用,才發現在記憶體映射的地方搞錯了,下一版應該就是最終版
- 寫模擬器應該連除錯器一起寫,目前這種陽春型的除錯方法不夠用
- 不要嘗試把遊戲反組譯回 C,除了初始化的地方看得懂,其他就算反組譯了還是跟天書沒兩樣
相關文章
沒有留言:
張貼留言