Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It is really depend on the hardware you want to make the emulator. Usually there are 2 kind:

1. Emulate the whole system. 2. Emulate the system API.

The first one you write the code to emulate the CPU of target system like OP code interpreter (e.g. NES). The second one you write the code to re-implement the API of the target system (e.g. Wine). For the second one you may need to write a JIT compiler if the target system use a different CPU architecture (e.g. PS3).

Most modern console emulator are the later one because how the modern console work is similar to how the PC work. It have an OS kernel and a user-mode libraries for applications.

For the latter one there are 2 kind of it. The first one is emulate the user-mode libraries and the second one is re-implement the console kernel and reuse the system libraries from the console itself.



> Most modern console emulator are the later one because how the modern console work is similar to how the PC work. It have an OS kernel and a user-mode libraries for applications.

And additionally because the past couple of console generations have had x86-64 CPUs, there's no need to do full instruction translation/emulation—something like Wine would suffice.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: