А разве не проще посмотреть исходники какого-нибудь эмулятора? (Нет, можно. Разобраться. Даже в исходниках Unreal).