Я так понимаю, эмуляцию Z80 отдельно от симулятора рассматривать глупо...
Ну... Смотря с какими целями рассматривать. Я ж говорю, логика от графики отделена в коде. И думается мне, что сорцы из директорий logic и Z80, путём несложных правок можно минут за десять-двадцать довести до состояния самостоятельного приложения. Конечно, совершенно без юзер-интерфейса, но зато оно будет запускаться и будет симулировать. И всё это дело можно будет запустить под дебуггером, чтобы посмотреть как оно работает.
Кстати более того, Z80 там в отдельной директории лежит. Я не смотрел, но уверен, что собственно это и есть эмулятор Z80. На остальное, быть может, даже и смотреть не стоит, если оно не интересно само по себе.
И если не трудно - дай ссылку на твой zip-архив оригинальных исходников.
Я такого не нашел - а я как раз не люблю скачивать по одному файлу...
Тот zip файл, я боюсь, тебе не очень нужен, поскольку там нету Z80. Но по ссылке которую ты привёл, есть надпись: Download GNU tarball. Тыкни по ней, и будет тебе щщасте.
Какой версии "срака такая C++ " нужна?
Интересный на самом деле вопрос-то оказался, а? Я сразу почему-то решил, что половина моих проблем порождена тем, что изначально код заточен под msvc++, но... Повтыкав в содержимое файликов внутри projectset.zip, я пришёл к выводу, что речь про Eclipse, cygwin и gcc. А если так, то тебе нужен Eclipse. С cygwin, как я понимаю (судя по тому, что cygwin упоминается там в projectset.zip, быть может для компиляции окажется недостаточно MinGW). При этом в систему надо поставить wxWidgets, да так, чтобы Eclipse нашёл заголовки и библиотеки. Но есть некая вероятность того, что Cygwin'овский setup.exe всё разрулит. Хотя я хз, если честно. Я лишь один раз пытался что-то там собрать в венде, использовал для этого MinGW, но нужная мне версия gtk так и не собралась. Собственно это я к тому, что здесь мой опыт стремится к нулю, и говорить что-то определённое я не решусь.
Но если они собирали при помощи gcc... Надо думать, что они собирали приложение в режиме юникода, и ихний string состоял из wchar_t, что ли? Или может у них wxWidgets был собран без поддержки unicoda, и егойный wxChar совпадал с char'ом? Да, наверное второе, не вижу другого способа объяснить то, каким образом в коде проводились преобразования строк между std и wx. Значит тебе wxWidgets нужен без юникода. =)
ps. Я мергнул свои труды с ихней версией 1.5. Довёл до состояния компилируемости и тут...
Code: Select all
/home/rgo/my/cedar/cedar-logic/GUI/RamPopupDialog.cpp:56: undefined reference to `wxGridNameStr'
/home/rgo/my/cedar/cedar-logic/GUI/RamPopupDialog.cpp:56: undefined reference to `wxGrid::wxGrid(wxWindow*, int, wxPoint const&, wxSize const&, long, wxString const&)'
Чувствуется, что скоро услышав слово wxWidgets я буду рефлекторно и незмедлительно изрыгать весь свой матерный лексикон на голову того, кто сказал такую гадость.
Совершенно не понимаю: ./configure --enable-gui у wxWidgets включает опцию --enable-grid. В ебилде на wxWidgets есть опция --enable-gui и нету опции --disable-grid. Ну и куда, спрашивается, подевался этот мазафака грид?