Эту тему я посвящаю своему проекту Эмулятора процесора. Эмулятор написан на дельфи. В принципе это дебагер, трейсер, но трейсер не чего либо филейного (файлов исполнимого формата), а всей системы. Работает так: дизасемблируется инструкция и на основе даных симулируется выполнение ее процом. Т.е. реальный проц выполняет интерпритацию команд. Вобщем на даном этапе возникли трудности с IMA образом флопа. Свой захватчик вектора $13 должен работать с файлом (внешним) IMA, но гвоздь в том как он размечен. Подскажите знающие. track (+*) head (+*) sector (*+) = FileOffset(IMA) как адресоватся при выполнение int $13
А что вы можете с ними? Я лично не удовлетворен. Куда не ткнешся везде все просчитано. Да черт ногу сломит с одной только загрузкой exe, а ифны он несет может и малость, да посмотреть охота, но так чтоб узнавалось. А щас С, Паскаль, Ассемблер, СОМ, Nет, а на хрена мне все это знать, я хочу алгоритм чужой модерить, как блок схему. А? В смыле речь идет об развертке которая сама предоставляет алгоритм развертывания в развертке. Так нетрудно туда имплантировать понимальки много чего "серого".
Так и в досе мы сидели и смеялись... А теперь на кол без винды. Ох приходите завтра. (Скажи так же и о винде, которой будто нету, но вашего ораторского участия там и нет). Имеем то что имеем, это лимит или повод? Кому как... И трейсер в плане переносится на ось. В которой он дает окно для модификаций. Удобных, с прямым асмом, и интеграцией других тривиалов, а не то что б через клипбоард таскать хексы.
Млин , дебугер такой сложный как я понял на Делфе , это садизм. Хотябы на Си. Ито быстрее ... Есть проект на асме офигенного эмулятора на асме тоже х86. Чуть подделать и все супер. А вообще кто знает ) может дебугер и вправду особенный.
"Без винды и ни туды, и ни сюды" (C) Хоттабыч. А вы про *nix забыли. Тем более, с дельфи это семейство кроме как через wine не дружит. Поэтому советую заранее подумать о кроссплатформенности, если собрались писать серьёзную вещь. А какие основные задачи ставите перед эмулятором, если другие не устраивают?
Эта штука начнется на дельфи, и после станет сама платформой, основные качества которой предоставить доступ к основам в совершенстве, и напичкать ее понималками всего инного. Главное это отображение кода, его модификация и отладка. Плюс возможность писать на комби из асма и паскаля. Все у нас и есть. Но это все колхоз. Ну убей а хочется чтоб СТО.
Пусть человек делает, лично мне интересно взглянуть на результат. И вообще, вопрос об IMA образе флоппи. Жаль, я не знаю ничего об этом.
Обычно кроссплатформенные вещи как раз выходят нихрена не серьезными. Потому что серьезная и эффективная вещь должна как можно больше использовать ОС-зависимые возможности (АПИ). А всякая абстракция от ОС снижает эффективность. Ну это проблемы никсов, они много с чем кроме как через вайн не дружат...
K10 Немного не так: нередко кросплатформенные вещи выходят настолько серьёзными, что пока они только собираются приступить к работе со всей серьёзностью, не кроссплатформенные вещи уже успевают выдать результат. Хотя на самом деле под линугзы есть FreePascal и Lazarus, которые почти совместимы с Delphi версии 7. Вот Delphi 2009 - это реальная жесть, даже небольшой проект с более ранней версии потребовал сурового перетрахивания.
Не вижу (вижу но хочу большего раздолья) разницы меж указаными. Ну так вот. Скажем что програмирование сводится к тому что бы перепрыгивать из тектового редактора для компиляции асма... тогда ясно что за чепуха мешает людям. А скажите, вот у вас то что я изложил. Вы дважды выполнили одну коректировку... подумали есть же доступ ... третью выполняет комп.... вы смотрите. (Вы, индивидуальность, сложены годами жизни по этому принципу). Это о том что програмируя долго открыто бед шлюзов типа клипбоард ваш стиль рано или поздно меняетсяя в сторону субстационара, вы просто понимаете что ассемблировать каждую переную бессмысленно, легче построить базу (станок) для абсолютного контроля над мапятью. Обязательна здесь хорошая изоляция уровней, которые к примеру как IACode одна инструкция и никакой установки на другие. Только такая грануляция стабильна. Вот часто думаю... а будь он проклят тот Интел который так насрал. Хочу 64bit RIP RAX RSP и RDI и лин. память для работы. Минимум инструкций, где $FF рутер и указывает на вторю таблицу, с тем же $FF как расширитель. Т.е. полностью табличные (прямые таблицы). А все типа CALL и JMP выполнить на асме, как биос. Прошел бы десяток лет и в биосе уже был би тривиал всех опробованых. А так и попробовать нельзя, а сунся везде интел...насрал.. никак не прощу себе этого.... Да после бы инструкции отсеялись и вот тогда блоки можно было повязать как отдельные инструкции. А главная моя мечта, это нечто типа HiAsm, http://www.hiasm.com так вот там что бы прутки гибкие соединяли источники даных и трансформаторы. На вид как анатомические рисунки мозговых компонентов. Там же сразу и видны формулировки уровневых изоляторов (типа тучные места)
Aerarh Между прочим на SF лежит эмулятор 86 на дельфи. Используй ARM только там 32 бита. Или переходи на IA64, там какраз RISC процессор. hiasm это фигня. Вот форт вот это раздолье. Хотя его с успехом заменяет FASM.
Aerarh замечательные стихи. Прусь уже минут 5 или 8. Тут есть у нас очень знающий товарищ - Скомаров зовут. Думаю ваша тема его оч заинтересует. Только он сильно скромный. Вы его найдите и прямо в личку или в теме где он сидит спрашивайте. Лучше совета по теме чем у него ни у кого тут не получите.
Hiasm, Да но идея какая. Форт не знаю. Вот IA64 это то что надо. (я полез на SF SourceForge как я понимаю?)
мда, идея симпотная. но программные эмуляторы уже есть в природе (тот же bochs, уважаю). удобные, не удобные, дело привычки. На счет формата IMA: для создания образов дискет я использую небольшие досовские прожки wimage (8,3 кб), xdfcopy (~30 кб) или Virtual Floppy Disk (vfd), виндовая, с GUIем, полноценный виртуальный флоп. Думаю, человеку, который собрался писать эмулятор компа, что бы узнать формат образа дискеты не сложно будет реверснуть одну из указанных прог. лучше эмулировать порты
А я написал свою софтину, которая создаёт образы. И согласен насчёт эмуляции портов. Себе же дешевле выйдет.
Это темпорально так. А далее конечно же порты и не только эти. Ну прожки то они есть. И идея замечательная. Спасибо