User Tag List

Страница 150 из 224 ПерваяПервая ... 146147148149150151152153154 ... ПоследняяПоследняя
Показано с 1,491 по 1,500 из 2231

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

  1. #1491

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,402
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,223
    Поблагодарили
    875 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    Какие будут отзывы о новом звуке?
    Звук хороший.

    Но я пока что эмулем пользоваться не могу, в связи с его подтормаживаниями на моем Core 2 Duo 1.6Ггц. Т.е. занимает он по времени 30-50% быстродействия, но периодически корябается звук при любой синхронизации, хоть по видео, хоть по аудио. У того же Спекткакулятора звук всегда стабилен, хотя видео может терять кадры.

  2. #1492

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Звук хороший.

    Но я пока что эмулем пользоваться не могу, в связи с его подтормаживаниями на моем Core 2 Duo 1.6Ггц. Т.е. занимает он по времени 30-50% быстродействия, но периодически корябается звук при любой синхронизации, хоть по видео, хоть по аудио. У того же Спекткакулятора звук всегда стабилен, хотя видео может терять кадры.
    да, сейчас есть потеря времени на синхронизацию обновления экрана между потоком эмуляции и UI. Нотификация UI потока лочит поток эмуляции, поэтому он приостанавливается, пока UI не обработает WM_PAINT. Поэтому на слабых машинах UI может притормаживать поток эмуляции.
    Пробовал вариант когда рендеринг полностью в отдельном потоке - на dlcorp с deathsoft тестили, UI конечно в таком случае уже особой роли не играет, окно стабильно продолжает обновляться даже если на тайтле кликнуть и синхра проще и легче для процессора становится. Но... обнаружились проблемы с поддержкой нескольких дисплеев. Если такое окно перетащить на второй дисплей, оно перестает реагировать на мышь (его даже ухватить за тайтл нельзя), хотя и продолжает прекрасно обновляться...
    Проблема в том, чтобы максимально быстро уведомить UI поток о необходимости отрендериться, не задерживая при этом поток эмуляции. Думаю нужно еще покопать вариант с полным рендерингом в отдельном потоке - очень уж красиво работает - никакие UI манипуляции на рендеринг и эмуляцию не влияют Т.е. UI и эмуляция живут каждый своей жизнью


    Разнесенную синхру (когда WaitFrame и PushFrame вызывались из потока эмуляции по отдельности устранил), теперь эмулятор просто кидает серию фреймов, а как их засинхронизировать с дисплеем и звуковухой уже дело хоста. Отдельные вызовы сильно усложняли синхронизацию.
    Теперь думаю переделать сам хост, слишком много в нем накручено логики. Нужно проще делать
    Логика как это должно работать уже понятна, осталось это реализовать. Копаюсь сейчас с возможностями Direct3D

    PS: Ктото в шейдерах разбирается?
    Последний раз редактировалось ZXMAK; 04.02.2015 в 03:41.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  3. #1493

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

    По умолчанию

    Думаю пора перейти на SlimDX, т.к. MDX устарел и в нем нет фишек от SlimDX. К тому-же SlimDX поддерживает x64
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  4. #1494

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,402
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,223
    Поблагодарили
    875 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    обнаружились проблемы с поддержкой нескольких дисплеев. Если такое окно перетащить на второй дисплей, оно перестает реагировать на мышь (его даже ухватить за тайтл нельзя), хотя и продолжает прекрасно обновляться...
    Как такое вообще может быть и из-за чего?

  5. #1495

    Регистрация
    15.04.2011
    Адрес
    г. Новосибирск
    Сообщений
    769
    Спасибо Благодарностей отдано 
    67
    Спасибо Благодарностей получено 
    372
    Поблагодарили
    60 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Чего-то я в исходниках потерялся - наворочено всего Хотя, это скорее всего я сейчас не в форме.

    ZXMAK, смотри. Есть такой старый эмулятор на C# + XNA - http://zx360.codeplex.com/

    Там всё просто. Чтобы получить работающий спек под XNA нужно сделать несколько простых шагов.

    1. using Core; Здесь всё
    2. Spectrum spectrum = new Spectrum();

    И всё В UPDATE - spectru.execute в DRAW spectrum.ScreenBuffer преобразуется в текстуру XNA (правда под XNA 4.0 нужно несколько изменить код, но не суть)

    Внимание, вопрос - как по простому сделать также с ZXMAK2?
    Т.е. создаём новый XNA проект, подключаем какие нужны для базовой функциональности классы, создаём спек, обновляем его в UPDATE и отрисовываем в DRAW. Т.е без хостов и прочего.

    Есть пару идей, а вменяемый и обновляющийся эмуль на C# один твой

  6. #1496

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

    По умолчанию

    Так реализация под xna4 и так есть, причем со звуком. правда хост для него сыроват - плохо синхронизируется - запускаешь эмулятор с опцией командной строки /host:xna и все. Чтобы по дефолту xna запускался можно в unity.config прописать viewType="xna" вместо winforms.
    UI под xna правда нету - просто окно, файлы можно через командную строку открывать

    можно использовать DirectSound вместо XnaSound, для этого нужно в unity.config заменить регистрацию IHostSound в xna контейнере на аналогичную из winforms контейнера

    Не знаю получится ли на xbox запустить, т.к. engine к файлы через System.IO читает, если будешь пробовать напиши какие референсы мешают я их уберу.
    Последний раз редактировалось ZXMAK; 04.02.2015 в 14:32.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  7. #1497

    Регистрация
    05.05.2006
    Адрес
    Ростов-на-Дону
    Сообщений
    113
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  8. #1498

    Регистрация
    05.05.2006
    Адрес
    Ростов-на-Дону
    Сообщений
    113
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Эмулятор просто отличный. Но есть еще несколько просьб:
    1. В окне Debbuger у меня нет строки для ввода команды, хотя в хэлпе она упоминается. Версия эмулятора 2.9.1.
    2. Клавиши на цифровой клавиатуре не работают (работают только /*-+ и ентер). Очень хотелось бы задействовать еще цифры и точку.
    3. Выше уже упомянул: виртуальную клавиатуру было бы отлично сделать функциональной, чтобы можно было набирать мышкой (либо пальцем на сенсорном экране!).
    4. Если это возможно, сделать функциональной клавишу Delete. По сути там комбинация вперед и Backspace. Но это существенно облегчило бы работу в редакторе Бейсика.
    5. Задействовать следующие кнопки на клавиатуре: []{}\|~` - сейчас их нажатие никак не фиксируется.
    6. CapsLock кнопка включает режим [E], а не [C]. Наверное, я много очень хочу, но не хватает кнопки Caps. Да и шифты я бы немного не так расположил: Shift левый и правый как Caps Shift, а оба Ctrl как Symbol Shift. В идеале сделать возможность настройки дополнительных клавиш, чтобы каждый как ему удобно разместил все шифты.
    7. Добавить в деббагер функцию скопировать программу на Бейсике в буфер обмена, то есть чтобы в буфере был текст программы, который можно вставить, скажем, на форуме.

    В общем с такими доработками, по моему мнению, эмулятор вообще будет просто идеальный.

    P.S. Сейчас покопаюсь в конфигах эмулятора, может все это удастся сделать самому.

    В общем, конфиг ничего не дал, нельзя одно и тоже действие повесить на разные клавиши клавиатуры. Либо я не понял как.
    Последний раз редактировалось Arigato; 05.02.2015 в 11:52.

  9. #1499

    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,082
    Записей в дневнике
    11
    Спасибо Благодарностей отдано 
    173
    Спасибо Благодарностей получено 
    493
    Поблагодарили
    343 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Arigato Посмотреть сообщение
    В окне Debbuger у меня нет строки для ввода команды, хотя в хэлпе она упоминается.
    Надо удалить устройство DEBUGGER и добавить DEBUGGER ADLERS.
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI YTINK 9 Channel

  10. #1500

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

    По умолчанию

    Цитата Сообщение от Arigato Посмотреть сообщение
    5. Задействовать следующие кнопки на клавиатуре: []{}\|~` - сейчас их нажатие никак не фиксируется.
    6. CapsLock кнопка включает режим [E], а не [C]. Наверное, я много очень хочу, но не хватает кнопки Caps. Да и шифты я бы немного не так расположил: Shift левый и правый как Caps Shift, а оба Ctrl как Symbol Shift. В идеале сделать возможность настройки дополнительных клавиш, чтобы каждый как ему удобно разместил все шифты.


    В общем, конфиг ничего не дал, нельзя одно и тоже действие повесить на разные клавиши клавиатуры. Либо я не понял как.
    шифты и кнопки можно настроить в Keyboard.Mdx.config, а вот с несколькими кнопками на одну спектрумовскую, это действительно сейчас не получится, нужно будет мэппинг доработать

    ---------- Post added at 18:36 ---------- Previous post was at 18:34 ----------

    Цитата Сообщение от Arigato Посмотреть сообщение
    7. Добавить в деббагер функцию скопировать программу на Бейсике в буфер обмена, то есть чтобы в буфере был текст программы, который можно вставить, скажем, на форуме.
    это можно и не в дебаггер, только вопрос что делать если в памяти вовсе не бейсик программа, или программа немного покуроченная протектором
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

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

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

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

Эту тему просматривают: 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

Ваши права

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