維尼的蜂巢

Archive for the ‘NDS Dev’ Category

NDS的記憶體配置

Posted by: kevinlin on: 二月 4, 2008

主要資料是在這邊 
這張是NDS記憶體的配置圖,後面會有一個表介紹他們實際的位置,因為程式中,會常常需要直接針對某記憶體作

ARM 9

Name
Start Address
Stop Address
Size
Wait State

Main
0×02000000
0×023FFFFF
4MB
?

BIOS
0xFFFF0000
0xFFFF7FFF
32KB
?

ITCM
0×00000000
0×00007FFF
32KB
?

DTCM
0×0B000000
0×0B003FFF
16KB
?

Shared WRAM Bank 0
0×03000000
0×03003FFF
16KB
?

Shared WRAM Bank 1
0×03004000
0×03007FFF
16KB
?

ARM 7

Main
0×02000000
0×023FFFFF
4MB
?

BIOS
0×00000000
0×00003FFF
16KB
?

IWRAM
0×03800000
0×0380FFFF
64KB
?

Shared WRAM Bank 0
0×03000000
0×03003FFF
16KB
?

Shared WRAM Bank 1
0×03004000
0×03007FFF
16KB
?

Video RAM

Main OAM
0×07000000
0×070003FF
1KB
?

Sub OAM
0×07000400
0×070007FF
1KB
?

Main Palette
0×05000000
0×050003FF
1KB
?

Sub Palette
0×05000400
0×050007FF
1KB
?

Bank A
0×06800000
0×0681FFFF
128KB
?

Bank B
0×06820000
0×0683FFFF
128KB
?

Bank C
0×06840000
0×0685FFFF
128KB
?

Bank D
0×06860000
0×0687FFFF
128KB
?

Bank E
0×06880000
0×0688FFFF
64KB
?

Bank F
0×06890000
0×06983FFF
16KB
?

Bank G
0×06894000
0×06897FFF
16KB
?

Bank H
0×06898000
0×0689FFFF
32KB
?

Bank I
0×068A0000
0×068A3FFF
16KB
?

Virtual Video RAM

Main Background
0×06000000
0×0607FFFF
512KB
?

Sub Background
0×06200000
0×0621FFFF
128KB

Main Sprite
0×06400000
0×0643FFFF
256KB
?

Sub Sprite
0×06600000
0×0661FFFF
128KB
?

我也要買NDS-開發環境介紹

Posted by: kevinlin on: 二月 4, 2008

公司有兩個買NDS(Nintendo DS)了,其實我最早想買的,不過到現在還沒買。
我倒是先研究了NDS的開發了一下。之前我有做一些簡單的中文化Rom。
後來,最近是有看一下怎麼在上面自己寫程式。其實很有趣,如果把公司遊戲偷偷port到上面,藉由NDS的網路,還可以跟PC的人連線。
介紹一下:
NDS是雙CPU,ARM7跟ARM9,所以開發前要了解一下兩顆CPU分別是做甚麼工作的,但是在這之前我們要把環境搞好。
下面是必備的東西:

讓你的程式放到你的DS上的方法
devkitPro (本身就包含有devkitARM、ndslib、msys)
一台Nintendo DS (你目前也可以只用模擬器)

接著要安裝devkitPro,devkitPro.org有一個問答區 處理了任何你可能遇到的問題以及提供開發環境到像是Visual Studio及Eclipse上。
對了,沒有機器當然是用模擬器啦。
Dualis http://dualis.1emulation.com/
NO$GBA http://nocash.emubase.de/gba.htm

最後最重要的是當然要有燒錄卡才能自己跑自己寫的程式
Reference: http://www.tvgame360.com.tw/viewthread.php?tid=18396&extra=page%3D1