aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlonkaars <loek@pipeframe.xyz>2023-06-19 15:24:27 +0200
committerlonkaars <loek@pipeframe.xyz>2023-06-19 15:24:27 +0200
commit8934da54f4bf6101ae03cdc9ef4644d9d26297f3 (patch)
tree734ee2927519068354a899fb14d58dd87b013dc0
parent28bad8eaf995d2ac2ca2605302ff95f0d4be749d (diff)
comparison of different ds emulators
-rw-r--r--docs/notes.md80
1 files changed, 80 insertions, 0 deletions
diff --git a/docs/notes.md b/docs/notes.md
new file mode 100644
index 0000000..5a79e76
--- /dev/null
+++ b/docs/notes.md
@@ -0,0 +1,80 @@
+# research
+
+## DS / DSi emulators
+
+wanted features:
+
+- **DS and DSi version emulation (DSi for later)**
+
+ DS version of pictochat can still receive images with rainbow drawings, but
+ doesn't support sending
+- **firmware booting**
+
+ the phat DS and DS lite's firmware had pictochat built-in instead of as a
+ standalone app like on the DSi. to launch pictochat, firmware booting must be
+ possible.
+- **local multiplayer network emulation**
+
+ required for testing sending and receiving
+- **local multiplayer packet capture**
+
+ required for reverse engineering the packet format
+- **local multiplayer packet injection**
+
+ required for testing forged packets
+- **open source**
+
+ DIY packet injection anyone?
+- **linux-compatible**
+
+ just a preference
+- **debugging (ideally using GDB or similar interface)**
+
+ if all else fails, reading and/or injecting packets into memory using a
+ debugger might be the only option for testing forged packets. a debugger
+ could also help with reverse engineering the decoding process of a pictochat
+ packet/message
+
+### [DeSmuME][desmume]
+
+- phat ds only
+- no firmware booting
+- no local multiplayer emulation
++ open source
++ cross-platform
+- no debugger
+
+DeSmuME is focused on high quality/performance emulation for single player
+titles, and actively rejects requests for WiFi emulation.
+
+### [melonDS][melonds]
+
++ ds and (experimental) dsi support
++ firmware booting support
++ local multiplayer emulation
++ allows patched-in or real network packet capture using loopback network
+ adapter and wireshark
++ loopback network adapter also (probably) allows injecting forged packets
++ open source
++ cross-platform
+- no debugger
+
+melonDS is a very new emulator that is still actively being developed. melonDS
+is focused on accurate emulation and is the only one on this list with
+sufficiently advanced local multiplayer emulation.
+
+### [no$gba][nogba]
+
++ supports DS and DSi games
++ firmware booting support
+- no local multiplayer emulation
+- closed source
+- windows only
++ very advanced debugger
+
+[note]: <> (interesting links)
+
+[toolchaingenericds]: https://bitbucket.org/Coto88/toolchaingenericds/src/master/
+[nogba]: https://problemkaputt.de/gba.htm
+[melonds]: https://melonds.kuribo64.net/
+[desmume]: https://desmume.org/