~/talk

Emulating the Nintendo 3DS: Generative & Declarative Programming in Action

Talkat CppCon 2018 · 2018-09-23..09-28· [game-development, c-and-cpp]
slides:none on file

Describes a concrete system to auto-generate 3DS IPC serialization: declarative command descriptions (command id + normal/special/request/response tuples) drive template generators that produce decode/encode logic and a single GlueCommandHandler. Uses C++ features like variadic templates, if constexpr, parameter-pack expansion and constexpr tables to validate handler signatures at compile time, synthesize command blocks, and log/detect commands. Targets ~40 services with ~30 commands each, eliminates repetitive boilerplate, compiles to zero‑overhead code and works as demonstrated with live examples.

AI-written summary · about

  1. 0:00Introduction
  2. 1:06Who am I
  3. 4:09Component Overview
  4. 5:46Virtualized CPU
  5. 7:13System Call 32
  6. 9:17Emulation
  7. 13:29API Emulation
  8. 16:05The Soul Process
  9. 17:20Interprocess Communication
  10. 22:09Response Block
  11. 23:12Dispatch Flow
  12. 26:57Is this worth automating
  13. 28:29Declarative Programming
  14. 31:17IPC Command
  15. 33:28Main Template
  16. 35:22Carrot of C Program
  17. 37:24Vision
  18. 38:44Advantages
  19. 39:42Generators
  20. 40:19Example
  21. 42:59Decoding Read
  22. 44:32Caveats
  23. 46:31Demo
  24. 48:11Encoding
  25. 49:07Glue Command Handler
  26. 50:20Command Block Synthesis
  27. 51:25Command Block Demo
  28. 55:07Summary
  29. 56:19Conclusion
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.