DS Wifi I/O マップ
4800000h-4807FFFh |
Wifi WS0 領域 (32K) |
4808000h-4808000h |
Wifi WS1 領域 (32K) |
4810000h-4FFFFFFh |
未使用 (00h-filled) |
Wifi Registers appear more stable in WS1 region?
Wifi RAM appears more stable in WS0 region?
Wifi Registers & RAM cannot be written to by STRB opcodes (ignored).
- 32K Wifi 領域の構造 (WS0 ・ WS1)
4800000h-4800FFFh |
レジスタ |
4801000h-4801FFFh |
レジスタ (ミラー) |
4802000h-4803FFFh |
未使用 (FFh-filled) |
4804000h-4805FFFh |
Wifi RAM (8K) |
4806000h-4806FFFh |
レジスタ (ミラー) |
4807000h-4807FFFh |
レジスタ (ミラー) |
アドレス |
アクセス |
名前 |
r/w |
[Init] |
説明 |
0000h |
R |
W_ID |
---- |
[1440] |
チップ ID |
0004h |
R/W |
W_MODE_RST |
9fff |
[0000] |
Mode/Reset |
0006h |
R/W |
W_MODE_WEP |
--7f |
[0000] |
Mode/Wep モード |
0008h |
R/W x |
? |
ffff |
[0000] |
常に 0 にセット ? |
000Ah |
R/W x |
? |
ffff |
[0000] |
[bit7 - RX 重複無視] |
0010h |
R/W |
W_IF |
ackk |
[0000] |
Wifi 割り込み要求フラグ |
0012h |
R/W |
W_IE |
ffff |
[0000] |
Wifi 割り込み有効 |
0018h |
R/W |
W_MACADDR_0 |
ffff |
[0000] |
ハードウェア MAC アドレス (最初の 2 バイト) |
001Ah |
R/W |
W_MACADDR_1 |
ffff |
[0000] |
ハードウェア MAC アドレス (次の 2 バイト) |
001Ch |
R/W |
W_MACADDR_2 |
ffff |
[0000] |
ハードウェア MAC アドレス (最後の 2 バイト) |
0020h |
R/W |
W_BSSID_0 |
ffff |
[0000] |
BSSID (最初の 2 バイト) |
0022h |
R/W |
W_BSSID_1 |
ffff |
[0000] |
BSSID (次の 2 バイト) |
0024h |
R/W |
W_BSSID_2 |
ffff |
[0000] |
BSSID (最後の 2 バイト) |
0028h |
R/W x |
W_AID |
---f |
[0000] |
BSSに割り当てられたAIDの値 |
002Ah |
R/W x |
? |
-7ff |
[0000] |
W_AID に対して常に同じ値をセットする |
002Ch |
R/W x |
W_RETRLIMIT |
ffff |
[0707] |
Tx リトライ制限 (0x00 ~ 0xFF) |
002Eh |
R/W x |
? |
---1 |
[0000] |
|
0030h |
R/W |
W_RXCNT |
ff0e |
[0000] |
受信制御 |
0032h |
R/W |
W_WEP_CNT |
ffff |
[0000] |
WEP エンジン有効 |
0034h |
?/? x |
? |
0000 |
[0000] |
|
0036h |
R/W |
W_POWER_US |
---3 |
[0001] |
|
0038h |
R/W |
W_POWER_TX |
---7 |
[0003] |
|
003Ch |
R/W |
W_POWERSTATE |
-r-2 |
[0200] |
|
0040h |
R/W |
W_POWERFORCE |
8--1 |
[0000] |
|
0044h |
R |
W_RANDOM |
0xxx |
[0xxx] |
|
0048h |
R/W |
W_POWER_? |
---3 |
[0000] |
|
0050h |
R/W |
W_BUF_RD_BEGIN |
ffff |
[4000] |
|
0052h |
R/W |
W_BUF_RD_END |
ffff |
[4800] |
|
0054h |
R |
W_RXHWWRITECSR |
0rrr |
[0000] |
|
0056h |
R/W |
W_WRITECSRLATCH |
-fff |
[0000] |
|
0058h |
R/W |
W_BUF_RD_ADDR |
1ffe |
[0000] |
|
005Ah |
R/W |
W_RXREADCSR |
-fff |
[0000] |
|
005Ch |
R/W x |
|
-fff |
[0000] |
カウントダウン; WiFi 割り込み 9 が 0 になった時に動く |
0060h |
R |
W_BUF_RD_DATA |
rrrr |
[xxxx] |
|
0062h |
R/W x |
|
1ffe |
[0000] |
初期化フローチャート参照 |
0064h |
R/W x |
|
-fff |
[0000] |
|
0068h |
R/W |
W_BUF_WR_ADDR |
1ffe |
[0000] |
|
006Ch |
R/W x |
|
-fff |
[0000] |
|
0070h |
W |
W_BUF_WR_DATA |
xxxx |
[xxxx] |
|
0074h |
R/W |
W_BUF_WR_END |
1ffe |
[0000] |
|
0076h |
R/W |
W_BUF_WR_SKIP |
0fff |
[0000] |
|
0078h |
W? x |
|
mirr |
[mirr] |
読み込み: 068h のミラー |
0080h |
R/W |
W_BEACONTRANS |
ffff |
[0000] |
ビーコン送信場所 |
0084h |
R/W x |
|
--ff |
[0000] |
|
0088h |
R/W x |
W_LISTENCOUNT |
--ff |
[0000] |
デクリメント; when it reaches zero, it's reloaded with W_LISTENINT |
008Ch |
R/W x |
W_BEACONPERIOD |
-3ff |
[0064] |
ミリ秒ビーコン送信の周期 |
008Eh |
R/W x |
W_LISTENINT |
--ff |
[0000] |
Listen インターバル; W_LISTENCOUNT関連 |
0090h |
R/W x |
|
ffff |
[0000] |
|
0094h |
R/W x |
|
ffff |
[0000] |
? |
0098h |
?/W x |
|
0000 |
[0000] |
|
009Ch |
R/W x |
|
ffff |
[0050] |
|
00A0h |
R/W |
W_TXLOC1 |
ffff |
[0000] |
|
00A4h |
R/W |
W_TXLOC2 |
ffff |
[0000] |
|
00A8h |
R/W |
W_TXLOC3 |
ffff |
[0000] |
|
00ACh |
W |
W_TXOPT |
fixx |
[0050] |
|
00AEh |
W |
W_TXCNT |
fixx |
[0050] |
|
00B0h |
R/W |
W_TXINFO |
--1f |
[0010] |
|
00B4h |
W x |
|
0000 |
[0000] |
...FFFFh に初期化 |
00B6h |
R/? x |
|
0000 |
[0000] |
|
00B8h |
R/? |
W_TXSTAT |
0000 |
[0000] |
|
00BAh |
R/? x |
|
0000 |
[0000] |
|
00BCh |
R/W x |
|
---3 |
[0001] |
[ |=6: short preamble, &=~6: long preamble ] |
00C0h |
R/W x |
|
ffff |
[0000] |
|
00C4h |
R/W x |
|
ffff |
[0000] |
|
00C8h |
R/? x |
|
0000 |
[0000] |
|
00D0h |
R/W x |
W_RXFILTER |
1fff |
[0401] |
どのパケットを許可するか指定, 組み合わせは不明 |
00D4h |
R/W x |
|
---3 |
[0001] |
|
00D8h |
R/W x |
|
-fff |
[0004] |
|
00DAh |
R/W x |
|
ffff |
[0602] |
|
00E0h |
R/W x |
|
---f |
[0008] |
|
00E8h |
R/W |
W_US_COUNTCNT |
---1 |
[0000] |
マイクロ秒 カウンタ有効 |
00EAh |
R/W |
W_US_COMPARECNT |
---1 |
[0000] |
マイクロ秒 比較有効 |
00ECh |
R/W x |
? |
3f1f |
[3F03] |
|
00EEh |
R/W x |
? |
---1 |
[0001] |
|
00F0h |
R/W |
W_US_COMPARE0 |
fc-- |
[FC00] |
マイクロ秒 比較, bits 0-15 |
00F2h |
R/W |
W_US_COMPARE1 |
ffff |
[FFFF] |
マイクロ秒 比較, bits 16-31 |
00F4h |
R/W |
W_US_COMPARE2 |
ffff |
[FFFF] |
マイクロ秒 比較, bits 32-47 |
00F6h |
R/W |
W_US_COMPARE3 |
ffff |
[FFFF] |
マイクロ秒 比較, bits 48-63 |
00F8h |
R/W |
W_US_COUNT0 |
ffff |
[0000] |
マイクロ秒 カウンタ, bits 0-15 |
00FAh |
R/W |
W_US_COUNT1 |
ffff |
[0000] |
マイクロ秒 カウンタ, bits 16-31 |
00FCh |
R/W |
W_US_COUNT2 |
ffff |
[0000] |
マイクロ秒 カウンタ, bits 32-47 |
00FEh |
R/W |
W_US_COUNT3 |
ffff |
[0000] |
マイクロ秒 カウンタ, bits 48-63 |
0100h |
?/W x |
|
0000 |
[0000] |
|
0102h |
?/W x |
|
0000 |
[0000] |
|
0104h |
?/W x |
|
0000 |
[0000] |
|
0106h |
?/W x |
|
0000 |
[0000] |
|
010Ch |
R/W x |
|
ffff |
[0000] |
[Set to the remaining duration of contention-free period when receiving beacons - only *really* necessary for powersaving mode] |
0110h |
R/W x |
|
ffff |
[0000] |
|
0118h |
R/W x |
|
ffff |
[0000] |
|
011Ch |
R/W x |
|
ffff |
[0000] |
(Decreases, when reaches 0 is reloaded with W_BEACONPERIOD) |
0120h |
R/W |
W_CONFIG_120h |
81ff |
[0048] |
...init from firmware[04Ch] |
0122h |
R/W |
W_CONFIG_122h |
ffff |
[4840] |
...init from firmware[04Eh] |
0124h |
R/W |
W_CONFIG_124h |
ffff |
[0000] |
...init from firmware[05Eh] |
0126h |
?/? x |
? |
fixx |
[0080] |
|
0128h |
R/W |
W_CONFIG_128h |
ffff |
[0000] |
...init from firmware[060h] |
012Ah |
?/? x |
? |
fixx |
[1000] |
|
0130h |
R/W |
W_CONFIG_130h |
-fff |
[0142] |
...init from firmware[054h] |
0132h |
R/W |
W_CONFIG_132h |
8fff |
[8064] |
...init from firmware[056h] |
0134h |
R/W x |
W_BEACONCOUNT |
ffff |
[FFFF] |
(I think) This is the millisecond counter that tracks when beacons are expected to be transmitted. ["Active zone time" - it tracks some aspect of the Contention-free period] |
0140h |
R/W |
W_CONFIG_140h |
ffff |
[0000] |
...init from firmware[058h] |
0142h |
R/W |
W_CONFIG_142h |
ffff |
[2443] |
...init from firmware[05Ah] |
0144h |
R/W |
W_CONFIG_144h |
--ff |
[0042] |
...init from firmware[052h] |
0146h |
R/W |
W_CONFIG_146h |
--ff |
[0016] |
...init from firmware[044h] |
0148h |
R/W |
W_CONFIG_148h |
--ff |
[0016] |
...init from firmware[046h] |
014Ah |
R/W |
W_CONFIG_14Ah |
--ff |
[0016] |
...init from firmware[048h] |
014Ch |
R/W |
W_CONFIG_14Ch |
ffff |
[162C] |
...init from firmware[04Ah] |
0150h |
R/W |
W_CONFIG_150h |
ff3f |
[0204] |
...init from firmware[062h] |
0154h |
R/W |
W_CONFIG_154h |
7a7f |
[0058] |
...init from firmware[050h] |
0158h |
W |
W_BBSIOCNT |
mirr |
[00B5] |
BB アクセス 開始/方向/インデックス |
015Ah |
W |
W_BBSIOWRITE |
???? |
[0000] |
BB アクセス データバイト書き込み |
015Ch |
R |
W_BBSIOREAD |
00rr |
[00B5] |
BB アクセス データバイト読み込み |
015Eh |
R |
W_BBSIOBUSY |
000r |
[0000] |
BB アクセス ビジーフラグ |
0160h |
R/W |
W_BBSIOMODE |
41-- |
[0100] |
BB アクセス モード |
0168h |
R/W |
W_BBSIOPOWER |
8--f |
[800D] |
BB アクセス パワーダウン |
016Ah |
?/W x |
|
0000 |
[0001] |
(or 0000h?) |
0170h |
?/W x |
|
0000 |
[0000] |
|
0172h |
?/W x |
|
0000 |
[0000] |
|
0174h |
?/W x |
|
0000 |
[0000] |
|
0176h |
?/W x |
|
0000 |
[0000] |
|
0178h |
W? x |
|
fixx |
[0800] |
読み込み: mirror of 17Ch |
017Ch |
R/W |
W_RFSIODATA2 |
ffff |
[0800] |
|
017Eh |
R/W |
W_RFSIODATA1 |
ffff |
[C008] |
|
0180h |
R |
W_RFSIOBUSY |
000r |
[0000] |
|
0184h |
R/W |
W_RFSIOCNT |
413f |
[0018] |
|
0190h |
R/W x |
|
ffff |
[0000] |
|
0194h |
R/W x |
|
---7 |
[0000] |
|
0198h |
R/W x |
|
---f |
[0000] |
|
019Ch |
?/W x |
|
fixx |
[0004] |
Bit 0 = carrier sense? |
01A0h |
R/W x |
|
-933 |
[0000] |
|
01A2h |
R/W x |
|
---3 |
[0001] |
|
01A4h |
R/W x |
|
ffff |
[0000] |
Rate used when signal test is enabled (0x0A or 0x14 for 1 or 2 mbit) |
01A8h |
R |
W_STAT_INC |
rrrr |
[0000] |
統計情報 増加フラグ |
01AAh |
R/W |
W_STAT_INC_IE |
ffff |
[0000] |
統計情報 増加割り込み有効 |
01ACh |
R |
W_STAT_OVF |
rrrr |
[0000] |
統計情報 オーバーフローフラグ |
01AEh |
R/W |
W_STAT_OVF_IE |
ffff |
[0000] |
統計情報 オーバーフロー割り込み有効 |
W_STAT is a collection of byte-granular statistics entries.
These entries reset to 0 when read.
01B0h |
R/W |
W_STAT |
|
--ff |
[0000] |
|
01B2h |
R/W |
W_STAT |
|
ffff |
[0000] |
RX_LengthErrorCount RX_RateErrorCount |
01B4h |
R/W |
W_STAT |
|
--ff |
[0000] |
|
01B6h |
R/W |
W_STAT |
|
ffff |
[0000] |
|
01B8h |
R/W |
W_STAT |
|
--ff |
[0000] |
|
01BAh |
R/W |
W_STAT |
|
--ff |
[0000] |
|
01BCh |
R/W |
W_STAT |
|
ffff |
[0000] |
|
01BEh |
R/W |
W_STAT |
|
ffff |
[0000] |
|
01C0h |
R/W |
W_STAT |
|
--ff |
[0000] |
|
01C4h |
R |
W_STAT |
|
0000 |
[0000] |
|
- [1D0 ~ 1DE の15個のエントリは、マルチプレーヤーのエラー応答に関連したものです]
01D0h |
R/W |
W_STAT |
ff-- |
[0000] |
|
01D2h |
R/W |
W_STAT |
ffff |
[0000] |
|
01D4h |
R/W |
W_STAT |
ffff |
[0000] |
|
01D6h |
R/W |
W_STAT |
ffff |
[0000] |
|
01D8h |
R/W |
W_STAT |
ffff |
[0000] |
|
01DAh |
R/W |
W_STAT |
ffff |
[0000] |
|
01DCh |
R/W |
W_STAT |
ffff |
[0000] |
|
01DEh |
R/W |
W_STAT |
ffff |
[0000] |
|
01F0h |
R/W x |
|
---3 |
[0000] |
|
0204h |
?/W x |
|
fixx |
[0000] |
|
0208h |
?/W x |
|
fixx |
[0000] |
|
020Ch |
?/W x |
|
fixx |
[0050] |
|
0210h |
?/W x |
|
fixx |
[0000] |
|
0214h |
?/W x |
|
XXXX |
[0009] |
|
021Ch |
R/W x |
|
fbff |
[0000] |
"割り込み強制" - writing a value here will enable the flags in W_IF |
0220h |
R/W x |
|
ffff |
[0000] |
has something to do with whether the packet is ignored or allowed by the packet filtering system |
0224h |
R/W x |
|
---3 |
[0003] |
|
0228h |
?/W x |
|
fixx |
[0000] |
|
0230h |
R/W x |
|
--ff |
[0047] |
|
0234h |
R/W x |
|
-eff |
[0EFF] |
|
0238h |
R/W x |
|
ffff |
[0000] |
|
023Ch |
?/W x |
|
fixx |
[0000] |
|
0244h |
R/W x |
|
ffff |
[0000] |
|
0248h |
R/W x |
|
ffff |
[0000] |
|
024Ch |
?/W x |
|
fixx |
[0000] |
|
024Eh |
?/W x |
|
fixx |
[0000] |
|
0250h |
?/W x |
|
fixx |
[0000] |
|
0258h |
?/W x |
|
fixx |
[0000] |
|
025Ch |
?/W x |
|
fixx |
[0000] |
|
0260h |
?/W x |
|
fixx |
[0FEF] |
|
0264h |
?/W x |
|
fixx |
[0000] |
|
0268h |
?/? x |
W_RXUNITS |
fixx |
[0005] |
Contains the number of HWORDs written to MAC mem since the start of the packet (this + W_RXHWWRITECSR = next empty word in MAC mem) |
0270h |
?/W x |
|
fixx |
[0000] |
|
0274h |
?/W x |
|
fixx |
[0001] |
|
0278h |
R/W x |
|
ffff |
[000F] |
|
027Ch |
?/W x |
|
fixx |
[000A] |
|
0290h |
?/W x |
|
fixx |
[FFFF] |
bit 0 = ? (もしくは未使用?) |
0298h |
?/W x |
|
fixx |
[0000] |
|
02A0h |
R/W x |
|
ffff |
[0000] |
|
02A2h |
?/W x |
|
XXXX |
[7FFF] |
|
02A4h |
?/W x |
|
fixx |
[0000] |
|
02A8h |
?/W x |
|
fixx |
[0000] |
|
02ACh |
?/W x |
|
fixx |
[0038] |
|
02B0h |
?/W x |
|
fixx |
[0000] |
|
02B4h |
R/W x |
|
-1-3 |
[0000] |
|
02B8h |
?/W x |
|
fixx |
[0000] |
|
02C0h |
R/W x |
|
---1 |
[0000] |
|
02C4h |
?/W x |
|
fixx |
[000A] |
|
02C8h |
?/W x |
|
fixx |
[0000] |
|
02CCh |
?/W x |
|
fixx |
[0000] |
|
02F0h |
R/W x |
|
ffff |
[0000] |
|
02F2h |
R/W x |
|
ffff |
[0000] |
|
02F4h |
R/W x |
|
ffff |
[0000] |
|
02F6h |
R/W x |
|
ffff |
[0000] |
|
0x000 ~ 0xFFF の、他のポートは使われません。
(普通のDSでは常に0xFFFF、DSライトでは0x0000です。)
書き込み専用ポート(W)から読み込もうとすると、他のポートのミラーが出現することがあります。
追加で、0x69のベースバンドチップレジスタ(BB)、0x0CのRFチップレジスタがあります。
POWCNT2 と WIFIWAITCNT は、電源管理とウエイトステートの管理をします。
メモリ
4000h |
R/W |
W_MACMEM MAC メモリ(0x2000 bytes) |
5F60h |
|
何かに使う。RX リングバッファは含まれない。(ssid に使われる?) |
5F80h |
|
W_WEPKEY1 (32 bytes) |
5FA0h |
|
W_WEPKEY2 (32 bytes) |
5FC0h |
|
W_WEPKEY3 (32 bytes) |
5FE0h |
|
W_WEPKEY4 (32 bytes) |
DSの他のメモリと違って、WiFi RAMはブート後初期化されません。
- 5F80h - W_WEPKEY1 ~ W_WEPKEY4 - Wifi WEP キー (R/W)
これらのWEPキースロットにはWEPキーを入れます。
802.11の暗号化キー ID 0~3として使われます。
最終更新:2007年07月16日 04:49