Как заставить борщ (bochs) эмулировать 486-PentiumMMX (без SSE) ?

Тема в разделе "WASM.BEGINNERS", создана пользователем Tronix, 17 окт 2010.

  1. Tronix

    Tronix Member

    Публикаций:
    0
    Регистрация:
    10 сен 2010
    Сообщения:
    122
    Привет, столкнулся с таким, казалось-бы на первый взгляд, простым вопросом. Как застивить борщ запуститься с эмуляцией 486 (чтоб не было поддержки CPUID) или только MMX, без SSE (уровня первых пентиумов).

    Версия у меня виндовая, скаченный билд с офсайта. Вот как я это пытаюсь сделать в настройках CPUID:
    [​IMG]
    Когда пытаюсь запустить, выводит окошко PANIC с сообщением: PANIC: x86-64 emulation requires SSE2 support !

    Вопрос: подскажите нубу что делать и кто виноват?
     
  2. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    это 64битная платформа
     
  3. Tronix

    Tronix Member

    Публикаций:
    0
    Регистрация:
    10 сен 2010
    Сообщения:
    122
    Спасибо, Кэп. Понятно, что он хочет запуститься для эмуляции x64. Вопрос - почему он так хочет, и как сделать так, чтобы он не хотел, а хотел обычный x86?
     
  4. baldr

    baldr New Member

    Публикаций:
    0
    Регистрация:
    29 апр 2010
    Сообщения:
    327
    Tronix,

    Возможно, придётся перекомпилировать с отключенным x86-64 (или взять готовый). Эмуляция последнего жёстко требует не меньше чем SSE2 (см. cpu/cpuid.cc в исходниках).
     
  5. Tronix

    Tronix Member

    Публикаций:
    0
    Регистрация:
    10 сен 2010
    Сообщения:
    122
    Готовый, к сожалению, не загугливается. Скачал исходники bochs-2.4.5-msvc-src.zip вроде как для VS2008. Но у меня в VS не собирается, пишет 32 ошибки такого плана:
    [​IMG]

    Вижал Студию первый раз вижу, что за ошибки не понятно. Точнее понятно, что на стадии уже линковки происходят, но из-за чего - есть великая тайна для меня.
    Может подскажите еще, в какую сторону копнуть? Спасибо.

    UPD: С грехом пополам скомпилировал, понавтыкав отсутствующие файлы в раздел cpu и iodev. Запускается, но падает при попытке войти в настройки CPUID.

    UPD2: Каким-то чудным образом что-то нашаманив в конфигах собрал таки с поддержкой 586. Теперь падает при попытке изменения свойств диска.
     
  6. baldr

    baldr New Member

    Публикаций:
    0
    Регистрация:
    29 апр 2010
    Сообщения:
    327
    Tronix,

    Я думаю осталось совсем немного. Можно скомпилировать с отладочной информацией, JIT дебаггер ткнёт прямо в строку на которой падает.
     
  7. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    Tronix
    Мне опять сочевидить? Потому что сборка бочс под x64 платформу?
     
  8. Tronix

    Tronix Member

    Публикаций:
    0
    Регистрация:
    10 сен 2010
    Сообщения:
    122
    baldr
    Спасибо за поддержку :) Вдруг не с того не с сего заработал, когда я переключился с Release на Debug. Прям не верится даже.
    В общем вроде кое-как собралось и даже теперь работает. Всем спасибо за участие )
     
  9. Tronix

    Tronix Member

    Публикаций:
    0
    Регистрация:
    10 сен 2010
    Сообщения:
    122
    KeSqueer
    Нет, сборка под win32. Просто борщ умеет и на 32 битной платформе эмулить 64 битный процессор. Софтварно конечно.
     
  10. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    Tronix
    Дело в том, что на 64 битных процессорах как бэ подразумевается поддержка SSSE (вроде 2 версии) и, естественно, bochs ругается.
     
  11. baldr

    baldr New Member

    Публикаций:
    0
    Регистрация:
    29 апр 2010
    Сообщения:
    327
    KeSqueer,

    Так и надо было сразу сказать, что бокс скомпилирован с поддержкой x86-64 и меньше чем на SSE2 не согласится. Можно изгалиться и сделать его для i386-64, наверное. :derisive: