User:AlvinWong

From DeSmuME
Jump to: navigation, search

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.

Personal tools