проблема с кодировками на вашей машине:
собствено сама ошибка вот:Код:[23:31:03.053][1 ][ERROR] System.NotSupportedException: Load RomSet failed, romSet="Pentagon" System.NotSupportedException: Encoding 866 data could not be found. Make sure you have correct international codeset assembly installed and enabled. at System.Text.Encoding.GetEncoding (System.Int32 codepage) [0x0024d] in <12b418a7818c4ca0893feeaaf67f1e7f>:0 at ZipLib.Zip.ZipConstants.ConvertToString (System.Byte[] data, System.Int32 count) [0x00017] in <d2bb322f2429458e991b7adea610685a>:0 at ZipLib.Zip.ZipConstants.ConvertToStringExt (System.Int32 flags, System.Byte[] data, System.Int32 count) [0x00032] in <d2bb322f2429458e991b7adea610685a>:0 at ZipLib.Zip.ZipFile.ReadEntries () [0x00312] in <d2bb322f2429458e991b7adea610685a>:0 at ZipLib.Zip.ZipFile..ctor (System.String name) [0x0006d] in <d2bb322f2429458e991b7adea610685a>:0 at ZXMAK2.Hardware.RomPack.GetImageStream (System.String fileName) [0x0007b] in <3378b2647e3a4f79a2a81e95908c1094>:0 at ZXMAK2.Hardware.RomPack.GetRomSet (System.String romSetName) [0x0000e] in <3378b2647e3a4f79a2a81e95908c1094>:0
у вас в системе видимо почему-то настроена кодировка 866 по умолчанию, но сама кодировка почему-то не поддерживается, видимо не установлен какой-то пакет. Я с таким пока не сталкивался, нужно разбираться.Код:System.NotSupportedException: Encoding 866 data could not be found. Make sure you have correct international codeset assembly installed and enabled. at System.Text.Encoding.GetEncoding (System.Int32 codepage)
Ну а эмулятор не работает потому что из-за этой ошибки не может распаковать ром файл из zip архива.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Кстати, что на счет звука в эмуляторе?
Можно ли менять частоту дискретизации и разрядность? В каких пределах?
разрядность нет - всегда 16 бит. А частоту можно задать в unity.config в конструкторе соответствующей реализации. Для DirectSound, см. блок
Для OpenAL на линукс см. блок:Код:<register type="IHostSound" mapTo="HostSound_Mdx"> <constructor> <param name="form" /> <param name="sampleRate" value="44100" /> <param name="bufferCount" value="4" /> </constructor> <lifetime type="transient" /> </register>
sampleRate должен быть кратным 50. В остальном пределы ограничиваются пределами используемой библиотеки. Для DirectSound помоему максимальная 384000.Код:<register type="IHostSound" mapTo="HostSound_OAL"> <constructor> <param name="sampleRate" value="48000" /> <param name="bufferCount" value="4" /> </constructor> <lifetime type="transient" /> </register>
Последний раз редактировалось ZXMAK; 30.11.2024 в 23:55.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Чушь. В лине по умолчанию UTF-8 для русской локализации. В редакторе kwrite я обычно настраиваю cp1251 по умолчанию, некоторые автоматом 1251 схватывают, но 866 ни одна падла без пинка не понимает.
Скорее это ваш эмуль требует 866-ю, а нету и какую либу ставить х.з. ))
- - - Добавлено - - -
Линь не любит распаковывать русские буквы из названий файлов в архивах, он тока utf юзает в распаковщиках ... увы ((
---
Просмотрел архив ромов, не нашёл ничего с русскими буками - опять ерунда какаято... ))
Последний раз редактировалось Dart Alver; 30.11.2024 в 23:55.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Эмулятор использует код SharpZipLib, в нем для обработки строк используется дефолтная кодировка установленная для системы, точнее значение кодировки по умолчанию берется из Thread.CurrentThread.CurrentCulture.TextInfo.OEMCo dePage.
Это значение зависит от настроек вашей системы. В вашем случае оно равно 866. Однако ваша система не поддерживает кодировку 866. Как такое у вас получилось, я не знаю
Самому эмулятору 866 кодировка не нужна, в архивах все имена в ASCII. Проблема в том, что эмулятор пытается использовать дефолтную кодировку вашей системы для работы со строками, а она у вас почему-то не поддерживается.
А чему у вас равна переменная окружения LANG? Что выводит команда
Попробуйте запустить эмулятор задав для него другое значение этой переменной, например:Код:echo $LANG
или такое какое поддерживается в вашей системе, их можно посмотреть с помощью командыКод:LANG=en_GB.UTF-8 mono --debug ZXMAK2.exe
Код:locale -a
Последний раз редактировалось ZXMAK; 01.12.2024 в 00:32.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
где здесь 866 - ума не приложу. ))Код:$ locale LANG=ru_RU.UTF-8 LANGUAGE= LC_CTYPE="ru_RU.UTF-8" LC_NUMERIC="ru_RU.UTF-8" LC_TIME="ru_RU.UTF-8" LC_COLLATE="ru_RU.UTF-8" LC_MONETARY="ru_RU.UTF-8" LC_MESSAGES="ru_RU.UTF-8" LC_PAPER="ru_RU.UTF-8" LC_NAME="ru_RU.UTF-8" LC_ADDRESS="ru_RU.UTF-8" LC_TELEPHONE="ru_RU.UTF-8" LC_MEASUREMENT="ru_RU.UTF-8" LC_IDENTIFICATION="ru_RU.UTF-8" LC_ALL=
Скорее код SharpZipLib (я так понимаю это libmono-sharpzip4.84-cil ) нагло врёт.
- - - Добавлено - - -
Код:$ echo $LANG ru_RU.UTF-8 master@mx:~ $ locale -a C C.utf8 en_US.utf8 POSIX ru_RU.utf8 master@mx:~ $
что происходит если запустить эмулятор из командной строки как
илиКод:LANG=C mono --debug ZXMAK2.exe
Код:LANG=POSIX mono --debug ZXMAK2.exe
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
С LANG=en_GB.UTF-8 mono --debug ZXMAK2.exe запускается а с LANG=ru_RU.UTF-8 mono --debug ZXMAK2.exe - висит без ромов ))
- - - Добавлено - - -
LANG=C mono --debug ZXMAK2.exe - запускается
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)