DS WiFi I/O Map

The following registers are only accessible from the ARM7. They are located at addresses 0x4808000 to 0x4808FFF. Addresses not included in the following list aren’t used. Also, many of the registers that are used aren’t understood.

Important note: 8-bit writes don’t work on WiFi registers and RAM, they are ignored.

General registers

AddressAccessNameDescription
4808000RW_IDChip ID
4808004R/WW_MODE_RSTReset
4808006R/WW_MODE_WEPWEP and software modes
4808008R/WW_TXSTATCNTBeacon status request
480800AR/WW_X_00A
4808010R/WW_IFWiFi interrupt request flags
4808012R/WW_IEWiFi interrupt enable
4808018R/WW_MACADDR_0Hardware MAC address
480801AR/WW_MACADDR_1Hardware MAC address
480801CR/WW_MACADDR_2Hardware MAC address
4808020R/WW_BSSID_0BSSID
4808022R/WW_BSSID_1BSSID
4808024R/WW_BSSID_2BSSID
4808028R/WW_AID_LOW
480802AR/WW_AID_FULLAssociation ID
480802CR/WW_TX_RETRYLIMITTX retry limit
480802ER/WW_INTERNAL_02E
4808030R/WW_RXCNTRX control
4808032R/WW_WEP_CNTWEP encryption enable
4808034R?W_INTERNAL_034

Power registers

AddressAccessNameDescription
4808036R/WW_POWER_US
4808038R/WW_POWER_TX
480803CR/WW_POWERSTATE
4808040R/WW_POWERFORCE
4808044RW_RANDOM
4808048R/WW_POWER_048

Receive control

AddressAccessNameDescription
4808050R/WW_RXBUF_BEGIN
4808052R/WW_RXBUF_END
4808054RW_RXBUF_WRCSR
4808056R/WW_RXBUF_WR_ADDR
4808058R/WW_RXBUF_RD_ADDR
480805AR/WW_RXBUF_READCSR
480805CR/WW_RXBUF_COUNT
4808060RW_RXBUF_RD_DATA
4808062R/WW_RXBUF_GAP
4808064R/WW_RXBUF_GAPDISP

Transmit control

AddressAccessNameDescription
4808068R/WW_TXBUF_WR_ADDR
480806CR/WW_TXBUF_COUNT
4808070WW_TXBUF_WR_DATA
4808074R/WW_TXBUF_GAP
4808076R/WW_TXBUF_GAPDISP
4808078WW_INTERNAL_078
4808080R/WW_TXBUF_BEACONBeacon transmit location
4808084R/WW_TXBUF_TIMBeacon TIM index in frame body
4808088R/WW_LISTENCOUNTListen count
480808CR/WW_BEACONINTBeacon interval
480808ER/WW_LISTENINTListen interval
4808090R/WW_TXBUF_CMDMultiplay command
4808094R/WW_TXBUF_REPLY1Multiplay next reply
4808098RW_TXBUF_REPLY2Multiplay current reply
480809CR/WW_INTERNAL_09C
48080A0R/WW_TXBUF_LOC1
48080A4R/WW_TXBUF_LOC2
48080A8R/WW_TXBUF_LOC3
48080ACWW_TXREQ_RESET
48080AEWW_TXREQ_SET
48080B0RW_TXREQ_READ
48080B4WW_TXBUF_RESET
48080B6RW_TXBUSY
48080B8RW_TXSTAT
48080BA?W_INTERNAL_0BA
48080BCR/WW_PREAMBLE
48080C0R/WW_CMD_TOTALTIME
48080C4R/WW_CMD_REPLYTIME
48080C8?W_INTERNAL_0C8
48080D0R/WW_RXFILTER
48080D4R/WW_CONFIG_0D4
48080D8R/WW_CONFIG_0D8
48080DAR/WW_RX_LEN_CROP
48080E0R/WW_RXFILTER2

WiFi timers

AddressAccessNameDescription
48080E8R/WW_US_COUNTCNTMicrosecond counter enable
48080EAR/WW_US_COMPARECNTMicrosecond compare enable
48080ECR/WW_CONFIG_0EC
48080EER/WW_CMD_COUNTCNT
48080F0R/WW_US_COMPARE0Microsecond compare value
48080F2R/WW_US_COMPARE1Microsecond compare value
48080F4R/WW_US_COMPARE2Microsecond compare value
48080F6R/WW_US_COMPARE3Microsecond compare value
48080F8R/WW_US_COUNT0Microsecond counter
48080FAR/WW_US_COUNT1Microsecond counter
48080FCR/WW_US_COUNT2Microsecond counter
48080FER/WW_US_COUNT3Microsecond counter
4808100?W_INTERNAL_100
4808102?W_INTERNAL_102
4808104?W_INTERNAL_104
4808106?W_INTERNAL_106
480810CR/WW_CONTENTFREE
4808110R/WW_PRE_BEACON
4808118R/WW_CMD_COUNT
480811CR/WW_BEACON_COUNT

Configuration ports

AddressAccessNameDescription
4808120R/WW_CONFIG_120
4808122R/WW_CONFIG_122
4808124R/WW_CONFIG_124
4808126?W_INTERNAL_126
4808128R/WW_CONFIG_128
480812A?W_INTERNAL_12A
4808130R/WW_CONFIG_130
4808132R/WW_CONFIG_132
4808134R/WW_POST_BEACON
4808140R/WW_CONFIG_140
4808142R/WW_CONFIG_142
4808144R/WW_CONFIG_144
4808146R/WW_CONFIG_146
4808148R/WW_CONFIG_148
480814AR/WW_CONFIG_14A
480814CR/WW_CONFIG_14C
4808150R/WW_CONFIG_150
4808154R/WW_CONFIG_154

Baseband chip

AddressAccessNameDescription
4808158WW_BB_CNTBB access control
480815AWW_BB_WRITEByte to write to BB
480815CRW_BB_READByte read from BB
480815ERW_BB_BUSYBB access busy Flag
4808160R/WW_BB_MODEBB access mode
4808168R/WW_BB_POWERBB access powerdown

Internal registers

AddressAccessNameDescription
480816A?W_INTERNAL_16A
4808170?W_INTERNAL_170
4808172?W_INTERNAL_172
4808174?W_INTERNAL_174
4808176?W_INTERNAL_176
4808178WW_INTERNAL_178

RF chip

AddressAccessNameDescription
480817CR/WW_RF_DATA2
480817ER/WW_RF_DATA1
4808180RW_RF_BUSY
4808184R/WW_RF_CNT
4808190R/WW_INTERNAL_190
4808194R/WW_TX_HDR_CNT
4808198R/WW_INTERNAL_198
480819CRW_RF_PINS
48081A0R/WW_X_1A0
48081A2R/WW_X_1A2
48081A4R/WW_X_1A4

WiFi statistics

AddressAccessNameDescription
48081A8RW_RXSTAT_INC_IFStats increment flags
48081AAR/WW_RXSTAT_INC_IEStats increment IRQ enable
48081ACRW_RXSTAT_OVF_IFStats half-overflow flags
48081AER/WW_RXSTAT_OVF_IEStats half-overflow IRQ enable
48081B0R/WW_RXSTAT
48081B2R/WW_RXSTAT
48081B4R/WW_RXSTAT
48081B6R/WW_RXSTAT
48081B8R/WW_RXSTAT
48081BAR/WW_RXSTAT
48081BCR/WW_RXSTAT
48081BER/WW_RXSTAT
48081C0R/WW_TX_ERR_COUNTTX error count
48081C4RW_RX_COUNT
48081D0R/WW_CMD_STAT
48081D2R/WW_CMD_STAT
48081D4R/WW_CMD_STAT
48081D6R/WW_CMD_STAT
48081D8R/WW_CMD_STAT
48081DAR/WW_CMD_STAT
48081DCR/WW_CMD_STAT
48081DER/WW_CMD_STAT

Internal diagnostics

AddressAccessNameDescription
48081F0R/WW_INTERNAL_1F0
4808204?W_INTERNAL_204
4808208?W_INTERNAL_208
480820CWW_INTERNAL_20C
4808210RW_TX_SEQNO
4808214RW_RF_STATUS
480821CWW_IF_SETSet bits in W_IF to force interrupts.
4808220R/WW_RAM_DISABLEWiFi RAM control
4808224R/WW_INTERNAL_224
4808228WW_X_228
4808230R/WW_INTERNAL_230
4808234R/WW_INTERNAL_234
4808238R/WW_INTERNAL_238
480823C?W_INTERNAL_23C
4808244R/WW_X_244
4808248R/WW_INTERNAL_248
480824CRW_INTERNAL_24C
480824ERW_INTERNAL_24E
4808250RW_INTERNAL_250
4808254?W_CONFIG_254
4808258?W_INTERNAL_258
480825C?W_INTERNAL_25C
4808260?W_INTERNAL_260
4808264RW_INTERNAL_264
4808268RW_RXTX_ADDR
4808270RW_INTERNAL_270
4808274?W_INTERNAL_274
4808278R/WW_INTERNAL_278
480827C?W_INTERNAL_27C
4808290(R/W)W_X_290
4808298WW_INTERNAL_298
48082A0R/WW_INTERNAL_2A0
48082A2RW_INTERNAL_2A2
48082A4RW_INTERNAL_2A4
48082A8WW_INTERNAL_2A8
48082AC?W_INTERNAL_2AC
48082B0WW_INTERNAL_2B0
48082B4R/WW_INTERNAL_2B4
48082B8?W_INTERNAL_2B8
48082C0R/WW_INTERNAL_2C0
48082C4RW_INTERNAL_2C4
48082C8RW_INTERNAL_2C8
48082CCRW_INTERNAL_2CC
48082D0?W_INTERNAL_2D0
48082F0R/WW_INTERNAL_2F0
48082F2R/WW_INTERNAL_2F2
48082F4R/WW_INTERNAL_2F4
48082F6R/WW_INTERNAL_2F6