I'm currently working on programming an emulator of my own, although I'm going to keep exectely what the emulator is for a secret until I at least finish implementing enough of it to get the emulator to show something. Besides, I'm still not entirely sure I'm going to make it a public release. At any rate, I've been thinking about the issue of address translation, and it's causing me a bit of trouble. It seems that there is no fast way to implement it fully in software, but I hear it's possible to do enirely in hardware using the x86's MMU. So far all the work I've done with assembler is relatively basic, but this is an advanced level problem. Can anyone give me an example of how I could implement hardware address translation in x86 assembly? Preferably one with no extra function calls invloved once the intitial translation has occured.