Andrei Zgîrvaci
Senior Software Engineer at Callstack

I have recently started to work on a cool side project which I am super excited about! I am currently building a Chip-8 emulator as a pure C++ Turbo Native Module and using React Native Skia as the rendering engine.

This was project that I had in mind since I was in college. However, at the time it seemed way too complicated and somehow never found the time and motivation to actually start it.

A good question that may come, is: Why C++? The reason I chose C++, is, because I want to deepen my knowledge in React Native. More specifically, understand how JSI and Turbo Modules work in React Native.

After writing C++ for a few days, I was pleasantly surprised by the fact that I was actually enjoying the language. Last time I have written C++ code was in high school and my memories weren't so pleasant then... xD

It's also surprising, how much I have learned about CPUs, memory, reading binary data and bitwise operation in just a few days. It helped me gain a lot more knowledge on these subjects and actually understand them on a practical level.

I will be posting more updates on this project in the next couple of weeks! Stay tuned!

P.S. For anyone interested, I am using the following Chip-8 Technical Reference manual.