Здравствуйте, atariki!
Как всегда, у Вас весьма существенные вопросы.
Чтение мыши заключается в некой предподготовке...
мы должны прочесть только мышь, а не месиво битов.
Мы должны прочесть и учесть только данные по одной координате, затем по другой.
Затем, только, как-то это всё обработать.
Я уже тыщу раз настаивал на том, что машкоды НЕ УМЕЮТ НИЧЕГО, кроме как гонять байты туда и сюда!
Посмотрите на картинку из предыдущего поста Atari-8 PORTA register.
Если мы хотим считать только горизонтальные данные из CJ2, мы должны:
1. Считать PORTA
2. Очистить CJ1
3. Очистить Ver для CJ2
Так мы получим Hor данные.
Взяв старые Hor данные, мы моделируем (из старых и новых [оба Грейкоды]) уникальное (Sic! - так как Грей) смещение по таблице движений.
Здесь совсем нет расчётов. Только перемещения битов. Всё в Аккумуляторе. Для хранения используется стек и ячейки на нулевой странице.
Всё - не только О-о-очень быстро, но и вполне выполнимо. Это - ответ на Ваш вопрос.
Теперь о существенности вопроса.
Проблемы ЕСТЬ!
1. Прежде всего из-за отсутствия прерываний по мыши. То есть код должен постоянно исполняться, а не так как в PC только по прерыванию мыши. Это - расточительно!
(У меня есть идейка, спросить ГУРов о возможности использования прерываний по клавиатуре, так как в 130XE есть 4 неиспользуемых клавиши: F1,F2,F3,F4, которые используются в 1200XL ...)
2. Затем проблема ГДЕ?!!
Где? В каких прерываниях исполняется код?
Если в Таймере, то это может мешать звуку в играх. (Там всё еле-еле. Едва хватает, просто для качественного звука.)
Если в DLI, то это может зверски мешать DOSу, который имеет CRITIC действия.
Я это к тому, что ВСЁ зависит от Вашей программы.
Тем не менее, алгоритм, который выдаёт только покоординатные смещения вполне и просто реализуем и работоспособен как в DLI, так и в TIMER прерываниях.
Я писал в TIMER, так как мне нужен был одновременно работающий DOS.
Ладно.
Подскажите, с чего начать.
Демка содержит четыре раздела.
1. Чтение Мыши
2. Таймер
3. PM курсор
4. Реакция на кнопку.
Абсолютно не знаю с чего начать.!
zen





Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 
