Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Type-Safety in Low-Level Programming - Modern C++ in Game Console Emulators

NDC Conferences via YouTube

Overview

Explore type-safety in low-level programming through the lens of modern C++ in game console emulators. Delve into the challenges of balancing code optimization for stable frame rates with complex hardware emulation logic. Learn how to leverage compile-time programming techniques to revitalize the type system when working with untyped data, focusing on the Nintendo 3DS kernel interface. Discover the power of declarative interfaces in documenting hardware expressively while ensuring consistent implementation without compromising maintainability or performance. Examine concrete examples including the system call interface, inter-process communication, and data serialization. Gain insights into process communication, client-server architecture, and file reading implementations. Investigate active processes, recursion techniques, code generation, and constant expressions. Analyze decoding and encoding methods, collaborative interfaces, and template structures. Understand the importance of decoupling in emulator development and how modern C++ can address the unique challenges of console emulation.

Syllabus

Introduction
Who am I
What is this about
Emulation
Examples
Example
Nintendo 3DS
Process communication
Clientserver architecture
Read file example
Read file implementation
Active processes
Advantages
Implementation
Recursion
Generating the code
Constant exper
Decode
Demo
Encoding
Oneliner
Collaborative interface
Template structure
Generator structure
What is this for
Decouple

Taught by

NDC Conferences

Reviews

Start your review of Type-Safety in Low-Level Programming - Modern C++ in Game Console Emulators

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.