User:AlvinWong
(→WiFi) |
|||
(One intermediate revision by one user not shown) | |||
Line 8: | Line 8: | ||
It works with both raw WiFi capture and udp capture with DeSmuME. | It works with both raw WiFi capture and udp capture with DeSmuME. | ||
+ | |||
+ | === WiFi IO register 0x0228 and 0x0244 === | ||
+ | |||
+ | (mkds) It appears to be read and written on the client/slave every time when a multiplayer command is received (possibly after the auto mp reply is sent). | ||
+ | |||
+ | Sequence: | ||
+ | |||
+ | * Set 244 bit 7 | ||
+ | * Clear 244 bit 7 | ||
+ | |||
+ | This happens when the program detects something is wrong (and the program disabled auto mp reply, or more accurately, cleared the AID (player id)): | ||
+ | |||
+ | * Set 244 bit 6 | ||
+ | * Clear 244 bit 6 | ||
+ | * Write 228 = 0x0008 | ||
+ | * Write 228 = 0x0000 | ||
+ | |||
+ | From this, it seems that register 228 is write-only, while 244 is read/write, and that 244 is a bit field | ||
+ | |||
+ | If gbatek is right, then 244 = 0x0080 probably has something to do with IRQ7 (TXSTART) while 0x0040 is with IRQ6 (RXSTART). But what is the relationship? | ||
+ | |||
+ | (some multiboot test) Only the first case mentioned above happens, after flooding mp reply for a moment it just doesn't send anything again. |
Latest revision as of 13:46, 7 June 2014
Contents |
Qt Frontend
- Main article: Qt Frontend
WiFi
Analysing the protocol with Wireshark
I am writing a script for analysing the NDS local WiFi protocol (OSI Layer 3):
https://gist.github.com/alvinhochun/b7fb10bdfc7647c22847
It works with both raw WiFi capture and udp capture with DeSmuME.
WiFi IO register 0x0228 and 0x0244
(mkds) It appears to be read and written on the client/slave every time when a multiplayer command is received (possibly after the auto mp reply is sent).
Sequence:
- Set 244 bit 7
- Clear 244 bit 7
This happens when the program detects something is wrong (and the program disabled auto mp reply, or more accurately, cleared the AID (player id)):
- Set 244 bit 6
- Clear 244 bit 6
- Write 228 = 0x0008
- Write 228 = 0x0000
From this, it seems that register 228 is write-only, while 244 is read/write, and that 244 is a bit field
If gbatek is right, then 244 = 0x0080 probably has something to do with IRQ7 (TXSTART) while 0x0040 is with IRQ6 (RXSTART). But what is the relationship?
(some multiboot test) Only the first case mentioned above happens, after flooding mp reply for a moment it just doesn't send anything again.