TheFury @ 19.01.2011, 10:20

1. Ваш эмулятор эмулирует не .ехе, а .img образы, что к запуску эксешников имеет косвенное отношение.
2. А плейстейшн и гейм-бой по-вашему на том же процессоре и построены на ядре линукса? Если судить по вашим мыслям, мы бы видели только кему да дебиан с убунтой.
Он не мой, ну да не суть. По пунктам:
1) exe файлы нельзя эмулировать, ибо это всего лишь бинарный код команд ассемблера и данных, упакованный в бинарный файл определенного формата. Соответсвенно, когда он запускается на выполнение в процессоре архитектуры х86 (а не ARM как во всех андроид девайсах) то даже при эмуляции самого процесса, есть еще куча внешних бинарных функций системы, которые необходимы для работы программы. А именно: драйвера железа (ввод-вывод, работа с файловыми структурами и т.д.); функции отвечающие за обработку различных потоков данных, характерных для среды выполнения (читай - Оперативной системы) которая и называется API; внешние библиотеки, которые прилинкованы (необходими для работы этого ехе файла) к исходному файлку - разные там dll или
so файлы; обращение к настройка системы или самой программы, а значит нужно еще эмулировать например реестр. Так вот, поскольку есть столько трудностей, то идут при эмуляции двумя путями: моделируя весь компьютер сразу (пример DosBox или эмуляторы консолей) или эмулируя основные функции API как например делается под Linux в оболочке Wine для запуска приложений Windows. Второй путь в каком то смысле сложнее, ибо АПИ у мелкомягких очень сложное, запутанное и порой противоречивое. Проще смоделировать все железо, что и делается в QEMU и уже в нем загрузить всю операционку из образа загрузочного диска Windows (вот эти самые img файлы) + в этом же образе уже залитые в исходную операционку программы. Так что, img файлы все же имеют самое непосредственное отношение к запуску ехе из под Андроида. В теории есть и третий путь - портирование софта. Что собственно многими и делается. Особенно, если софт был написан сразу на Джаве, тогда портирование сравнительно просто. В иных случаях проще зачастую по новой написать аналог, нежели пытаться заменить АПИ из исходной операционки под новую ОС (Андроид).
2. Собственно я ответил опять же в п.1 Эмуляторы игровых приставок эмулируют полностью все железо приставки. Нативный код (бинарный код Linux ядра андроида) ретранслирует вызовы которые есть в консоли для вывода видео и ввода действий от пользователя в Далвик машину андроида. Сами же игры, записаны в бинарных ROM файлах исполняются на моделируемом процессоре приставки, и фактически являются лишь разновидностью файлов образа, читай - теже img образы, просто в другом формате.
И да, напрямую на процессоре смартфона можно запустить лишь скомпелированный именно под ARM-процессор вариант операционной системы. А поскольку исходники ядра ОС есть лишь под Linux , то и запустить в непосредственном режиме а не эмулируя возможно лишь туже Убунту или Дебиан (или другие варианты Линукса)