Ask HN: Would you read a book about emulation?

11 points by cpro ↗ HN
I have always been a fan of emulation (system emulation such as NES, SNES etc). The process of learning how to create my own emulator was a grueling one (lack of documentation for some systems and lack of information on the subject in general).

After successfully writing a few emulators I thought documenting the process step-by-step would be an interesting read for anyone that also has an interest in emulation.

I am roughly 25% complete (https://goo.gl/4kMYaR) but I am curious what kind of interest there is in the subject.

8 comments

[ 3.0 ms ] story [ 26.5 ms ] thread
I would be interested in a book on that.
Thanks for the feedback-- and out of curiosity, have you ever built an emulator before?
Nope, but I think it would be cool to try and build one.
It depends, even a book "documenting the process step by step" could be a lot of things. Is it a tutorial? Is it an interesting discussion of emulation that uses the construction of one to frame that discussion? It is device specific? Is it about that device or is it about all devices, again framing things?

The book itself sounds fine. The way you're selling the book (both on here and on LearnPub) could be improved. You need to decide what the point is REALLY meant to be, sure the theme is emulators, but if you have to describe it without using the word emulators or talking about any specific tech, how would that sound (e.g. "educational," "history," etc).

Thanks! You are absolutely right. The book is still taking shape and there is a lot that is unclear.

I certainly have a lot of decisions I need to make on the structure of the book and how to make the purpose of the book more clear.

In my mind the book is code-heavy and first goes through the design and implementation of your own virtual machine.

The book then builds on top of the custom virtual machine with more techniques/architecture (changing the main loop from a classic switch statement to a jump table, discussing dynamic (just in time) compilation, static recompilation approaches etc).

The ultimate goal is to take all of the design and approaches and build an emulator to spec that runs games you can find around the net. In particular, the Chip-8 system because the size of the project would be good for the book.

I think it would be great to make the book more general than emulation/emulator development but at the same time I want to make it clear if you are a person interested in making emulators (like I was) then this is a book that will help you do that.

Hi! I made an CHIP8 emulator on JS and debugger for the core emulation, but I want deeper knowledge. I want to see, buy and read your book! Leave me an e-mail at ya.na.pochte@gmail.com or ping me in Twitter @v_ignatyev for more feedback and my story and experience with emulators!!
And I like to see following topics explained: Emulation vs Simulation Theoretical and practical limitations: emulated systems performance Pseudo realtime emulation Emulation approaches: dynamic re-compilation, ??? Examples of emulated systems and emulators Emulators architecture