2013-03-10 47 views
2

我知道這有點不同尋常,但我想嘗試一下,瞭解我如何閱讀任天堂DS遊戲的元數據?在計算機上時,它們的擴展名爲.nds閱讀NDS遊戲的標題?

我正在嘗試和一些自制遊戲一起工作,我想創建一個圖書館。 C#是我更喜歡使用的語言。

我試圖研究它在互聯網上,而最接近的選項,我發現被讀取文件的標題。然而,考慮到遊戲文件應該有一個標題和一個圖像,最接近我的是剛剛獲得標題的一部分。

我知道這是可以做到的,因爲有一些程序,C#編寫的,已經做到了。那麼,有誰知道如何?我非常感謝任何幫助。

回答

3

所有被存儲在ROM首標,這是第一個512個字節的.nds文件的元數據(包括標題/圖像)。您必須將.nds文件讀取爲二進制文件,並檢查存儲在某些偏移處的值。

例如,在開始的4個字節的偏移0x68h包含一個32位的值,它指定遊戲的標題/圖標數據的存儲位置的偏移量。英文標題存儲在從0x68偏移量起的0x340h處的256字節(以16位Unicode編碼)中。

類似地,圖標位圖(32×32像素)被存儲在512個字節在0x20h0x68h偏移和位圖的調色板從0x86偏移存儲在32個字節在0x220h。其調色板的圖標&在標準GBA配色方案/調色板中編碼(請參閱顏色格式部分http://www.cs.rit.edu/~tjh8300/CowBite/CowBiteSpec.htm#Graphics%20Hardware%20Overview)。

有關.nds報頭格式的更多信息,請參閱http://nocash.emubase.de/gbatek.htm#dscartridgeheader

如果有疑問,你可以參考ndstool,這是一個方便的工具,用於查看nds頭數據和從DS文件系統中提取文件。它是開源的,並作爲devkitPro工具鏈的一部分包含在內,可在http://sourceforge.net/projects/devkitpro/處獲得。

+0

我還沒有將這一點付諸實踐,但僅僅通過閱讀它,我可以看到你已經付出了一些努力。如果我能兩次贊成這個,我會的。 :) 謝謝 :) – 2013-03-31 04:41:50