Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Division by zero in /usr/share/web/joat/webshare/ds/index.php on line 1101

Warning: Cannot modify header information - headers already sent by (output started at /usr/share/web/joat/webshare/ds/index.php:1101) in /usr/share/web/joat/webshare/ds/index.php on line 885
NDSTech Wiki : Wait States browse
System /
Wait States

Menu

Getting Started

System Information

Misc

ARM9

WAIT_CR (0x04000204:16)
BitsDescription
15Main RAM bus priority (0: ARM9, 1: ARM7)
14..12110
11DS Card Owner (0: ARM9, 1: ARM7)
10..8000
7GBA Cart Owner (ROM and SRAM) (0: ARM9, 1: ARM7)
6?
5?
4?
3..2GBA ROM wait state control
1..0GBA SRAM wait state control

This register is settable to 0xE8FF, clearable to 0x6000.

Tested wait states a bit, although I didn't work out the absolute numbers, I timed relative read speed for several areas of memory, varying the low 4 bits of WAIT_CR.

Taking ITCM as a base case of 0
Area testedAdditional wait states
Setting 013
Setting 111
Setting 29
Setting 321
Main RAM8
'Shared' RAM4
ITCM0

Notes:

  • Setting X indicates the speed of GBA ROM or SRAM when X is used in the bits in WAIT_CR. The ROM reads were non-sequential, haven't thought of a good test for seq. reads.
  • I'll test out PHI in a little bit, need to destroy another GBA cart or take apart a DS to tap the PHI line.
  • SRAM reads were done at 8 bits, ITCM reads at 32 bits, and all others at 16 bits.

The Owner bits control which CPU can access the GBA cart and DS cards. The GBA cart bit controls both the compatibility bus at 0x0A00xxxx and the address-data multiplexed bus at 0x08000000..0x09FFFFFF, and the DS card bit controls the card-related registers and machinery.

ARM9 bios does WAIT_CR = 0x2000, some main RAM writes/reads, then WAIT_CR = 0x6000, then a lot of init code, then WAIT_CR = 0xE880

ARM7

WAIT_CR0x04000204:16
15..0?

sets to e8ff, clears to e880 (only sometimes)

Setting ARM9 to 0000 results in arm9=6000, arm7=607f Setting ARM9 to FFFF (from 6000) results in arm9=e8ff, arm7=e880 setting arm7 to 0000, arm9=6000, arm7=6000 setting arm7 to ffff, arm9=6000, arm7=607f

Recent Changes (All) | Edit SideBar

Page last modified on June 25, 2006, at 09:28 PM
Edit Page | Page History
Everything done on this project is for the sole purpose of writing interoperable software under Sect. 1201 (f) Reverse Engineering exception of the DMCA.
This site is not affiliated with Nintendo in any manner. Nintendo DS © 2004 Nintendo. TM and ® are trademarks of Nintendo.
Powered by PmWiki