User Tag List

Показано с 1 по 10 из 18

Тема: Использование мыши в восьмибитной Атари (Ассемблер).

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #7

    Регистрация
    26.02.2011
    Адрес
    Москва
    Сообщений
    258
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    25
    Поблагодарили
    18 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Даёшь PMG!

    А давайте-ка мы займёмся Player-Missile Graphics (PMG) ...
    Я, лично, до этого дорос, увы!.. Старый, - я.

    Итак, после включения исправной Атари, Вы имеете полностью готовую систему прорисовки PFG (Play Field Graphics)! Для неё в Атари включены логические S: и E: девайсы!!! Далее, всё сабо-самой мазуреется!

    Что же включено в систему для прорисовки PMG?
    Правильно, Ничего!

    Делаем главный вывод: - ЭТО НЕСИСТЕМНАЯ ФУНКЦИЯ графического сопроцессора!

    То есть программист PMG должен быть системщиком. А системщик знает массу бяков:
    - ограничения
    - условия
    - невозможности
    ...

    Итак, зная, что так или иначе, картинка рисуется при помощи:
    ANTIC (Alpha-Numeric Television Interface Cоntroller) ...
    -, а Вы думали, что ANTIC - это просто примочка? НЕТ!
    - Это полноценный ЧПУ (и само слово микроконтроллер именно отсюда), управляющий 2D графикой.
    Просто у него, исходя из задач, вывод в память заменён выводом в шину GTIA.

    ...И, системный DMA, поэтому, = только ЧИТАТЕЛЬ!!!

    А вот GTIA (Graphics Television Interface Adapter), это = переходник, просто - ЦАП!
    - Сильно усовершенствованный, кстати...
    Оцвечивает графику самостоятельно (по возможности) и может PMG отрисовать...
    Просто, у ANTIC оказалось ещё аж ДВА неиспользуемых канала DMA (для Игроков и Ракет) и это и есть изначальная суть PMG. (В смысле обработки она ведёт себя так же как PFG.)

    Не заморачиваясь на конкретности, можно сказать, что ANTIC готовит цифровой поток байтов для GTIA, а GTIA готовит потоковый аналоговый сигнал для TV.

    И теперь, что мы имеем с гуся?
    1. Регистры управлением Чипами
    2. Регистры, дающие нам инфо
    и фантазию...

    Нажмите на изображение для увеличения. 

Название:	Видеопамять Демки.jpg 
Просмотров:	153 
Размер:	25.1 Кб 
ID:	64711
    Нажмите на изображение для увеличения. 

Название:	Распределение памяти в Атари.jpg 
Просмотров:	164 
Размер:	23.6 Кб 
ID:	64712
    Нажмите на изображение для увеличения. 

Название:	Позиционирование PMG.jpg 
Просмотров:	159 
Размер:	22.3 Кб 
ID:	64713
    Нажмите на изображение для увеличения. 

Название:	Управление DMA.jpg 
Просмотров:	173 
Размер:	21.4 Кб 
ID:	64714
    Нажмите на изображение для увеличения. 

Название:	Память PMG.jpg 
Просмотров:	151 
Размер:	21.7 Кб 
ID:	64715

    Теперь мы - системщики!
    Наша машинка(PMG) работает сама, но данные получает с помошью DMA из памяти.
    Памяти игроков или памяти ракет.
    Мы, обязательно создадим её... Присущую нам PMG!

    Займёмся ОГРАНИЧЕНИЯМИ:
    1. ANTIC умеет читать данные из памяти только:
    - с границы 2k - для SLR(Single Line Resolution)
    - с границы 1k - для DLR(Double Line Resolution)
    2. GTIA имеет только 3-bit шину связи с ANTIC...
    ЭТО ЗНАЧИТ,
    - при приёме потока в виде ДАННЫХ, = просто 1 байт. (Ограничение по размеру Игрока 0-7 битов)
    - при приёме потока как АДРЕСА, 1 байт адресует 256 байтов пространства. (0-255 байтов в видеобуфере по X или Y)

    Для отрисовки PFG в регистре SDMCTL(System Direct Memory Control) управления DMA изначально включены:
    - Бит включения DL DMA
    - Биты размера PFG (Узкое, Нормальное, Широкое поле графики)

    Также есть:
    - Бит включения DMA для Игроков
    - Бит включения DMA для Ракет
    - Бит вертикального разрешения (Нормально=DLR) Двойная-Одинарная линия сканирования на экране TV.

    Заодно, стоит отметить, что также как и в GR.0, в PMG горизонтальное разрешение составляет 2 бита (как ширина вертикальных линий у букв).

    Ну, и теперь радостное...
    Атари совершенно НИЧЕГО не знает о PMG, так как это просто видеооверлей!!!
    Если Вы правильно выведете на экран PMG, Атари сможет убрать его только софт или колд ресетом.

    ПРОЕКТИРОВАНИЕ:
    1. Так как нам нужен МАЛЫЙ объект графики - стрелка курсора, мы выбираем самые высокие разрешения и по горизонтали и по вертикали.
    То есть - NPW(Normal Player Width) и SLR(Single Line Resolution)

    2. Для SLR мы должны выделить 2к памяти на границе кратной 2к. Неважно где, но если хотите работать с ДОСом, то лучше сверху, чтобы не повышать LOMEM.

    3. Где-то в памяти задать имидж игрока для автоматического его считывания при помощи DMA.
    Моя стрелка курсора такая: (системно будет удвоена по ширине и станет КРАСИВШЕ!)
    %Ж_______
    %_ЖЖ_____
    %_ЖЖЖЖ___
    %__ЖЖЖЖЖ_
    %__ЖЖЖЖ__
    %___ЖЖЖ__
    %___Ж__Ж_
    %_______Ж

    4. Инициализировать всё для DMA в SDMCTL

    5. Разрешить отрисовку данных из DMA в оверлей (DMA = только ЧИТАТЕЛЬ!) в GRACTL.
    2 = отрисовывает только Игроков, 3 = отрисовывает и Игроков и Ракеты.

    GRACTL, фактически и запустит то, что ребятишки называют системой PMG.
    Последний раз редактировалось ezswift; 22.03.2018 в 13:21. Причина: Унификация определений
    MAC и PC - это всего лишь периферия для Атари...
    130XE|XC12|CA2001|XF551|IDEPlus2.0|SIO2SD|SIO2IDE| RAM576XE+Covoх|SIO2PC|MAXFLASH8|MAXFLASH1|The Ultimate Cartridge|

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

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

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

Похожие темы

  1. Атари ассемблер
    от atariki в разделе Atari
    Ответов: 221
    Последнее: 01.05.2025, 16:56
  2. Эмуляция мыши на джойстика
    от Граф Куракин в разделе Поиск
    Ответов: 4
    Последнее: 19.10.2013, 14:07
  3. Чувствительность Kempston мыши
    от wally в разделе Устройства ввода
    Ответов: 7
    Последнее: 21.12.2006, 11:43
  4. кнопки мыши в BGE 3.05
    от SaaB в разделе Графика
    Ответов: 8
    Последнее: 04.03.2006, 16:53
  5. Подключение кемпстон мыши
    от Aprisobal в разделе Устройства ввода
    Ответов: 14
    Последнее: 10.02.2005, 15:04

Ваши права

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