Type-safety in low-level programming: Modern C++ in game console emulators
summary
Modern C++ (C++11 with C++17 features) generates type-safe IPC glue for the Nintendo 3DS emulator, turning function signatures into runtime serializers that decode/encode command blocks without handwritten offsets. Using function traits, C++17 constexpr if and parameter pack expansion/fold expressions, the system handles ~40 services with ~30 commands each (≈1200 handlers), removes boilerplate, enforces input validation, compiles to optimal code and runs with no measurable performance penalty.
AI-written summary · about
chapters (26)
- 0:00Introduction
- 0:47Who am I
- 2:35What is this about
- 6:38Emulation
- 10:25Examples
- 13:23Example
- 15:58Nintendo 3DS
- 19:39Process communication
- 20:17Clientserver architecture
- 21:41Read file example
- 24:34Read file implementation
- 28:50Active processes
- 33:21Advantages
- 34:04Implementation
- 36:08Recursion
- 37:15Generating the code
- 40:56Constant exper
- 43:18Decode
- 45:28Demo
- 48:43Encoding
- 50:16Oneliner
- 52:16Collaborative interface
- 54:30Template structure
- 55:58Generator structure
- 56:54What is this for
- 59:30Decouple
related talks
23mFunctional Programming in C++ (Run time vs Compile time types)
01h 02mEmbedded Friendly C++: Features That Make a Difference
01h 36mPlenary: Cooperative C++ Evolution - Toward a Typescript for C++
58mLeveraging C++20/23 Features for Low Level Interactions
55mC++ in the World of Embedded Systems
01h 05mThe real problem of C++
01h 03mWriting sustainable software. The how and the what!
01h 00mModern C++: C++ Patterns to Make Embedded Programming More Productive
