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

User Tag List

Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 15 из 15

Тема: Текстовый режим 80x40

  1. #11

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

    По умолчанию

    Цитата Сообщение от breeze Посмотреть сообщение
    ээээ… WAT? o_O причём тут это? ты щёлкаешь банками по 16к в нужно место для заливки данных и всё, куда ты ещё подключишь уже твоё личное дело, у тебя в наличии 4 окна.
    Да, это я ошибся, проверил код - действительно там все символы в одной банке лежат. В разных банках лежат код символа и код аттрибута.
    Вот код расчета адреса внутри банки:
    Код:
                        var pageOffsetBw = (x & 1) == 0 ? 0x01C0 : 0x21C0;
                        var pageOffsetAt = ((x + 1) & 1) == 0 ? 0x01C0 : 0x21C0;
                        pageOffsetBw += x >> 1;
                        pageOffsetAt += (x + 1) >> 1;
                        pageOffsetBw += (y >> 3) * 64;
                        pageOffsetAt += (y >> 3) * 64;
    Страница и видео-режим вычисляются так:
    Код:
    int videoPage = (CMR0 & 0x08) == 0 ? 5 : 7;   // CMR0 is the port #7FFD
    var pageAt = Memory.RamPages[videoPage == 5 ? 1 : 3];
    var pageBw = Memory.RamPages[videoPage];
    
    var mode = (AtmVideoMode)(((AFE >> 6) & 1) | ((AFE >> 4) & 2));  // ATM 4.50
    var mode = (AtmVideoMode)(m_pFF77 & 7);   // ATM 7.10
                switch (mode) {
                    case AtmVideoMode.Ega320x200: Renderer = Atm320Renderer; break;
                    case AtmVideoMode.Hwm640x200: Renderer = Atm640Renderer; break;
                    case AtmVideoMode.Std256x192: Renderer = SpectrumRenderer; break;
                    case AtmVideoMode.Txt080x025: Renderer = AtmTxtRenderer; break;
    
                    case AtmVideoMode.EvoText080: Renderer = EvoTxtRenderer; break;
                    case AtmVideoMode.Evo256x192: Renderer = EvoHwmRenderer; break;
                    case AtmVideoMode.EvoAlco16c: Renderer = EvoA16Renderer; break;
    
                    default: Renderer = SpectrumRenderer; break;
                }
    
        enum AtmVideoMode {
            // ATM 1/2:
            Ega320x200 = 0,
            Hwm640x200 = 2,
            Std256x192 = 3,
            Txt080x025 = 6,
    
            // PENTEVO:
            EvoText080 = 7,
            Evo256x192 = 3 | (2 << 3),
            EvoAlco16c = 3 | (1 << 3),
        }
    m_pFF77 для ATM2 - это порт #FF77 при активном ПЗУ TRDOS или SYS=(AFB & 0x80) != 0 && (AFE & 0x80) != 0;

    AFE и AFB - это верхний байт адреса при последней записи в #FE или #FB соответственно.
    Последний раз редактировалось ZXMAK; 04.06.2025 в 16:48.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  2. #12

    Регистрация
    02.11.2007
    Адрес
    г. Краснодар
    Сообщений
    293
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если честно это какой фаршмак, раскидать через один да ещё и атрибуты наоборот, даже LDI/LDDR для переноса не применить.
    Файл ZXMAK2.exe в архиве отсутствует, я бы его давно уже запустил

  3. #13

    Регистрация
    22.04.2025
    Адрес
    г. Великий Новгород
    Сообщений
    4
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    на атме все так сделано, через одно место, ну теперь и на ево тоже соответственно

  4. #14

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

    По умолчанию

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

  5. #15

    Регистрация
    02.11.2007
    Адрес
    г. Краснодар
    Сообщений
    293
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В этот архиве да, норм, а у меня какой то архив - ZXMAK2-master

Страница 2 из 2 ПерваяПервая 12

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

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

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

Похожие темы

  1. Текстовый редактор для Вектора
    от electroscat в разделе Вектор
    Ответов: 5
    Последнее: 26.05.2020, 12:11
  2. Текстовый редактор под СР/М
    от rw6hrm в разделе Оси
    Ответов: 9
    Последнее: 12.10.2018, 13:41
  3. Текстовый видеорежим
    от Janik в разделе Корвет
    Ответов: 10
    Последнее: 03.03.2017, 19:13
  4. Текстовый экран или спрайты
    от captain cobalt в разделе Изображение
    Ответов: 4
    Последнее: 23.07.2006, 11:30

Ваши права

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