Начальная

Windows Commander

Far
WinNavigator
Frigate
Norton Commander
WinNC
Dos Navigator
Servant Salamander
Turbo Browser

Winamp, Skins, Plugins
Необходимые Утилиты
Текстовые редакторы
Юмор

File managers and best utilites

Эмуляция процессора x86 - как мне начать? X86 эмулятор


x86 - Эмуляция процессора x86 - как мне начать?

У меня есть простая задача, поиск в миниатюре в github.

сначала, какова ваша настоящая цель? Вас интересует точный симулятор образовательного типа или вы пытаетесь использовать vmware, qemu/kvm тип скорости, в последнем случае пользуясь выполнением процента инструкций самого хост-процессора (не имитируя). Даже если вы не хотите выполнять на хосте, но если вы заинтересованы в производительности (с возможной жертвой точности или отладки или проверки ошибок), посмотрите на источники мама, есть длинный список симуляторов процессора, которые написаны для скорости.

Тот, о котором я упоминал выше, был написан больше для образовательных целей, в частности, для меня и для кого-то еще, что может показаться ему интересным. Для этого типа модели я рекомендую несколько ключевых моментов. Расскажите о своих операциях чтения, записи и извлечения памяти (есть функция read_mem_8() и write_mem_8() и т.д., Которые, как аппаратное обеспечение, декодируют адреса и т.д.). Аналогично абстрагируйте операции чтения/записи регистра в функции. Симулятор сосредотачивается вокруг выполнения одной функции команды, которая вызывается в цикле для фиксированного количества инструкций или бесконечного цикла или где-то посередине, по вашему выбору. Таким образом, вы можете управлять режимом прерывания с переднего плана или других режимов вне функции, которая управляет расшифровкой команд. Декодер команд не похож на дизассемблер, он проще в том смысле, что для наборов инструкций переменной длины (например, x86) вам не нужно искать способ поиска по байтам, ищущим начало инструкции, путем выполнения, вы предполагаете, что двоичный файл является реальным, и код выполняется, естественно, хотя вам нужно иметь обработчик инструкции undefined.

x86 не был бы моим первым выбором для длинного списка причин. И вот каковы ваши цели? X86 будет иметь режимы 32/64 бит, будет иметь схемы защиты памяти, несколько режимов выполнения и т.д. Я бы (и много раз) начал с более простого набора команд в первые несколько раз, msp430, pic (старше pic not dspic или pic32), 6502 и т.д. В мире мам есть несколько 6502 ромов, с которыми вы можете играть. (обратите внимание, что некоторые из 6502 симуляторов там имеют ошибки). У msp430 и pic есть несколько инструкций, и это дневной проект, когда вы получаете размах вещей. Рука может стать шагом к x86, если вы все еще чувствуете, что вам действительно нужно сделать x86. Различные режимы выполнения, вы можете имитировать известные mmu и fpu по желанию и загружать linux, windows и т.д.

перечитывая свой вопрос, я, возможно, упростил свой ответ, похоже, что у вас есть некоторый опыт. x86 не отличается от любого другого процессора тем, что вам нужно скомпилировать некоторые простые двоичные файлы, которые, например, подсчитывают и зацикливают, а также атакуют этот двоичный код, декодируют и исполняют, увеличивают сложность ваших тестовых программ, добавляя больше инструкций, поддерживаемых вашему симулятору, некоторый момент, который становится скучным, и настало время для длинного набора текста, проходящего и выполняющего все инструкции (без обязательного тестирования каждого из них). Затем вернитесь назад и попробуйте выполнить более сложные двоичные файлы (чтобы проверить все новые инструкции). Я имею тенденцию использовать самоконтрольные тесты, такие как сжатие некоторых данных, а затем распаковка с использованием пакета с открытым исходным кодом (скомпилированного для встроенного) и сравнения ввода и вывода. Подпрограммы шифрования также хороши: aes, des и т.д. Md5, sha, которые не проверяются самостоятельно, но вы можете предварительно вычислить ответ на платформе хоста и задать код жесткого кода в тесте. с открытым исходным кодом jpeg, png и т.д. mp3-декодер. есть фиксированные точки jpeg и mp3-декодеры, или вы можете пойти с мягким fpu. Различные компиляторы производят разные комбинации команд, некоторые компиляторы вообще не используют некоторые инструкции или последовательности команд, поэтому я настоятельно рекомендую взять эти тестовые программы и перекомпилировать их и запустить их как с несколькими различными настройками оптимизации, так и с большим количеством компиляторов, которые вы можете получить для этого процессор. Различные языки высокого уровня также должны создавать разные комбинации команд. Вы можете обнаружить, что один индивидуальный программист, использующий единый язык и единственный компилятор, только даст вам ограниченный охват, у человека есть определенные привычки программирования и стили, которые ограничивают разнообразие в выходе, то же самое касается ассемблера, которого человек собирается имеют ограниченный набор команд, которые они генерируют.

qaru.site

Эмулятор для запуска x86-кода на Surface RT

Наши коллеги с портала winuser.ru достаточно полно раскрыли тему в своей заметке. Попробуем добавить деталей!

Русский разработчик под ником «Mamaich» (не путаем с «душителем» из Москвы) еще 12-го января, на волне информации о способе jailbreak для Windows 8 RT, опубликовал на форуме xda-developers.com информацию о своем новом проекте. Небольшое приложение позволяет запускать в Windows 8 RT код, написанный для win32 x86-систем. При этом мы имеем дело не с эмулятором в широком смысле этого слова (таким как Virtual Box или Bochs), а с системой больше напоминающей Wine. Смотрим своими глазами:

[смотреть «Эмулятор x86 для Surface RT]

Обратите внимание, в ролике фигурирует планшет Asus VivoTab RT и вся информация полностью актуальна для любых RT-устройств, а не только для Microsoft Surface. На сегодня подтверждена работоспособность целого ряда приложений: архиватор WinRar, игры 3D-пинбол «Space Cadet» из состава операционной системы Windows 95 и даже Heroes of Might and Magic 3. Ключевым моментом является запуск уже существующих приложений без необходимости их каким либо образом перерабатывать.

Для тестов эмулятора на вашем устройства выполните следующие действия:

  1. Осуществите jailbreak (актуальная версия RT Jailbreak Tool By Netham45, Version 1.13a)
  2. Установите MSI-файл с эмулятором (5.76 Mb, ссылка в самом первом сообщении ветки)
  3. Запустить из ModernUI загрузчик под названием «Launch x86 program»
  4. Выбрать нужный x86 EXE-файл и нажать «Ok» для запуска. Загрузчик уходит в трей, открывается окно командной строки Peloader.exe, а затем стартует ваше приложение.

В одном из сообщений на форуме Mamaich делится планами написания собственного кода для эмуляции x86 с глубокой оптимизацией по скорости. Желающим узнать больше стоит почитать блог автора, особенно его англоязычный вариант:

Блог Мамаича (рус.)Mamaich blog (английский, материалы в блогах разные)

ms-surface.ru

Android x86 с эмулятором ARM на большом экране / Хабр

Доброго времени суток. Под катом я расскажу, как мне удалось запустить Android на eeePC и подключить к нему большой телевизор. Дано: Старый ноутбук с WiFi (Ethernet работать не будет) Большой монитор или телевизор

Задача: Установить Android на ноутбук, подключить телевизор к ноутбуку как внешний монитор. Установить эмулятор ARM для запуска игр с нативным кодом.

Установка Android на ноутбук

1. Качаем ISO образ Android-x86-4.0-RC2 для своего ноутбука с android-x86.org/download. Обязательно ставим RC2 если далее будем устанавливать эмулятор ARM. 2. Записываем ISO на диск или на флэшку с помощью unetbootin Загружаемся с внешнего носителя и устанавливаем Android на ноутбук. 3. Обязательно устанавливаем GRUB и системную директорию в режим read/write. Итак получили ноутбук с Android на борту. Но многие программы не работают. Нужно установить эмулятор ARM и очень много программ заработает.

Установка эмулятора ARM

1. Качаем библиотеки для эмулятора: libhoudini.so, libvdm_houdini.so, houdini_armlibs.tgz Или все одним архивом. 2. Передаем библиотеки на ноутбук. Проще всего сразу скачать библиотеки прямо на ноутбук. Скачанные файлы можно найти в папке /sdcard/Download. Можно отправить файлы себе письмом и открыть письмо на ноутбуке. 3. Нужно разархивировать houdini_armlibs.tgz в папку arm и скопировать файлы libhoudini.so, libvdm_houdini.so и папку arm в /system/lib. Для этого переходим в консоль (Alt + F1) и выполняем следующие команды.

cd /sdcard/Download mkdir arm mv houdini_armlibs.tgz arm/ cd arm tar –xzf houdini_armlibs.tgz. rm houdini_armlibs.tgz cd… cp lib* /system/lib/ cp –r arm /system/lib/ reboot

После перезагрузки заработают многие приложения, которые падали до этого.

Подключение большого монитора

Если просто взять и подключить внешний монитор к ноутбуку, то обнаружится, что Android не выводит на него графику. Нужно добавить несколько параметров к загрузке ядра. Лучше всего создать в GRUB отдельный пункт меню для загрузки с внешним монитором.

1. Перегружаем ноутбук и загружаемся в Debug mode. 2. Открываем файл /mnt/grub/menu.lst для редактирования vi /mnt/grub/menu.lst 3. Переходим в режим редактирования, нажимая “I”. Копируем первый пункт меню и дописываем такие параметры к загрузке ядра video=LVDS-1:d video=800x600 UVESA_MODE=800x600 DPI=240 4. В итоге получим такой файл. 5. Сохраняемся. Esk. Shift +: Набираем x и далее Enter. 6. Перегружаем.

В итоге получили возможность загрузиться и работать с внешним монитором. Подключаем беспроводную клавиатуру и система готова.

Update. Параметр DPI=240 позволил убрать тормоза при воспроизведении видео с youtube.

habr.com


 

..:::Новинки:::..

Windows Commander 5.11 Свежая версия.

Новая версия
IrfanView 3.75 (рус)

Обновление текстового редактора TextEd, уже 1.75a

System mechanic 3.7f
Новая версия

Обновление плагинов для WC, смотрим :-)

Весь Winamp
Посетите новый сайт.

WinRaR 3.00
Релиз уже здесь

PowerDesk 4.0 free
Просто - напросто сильный upgrade проводника.

..:::Счетчики:::..