С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
да, ULA я не добавлял, да и вообще не тестил, т.к. у меня нет программ орели, которыми можно потестить развертку изображения.
Я неудачно в конфиг орели добавил ULA от стандартного ZX Spectrum 48, у которой задержки есть, а у орели нет. Лучше конечно выбрать в настройках ULA от другой модели - без задержек, чтото вроде Pentagon. Для этого после переключения в модель Орель, нужно настроить ULA, выбрав другой тип.
Чтобы исправить настройку по умолчанию при смене модели, можно подправить machines.config, скопировав строку с ULA из ZXMAK2.vmz
Для детальной настройки ULA нужны тесты с фотками как на реальной орели выглядит.
Основной момент - протестить клавиатуру (как я вижу тест похоже пройден, кроме кнопок ГРАФ, НОРМ, ИНВ, РЕД. Где взять этот тест клавиатуры орель со скрина?
Кнопка УПР должна работать - она в конфигурации клавиатуры замаплена на кнопку KEY_INSERT. Можно добавить в конфиг и ГРАФ, НОРМ, ИНВ, РЕД, правда для этого прийдется решить на какие кнопки их замапить, что непросто, т.к. почти все кнопки клавиатуры заняты клавишами орели. Можно например KEY_Fx использовать.
Сама конфигурация клавиш задана в Keyboard-orel.config. Вначале идет определение матрицы клавиатуры:
В ней задаются имена элементов матрицы, в данном случае условное название кнопок. Эти условные имена используются только в конфиг файле, поэтому можно переименовать при желании, можно и на других языках писать, но учитывать, что разделителем являются символы ',', ';', ' ', '\t', их использовать в качестве имени нельзя. Неиспользуемые элементы матрицы лучше называть одинаково _ для единообразия.Код:<!--Keyboard matrix rows. The button names defined in these row definitions are used in the Key attribute of KeyBinding elements--> <!-- KD0, KD1, KD2, KD3, KD4, KD5, KD6,KD7 --> <Row> ALT, Z, X, C, V, RUS, _, REG, </Row> <Row> A, S, D, F, G, BACKSLASH, _, SLASH, </Row> <Row> Q, W, E, R, T, COMMA, _, DOT, </Row> <Row> 1, 2, 3, 4, 5, GRAVE, _, TAB, </Row> <Row> 0, 9, 8, 7, 6, MINUS, _, EQUAL, </Row> <Row> P, O, I, U, Y, LEFTBRACE, _, RIGHTBRACE, </Row> <Row> ENT, L, K, J, H, SEMICOLON, _, APOSTROPHE, </Row> <Row> SPC, UPR, M, N, B, RA, _, CAPSLOCK </Row>
Далее определеняется какие кнопки приводят к срабатыванию элемента матрицы, например:
Задает срабатывание кнопки Р/А по нажатию одной из клавиш KEY_LEFTALT или KEY_RIGHTALT.Код:<KeyBinding Key="RA"> <Condition Key="KEY_LEFTALT"/> <Condition Key="KEY_RIGHTALT"/> </KeyBinding>
Если задан атрибут Condition в элементе KeyBinding, то вложенные элементы Condition игнорируются (хотя есть мысль убрать это ограничение, т.к. оно запутывает):
PS: для картинок наверное лучше https://imgur.com использовать - и шустрее и вроде везде работает, но чтобы можно было в эмулятор вставить лучше переделать изображение в графику по аналогии как в Help->Keyboard сделано, желательно с векторной графикой.Код:<KeyBinding Key="TAB" Condition="KEY_TAB"/>
ссылка
Последний раз редактировалось ZXMAK; 01.12.2024 в 02:18.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
zorel(30.11.2024)
Отличный эмулятор. QuickBoot, мне очень нравится. Автор, пожалуйста, развивайте свой проект и добавляйте хоть иногда в него новые возможности: не хватает маленьких инструментов, типа просмотрщика графики, удобного помощника клавиатуры, в котором работает нажатие клавиш (соответственно, добавить изображение клавиатуры Байта, Орели) и т.п., что можно было бы перенять из других, по-большей части заброшенных, эмуляторов.![]()
zorel(30.11.2024)
Согласен.
Интересен вопрос, почему автор уходит от виндовой версии к линуксовой? Ведь комп с виндой это пока что самое распространенное среди эмуляторщиков, да и вообще.
- - - Добавлено - - -
Кстати, по поводу синхронизации эмулятора с кадровой разверткой.
Совершенно случайно сегодня обнаружил, что есть и еще один современный надежный метод: IDXGIOutput::WaitForVBlank()
Позволяет синхронизироваться с каким-то конкретным монитором, если у вас он не один.
Например, запустили приложение на первом мониторе, а потом перетащили окно на второй. Но если синхронизация идет каким-то стандартным способом через DMW или Present, я думаю, что все будет завязано на кадровую развертку первого монитора. А так можно произвольно выбирать.
Функция эта появилась начиная с Vista, поэтому кто не рассчитывает на XP (а я давно его выпилил из своего эмуля), можно смело использовать.
Причем, эта функция является абсолютно не блокирующей, в отличие от устаревших версий в DirectDraw.
И даже меньше занимает времени системы, чем DMW (и, как я думаю, Present), потому что не ждет компоновки рабочего стола, а сразу выходит по VBlank.
Последний раз редактировалось Titus; 30.11.2024 в 22:48.
Последний раз редактировалось zorel; 30.11.2024 в 22:46.
Если в личке не отвечаю, есть связь через почту zoreldnepr(собака)gmail(точка)com
ATM-turbo 2+ v7.10+General Sound+FloppyEmul+HDD(Tasis/Xcomander CP/M)
Неофициальный сайт об Орель БК-08 и не только.
Распродажа печатных плат. новодел
Никуда он не уходит, те же exы болтыхаются, а на счёт да и вообще, у меня например xpecсy на лине, RVM на лине, UNREAL через wine запускаю на крайняк. Так что чем больше под линь эмулей, тем лучше ))
Кстати как сиё чудо под линем запустить ? Поставил чтото из mono, стало грузить окошко, но вертикальные полосы только. В настройках ромы недоступны. Куда и как ? ))
Да, MX-Linux ака debian 12.
эмулятор и так отслеживает смену дисплея, на котором отображается окно и пересоздает контекст на лету, если окно перетащили на другой дисплей.
- - - Добавлено - - -
Та версия, что в релизах на линукс не заточена. Для линукса тестовый билд вот тут: https://github.com/zxmak/ZXMAK2/issu...ent-2508881244
Для работы эмулятора нужно установить такие библиотеки:
Для запуска на линуксе запускать bash скрипт zxmak2.Код:sudo apt install mono-runtime libmono-system-drawing4.0-cil libmono-system-windows-forms4.0-cil sudo apt install libopenal-dev
Возможно чтото еще пропустил для установки, если не работает, посмотрите лог файл, который создается в папке эмулятора.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Его и использовал, либы установлены, ничего не поменялось.
Под wine кстати работает великолепно, а просто под mono нифига ))
Лог:
AA_ZXMAK2.log.zip
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)