Важная информация

User Tag List

Страница 82 из 181 ПерваяПервая ... 787980818283848586 ... ПоследняяПоследняя
Показано с 811 по 820 из 1809

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

  1. #811
    Veteran Аватар для Eltaron
    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    1,257
    Благодарностей: 696
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alexander Makeev Посмотреть сообщение
    написать обертки для менюшек не проблема, а как быть с окнами? Например MemoryBase по менюшке выводит свое окно. Как это сделать переносимым и в то-же время не привязывать компонент к реализации окна?
    А оно откроется. Mono умеет открывать WinForms-окна.
    Проблема только с менюшками - невозможно в SDL-окно прицепить WinForms-меню, потому что SDL работает через P/Invoke и окна создаёт нативным кодом.

    ---------- Post added at 02:12 ---------- Previous post was at 02:07 ----------

    Ну то есть в идеале конечно было бы надо написать свою обертку над вообще всем оконным интерфейсом, но у такой работы показатель сложность/полезность будет стремиться к бесконечности. Это пригодится только если под Win8 или браузерный Silverlight портировать.
    Граф Дракула наш кумир, патамушта он вомпир!

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

  3. #812
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,336
    Благодарностей: 794
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Moro Посмотреть сообщение
    Думаю не правильная организациия памяти.
    да, похоже модуль памяти ATM710 работает неправильно:
    1) перезапускаем эмулятор (чтобы получить начальное значение памяти)
    2) загружаем HC
    3) запускаем ReadMe.B
    4) ставим точку останова на #808D и делаем сброс
    5) на точке останова замаплена пзу ROM#01 (trdos). До этого момента все страницы памяти и пзу переключаются идентично с unreal.
    7) делаем шаг [out (#FF77),#AB], получаем ROM#00 и отключение флага доступа к портам, в то время как в unreal флаг доступа продолжает оставаться включен и пзу не меняется... нужно разбираться почему...
    Последний раз редактировалось ZXMAK; 09.05.2013 в 22:21.
    ZXMAK2 - Виртуальная Машина ZX Spectrum http://zxmak2.codeplex.com
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  4. #813
    Master Аватар для [bETA]mEN
    Регистрация
    16.01.2005
    Адрес
    Moscow
    Сообщений
    688
    Благодарностей: 123
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    Mono умеет открывать WinForms-окна.
    http://mono-project.com/FAQ:_Licensing
    For people who need full compatibility with the Windows platform, Mono's strategy for dealing with any potential issues that might arise with ASP.NET, ADO.NET or Windows.Forms is: (1) work around the patent by using a different implementation technique that retains the API, but changes the mechanism; if that is not possible, we would (2) remove the pieces of code that were covered by those patents, and also (3) find prior art that would render the patent useless.
    IT FOUND A VOICE... NOW IT NEEDS A BODY

  5. #814
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,336
    Благодарностей: 794
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    А оно откроется. Mono умеет открывать WinForms-окна.
    Проблема только с менюшками - невозможно в SDL-окно прицепить WinForms-меню, потому что SDL работает через P/Invoke и окна создаёт нативным кодом.
    хм, вот в чем дело, теперь ясно, постараюсь отвязать компоненты от менюшек в ближайших версиях...
    ZXMAK2 - Виртуальная Машина ZX Spectrum http://zxmak2.codeplex.com
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  6. #815
    Veteran Аватар для Eltaron
    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    1,257
    Благодарностей: 696
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от [bETA]mEN Посмотреть сообщение
    Касаемо окошек мелкие отличия есть, серьезных проблем не встречал.
    Серьезные отличия mono от дотнета - они в области WCF, WPF, Remoting, ADO.NET и прочих вещей критичных для Enterprise-разработок, но совершенно ненужных для эмулятора.
    Граф Дракула наш кумир, патамушта он вомпир!

  7. #816
    Master
    Регистрация
    27.03.2005
    Адрес
    CПб
    Сообщений
    711
    Благодарностей: 230
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alexander Makeev Посмотреть сообщение
    7) делаем шаг [out (#FF77),#AB], получаем ROM#00 и отключение флага доступа к портам
    Как сделано отключение TR-DOS?

  8. #817
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,336
    Благодарностей: 794
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Blade Посмотреть сообщение
    Как сделано отключение TR-DOS?
    Порты TRDOS активируются по сигналу DOSEN (обычная логика TRDOS) или SYSEN (известен как CPM= (m_aFF77 & 0x200) == 0)

    m_aFF77 - адрес последнего обращения к системному порту #FF77, при записи в порт #FF77 устанавливается так:
    Код:
                if (DOSEN || SYSEN)
                {
                    m_pFF77 = value;
                    m_aFF77 = addr;
                    UpdateMapping();
                }
    Пзу TRDOS мапится так:
    Код:
                    int index = ((CMR0 & 0x10) >> 2);
                    int w0 = m_pXFF7[index + 0];
                    int w1 = m_pXFF7[index + 1];
                    int w2 = m_pXFF7[index + 2];
                    int w3 = m_pXFF7[index + 3];
                    int romPage0 = (w0 & 0x80) != 0 ? (w0 & romMask & 0xFE) | (DOSEN | SYSEN ? 1 : 0) : w0 & romMask;
                    int romPage1 = (w1 & 0x80) != 0 ? (w1 & romMask & 0xFE) | (DOSEN | SYSEN ? 1 : 0) : w1 & romMask;
                    int romPage2 = (w2 & 0x80) != 0 ? (w2 & romMask & 0xFE) | (DOSEN | SYSEN ? 1 : 0) : w2 & romMask;
                    int romPage3 = (w3 & 0x80) != 0 ? (w3 & romMask & 0xFE) | (DOSEN | SYSEN ? 1 : 0) : w3 & romMask;
    Здесь:
    CMR0 - значение порта #7FFD
    romMask - маска пзу, зависит от объема пзу (вычисляется как pageCount-1, где pageCount - число страниц пзу)
    m_pXFF7 - значения вывода в порт #xFF7, при записи в порт формируется так:
    Код:
    m_pXFF7[((CMR0 & 0x10) >> 2) | ((addr >> 14) & 3)] = value ^ 0x3F;
    Здесь addr - это адрес порта, value - значение которое выводится в порт.
    Последний раз редактировалось ZXMAK; 09.05.2013 в 22:59.
    ZXMAK2 - Виртуальная Машина ZX Spectrum http://zxmak2.codeplex.com
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  9. #818
    Master
    Регистрация
    27.03.2005
    Адрес
    CПб
    Сообщений
    711
    Благодарностей: 230
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    DOSEN не должен отключаться при выполнении кода в #808D, если там подключено ПЗУ. А он похоже отключается.

  10. #819
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,336
    Благодарностей: 794
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Blade Посмотреть сообщение
    DOSEN не должен отключаться при выполнении кода в #808D, если там подключено ПЗУ. А он похоже отключается.
    при записи в порт #FF77 значения #AB происходит сброс сигнала CPM (значение бита A9 в адресе #FF77), поэтому тут-же происходит отключение пзу TRDOS с последующим подключением пзу согласно текущиму значению m_pXFF7 и бита D4 в порте #7FFD.

    почему-же TRDOS должен оставаться замапленым?


    Updated:
    Нашел почему не загружался резидент Honney Commander при сбросе - у меня блокировался вывод в порт #7FFD из пзу TRDOS. В unreal такой блокировки нет. Убрал блокировку и Honney Commander стал загружаться при сбросе нормально.
    Последний раз редактировалось ZXMAK; 10.05.2013 в 07:12.
    ZXMAK2 - Виртуальная Машина ZX Spectrum http://zxmak2.codeplex.com
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  11. #820
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,336
    Благодарностей: 794
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обновил эмулятор до версии 2737:
    - добавлена настройка RTC по дефолту
    - исправлена выборка портов модулей памяти ATM (сброс в Honney Commander 4.0)




    Есть некоторые вопросы по поводу маппинга пзу трдос в АТМ, сделал небольшой тест. Запустите его на реальном АТМ2. Он должен сбросить машину, вопрос в том - как это произойдет? Точнее в какую ПЗУ сбросится машина - в 48к или в трдос?
    Тест в аттачменте - запускать просто RUN из трдоса
    Вложения Вложения
    ZXMAK2 - Виртуальная Машина ZX Spectrum http://zxmak2.codeplex.com
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  12. Эти 3 пользователя(ей) поблагодарили ZXMAK за это полезное сообщение:
    alone (10.05.2013), yashcher (10.05.2013), [bETA]mEN (10.05.2013)

Страница 82 из 181 ПерваяПервая ... 787980818283848586 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 7
    Последнее: 06.04.2012, 19:37
  2. Машина Тьюринга для Z80
    от ZXMAK в разделе Эмуляторы
    Ответов: 4
    Последнее: 15.08.2011, 01: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

Ваши права

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