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

User Tag List

Страница 4 из 198 ПерваяПервая 12345678 ... ПоследняяПоследняя
Показано с 31 по 40 из 1975

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

  1. #31
    ZEK
    Гость

    По умолчанию

    Цитата Сообщение от mishutka Посмотреть сообщение
    что то я их не нахожу
    Так вроде исходники не публиковались, и судя по примеру первой версии исходники если и будут выложены то только после релиза, а так если что то посмотреть надо reflector вполне подходит, обфускатор не натравливают

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

  3. #32
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,404
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    13 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    обновил до 213 версии, значительных изменений нет - исправлено сохранение образов и добавлена поддержка командной строки

    Цитата Сообщение от ZEK Посмотреть сообщение
    Так вроде исходники не публиковались, и судя по примеру первой версии исходники если и будут выложены то только после релиза, а так если что то посмотреть надо reflector вполне подходит, обфускатор не натравливают
    все так и есть, код не обфусцирован, можно без проблем смотреть Исходники ZXMAK2 пока не выкладывались, большая часть кода (это почти весь движок, если не считать BusManager а также модификаций и фиксов необходимых для него) основана на ZXMAK.NET, исходники которого можно скачать по ссылке в моей подписи.

    ZEK, а что ты за девайс делаешь?
    Последний раз редактировалось ZXMAK; 21.09.2011 в 12:45.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  4. #33
    ZEK
    Гость

    По умолчанию

    Цитата Сообщение от Alexander Makeev Посмотреть сообщение
    ZEK, а что ты за девайс делаешь?
    1. Менеджер памяти для P1024 v1.4 и KAY 1024 SL4 (для отладки портируемого HeGluk, и хочю железку сделать для возможности нормального запуска cp/m на KAY), вообще нет эмуляторов которые правильно эмулируют менеджер памяти KAY
    2. Видеокарту Lethargeek, хочю добить на десятилетие идеи.
    3. SD читалка/писалка по КоЮ, в принципе она есть в рамках первого движка ZXMAK, хочю допилить что бы вместо карты можно было юзать каталог.
    4. Контролер клавиатуры Caro с флешем и управлением через чтение порта FE (опять же для порта HeGluk)
    5. Проверять разные идейки... типо сопроцессоров на базе AVR, эмуляторы ВГ93, DMA USC

    Вообще круто было (розовая мечта, не подкрепленная реальной необходимостью) бы если эмулятор мог на сокете реализовывать протокол gdb, тогда можно было с удобством песюка, компилить софт при помощи sdcc и отлаживать в среде Code:Blocks
    Последний раз редактировалось ZEK; 21.09.2011 в 13:55.

  5. #34
    Sinclair User Аватар для Eltaron
    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,045
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    143
    Спасибо Благодарностей получено 
    463
    Поблагодарили
    326 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZEK Посмотреть сообщение
    Вообще круто было бы если эмулятор мог на сокете реализовывать протокол gdb
    точно такая же мысль возникла
    Ну или просто сделать интерфейс для добавления своего дебагера в систему заместо штатного (в котором, кстати, под wine окно дизассемблера не рендерится почему-то). Для этого же достаточны только возможность установить из плагина брякпоинт + получить доступ к экземпляру Z80CPU и девайсу-менеджеру памяти
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI

  6. #35
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,404
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    13 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZEK Посмотреть сообщение
    1. Менеджер памяти для P1024 v1.4 и KAY 1024 SL4 (для отладки портируемого HeGluk, и хочю железку сделать для возможности нормального запуска cp/m на KAY), вообще нет эмуляторов которые правильно эмулируют менеджер памяти KAY
    KAY это не PROFI случайно? В эмуляторе есть девайсы ULA и Memory для PROFI+ 1024, не уверен в том что они правильно реализованы, доков не осталось. Вот как они сейчас работают:

    Порт CMR0 #7FFD - дешифрация по (ADDR & 0x8002)==0x0000
    Порт CMR1 #DFFD - дешифрация по (ADDR & 0xFFFF)==0xDFFD

    1) При сбросе включается shadow ROM, отключается как только чтение инструкции (M1) произойдет из области 0x4000-0xFFFF (такое поведение было реализовано в первом ZXMAK методом подбора, т.к. информация о ральном железе отсутствовала).

    2) CMR0 #7FFD аналгогичен пентагону 128

    3) CMR1 #DFFD:
    sega = CMR1 & 7
    norom = (CMR1 & 0x10) != 0;
    sco = (PortDFFD & 0x08) != 0;
    scr = (PortDFFD & 0x40) != 0;
    cpm = (PortDFFD & 0x20) != 0;
    ds80 = (PortDFFD & 0x80) != 0;

    Сегментация:
    Код:
            protected override void UpdateMapping()
            {
                m_lock = (Port7FFD & 0x20) != 0;
                int ramPage = Port7FFD & 7;
                int romPage = (Port7FFD & 0x10) >> 4;
    
                if (SEL_TRDOS)      // trdos or 48/128
                    romPage = 2;
                if (SEL_SHADOW)
                    romPage = 3;
    
                int sega = PortDFFD & 7;
                bool norom = (PortDFFD & 0x10) == 0x10;
                bool sco = (PortDFFD & 0x08) == 0x08;   // selectors RAM gates
                bool scr = (PortDFFD & 0x40) == 0x40;   // !??CMR0.D3=1??!
                bool cpm = (PortDFFD & 0x20) == 0x20;
                //bool s80DS = (PortDFFD & 0x80) == 0x80;
    
                if (m_betaDisk != null)
                {
                    m_betaDisk.SEL_PORTS = (!cpm && SEL_SHADOW) | ((Port7FFD & 0x10)==0);
                    // TODO: 128K? rom has different port mapping: 
                    // #83=CMD 
                    // #A3=TRK
                    // #C3=SEC
                    // #E3=DAT
                    // #3F=SYS
                }
                
                ramPage |= sega << 3;
    
                MapRead0000 = norom ? RamPages[0] : RomPages[romPage];
                MapRead4000 = sco ? RamPages[ramPage] : RamPages[5];
                MapRead8000 = scr ? RamPages[6] : RamPages[2];
                MapReadC000 = sco ? RamPages[7] : RamPages[ramPage];
                
                MapWrite0000 = norom ? RamPages[0] : m_trashPage;
                MapWrite4000 = MapRead4000;
                MapWrite8000 = MapRead8000;
                MapWriteC000 = MapReadC000;
            }
    девайс ULA PROFI+ использует бит ds80 для включения профи видеорежима и бит выбора экрана из #7FFD для выбора страниц видеопамяти:
    Код:
            protected override void UpdateMapping()
            {
                base.UpdateMapping();
                
                bool polek = (Port7FFD & CMR0_POLEK) != 0;
                m_profiMode = (PortDFFD & CMR1_DS80) != 0;
    
                _memoryCpmUlaBw = polek ? Memory.RamPages[0x06] : Memory.RamPages[0x04];
                _memoryCpmUlaClr = polek ? Memory.RamPages[0x3A] : Memory.RamPages[0x38];
                //_ulaMemory =        polek ? Memory.RamPages[7]    : Memory.RamPages[5];
            }
    Можешь это проверить?

    CP/M пока не грузится из-за какой-то ошибки эмуляции ВГ93 - не читается сектор каталога диска... (см. #8231 - загрузка сектора в память по адресу #9000, после CALL #81C1 сектор должен быть прочитан, но этого не происходит)



    Цитата Сообщение от ZEK Посмотреть сообщение
    Вообще круто было (розовая мечта, не подкрепленная реальной необходимостью) бы если эмулятор мог на сокете реализовывать протокол gdb, тогда можно было с удобством песюка, компилить софт при помощи sdcc и отлаживать в среде Code:Blocks
    хм, не слышал, а где подробности протокола посмотреть?

    ---------- Post added at 14:44 ---------- Previous post was at 14:32 ----------

    Цитата Сообщение от Eltaron Посмотреть сообщение
    точно такая же мысль возникла
    Ну или просто сделать интерфейс для добавления своего дебагера в систему заместо штатного (в котором, кстати, под wine окно дизассемблера не рендерится почему-то). Для этого же достаточны только возможность установить из плагина брякпоинт + получить доступ к экземпляру Z80CPU и девайсу-менеджеру памяти
    доступ к экземпляру Z80CPU у девайсов есть - когда приходит вызов BusInit процессор можно получить через IBusManager.GetMainCpu(), сохранить в локальной переменной и юзать до вызова BusDisconnect. Менеджер памяти через FindDevice находится. С бряками сложней, нужно мусор в основном цикле разгрести, т.к. писалось второпях
    А насколько сложный там протокол и чем его потестить можно?

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

  7. #36
    Banned Аватар для Black_Cat
    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,791
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alexander Makeev Посмотреть сообщение
    KAY это не PROFI случайно?
    нет

  8. #37
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,404
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    13 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  9. #38
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,554
    Спасибо Благодарностей отдано 
    1,216
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Жалко, что эмуль под .NET. Не охота ставить всякие довески.

  10. #39
    Banned Аватар для Black_Cat
    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,791
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alexander Makeev Посмотреть сообщение
    а где для KAY описание портов (маска дешифрации, назначение битов) и сегментации памяти посмотреть можно?
    дешифрацияю посмотри злесь: http://zx.clan.su/forum/11-46-1

    ---------- Post added at 17:26 ---------- Previous post was at 17:18 ----------

    назначение битов #7FFD: http://zx.clan.su/forum/7-57-462-16-1257908619
    назначение битов #1FFD: http://zx.clan.su/forum/7-57-463-16-1257908706

  11. #40
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,404
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    13 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Жалко, что эмуль под .NET. Не охота ставить всякие довески.
    дотнет ставить не нужно (кроме устаревших систем типа XP), он идет вместе с виндой, сейчас весь серьезный софт на дотнете пишется. Та же VMWare гуй на дотнете под винду пишет.

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

Страница 4 из 198 ПерваяПервая 12345678 ... ПоследняяПоследняя

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

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

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

Ваши права

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