загрузка с fdd

Тема в разделе "WASM.BEGINNERS", создана пользователем boot, 3 янв 2007.

  1. boot

    boot New Member

    Публикаций:
    0
    Регистрация:
    3 янв 2007
    Сообщения:
    2
    Есть небольшой бинарник, размером ровно 512 байт. Сейчас он выводит просто hello world.
    Если этот бинарник указывать в качестве образа дискеты в vmware и грузить виртуальную машину с дискеты, то все работает - то есть выполняются эти самые 512 байт.
    А вот если этот бинарник переносить на дискету и пытаться загрузить уже реальную машину с дискеты, то загрузиться не получается. Говорит, мол, инвалид бут диск и все тут. Ровно так же, как и другие эмуляторы.
    эти 512 байт на дискету переносил с помощью rawwrite под виндовсом. Потом проверял - они, как и положено, располагаются в самом начале дискеты, ровно 512 байт. Но грузиться все равно не хочет. В чем грабли?
     
  2. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    А сигнатура 0xAA55 в конце файла присутствует?
     
  3. boot

    boot New Member

    Публикаций:
    0
    Регистрация:
    3 янв 2007
    Сообщения:
    2
    Вот именно такая и присутствует. НО!

    1. Сигнатура должна быть 55 AA. Байты именно в таком порядке. При этом в сети куча мануалов с неправильной информацией.
    2. vmware на сигнатуру не обращает внимания. Собственно она меня и ввела в заблуждение, я то думал, что все работает до того момента, пока не решил попробовать все это дело на живой машине.
     
  4. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    Да, но если говорить про word, то это будет 0xAA55 -- Intel использует Little Endian, поэтому число "младший байт к старшему от младшего адреса к старшему". М.б. проблема в этом?