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

User Tag List

Страница 222 из 224 ПерваяПервая ... 218219220221222223224 ПоследняяПоследняя
Показано с 2,211 по 2,220 из 2231

Тема: ZXMAK2 - Виртуальная машина ZX Spectrum

  1. #2211

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обновил тестовый билд 9: https://github.com/zxmak/ZXMAK2/issu...ent-2844988275

    Из основных изменений:
    - исправлена эмуляция MEMPTR и флагов для блоковых инструкций inir/indr/otir/otdr

    - наконец реализована полная поддержка Z80 NMOS и CMOS процессоров. Вроде все тесты что у меня есть для Z80 NMOS и CMOS типов проходит. Реализация позволяет переключать тип процессора. Но пока эта настройка не протянута. Т.к. текущая реализация для NEC и ST типов процессоров хоть и проходит тесты но почему-то не проходит SELF TEST - непонятно почему, поэтому пока процессор инициализируется как Zilog Z80 NMOS, где все тесты проходят ок. Позже приделаю выбор типа процессора и его можно будет менять на лету.

    - исправлена, переписана и оптимизирована загрузка из WAV файлов, теперь не тупит и грузит шустро, также теперь поддерживаются WAV_FORMAT_EXTENSIBLE форматы и поправлены ошибки обработки сэмплов. Эмулятор всегда грузит WAV из первого (левого) канала (стерео и квадро поддерживается, но остальные каналы просто игнорируются), никакие фильтры не применяет, поэтому перед загрузкой WAV рекомендуется обработать его ФВЧ фильтром со срезом порядка 450 Гц.

    - еще какие-то исправления, вклюая TZX/CSW и еще чтото точно не помню.


    Релиз в двух архивах - можно использовать любой на любой платформе Windows, Linux или MacOS. Это просто билды разными компиляторами. msbuild версия на Linux может кидать ворнинги в консоль, но вроде работает пошустрее, чем mono версия.
    Последний раз редактировалось ZXMAK; 01.05.2025 в 18:07.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

    Эти 7 пользователя(ей) поблагодарили ZXMAK за это полезное сообщение:

    abelenki(02.05.2025), anarchyman(01.05.2025), cafedead(01.05.2025), SoftLight(01.05.2025), yashcher(01.05.2025), ZEman(01.05.2025), [bETA]mEN(01.05.2025)

  2. #2212

    Регистрация
    04.08.2005
    Адрес
    Россия, Московская область.
    Сообщений
    104
    Спасибо Благодарностей отдано 
    78
    Спасибо Благодарностей получено 
    13
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ZXMAK, Приветствую!
    Попробовал сейчас запустить на macos 12.7.6 (intel)
    Новую версию mono поставил через brew

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


    abayrak@MacBook-Air-Alexander ZXMAK2 % mono --version
    Mono JIT compiler version 6.14.1 (tarball Tue Apr 29 17:43:02 UTC 2025)
    Copyright (C) Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
    TLS:
    SIGSEGV: altstack
    Notification: kqueue
    Architecture: amd64
    Disabled: none
    Misc: softdebug
    Interpreter: yes
    LLVM: supported, not enabled.
    Suspend: hybrid
    GC: sgen (concurrent by default)
    [свернуть]

    При запуске (через ./zxmak2) - вот такая ошибка:

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


    abayrak@MacBook-Air-Alexander ZXMAK2 % ./zxmak2
    WARNING: The Carbon driver has not been ported to 64bits, and very few parts of Windows.Forms will work properly, or at all
    [ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: The type initializer for 'System.Drawing.GDIPlus' threw an exception. ---> System.DllNotFoundException: libgdiplus.dylib assembly:<unknown assembly> type:<unknown type> membernull)
    at (wrapper managed-to-native) System.Drawing.GDIPlus.GdiplusStartup(ulong&,System.Drawing.GdiplusStartupInput&,System.Drawing.GdiplusStartupOutput&)
    at System.Drawing.GDIPlus..cctor () [0x000b0] in <e6eb2331cafe45d88e5f98d6df8e2628>:0
    --- End of inner exception stack trace ---
    at System.Drawing.Icon.Dispose () [0x00011] in <e6eb2331cafe45d88e5f98d6df8e2628>:0
    at (wrapper remoting-invoke-with-check) System.Drawing.Icon.Dispose()
    at System.Drawing.Icon.Finalize () [0x00000] in <e6eb2331cafe45d88e5f98d6df8e2628>:0
    [свернуть]


    Что с этим можно предпринять? :-)

  3. #2213

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Судя по ошибке mono работает и эмулятор запустился, но отсутствует необходимая библиотека libgdiplus - нужно установить.
    На Linux она ставится как sudo apt install libgdiplus, как на Mac не знаю.

    Если нет в репозитории, можно из исходников собрать и установить: https://github.com/mono/libgdiplus

    Сборка на Linux выглядит примерно так:
    Код:
    sudo apt-get install libgif-dev autoconf libtool automake build-essential gettext libglib2.0-dev libcairo2-dev libtiff-dev libexif-dev
    
    git clone https://github.com/mono/libgdiplus.git
    
    cd libgdiplus
    
    ./autogen.sh --prefix=$PREFIX
    make -j$(nproc)
    
    sudo make install
    Как собрать на MacOS, там на странице библиотеки есть инструкции.

    если разберетесь, как на MacOS установить или собрать libgdiplus, отпишите шаги.
    Последний раз редактировалось ZXMAK; 01.05.2025 в 20:33.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

    Этот пользователь поблагодарил ZXMAK за это полезное сообщение:

    anarchyman(01.05.2025)

  4. #2214

    Регистрация
    04.08.2005
    Адрес
    Россия, Московская область.
    Сообщений
    104
    Спасибо Благодарностей отдано 
    78
    Спасибо Благодарностей получено 
    13
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ZXMAK, Благодарю за ответ!
    Дело сдвинулось. На macos libgdiplus я поставил через brew ( https://formulae.brew.sh/formula/mono-libgdiplus )
    Команда для установки: brew install mono-libgdiplus

    Теперь оно крешится вот так:

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


    abayrak@MacBook-Air-Alexander ZXMAK2 % ./zxmak2
    WARNING: The Carbon driver has not been ported to 64bits, and very few parts of Windows.Forms will work properly, or at all

    =================================================================
    Native Crash Reporting
    =================================================================
    Got a segv while executing native code. This usually indicates
    a fatal error in the mono runtime or one of the native libraries
    used by your application.
    =================================================================

    =================================================================
    Native stacktrace:
    =================================================================
    0x10378685c - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : mono_dump_native_crash_info
    0x10372ef59 - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : mono_handle_native_crash
    0x10392e54d - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : altstack_handle_and_restore.cold.1
    0x103781e58 - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : mono_amd64_get_exception_trampolines
    0x7ff822d93d87 - /System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/SkyLight : SLDisplayBounds
    0x10a3c5408 - Unknown
    0x103ff9b76 - Unknown
    0x1036b0017 - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : mono_jit_runtime_invoke
    0x103865c5d - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : do_runtime_invoke
    0x1038620b8 - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : mono_runtime_class_init_full
    0x1036a89a2 - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : mono_jit_compile_method_inner
    0x1036ac33b - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : mono_jit_compile_method_with_opt
    0x1037312c0 - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : common_call_trampoline
    0x103730cf1 - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : mono_magic_trampoline
    0x103bfb396 - Unknown
    0x10a166023 - Unknown
    0x10a3c0108 - Unknown
    0x1064d8403 - Unknown
    0x103fcdf39 - Unknown
    0x103fcdc93 - Unknown
    0x103f6c53a - Unknown
    0x103c8d671 - Unknown
    0x1036b0017 - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : mono_jit_runtime_invoke
    0x103865c5d - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : do_runtime_invoke
    0x103868f0c - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : do_exec_main_checked
    0x1036fed93 - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : mono_jit_exec
    0x10370199a - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : mono_main
    0x1036a238c - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : main
    0x1129f552e - Unknown

    =================================================================
    External Debugger Dump:
    =================================================================

    =================================================================
    Basic Fault Address Reporting
    =================================================================
    Memory around native instruction pointer (0x7ff822d93d87):0x7ff822d93d77 89 fb 48 8b 05 d0 18 fe 3a 0f 10 00 0f 10 48 10 ..H.....:.....H.
    0x7ff822d93d87 0f 11 4f 10 0f 11 07 89 f7 48 89 de e8 67 00 fb ..O......H...g..
    0x7ff822d93d97 ff 48 89 d8 48 83 c4 08 5b 5d c3 55 48 89 e5 53 .H..H...[].UH..S
    0x7ff822d93da7 48 83 ec 28 48 8b 05 16 2b fe 3a 48 8b 00 48 89 H..(H...+.:H..H.

    =================================================================
    Managed Stacktrace:
    =================================================================
    at <unknown> <0xffffffff>
    at System.Windows.Forms.XplatUICarbon:CGDisplayBounds <0x000b7>
    at System.Windows.Forms.XplatUICarbon:get_WorkingArea <0x00072>
    at System.Windows.Forms.XplatUICarbon:get_VirtualScreen <0x00043>
    at System.Windows.Forms.XplatUI:get_VirtualScreen <0x00048>
    at System.Windows.Forms.Screen:.cctor <0x0017a>
    at System.Object:runtime_invoke_void <0x000a5>
    at <unknown> <0xffffffff>
    at System.Windows.Forms.Form:get_CreateParams <0x00622>
    at System.Windows.Forms.Form:SetClientSizeCore <0x001c7>
    at System.Windows.Forms.Control:set_ClientSize <0x00048>
    at System.Windows.Forms.Form:set_ClientSize <0x00052>
    at System.Windows.Forms.Form:UpdateWindowText <0x00082>
    at System.Windows.Forms.Control:set_Text <0x000a8>
    at System.Windows.Forms.Form:set_Text <0x0004a>
    at ZXMAK2.Host.WinForms.Views.MainView:InitializeComponent <0x06100>
    at ZXMAK2.Host.WinForms.Views.MainView:.ctor <0x00382>
    at ZXMAK2.Host.WinForms.Views.MainView:.ctor <0x00072>
    at System.Object:BuildUp_ZXMAK2.Host.WinForms.Views.MainView <0x00272>
    at Microsoft.Practices.ObjectBuilder2.DynamicMethodBuildPlan:BuildUp <0x00046>
    at Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy:PreBuildUp <0x001d6>
    at Microsoft.Practices.ObjectBuilder2.StrategyChain:ExecuteBuildUp <0x000c1>
    at Microsoft.Practices.Unity.UnityContaineroBuildUp <0x00288>
    at Microsoft.Practices.Unity.UnityContaineroBuildUp <0x00062>
    at Microsoft.Practices.Unity.UnityContainer:Resolve <0x0005a>
    at Microsoft.Practices.Unity.UnityContainerExtensions:Resolve <0x00087>
    at ZXMAK2.Dependency.ResolverUnity:Resolve <0x00322>
    at ZXMAK2.Host.Presentation.Launcher:Run <0x0017f>
    at ZXMAK2.Program:RunSafe <0x00059>
    at ZXMAK2.Program:Main <0x0015a>
    at <Module>:runtime_invoke_void_object <0x000b0>
    =================================================================
    ./zxmak2: line 3: 83662 Abort trap: 6 mono "$(dirname ${BASH_SOURCE[0]:-$0})"/ZXMAK2.exe "$@"
    [свернуть]


    Вообщем я думаю вот в чем основная причина:
    WARNING: The Carbon driver has not been ported to 64bits, and very few parts of Windows.Forms will work properly, or at all

    И так да, с 10.15 macos 64bit только.
    В подтверждении по части carbon'а:
    --
    With the release of the Macintosh's 10.15 (Catalina) update, the Carbon API was officially discontinued and removed, leaving Cocoa as the sole primary API for developing modern Mac applications.
    --
    Тогда это очень печально :-(

    А кто то из пользователей активных писал о том что удачно все запустил под macos?

  5. #2215

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А попробуйте создать вот такой файл testwf.cs:
    Код:
    using System;
    using System.Windows.Forms;
    
    class Program {
        static void Main(string[] args) {
            try {
                using (var form = new Form())
                {
                    Application.Run(form);
                }
            } catch (Exception ex) {
                Console.WriteLine("\x1b[31;1m{0}:\x1b[22m {1}\n{2}\x1b[0m", ex.GetType().Name, ex.Message, ex.StackTrace);
            }
        }
    }
    и затем скомпилировать его и запустить:
    Код:
    mcs -out:"testwf.exe" -debug -define:DEBUG testwf.cs -r:System.Windows.Forms
    
    mono --debug testwf.exe
    Откроется окно?
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  6. #2216

    Регистрация
    04.08.2005
    Адрес
    Россия, Московская область.
    Сообщений
    104
    Спасибо Благодарностей отдано 
    78
    Спасибо Благодарностей получено 
    13
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    Откроется окно?
    Крешнулось :-(

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


    abayrak@MacBook-Air-Alexander ZXMAK2 % mcs -out:"testwf.exe" -debug -defineEBUG testwf.cs -r:System.Windows.Forms
    abayrak@MacBook-Air-Alexander ZXMAK2 % mono --debug testwf.exe
    WARNING: The Carbon driver has not been ported to 64bits, and very few parts of Windows.Forms will work properly, or at all

    =================================================================
    Native Crash Reporting
    =================================================================
    Got a segv while executing native code. This usually indicates
    a fatal error in the mono runtime or one of the native libraries
    used by your application.
    =================================================================

    =================================================================
    Native stacktrace:
    =================================================================
    0x10ac8585c - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : mono_dump_native_crash_info
    0x10ac2df59 - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : mono_handle_native_crash
    0x10ae2d54d - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : altstack_handle_and_restore.cold.1
    0x10ac80e58 - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : mono_amd64_get_exception_trampolines
    0x7ff822d93d87 - /System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/SkyLight : SLDisplayBounds
    0x111f8bda8 - Unknown
    0x10b32dcc6 - Unknown
    0x10abaf017 - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : mono_jit_runtime_invoke
    0x10ad64c5d - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : do_runtime_invoke
    0x10ad610b8 - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : mono_runtime_class_init_full
    0x10aba79a2 - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : mono_jit_compile_method_inner
    0x10abab33b - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : mono_jit_compile_method_with_opt
    0x10ac302c0 - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : common_call_trampoline
    0x10ac2fcf1 - /usr/local/Cellar/mono/6.14.1/bin/mono-sgen : mono_magic_trampoline
    0x10b0fa396 - Unknown
    0x111f8b32b - Unknown

    =================================================================
    External Debugger Dump:
    =================================================================

    =================================================================
    Basic Fault Address Reporting
    =================================================================
    Memory around native instruction pointer (0x7ff822d93d87):0x7ff822d93d77 89 fb 48 8b 05 d0 18 fe 3a 0f 10 00 0f 10 48 10 ..H.....:.....H.
    0x7ff822d93d87 0f 11 4f 10 0f 11 07 89 f7 48 89 de e8 67 00 fb ..O......H...g..
    0x7ff822d93d97 ff 48 89 d8 48 83 c4 08 5b 5d c3 55 48 89 e5 53 .H..H...[].UH..S
    0x7ff822d93da7 48 83 ec 28 48 8b 05 16 2b fe 3a 48 8b 00 48 89 H..(H...+.:H..H.

    =================================================================
    Managed Stacktrace:
    =================================================================
    at <unknown> <0xffffffff>
    at System.Windows.Forms.XplatUICarbon:CGDisplayBounds <0x000b7>
    at System.Windows.Forms.XplatUICarbon:get_WorkingArea <0x00072>
    at System.Windows.Forms.XplatUICarbon:get_VirtualScreen <0x00043>
    at System.Windows.Forms.XplatUI:get_VirtualScreen <0x00048>
    at System.Windows.Forms.Screen:.cctor <0x0017a>
    at System.Object:runtime_invoke_void <0x000a5>
    at <unknown> <0xffffffff>
    at System.Windows.Forms.Hwnd:GetNextStackedFormLocation <0x001aa>
    at System.Windows.Forms.XplatUICarbon:CreateWindow <0x00462>
    at System.Windows.Forms.XplatUI:CreateWindow <0x00047>
    at System.Windows.Forms.NativeWindow:CreateHandle <0x0006a>
    at System.Windows.Forms.Control:CreateHandle <0x000ac>
    at System.Windows.Forms.Form:CreateHandle <0x00052>
    at System.Windows.Forms.Control:CreateControl <0x000ba>
    at System.Windows.Forms.Control:SetVisibleCore <0x000fa>
    at System.Windows.Forms.Form:SetVisibleCore <0x0023a>
    at System.Windows.Forms.Control:set_Visible <0x00052>
    at System.Windows.Forms.Control:set_Visible <0x000aa>
    at System.Windows.Forms.Application:RunLoop <0x00422>
    at System.Windows.Forms.Application:Run <0x00092>
    at System.Windows.Forms.Application:Run <0x0007a>
    at Program:Main <0x000b2>
    at <Module>:runtime_invoke_void_object <0x000b0>
    =================================================================
    zsh: abort mono --debug testwf.exe
    abayrak@MacBook-Air-Alexander ZXMAK2 %
    [свернуть]

  7. #2217

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    это плохо, значит Windows.Forms не получится использовать. Можно еще попробовать более старую версию mono 6.12, может там бакенд для Windows.Forms на MacOS работает.

    Попробуйте еще вот этот тест запустить, это на основе моего нового opengl движка, он не использует Windows.Forms, должен открыть окно и показывать два кадра из raw файлов (это сырой код текстур 320x256x4 записаный из эмулятора) должна получиться мультиколорная картинка из эмулятора. По F11 переключается в полноэкранный режим и обратно, но это помоему только для Linux и Windows реализовано, для MacOS я полноэкранный режим помоему не доделал. Я когда-то отлаживал на старой версии MacOS и вроде работало, работает ли сейчас на MacOS не знаю, т.к. основная отладка велась на Linux и Windows. Скопируете лог инициализации который в консоль пишется сюда.

    Вообще хотел использовать его совместно с Windows.Forms, но раз на MacOS он не работает, то прийдется без Windows.Forms чтото придумывать. Это печально. На Linux с OpenGL все замечательно работает, я думал и на MacOS все будет хорошо, в Windows только с OpenGL проблемы с потерей некоторых кадров. А тут еще и в MacOS поддержку убрали...
    Последний раз редактировалось ZXMAK; 02.05.2025 в 03:57. Причина: удалил аттачмент, уже не нужный аттач чтобы освободить место
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  8. #2218

    Регистрация
    04.08.2005
    Адрес
    Россия, Московская область.
    Сообщений
    104
    Спасибо Благодарностей отдано 
    78
    Спасибо Благодарностей получено 
    13
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ZXMAK, Полный провал, но есть мысли.

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


    abayrak@MacBook-Air-Alexander test_gl % mono test-zx.exe
    sizeof(void*): 8
    sizeof(utsname): 2304
    EntryPointNotFoundException: NewEventHandlerUPP assembly:<unknown assembly> type:<unknown type> membernull)
    at (wrapper managed-to-native) SFGL.Platform.Mac.NativeMethods.NewEventHandlerUPP(SFGL.Platform.Mac.Carbon.MacOSEventHandler)
    at SFGL.Platform.Mac.CarbonApp.ConnectEvents () [0x0011f] in <5b0a5322be994d2cb9f0eb60e99c30c7>:0
    at SFGL.Platform.Mac.CarbonApp.Initialize () [0x0001e] in <5b0a5322be994d2cb9f0eb60e99c30c7>:0
    at SFGL.Platform.Mac.Window.CreateNativeWindow (SFGL.Platform.Mac.Carbon.WindowClass class, SFGL.Platform.Mac.Carbon.WindowAttributes attrib, SFGL.Platform.Mac.Carbon.Rect r) [0x00001] in <5b0a5322be994d2cb9f0eb60e99c30c7>:0
    at SFGL.Platform.Mac.Window..ctor (SFGL.Platform.Mac.Carbon.WindowClass class, SFGL.Platform.Mac.Carbon.WindowAttributes attrib, System.Int16 width, System.Int16 height, SFGL.Platform.PixelSettings pixelSettings) [0x0002b] in <5b0a5322be994d2cb9f0eb60e99c30c7>:0
    at SFGL.Platform.Mac.Window..ctor (System.Int16 width, System.Int16 height, SFGL.Platform.PixelSettings pixelSettings) [0x00000] in <5b0a5322be994d2cb9f0eb60e99c30c7>:0
    at SFGL.Platform.Mac.FactoryMac.CreateWindow (System.Int32 width, System.Int32 height, SFGL.Platform.PixelSettings pixelSettings) [0x00001] in <5b0a5322be994d2cb9f0eb60e99c30c7>:0
    at TESTZX.Program.Main () [0x0000e] in <5b0a5322be994d2cb9f0eb60e99c30c7>:0
    abayrak@MacBook-Air-Alexander test_gl %
    [свернуть]

    Опять упоминается Carbon - который не работает на 64bit. Я не программист, но меня в логе смутило:
    System.Int16 и System.Int32 - Под Int я-ж правильно понимаю что это Integer?

  9. #2219

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    хм, судя по логу программа не смогла загрузить функцию NewEventHandlerUPP для инициализации Carbon.
    Хотя она работает в 64-битном режиме, получается Carbon в 64 битном режиме не доступен?

    А в 32-битном режиме он доступен? Или его вообще выпилили из MacOS с концами?

    Уже не помню деталей, возможно я отлаживал код на 32-битной MacOS и возможно в этом проблема - на 64-битной системе возможно нужно использовать другое имя функции или чтото подправить. Ну или как вариант - ждать пока в mono добавят драйвер для Cocoa.

    Если ктото может привести пример на Си для инициализации окна OpenGL под новые API MacOS, можно попробовать сделать новый бакенд.

    System.Int32 - это тип int C# он всегда 32-битный независимо от того на какой платформе и каком процессоре работает.
    System.Int16 - это тип short C# он всегда 16-битный независимо от того на какой платформе и каком процессоре работает.

    с тем фрагментом кода все в порядке - это обертка над MacOS API. Проблема возникает тут:
    Код:
    EntryPointNotFoundException: NewEventHandlerUPP assembly:<unknown assembly> type:<unknown type> memberhttps://zx-pk.ru/images/smilies/dizzy_frown.gifnull)
    at (wrapper managed-to-native) SFGL.Platform.Mac.NativeMethods.NewEventHandlerUPP(SFGL.Platform.Mac.Carbon.MacOSEventHandler)
    at SFGL.Platform.Mac.CarbonApp.ConnectEvents () [0x0011f] in <5b0a5322be994d2cb9f0eb60e99c30c7>:0
    Функция CarbonApp.ConnectEvents () пытается инициализировать Carbon, а точнее установить обработчик событий окна, но падает, т.к. не может найти функцию NewEventHandlerUPP, вот как эта функция определена:
    Код:
            private const string Carbon     = "/System/Library/Frameworks/Carbon.framework/Versions/Current/Carbon";
            private const string GestaltLib = "/System/Library/Frameworks/Carbon.framework/Versions/Current/Carbon";
            private const string Agl        = "/System/Library/Frameworks/AGL.framework/Versions/Current/AGL";
    
            [SuppressUnmanagedCodeSecurity]
            [DllImport(Carbon)]
            public static extern IntPtr AcquireRootMenu();
    
            [SuppressUnmanagedCodeSecurity]
            [DllImport(Carbon)]
            public static extern IntPtr NewEventHandlerUPP(MacOSEventHandler handler);
    ...
        internal delegate OSStatus MacOSEventHandler(IntPtr inCaller, IntPtr inEvent, IntPtr userData);
    }
    любопытно тут то, что перед этой функцией вызывается AcquireRootMenu() и судя по логу она вызвалась успешно, т.е. Carbon всетаки есть, но видимо API поменялся и вместо NewEventHandlerUPP нужно дергать чтото другое...

    AI говорит, что Carbon вообще выпилили... Говорит, что запустить Carbon приложение можно только из 32-битного режима, для этого предлагает запускать так:
    Код:
    arch -i386 mono test-zx.exe
    но тут-же пишет, что это сработает только если у вас установлена 32-битная версия Mono и вы используете старую версию macOS (<10.15). Начиная с macOS Catalina, 32-битные приложения вообще не поддерживаются. Т.е. Carbon вообще никак теперь нельзя использовать. А некоторые функции все еще работают, т.к. используются в Cocoa. Вот так...

    Вобщем можно поправить, но для этого нужно переделать код для использования Cocoa вместо Carbon.
    Последний раз редактировалось ZXMAK; 02.05.2025 в 02:58.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  10. #2220

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В процессе прогона тестов оказалось, что в тестовом билде 9 была добавлена ошибка. Точнее при исправлении флагов INIR/INDR по ошибке была удалена 1T задержка. Что привело к ошибкам в contended memory тестах.

    Вот исправленная версия 9b: https://github.com/zxmak/ZXMAK2/issu...ent-2845991083

    PS: Кстати, к своему удивлению заметил что скорость в режиме max speed стала в 3-4 раза выше, чем в старом релизе 2.9.3.8. Не обратил внимание, что привело к такому ускорению, но теперь эмулятор стал заметно шустрее.
    Последний раз редактировалось ZXMAK; 02.05.2025 в 02:38.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

    Эти 2 пользователя(ей) поблагодарили ZXMAK за это полезное сообщение:

    abelenki(02.05.2025), ZEman(02.05.2025)

Страница 222 из 224 ПерваяПервая ... 218219220221222223224 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 7
    Последнее: 06.04.2012, 21:37
  2. Машина Тьюринга для Z80
    от ZXMAK в разделе Эмуляторы
    Ответов: 4
    Последнее: 15.08.2011, 03:26
  3. Продвинутая Мелко Машина 1
    от Black_Cat в разделе Зарубежные компьютеры
    Ответов: 74
    Последнее: 03.03.2009, 09:05
  4. Что за машина такая??? Commodore 128...
    от ILoveSpeccy в разделе Commodore 16/64/128
    Ответов: 5
    Последнее: 31.10.2007, 10:25
  5. Java-машина
    от Error404 в разделе Программирование
    Ответов: 2
    Последнее: 15.01.2007, 15:11

Ваши права

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