Важная информация

User Tag List

Страница 26 из 98 ПерваяПервая ... 222324252627282930 ... ПоследняяПоследняя
Показано с 251 по 260 из 980

Тема: Emu80 v.4

  1. #251
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    1,996
    Спасибо Благодарностей отдано 
    1,061
    Спасибо Благодарностей получено 
    1,224
    Поблагодарили
    478 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Pyk, попробовал собрать под macos, лог во вложении. Я пока довольно неопытный под маком, до конца не дошёл, сорри.
    Сначала не нашло SDL, но он есть собранный, скачать и один файл перетащить.
    А вот wxWidgets похоже нужно собирать из исходников, это я пока отложу.
    Посмотрите лог -- собрались файлы зависимые только от SDL, может варнинги будут вам полезны, их там много.
    Особенно подозрительно выглядят выражения вида ((symbol && 0xC0) != 0xC0) -- по-моему, тут просто ошибка, должно быть побитовое & вместо логического &&.

  2. #252
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,114
    Спасибо Благодарностей отдано 
    791
    Спасибо Благодарностей получено 
    654
    Поблагодарили
    401 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    nzeemin,
    Код:
    brew install wxmac --devel
    Но запустить я все равно не смог, выкидывает адский эксепшн при старте:

    Скрытый текст

    Код:
    2018-01-10 03:31:45.148 Emu80[55913:802511] -[SDLApplication transformToForegroundApplication]: unrecognized selector sent to instance 0x7fdead704090
    2018-01-10 03:31:45.149 Emu80[55913:802511] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[SDLApplication transformToForegroundApplication]: unrecognized selector sent to instance 0x7fdead704090'
    *** First throw call stack:
    (
    	0   CoreFoundation                      0x00007fff31f0a53b __exceptionPreprocess + 171
    	1   libobjc.A.dylib                     0x00007fff58919942 objc_exception_throw + 48
    	2   CoreFoundation                      0x00007fff31fa1824 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132
    	3   CoreFoundation                      0x00007fff31e81f13 ___forwarding___ + 1443
    	4   CoreFoundation                      0x00007fff31e818e8 _CF_forwarding_prep_0 + 120
    	5   libwx_osx_cocoau_core-3.1.dylib     0x00000001075a906c _ZN5wxApp9DoInitGuiEv + 262
    	6   libwx_osx_cocoau_core-3.1.dylib     0x00000001075e71e4 _ZN5wxApp10InitializeERiPPw + 184
    	7   libwx_baseu-3.1.dylib               0x0000000107b19717 _Z12wxEntryStartRiPPw + 233
    	8   libwx_baseu-3.1.dylib               0x0000000107b19ca9 _Z12wxEntryStartRiPPc + 30
    	9   Emu80                               0x000000010710831f _Z9palWxInitiPPc + 31
    	10  Emu80                               0x00000001070c4ce1 _Z7palInitiPPc + 49
    	11  Emu80                               0x00000001070bd232 main + 34
    	12  libdyld.dylib                       0x00007fff59506145 start + 1
    )
    libc++abi.dylib: terminating with uncaught exception of type NSException
    Abort trap: 6
    [свернуть]


    Пока не разобрался в чем дело.
    Больше игр нет

  3. #253
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,178
    Спасибо Благодарностей отдано 
    263
    Спасибо Благодарностей получено 
    456
    Поблагодарили
    182 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    nzeemin, спасибо, предупреждения насчет битовых операций - действительно ошибки (возможно, как раз с этим связаны известные проблемы с эмуляцией ВГ75), остальное подробнее посмотрю вечером. Не совсем понял только, почему у меня эти предупреждения с этим же Makefile не выдаются, может дело в ключах sdl2 либо в версии gcc, либо просто в особенности его поведения на macos? Можно узнать версию gcc и что выдает sdl2-config --cflags?

    nzeemin, svofski, можно попробовать собрать только lite-версию, не требующую wx. Потребуется наверное только немного подредактировать Makefile, чтобы не пытался собирать зависимые от wx файлы (хотел сделать CMakeLists.txt для cmake для упрощения сборки, но руки пока не дошли).

    Вообще, не очень мне нравится одновременное использование SDL и WX. Особенности реализации этих библиотек под Windows и Linux разные, приходилось экспериментировать, чтобы заставить их более-менее нормально работать вместе. Для windows и linux подружить их удалось, а вот для macos я этим пока не занимался. Может быть скоро основной вообще станет qt-версия: собственно эмуляция уже работает, осталась некоторая рутинная работа по реализации пользовательского интерфейса и т.п.

  4. #254
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    1,996
    Спасибо Благодарностей отдано 
    1,061
    Спасибо Благодарностей получено 
    1,224
    Поблагодарили
    478 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Pyk, в Qt-версии как выводите экран?
    У меня экран это класс от QWidget, имеющий внутри QImage.
    В paintEvent() эмулятор рисует экран в QImage, затем выводит его на реальный экран через QPainter::drawImage().
    https://github.com/nzeemin/ukncbtl-q...ster/qscreen.h
    https://github.com/nzeemin/ukncbtl-q...er/qscreen.cpp

    Ну и со звуком тоже интересно как вы поступили. У меня так:
    https://github.com/nzeemin/ukncbtl-q...er/qsoundout.h
    https://github.com/nzeemin/ukncbtl-q.../qsoundout.cpp
    Последний раз редактировалось nzeemin; 10.01.2018 в 12:31.

  5. #255
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,178
    Спасибо Благодарностей отдано 
    263
    Спасибо Благодарностей получено 
    456
    Поблагодарили
    182 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    nzeemin, вывожу на экран практически так же. Единственное - QImage готовится не в paintEvent, а заранее, в момент эмуляции обратного хода луча, асинхронно с отрисовкой его в paintEvent.

    А звук мне пришлось хитрее делать, я создавал собственное устройство - потомок от QIODevice.

    Исходники Qt-версии все еще еще слишком сырые, опубликую на github чуть позже. Можно обсудить детали реализации по эл. почте, здесь наверное это будет не совсем уместно.

  6. #256
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,114
    Спасибо Благодарностей отдано 
    791
    Спасибо Благодарностей получено 
    654
    Поблагодарили
    401 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyk Посмотреть сообщение
    Потребуется наверное только немного подредактировать Makefile,
    Я сделал такой Makefile.lite (отдельный, чтобы не возиться с разными CFLAGS и LDFLAGS - это правда уже легче будет CMake разруливать)

    Скрытый текст

    Код:
    #!/usr/bin/make -f
    
    SRCDIR = src
    INSTALLDIR= ~/emu80
    
    CC = c++
    CFLAGS = -c -Wall -std=c++11 `sdl2-config --cflags` -DPAL_SDL -DPAL_LITE
    LDFLAGS = `sdl2-config --libs`
    
    SRC = $(SRCDIR)/*.cpp
    SRCSDL = $(SRCDIR)/sdl/*.cpp
    SRCLITE = $(SRCDIR)/lite/*.cpp
    
    SOURCES_LITE = $(shell echo $(SRC)) $(shell echo $(SRCSDL)) $(shell echo $(SRCLITE))
    
    OBJECTS_LITE = $(SOURCES_LITE:.cpp=.o)
    
    all: Emu80lite
    
    Emu80lite: $(OBJECTS_LITE)
            $(CC) $(LDFLAGS) $(OBJECTS_LITE) -o $@
    
    .cpp.o:
            $(CC) $(CFLAGS) $< -o $@
    
    clean:
            rm -f $(OBJECTS)
            rm -f $(OBJECTS_LITE)
            rm -f Emu80
            rm -f Emu80lite
    
    install: Emu80 Emu80lite
            mkdir -p $(INSTALLDIR)
            cp Emu80 $(INSTALLDIR)
            cp Emu80lite $(INSTALLDIR)
            cp -r dist/* $(INSTALLDIR)
            cp COPYING.txt $(INSTALLDIR)
            cp whatsnew.txt $(INSTALLDIR)
            cp doc/* $(INSTALLDIR)
    [свернуть]


    make -f Makefile.lite

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

    - - - Добавлено - - -

    Цитата Сообщение от Pyk Посмотреть сообщение
    Можно узнать версию gcc
    Код:
    Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
    Apple LLVM version 9.0.0 (clang-900.0.39.2)
    Target: x86_64-apple-darwin17.2.0
    Thread model: posix
    InstalledDir: /Library/Developer/CommandLineTools/usr/bin
    Это не совсем gcc Кланг бывает гораздо более строг в варнингами.
    Больше игр нет

  7. #256
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #257
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,178
    Спасибо Благодарностей отдано 
    263
    Спасибо Благодарностей получено 
    456
    Поблагодарили
    182 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    svofski, скорее всего эмулятор не знает, какую платформу эмулировать. Полная версия при первом запуске показывает форму выбора типа эмулируемого ПК а lite-версия этого не умеет. Нужно либо файл emu80.run скопировать с другой системы, либо явно указать тип ПК в командной строке ("Emu80 -a" и т. д. - варианты можно подсмотреть в emu80.conf: последний параметр в config.addPlatform (при наличии)).

    - - - Добавлено - - -

    Цитата Сообщение от svofski Посмотреть сообщение
    Это не совсем gcc
    У nzeemin именно gcc, судя по логам...

  9. #258
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,114
    Спасибо Благодарностей отдано 
    791
    Спасибо Благодарностей получено 
    654
    Поблагодарили
    401 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyk Посмотреть сообщение
    У nzeemin именно gcc, судя по логам...
    Очень навряд ли. На маке clang собой заменяет g++, так что запускать-то его можно как g++ и он виду не подает.

    - - - Добавлено - - -

    По поводу конфига, я с этим эмулятором к сожалению совершенно пока не знаком и мне было бы удобно, если б он печатал, чего именно ему не хватает при старте.
    Больше игр нет

  10. #259
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,178
    Спасибо Благодарностей отдано 
    263
    Спасибо Благодарностей получено 
    456
    Поблагодарили
    182 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    svofski, насчет подмены g++ не знал, буду иметь в виду.
    Lite-версия, к сожалению, ничего не печатает, да и вообще использовать ее имеет смысл разве что из командной строки. Некий такой урезанный вариант, зато не требующий wxWidgets... Смысла большого в ее существовании нет, зато можно попробовать собрать хоть что-то в отсутствии wxWidgets

  11. #260
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,114
    Спасибо Благодарностей отдано 
    791
    Спасибо Благодарностей получено 
    654
    Поблагодарили
    401 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну как же, вот очень даже смысл. Интерфейс полезная характеристика, но все же не основная.

    Я только не вижу, где делается Emulation::setProperty("commandline"...), и в дебаггере я туда не попадаю (отошел от компа, пишу по памяти). И без этого он правда не может найти платформу и закачивает сам себе SDL_QUIT.
    Больше игр нет

Страница 26 из 98 ПерваяПервая ... 222324252627282930 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Emu80, старые версии
    от Pyk в разделе Эмуляторы отечественных компьютеров
    Ответов: 68
    Последнее: 11.03.2017, 00:33

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •