TSconf: Memory

Рассмотрим расположение памяти в системе.

ZX Evolution имеет 4Мб памяти.
Организация этой памяти подобна zx spectrum 128 — используется страничная организация.
В переложении на страницы памяти, мы имеем 256 страниц по 16 кб каждая.

Читать дальше →

TSconf: DMA

Учитывая такой большой размер памяти, необходимо средство быстрой передачи данных.
TSconf предлагает нам такое средство, позволяющее переносить данные в памяти без участия процессора.

Дао говорит: Скорость пересылки составляет 7 Мгц, копирование происходит по два байта (16 бит) при условии что в этот такт к памяти нет обращения от ЦПУ, видео или ТСУ.
В среднем: 4 байта — 2 такта, дма обращается к озу за 1 такт 7 мгц, 16 бит, для пересылки надо 2 обращения
Получаем: скорость DMA 7 МБ/с
DMA может копировать данные из следующих источников:

Читать дальше →

TSconf: Tiles

Да, Мультиматограф близок, нужно поднажать!
Итак, тайлы.


Для построения тайлов нам необходимо сделать следующее:
— подготовить графику (разместить её в странице для графики тайлов)
— построить карту тайлов (с размещением в странице карты)
— запрограммировать порты (указать, какие страницы используются для графики, для карты, и включить отображение нужных слоёв)

Читать дальше →

Дао конфы


Тайлово-спрайтовая конфигурация (TSconf). Вступление
По моему мнению, TSconf является очень современной надстройкой над любимым ZX Spectrum, которая вносит давно ожидаемые и необходимые элементы в виде цвет на точку, аппаратные спрайты и прочее. Об этом и пойдёт речь в этой статье.

Тайлово-спрайтовую конфигурацию (TSconf) можно разделить на следующие логические группы:
1. Графический акселератор
— Использование тайлов
— Вывод и управление спрайтами
2. Менеджер памяти
3. Блок прямого доступа к памяти (DMA)
4. Система прерываний
5. Кеш
6. Порты управления

Давайте постепенно рассмотрим все эти пункты по порядку.

Читать дальше →

TSconf: Sprites

А вот чё бы и не навалить поверх графики спрайтов-то, а?
Они-то у нас искаропки.

Дао говорит: Спрайт — это графический тайл размером от 8 до 64 точек, который может быть выведен в координаты 0-511 по X и Y, с возможностью отражения отображения по вертикали / горизонтали, и имеющий прозрачность.
Всего доступно 85 спрайтов для одного спрайтового слоя.


В общем, отработка спрайтов выглядит следующим образом:
  • Спрайт нужно разместить в памяти точно таким-же образом, как для тайлов (или на экране в режиме 16 цветов).
  • Палитра спрайта так-же должна быть загружена в общую палитру системы.
  • После этого — загружаем описание спрайта в систему и включаем отображение.
Спрайт становится виден.

Читать дальше →

Fire-эффект под TS-Conf

Решил поговнокодить поэкспериментировать с палитровым режимом 16c на TS-Conf, и заодно попробовать запилить эффект «огня» по классическому алгоритму, а не так, как это делал раньше на «Настоящем ATM спектруме».

Собственно говнокод быстрый набросок исходника:

Читать дальше →