Эмулятор процесора x86

Тема в разделе "WASM.PROJECTS", создана пользователем Aerarh, 22 окт 2008.

  1. Aerarh

    Aerarh New Member

    Публикаций:
    0
    Регистрация:
    9 мар 2008
    Сообщения:
    24
    Эту тему я посвящаю своему проекту Эмулятора процесора.

    Эмулятор написан на дельфи. В принципе это дебагер, трейсер, но трейсер не чего либо филейного (файлов исполнимого формата), а всей системы. Работает так: дизасемблируется инструкция и на основе даных симулируется выполнение ее процом. Т.е. реальный проц выполняет интерпритацию команд.

    Вобщем на даном этапе возникли трудности с IMA образом флопа.
    Свой захватчик вектора $13 должен работать с файлом (внешним) IMA, но гвоздь в том как он размечен.
    Подскажите знающие.

    track (+*) head (+*) sector (*+) = FileOffset(IMA)

    как адресоватся при выполнение int $13
     
  2. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    Эмм, а зачем ещё один эмулятор, при чём x86? Вроде куча всяких эмулей уже есть.
     
  3. Aerarh

    Aerarh New Member

    Публикаций:
    0
    Регистрация:
    9 мар 2008
    Сообщения:
    24
    А что вы можете с ними?

    Я лично не удовлетворен. Куда не ткнешся везде все просчитано. Да черт ногу сломит с одной только загрузкой exe, а ифны он несет может и малость, да посмотреть охота, но так чтоб узнавалось. А щас С, Паскаль, Ассемблер, СОМ, Nет, а на хрена мне все это знать, я хочу алгоритм чужой модерить, как блок схему. А?

    В смыле речь идет об развертке которая сама предоставляет алгоритм развертывания в развертке.

    Так нетрудно туда имплантировать понимальки много чего "серого".
     
  4. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    SoftIce умер, Syser ещё толком не родился - да здравствует супер "дебагер, трейсер ... на дульфи" :)))
     
  5. Aerarh

    Aerarh New Member

    Публикаций:
    0
    Регистрация:
    9 мар 2008
    Сообщения:
    24
    Так и в досе мы сидели и смеялись... А теперь на кол без винды. Ох приходите завтра. (Скажи так же и о винде, которой будто нету, но вашего ораторского участия там и нет).

    Имеем то что имеем, это лимит или повод? Кому как...

    И трейсер в плане переносится на ось. В которой он дает окно для модификаций. Удобных, с прямым асмом, и интеграцией других тривиалов, а не то что б через клипбоард таскать хексы.
     
  6. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    618
    Млин , дебугер такой сложный как я понял на Делфе , это садизм. Хотябы на Си. Ито быстрее ... Есть проект на асме офигенного эмулятора на асме тоже х86. Чуть подделать и все супер.

    А вообще кто знает ) может дебугер и вправду особенный.
     
  7. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    "Без винды и ни туды, и ни сюды" (C) Хоттабыч.
    А вы про *nix забыли. Тем более, с дельфи это семейство кроме как через wine не дружит. Поэтому советую заранее подумать о кроссплатформенности, если собрались писать серьёзную вещь.

    А какие основные задачи ставите перед эмулятором, если другие не устраивают?
     
  8. Aerarh

    Aerarh New Member

    Публикаций:
    0
    Регистрация:
    9 мар 2008
    Сообщения:
    24
    Эта штука начнется на дельфи, и после станет сама платформой, основные качества которой предоставить доступ к основам в совершенстве, и напичкать ее понималками всего инного.

    Главное это отображение кода, его модификация и отладка. Плюс возможность писать на комби из асма и паскаля.

    Все у нас и есть. Но это все колхоз. Ну убей а хочется чтоб СТО. :)
     
  9. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Aerarh
    Мега круть. Можно я позаимствую эту великую фразу?

    А это вообще +1000
     
  10. HuXTUS

    HuXTUS New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2007
    Сообщения:
    240
    Пусть человек делает, лично мне интересно взглянуть на результат.
    И вообще, вопрос об IMA образе флоппи. Жаль, я не знаю ничего об этом.
     
  11. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    Обычно кроссплатформенные вещи как раз выходят нихрена не серьезными. Потому что серьезная и эффективная вещь должна как можно больше использовать ОС-зависимые возможности (АПИ). А всякая абстракция от ОС снижает эффективность.

    Ну это проблемы никсов, они много с чем кроме как через вайн не дружат...
     
  12. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    K10
    Немного не так: нередко кросплатформенные вещи выходят настолько серьёзными, что пока они только собираются приступить к работе со всей серьёзностью, не кроссплатформенные вещи уже успевают выдать результат. Хотя на самом деле под линугзы есть FreePascal и Lazarus, которые почти совместимы с Delphi версии 7. Вот Delphi 2009 - это реальная жесть, даже небольшой проект с более ранней версии потребовал сурового перетрахивания.
     
  13. Aerarh

    Aerarh New Member

    Публикаций:
    0
    Регистрация:
    9 мар 2008
    Сообщения:
    24
    Не вижу (вижу но хочу большего раздолья) разницы меж указаными.

    Ну так вот. Скажем что програмирование сводится к тому что бы перепрыгивать из тектового редактора для компиляции асма... тогда ясно что за чепуха мешает людям.

    А скажите, вот у вас то что я изложил. Вы дважды выполнили одну коректировку... подумали есть же доступ ... третью выполняет комп.... вы смотрите. (Вы, индивидуальность, сложены годами жизни по этому принципу). Это о том что програмируя долго открыто бед шлюзов типа клипбоард ваш стиль рано или поздно меняетсяя в сторону субстационара, вы просто понимаете что ассемблировать каждую переную бессмысленно, легче построить базу (станок) для абсолютного контроля над мапятью. Обязательна здесь хорошая изоляция уровней, которые к примеру как IACode одна инструкция и никакой установки на другие. Только такая грануляция стабильна.

    Вот часто думаю... а будь он проклят тот Интел который так насрал.

    Хочу 64bit RIP RAX RSP и RDI и лин. память для работы. Минимум инструкций, где $FF рутер и указывает на вторю таблицу, с тем же $FF как расширитель. Т.е. полностью табличные (прямые таблицы).

    А все типа CALL и JMP выполнить на асме, как биос. Прошел бы десяток лет и в биосе уже был би тривиал всех опробованых. А так и попробовать нельзя, а сунся везде интел...насрал.. никак не прощу себе этого....

    Да после бы инструкции отсеялись и вот тогда блоки можно было повязать как отдельные инструкции.

    А главная моя мечта, это нечто типа HiAsm, http://www.hiasm.com так вот там что бы прутки гибкие соединяли источники даных и трансформаторы. На вид как анатомические рисунки мозговых компонентов. Там же сразу и видны формулировки уровневых изоляторов (типа тучные места)
     
  14. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Aerarh
    Между прочим на SF лежит эмулятор 86 на дельфи.
    Используй ARM только там 32 бита.
    Или переходи на IA64, там какраз RISC процессор.

    hiasm это фигня. Вот форт вот это раздолье. Хотя его с успехом заменяет FASM.
     
  15. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    Aerarh
    замечательные стихи. Прусь уже минут 5 или 8. Тут есть у нас очень знающий товарищ - Скомаров зовут. Думаю ваша тема его оч заинтересует. Только он сильно скромный. Вы его найдите и прямо в личку или в теме где он сидит спрашивайте. Лучше совета по теме чем у него ни у кого тут не получите.
     
  16. Aerarh

    Aerarh New Member

    Публикаций:
    0
    Регистрация:
    9 мар 2008
    Сообщения:
    24
    Hiasm, Да но идея какая. Форт не знаю. Вот IA64 это то что надо.
    (я полез на SF SourceForge как я понимаю?)
     
  17. Barbos

    Barbos Slavon

    Публикаций:
    0
    Регистрация:
    13 ноя 2007
    Сообщения:
    280
    Адрес:
    Kharkov
    мда, идея симпотная. но программные эмуляторы уже есть в природе (тот же bochs, уважаю). удобные, не удобные, дело привычки. На счет формата IMA: для создания образов дискет я использую небольшие досовские прожки wimage (8,3 кб), xdfcopy (~30 кб) или Virtual Floppy Disk (vfd), виндовая, с GUIем, полноценный виртуальный флоп. Думаю, человеку, который собрался писать эмулятор компа, что бы узнать формат образа дискеты не сложно будет реверснуть одну из указанных прог.

    лучше эмулировать порты:)
     
  18. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    А я написал свою софтину, которая создаёт образы.
    И согласен насчёт эмуляции портов. Себе же дешевле выйдет.
     
  19. Aerarh

    Aerarh New Member

    Публикаций:
    0
    Регистрация:
    9 мар 2008
    Сообщения:
    24
    Это темпорально так. А далее конечно же порты и не только эти.

    Ну прожки то они есть. И идея замечательная. Спасибо