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

User Tag List

Показано с 1 по 2 из 2

Тема: Странное поведение курсора на арабских и корейских MSX

  1. #1
    Veteran Аватар для Wierzbowsky
    Регистрация
    08.07.2015
    Адрес
    г. Бохум, Германия
    Сообщений
    1,747
    Спасибо Благодарностей отдано 
    170
    Спасибо Благодарностей получено 
    610
    Поблагодарили
    304 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Question Странное поведение курсора на арабских и корейских MSX

    В процессе улучшения бутблока для Карнивора я столкнулся со странным поведением курсора на арабских и корейских MSX. Если использовать функцию биоса CHGET (#009F), которая ожидает ввода, то курсор появляется и работает нормально. Но если не используя эту функцию самому включить курсор переменной по адресу #FCA9, то начинаются чудеса. На арабских машинках курсор становится белым и непрозрачным, а на корейских - чёрным и тоже непрозрачным. К тому же на арабских машинках перемещение курсора оставляет на прежнем месте его копию. Кто-нибудь знает что это за хрень и как её победить?
    Последний раз редактировалось Wierzbowsky; 14.04.2020 в 17:51.

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

  3. #2
    Veteran Аватар для Wierzbowsky
    Регистрация
    08.07.2015
    Адрес
    г. Бохум, Германия
    Сообщений
    1,747
    Спасибо Благодарностей отдано 
    170
    Спасибо Благодарностей получено 
    610
    Поблагодарили
    304 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Проблема была решена ручной эмуляцией курсора на корейских MSX. Чтобы был виден символ под курсором, в матрицу символа курсора копируется инвертированная матрица символа, над которым находится курсор. При перемещении курсора матрица обновляется, а в конце работы оригинальная матрица символа курсора восстанавливается.

    На арабских MSX включать курсор вообще нельзя - он повсюду начинает оставлять свои копии. Также арабский БИОС не обновляет в области переменных байт, в котором хранится символ, над которым находится курсор. В итоге было решено сделать символ под курсором мигающим, как на Apple II. На обработчик клавиатуры был "повешен" код, который периодически меняет символ под курсором на подчёркивание, а затем восстанавливает его.

  4. Эти 2 пользователя(ей) поблагодарили Wierzbowsky за это полезное сообщение:

    GreyWolf (26.05.2020), TomaTLAB (27.05.2020)

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

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

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

Похожие темы

  1. Ответов: 23
    Последнее: 06.01.2019, 11:59
  2. Сантака 002: странное поведение при ресете
    от Silensilen в разделе Несортированное железо
    Ответов: 10
    Последнее: 13.11.2018, 19:43
  3. Два мигающих курсора
    от DonkeyHot в разделе Дельта-С
    Ответов: 0
    Последнее: 18.05.2018, 15:50
  4. Странное поведение спектрума
    от JeRrS в разделе Несортированное железо
    Ответов: 44
    Последнее: 05.04.2016, 12:12
  5. Ответов: 3
    Последнее: 08.12.2014, 20:51

Ваши права

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