User Tag List

Страница 11 из 224 ПерваяПервая ... 789101112131415 ... ПоследняяПоследняя
Показано с 101 по 110 из 2231

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

  1. #101

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

    По умолчанию

    Свежая версия 220:
    - добавлен сдвиг видеотаблиц в базовом классе ULA (если коротко - теперь прерывание всегда начинается с 0-го такта)
    - проведена полная ревизия кода Z80 на предмет таймингов доступа к памяти/портам, все приведено к единой системе обработчики шины вызываются теперь в начале цикла записи/чтения. Поэтому нужно прибавлять несколько тактов если нужно знать точное время обращения (запись/чтение идет 3 такта на реальном железе)
    - исправлены ошибки последовательнотей таймингов внутри машинных циклов Z80 (тайминги внутри инструкции)
    - добавлен калькулятор таймингов, теперь в отладчике отображаются тайминги инструкций (для текущего состояния регисторов)
    - UlaScorpion теперь сама отлавливает M1 и INT_M1 события, соответственно лишний флаг в интерфейсе IUlaDevice удален
    - применение настроек видео когда выполнение приостановлено
    - исправлено сохранение в Z80 snapshot (не сохранялся старший бит регистра R)
    - исправлено поведение инструкции HALT (важно для ULA с contended memory)
    - исправлен баг отладчика с точкой останова на HALT
    - исправлена последовательность вызовов BeginFrame/EndFrame у девайсов (раньше начиналась с EndFrame)
    - доработан базовый класс ULA, для лучшей поддержки схем со смещенным INT'ом
    - скорректирована дешифрация портов AY8910, теперь работает как в оригинальном Spectrum 128 (0xC002=0xC000 и 0xC002=0x8000)
    - скорректирована дешифрация портов Kempston Joystick, теперь работает как в оригинальном Spectrum 128 (0xE0=0x00)
    - добавлен девайс ULA для оригинального ZX Spectrum 128, теперь можно смотреть мультиколорные демки заточенные под оригинальный спектрум с contended memory!

    Последнее, вобщемто можно считать ключевым моментом всего обновления - теперь эмулируется ULA с contended memory! Повозиться пришлось немало, особенно с задержками для портов, ох и жесткая система - просто капец! Даже не думал что задержки для портов по такой сложной системе строятся Порт #FE все еще может давать отклонения в задержке (было замечено занижение на 1T)

    Скриншот мультиколорной демки на contended memory :


    Верхняя бегущая строка полностью на бордюре! плюс динамичный мультиколор над горой И это все на contended memory! Круто...

    Цитата Сообщение от Eltaron Посмотреть сообщение
    Все, дописал свой z80-gdbserver. Ассемблер позволяет отлаживать в полном объеме (бряки на выполнение, чтение/запись памяти, пошаговое выполнение, чтение регистров). Использует Z80CPU из ZXMAK2.EXE.
    http://github.com/atsidaev/z80gdbserver

    Всё, что требуется от эмулятора - это реализовать интерфейс
    отлично! Окей, добавлю, в эмуляторе вобщемто уже сейчас используется такой интерфейс для отладчика:
    Код:
    	public interface IDebuggable
    	{
    		void DoReset();
    		void DoStepInto();
    		void DoStepOver();
    		void DoRun();
    		void DoStop();
    
    		byte ReadMemory(ushort addr);
    		void WriteMemory(ushort addr, byte value);
    
    		void AddBreakpoint(ushort addr);
    		void RemoveBreakpoint(ushort addr);
    		ushort[] GetBreakpointList();
    		bool CheckBreakpoint(ushort addr);
    		void ClearBreakpoints();
    
    		event EventHandler UpdateState;
    		event EventHandler Breakpoint;
    		bool IsRunning { get; }
    		Z80CPU CPU { get; }
    		int GetFrameTact();
    		int FrameTactCount { get; }
    	}
    осталось его причесать и сделать доступным для плагинов
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	MDA_DEMO.png 
Просмотров:	853 
Размер:	8.3 Кб 
ID:	29451  
    Последний раз редактировалось ZXMAK; 26.09.2011 в 03:07.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  2. #102

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

    По умолчанию

    Цитата Сообщение от Alexander Makeev Посмотреть сообщение
    в эмуляторе вобщемто уже сейчас используется такой интерфейс для отладчика
    о, так все, что надо уже есть
    разве что брейкпоинтов на чтение/запись памяти не хватает
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI YTINK 9 Channel

  3. #103

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

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    о, так все, что надо уже есть
    разве что брейкпоинтов на чтение/запись памяти не хватает
    вот приделал пробную поддержку отладчиков, реализуется как обычный девайс, наследующий интерфейс IJtagDevice. При добавлении такого девайса на шину встроенный отладчик отключается.

    Из обработчиков шины делать вызовы к IDebuggable не рекомендуется, т.к. может возникнуть зацикливание с зависанием или переполнением стека

    реализация IDebuggable сейчас немного глючная, например брейкпоинт на резет во время работы не словит (точнее словит, но тут-же опять запустит выполнение) и дергать сильно резво не рекомендуется - плохая синхронизация потоков, позже допилю

    Кстати StepOver может выкинуть диалог, если выполнение сильно долго происходит. Нужно будет переписать код чтобы все только на брейкпоинтах работало
    Вложения Вложения
    Последний раз редактировалось ZXMAK; 27.09.2011 в 00:56.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  4. #104

    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    11,551
    Спасибо Благодарностей отдано 
    205
    Спасибо Благодарностей получено 
    188
    Поблагодарили
    83 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сабж сохранять видео умеет? А поток scr? Скриптование будет?

    ---------- Post added at 13:59 ---------- Previous post was at 13:52 ----------

    А еще жутко не хватает записи видео в GIF.

  5. #105

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

    По умолчанию

    Цитата Сообщение от newart Посмотреть сообщение
    Сабж сохранять видео умеет? А поток scr?
    А еще жутко не хватает записи видео в GIF.
    можно сделать девайс который будет производить видеозахват и сохранять в файл, если таковой указан через зарегистрированный девайсом сериалайзер.
    Проблем с этим возникнуть не должно, у девайса есть возможность подписаться на событие EndFrame, по которому он может взять у девайса ULA битмапку с кадром. ULA девайсы реализуют метод сохраняющий текущий SCR образ в предоставленный Stream, поэтому с потоком SCR тоже проблем нет.

    Цитата Сообщение от newart Посмотреть сообщение
    Скриптование будет?
    можно попробовать реализовать с помощью девайса, правда есть проблема с блокировкой устройств на время проигрывания скрипта


    Но пока что в планах более приоритетные задачи:
    1) исправить обработку contended ports для оригинального ULA Spectrum 128
    2) реализовать ULA Spectrum 48
    3) отрефакторить реализацию IDebuggable для отладчиков
    4) отрефакторить нагромождение кода основной формы и в классе VirtualMachine
    5) добавить девайс General Sound
    6) добавить встроенный ассемблер
    Последний раз редактировалось ZXMAK; 27.09.2011 в 15:40.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  6. #106

    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    11,551
    Спасибо Благодарностей отдано 
    205
    Спасибо Благодарностей получено 
    188
    Поблагодарили
    83 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alexander Makeev Посмотреть сообщение
    сохранять в файл, если таковой указан через зарегистрированный девайсом сериалайзер.
    Проблем с этим возникнуть не должно, у девайса есть возможность подписаться на событие EndFrame
    Переведи это все на русский язык?

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

  8. #107

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

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    Все, дописал свой z80-gdbserver. Ассемблер позволяет отлаживать в полном объеме (бряки на выполнение, чтение/запись памяти, пошаговое выполнение, чтение регистров). Использует Z80CPU из ZXMAK2.EXE.
    http://github.com/atsidaev/z80gdbserver
    начиная текущей версии 220 в Z80CPU есть новые новые обработчики - RDNOMREQ и WRNOMREQ, INTACK_M1 и NMIACK_M1, их наличие обязательно, нужно добавить пустые обработчики иначе будет NullReferenceException.

    У меня вопрос - чем можно подключиться к gdb серверу из под Windows?

    ---------- Post added at 15:07 ---------- Previous post was at 15:05 ----------

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

  9. #108

    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    11,551
    Спасибо Благодарностей отдано 
    205
    Спасибо Благодарностей получено 
    188
    Поблагодарили
    83 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alexander Makeev Посмотреть сообщение
    для этого нужно реализовать плагин-устройство захвата
    Как создаются плагины?

  10. #109

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

    По умолчанию

    Цитата Сообщение от Alexander Makeev Посмотреть сообщение
    начиная текущей версии 220 в Z80CPU есть новые новые обработчики - RDNOMREQ и WRNOMREQ, INTACK_M1 и NMIACK_M1, их наличие обязательно, нужно добавить пустые обработчики иначе будет NullReferenceException.
    ну это уже не актуально, раз есть интерфейс к настоящему эмулятору прочие дела разгребу и сделаю плагин

    У меня вопрос - чем можно подключиться к gdb серверу из под Windows?
    попробую клиента под cygwin собрать
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI YTINK 9 Channel

  11. #110

    Регистрация
    16.01.2005
    Адрес
    Moscow
    Сообщений
    800
    Спасибо Благодарностей отдано 
    437
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    25 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от newart Посмотреть сообщение
    Как создаются плагины?
    в архиве с эмулятором в папке Plugins есть пример IO_TEST
    IT FOUND A VOICE... NOW IT NEEDS A BODY

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

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

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

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

Похожие темы

  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

Ваши права

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