

Ask HN: Would you read a book about emulation? -  cpro

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).<p>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.<p>I am roughly 25% complete (https:&#x2F;&#x2F;goo.gl&#x2F;4kMYaR) but I am curious what kind of interest there is in the subject. 
======
v_ignatyev
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!! 

------
v_ignatyev
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

------
Someone1234
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). 

~~~
cpro
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. 

------
archimedespi
Yes, I would love a book about emulation! 

------
seebreeze
I would be interested in a book on that. 

~~~
cpro
Thanks for the feedback-- and out of curiosity, have you ever built an
emulator before? 

~~~
seebreeze
Nope, but I think it would be cool to try and build one.