User Tag List

Страница 101 из 224 ПерваяПервая ... 979899100101102103104105 ... ПоследняяПоследняя
Показано с 1,001 по 1,010 из 2231

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

  1. #1001

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

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    Схема получения NMI (K.NMI и K.RES - сигналы с клавиатуры):
    странно, на риале при выходе прерывания не запрещаются и клавиатура продолжает опрашиваться?
    Тогда вопрос - как? При выходе из NMI (см. точку останова #0071) флаг IFF2 уже сброшен, прерывания принудительно не разрешены. Соответственно восстанавливать их некому.

    PS: в целях поддержки редактора с подсветкой и автокомплитом, а также док-панелей, рассматривается переход на WPF и фреймворк 4.0. Вопрос - насколько это может снизить переносимость под моно на линуксе?
    Последний раз редактировалось ZXMAK; 01.06.2013 в 12:57.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  2. #1002

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

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    странно, на риале при выходе прерывания не запрещаются и клавиатура продолжает опрашиваться?
    Тогда вопрос - как? При выходе из NMI (см. точку останова #0071) флаг IFF2 уже сброшен, прерывания принудительно не разрешены. Соответственно восстанавливать их некому.
    Да, на настоящем "Кворуме" всё работает. Вообще странно. Сейчас выдеру прошивку с реала, чтоб исключить её влияние на проблему.

    в целях поддержки редактора с подсветкой и автокомплитом, а также док-панелей, рассматривается переход на WPF и фреймворк 4.0. Вопрос - насколько это может снизить переносимость под моно на линуксе?
    WPF в mono вообще не поддерживается, насколько я знаю. 4й фреймворк (по крайней мере dynamic и дефолтные значения параметров методов) там есть.

    Но, в принципе, без переносимости можно жить - текущая версия эмулятора под свежим Wine работает шикарно, почти без глюков в интерфейсе и с загрузкой проца всего в 30-40%. Для сравнения - нативный линуксовый Xpeccy жрет 55% А с интерфейсом одна проблема - фулскрин под убунтовским Unity выглядит так:
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	Screenshot from 2013-06-01 15:50:26.jpg 
Просмотров:	219 
Размер:	15.7 Кб 
ID:	41901  
    Последний раз редактировалось Eltaron; 01.06.2013 в 13:52.
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI YTINK 9 Channel

  3. #1003

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

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    Да, на настоящем "Кворуме" всё работает. Вообще странно. Сейчас выдеру прошивку с реала, чтоб исключить её влияние на проблему.
    Я уже нашел в чем проблема, проблема в эмуляции IFF2. Очевидно он работает не совсем так как было описано в документации по которой я ее реализовывал. Вобщем-то уже все работает без привязки к INT.

    На данный момент не совсем ясно - должен ли устанавливаться IFF2 при выполнении EI? И должен ли сбрасываться при обработке INT? Если нет, то это позволяет организовать внутри обработчика NMI свои прерывания и потом корректно восстановить состояние прерываний при выходе из обработчика NMI. Но помню что как минимум в двух мануалах читал что что EI устанавливает оба флага IFF1 и IFF2. А обработка INT сбрасывает оба флага.

    После фикса DI, обнаружилась еще интересная фишка - при установке IFF2 по EI, скорпионовский проф-ром с винчестером входит в вечный цикл перезагрузки
    Т.е. похоже что IFF2 по EI не устанавливается. Это уже дает возможность написать тест для риала.

    Остается еще выяснить - сбрасывает ли IFF2 обработка INT?
    Последний раз редактировалось ZXMAK; 01.06.2013 в 14:27.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  4. #1004

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

    По умолчанию

    Требуется помощь владельцев реального железа. Желательно с реальным Z80, а не эмулятором на PLM.

    Нужно прогнать этот тест и выложить тут его результаты с указанием какой именно Z80 использовался.
    Вложения Вложения
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  5. #1005

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

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    Нужно прогнать этот тест и выложить тут его результаты с указанием какой именно Z80 использовался.
    Z0840006PSC
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	iff2test.jpg 
Просмотров:	255 
Размер:	18.6 Кб 
ID:	41905  
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI YTINK 9 Channel

  6. #1006

    Регистрация
    27.03.2005
    Адрес
    CПб
    Сообщений
    711
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Z84C0020
    Тест пишет 12.

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

  8. #1007

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

    По умолчанию

    Цитата Сообщение от Blade Посмотреть сообщение
    Z84C0020
    Тест пишет 12.
    хм, тогда похоже мои предположения не подтвердились.

    Вопрос остается открытым - каким образом при выходе из NMI кворум разрешает прерывания?

    Проблема состоит в следующем. При входе в NMI, состояние прерываний сохраняется во внутреннем флаге процессора IFF2. При входе в обработчик NMI, кворум выполняет инструкцию DI (см. точку останова #C028). Инструкция DI сбрасывает оба флага - IFF1 и IFF2. Таким образом информация о состоянии прерываний теряется и после выполнения RETN, прерывания будут запрещены.

    Мое предположение основывалось на том, что DI вероятно не очищает флаг IFF2, а воздействует только на IFF1. При таком варианте скорпионовский проф-ром зацикливается. Чтобы это пофиксить, нужно убрать также установку флага IFF2 в EI. Но вышеуказанный тест показал, что на реальном Z80 IFF2 как минимум устанавливается по EI. Поэтому эта модель не верна.

    Пока есть одно предположение - пзу в котором на риале выход из NMI не приводит к блокировке прерываний отличается, например не содержит операцию DI в обработчике NMI.
    Последний раз редактировалось ZXMAK; 01.06.2013 в 15:54.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  9. #1008

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

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    Пока есть одно предположение - пзу в котором на риале выход из NMI не приводит к блокировке прерываний отличается, например не содержит операцию DI в обработчике NMI.
    Достал свою v3.5. Смог, правда, вытащить только системную страницу и 48 бейсик, TR-DOS и 128 взял из v4.2. Виснет точно так же, IFF2 на выходе из NMI - 0.
    Вложения Вложения
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI YTINK 9 Channel

  10. #1009

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

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    Достал свою v3.5. Смог, правда, вытащить только системную страницу и 48 бейсик, TR-DOS и 128 взял из v4.2. Виснет точно так же, IFF2 на выходе из NMI - 0.
    ну тогда на риале либо что-то не так происходит и DI по адресу #C028 при входе в NMI не выполняется, либо NMI каким-то образом к INT-у привязан и при выходе из NMI попадает на EI в конце обработчика прерываний.

    Можно попробовать тест сделать - добиться чтобы импульс NMI не попадал на первые 1500 тактов от начала INT и посмотреть - будут ли опрашиваться кнопки (по прерыванию) на риале после выхода из NMI. Сможешь такой тест провернуть?
    Еще такой вопрос - а сколько тактов процессора на твоей диаграмме между импульсом NMI и импульсом INT?
    Последний раз редактировалось ZXMAK; 01.06.2013 в 16:39.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  11. #1010

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

    По умолчанию

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

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

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

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

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

Ваши права

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