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