Google AdSense

2015年4月7日 星期二

我用 Python 寫的 NES 模擬器失敗作一號

進度

  • 左邊是我的執行結果,右下是正確的執行結果
  • 修改 Py65 讓 RPython 也能使用
  • 能夠把 Mario Bros 的標題畫面讀取到記憶體裡

下載

需求

資源

心得

  • 使用方法同用 PyPy tool chain 寫的 Game Boy 模擬器 PyGirl
  • Mario Bros 這款遊戲的標題畫面並不是直接存在卡匣裡,而是需要經過計算才能得到。左上角的畫面是讀取過程中的樣子,可以看到是先寫入四個角,然後才把其他部分填上
  • 標題畫面的資料是透過 2007 這個 port 寫入 PPU 的記憶體,寫入的資料似乎是透過 non-maskable interrupt (NMI) 事先搬到 CPU 的記憶體,port 4014 的 DMA 傳輸跟標題畫面沒有任何關係
  • 目前遇到最大的問題是,NES 的相關資料實在太多,比起 Atari 2600,大概是十倍左右的差距。剛開始寫的時候,還真不知道從何著手。摸了好久,才終於弄出標題畫面的資料

沒有留言:

張貼留言