

X86/ARM Emulator - AndreyKarpov
http://www.codeproject.com/Articles/478527/X86-ARM-Emulator

======
beagle3
Looking at the screenshots reminds me of days when low level debuggers were
common and useful.

pfix and pfix 86 plus (of which google can find no more than 2 mentions for
me!) .. Turbo Debugger was ok too. I miss the easy low level access that those
tools gave me -- when I had to choose between source level debugging and low
level debugging, I chose the low level ones. Partly because it was much easier
to reason about the low level parts (no C++ virtual inheritance and template
proliferation craziness, libraries were smaller and simpler), but mostly
because they were so much faster and gave a complete picture.

Nowadays, you get no choice - gdb for low level debugging is awful, and the MS
debuggers aren't much better.

~~~
conductor
For Windows there is OllyDBG [1], it is simply the best (with tons of plugins
and scripts) for user-mode assembly debugging, but doesn't work in kernel-
mode.

[1] - <http://ollydbg.de/>

~~~
beagle3
Thanks. It's been a while since I've done low level windows - SoftICE was
still usable then (barely, but usable. It was Win2K driver development on an
Athlon 800Mhz...)

For anyone interested, a quick google of OllyDbg for linux leads to this list:
[http://ubuntuforums.org/showthread.php?t=608123&highligh...](http://ubuntuforums.org/showthread.php?t=608123&highlight=ollydbg)

------
rwmj
Why not just use qemu?

~~~
Two9A
For the same reason I wrote DSemu and jsGB: an educational experience. I only
half-expected to get an emulation to the state where it would emulate
commercial games and/or professional demos; the main motivation was to
understand how a system works by simulating it, and to gain experience at
multiple levels of the architecture at once.

Writing a system emulator in JS/HTML5 is a great way to learn the system being
emulated, how to quickly and efficiently read assembly and/or opcodes for the
processor under emulation, and acts as an introduction to HTML5 with it.

~~~
djhworld
I'm currently re-learning how a computer works under the hood and implementing
my own little emulators after forgetting everything from university/school.

I plan to write a GB emulator too one day.

I'm a Java programmer by day job but I find it dull so this is my "hobby" at
the moment

