Soviet Union ZX Spectrum CommunityВоскресенье, 24.11.2024, 20:50
Вы вошли как Гость | Группа "Гости" | RSS
 [ · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 3 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Разработка схемы видео-адаптера для ZX-Spectrum
color2jukДата: Вторник, 18.12.2012, 10:27 | Сообщение # 41
10h
Группа: Пользователи
Сообщений: 22
Статус: Offline
Quote (Hazar)
Ну а чем Spectrum хуже если постараться будет даже лучше чем Амига
Я не пытался коснуться вопроса хужести или лучшести той или иной платформы wink
 
HazarДата: Пятница, 21.12.2012, 18:48 | Сообщение # 42
80h
Группа: Пользователи
Сообщений: 231
Статус: Offline
Описание принципиальной схемы видео_контроллера (пока что без менеджера памяти)

Работает схема следующим образом : на быстродействующие синхронные счетчики (U1 U2 U3)
подается тактовая частота 64 мГц , счетчики работают только когда есть разрешение счета на (вход 7)
счетчика U1 подается сигнал разрешения счета (СГИ и КГИ)

Далее выходные сигналы со счетчиков приходят на мультиплексоры (1531КП11)
которые нужны для организации одновременной работы (двух обращений к памяти)
мультиплексоры переключаются в строго определенные интервалы времени

Так как рабочий цикл zx spectrum (обновление экрана) работает относительно
медленно по сравнению со скоростью счета предлагаемый вариант схемы
с запасом успевает (расширить) адресное пространство экрана (256*192)
в четыре раза. И одновременно сохраняет оригинальную картинку с растяжением
байта до 4 байт .
“Растяжение” байта происходит автоматически за счет применения 4 микросхем
Памяти (K6T1008C2E- 55nC) .Данные оригинальной картинки приходят
На регистр (WR_PIXEL_ZX) который сохраняет данные с помощью устройства
Детектора экрана (схема детектора выкладывалась в этой теме) . Далее оригинальный
Байт делится на 4 части и записывается одновременно в 4 микросхемы памяти.
При этом мультиплексоры подключает “адресные регистры” детектора экрана к SRAM
происходит выборка адреса и сохранение данных в памяти. Процесс записи и чтения
в память разделен во времени и устройства как бы не успевают заметить друг друга.

Видео-вывод информации из памяти осуществляется с помощью регистров
(74F374) и четырех мультиплексоров (74F251) для уменьшения количества
регистров можно применить 16 разрядный аналог 74AC16373
Управляющие сигналы для этих микросхем вырабатывает менеджер памяти
Далее 4 выходных сигнала уже в последовательном коде поступают
На быстродействующие транзисторы 2N2222 или аналоги с помощью которых
можно смешать или с коммутировать видео-сигналы а также сформировать выходную
амплитуду для вывода на монитор.

Наличие 4 выходных мультиплексоров в схеме позволяет легко реализовать различные видео режимы
и эффекты например растворение объектов, прозрачность а также многостраничный вывод и отображение
нескольких спрайтов



Стоит также подумать о замене выходных мультиплексоров и регистров на управляемые сдвиговые регистры,
тогда схема заметно упростится но нужно что-бы микросхемы были соответствующего быстродействия.
Прикрепления: 1920565.gif (92.7 Kb)


Spectrum жив в нашей душе навсегда

Сообщение отредактировал Hazar - Воскресенье, 23.12.2012, 17:45
 
HazarДата: Суббота, 22.12.2012, 19:19 | Сообщение # 43
80h
Группа: Пользователи
Сообщений: 231
Статус: Offline
Предварительная схема менеджера V-RAM



Схема состоит из 4 основных микросхем это: счетчик U1 (из схемы видео-контроллера)
дешифратор U4. U4.1 . И ( D триггера ) .

Схема формирует четыре основных сигнала
WR_RD - сигнал формируется счетчиком (частота 8 мГц) Это основной сигнал который определяет
рабочий цикл записи чтения памяти. Используется для переключения мультиплексоров видео-контроллера (U5.U6.U7)
и одновременно подается на управляющий вход SRAM. -WE

Front_WR - сигнал который определяет время (фронт) записи новой информации (не нужен для записи оригинального экрана)
используется в расширенных видео-режимах при использовании портов

Front_out_V - это сигнал который определяет время вывода видео информации из памяти подается на регистры
видео-контроллера вход м-мы - CLK

WR_REG_Z - этот сигнал нужен для подключения выходов регистра (WR_PIXEL_ZX) к шине данных памяти видео-контроллера
при низком уровне сигнала, в память V-RAM записывается информация c оригинального экрана ZX-Spectrum
Прикрепления: 4037198.gif (40.7 Kb)


Spectrum жив в нашей душе навсегда

Сообщение отредактировал Hazar - Воскресенье, 23.12.2012, 18:15
 
HazarДата: Суббота, 22.12.2012, 19:36 | Сообщение # 44
80h
Группа: Пользователи
Сообщений: 231
Статус: Offline
Осциллограммы с эмулятора поясняющие принцип работы устройства

Прикрепления: 1949846.gif (62.6 Kb)


Spectrum жив в нашей душе навсегда
 
color2jukДата: Воскресенье, 23.12.2012, 21:57 | Сообщение # 45
10h
Группа: Пользователи
Сообщений: 22
Статус: Offline
http://zx.clan.su/_fr/1/1920565.gif

1. Входы 1 и 11 микросхемы 74F374(WR_PIXEL_ZX) куда будут подсоединяться?

2. Куда подключается входами микросхема 74F374(WR_INTERPOL), что за устройство интерполяции на которое садятся её выходы?


Сообщение отредактировал color2juk - Воскресенье, 23.12.2012, 22:06
 
HazarДата: Понедельник, 24.12.2012, 19:29 | Сообщение # 46
80h
Группа: Пользователи
Сообщений: 231
Статус: Offline
Цитата (color2juk)
2. Куда подключается входами микросхема 74F374(WR_INTERPOL), что за устройство интерполяции на которое садятся её выходы


пока можно не подключать видео-вывод будет работать без него, еще не решил даже на чем делать эту часть скорее всего
придется делать на ПЛИС так как требуется очень высокое быстродействие.

Цитата (color2juk)
Входы 1 и 11 микросхемы 74F374(WR_PIXEL_ZX) куда будут подсоединяться?


WR_REG_Z - сигнал подключить к 1 выводу регистра (WR_PIXEL_ZX) /// формируется в схеме менеджера памяти

Подправил схему детектора


Нашел ошибку на последней схеме видео-контроллера у мультиплексора U5. 13 вывод должен быть подключен к (LN4) и все остальные
выводы должны быть подключены по порядку
Прикрепления: 7686670.gif (386.5 Kb)


Spectrum жив в нашей душе навсегда

Сообщение отредактировал Hazar - Понедельник, 24.12.2012, 19:48
 
HazarДата: Понедельник, 24.12.2012, 19:47 | Сообщение # 47
80h
Группа: Пользователи
Сообщений: 231
Статус: Offline
Добавлено (24.12.2012, 19:29)

------------------------------------------------------------------------------------------------------------------------------------------

Берем на вооружение старые идеи по цвету или не стоит?

28.06.2000 (GAME BOY)

Привет всем поклонникам железа! Решил написать и вовлечь в дискуссию вас.
А дискуссия пойдет об увеличении цветов для наших машин. Скажете: о чем еще можно
говорить и писать? Уже много об этом писалось и приводилось схем - можно написать
не одну книгу. Ну, что ж, давайте проанализируем и вспомним.
1. ПРОГРАММНЫЕ разработки. Первая ласточка в этом направлении - "multi сolоr".
ПРЕИМУЩЕСТВО: Не изменяя архитектуры машины позволяет рисовать 8 цветов на
знакоместо (8х2 пикселей, 2 цвета)

НЕДОСТАТОК: Плохая совместимость с другими платформами (что на одной красиво,
то на другой - бред сивой кобылы), дажена аналогичных машинах, большие затраты
процессора, невозможно рисовать динамические картинки (спрайты), за исключением
линеечек и полосочек.

1.01. 2 ЭКРАНА. Не помню названия этого направления. Помнится первая программа
была MACv1.1 (только для 128K). Принцип: переключая два экрана с частотой 50 Гц,
создает дополнительные цвета. Пример: от светло-красного до вишневого. Я как-то
попробовал - не дурно, не надо было выворачивать на изнанку мозги, чтобы совместить
цвета, как на мультиколоре.
НЕДОСТАТОК: Мало цветов, все какие-то полутона основных цветов - с этим можно
смириться. МЕРЦАНИЕ экрана - не очень смотрится, особено на черно-белом мониторе.

1.02. 3 ЭКРАНА. Это, кажется пик программного мастерства. Где-то около 256
цветов и оттенков, можно вставлять фотографии, и, где-то видел что-то вроде
мультика, даже игрушка есть "КРОЛИК" (Автор, отзовись, будем переписываться.)
И студия 3хCOLOR появилась. НЕДОСТАТОК: Один, и очень существенный. Угадайте?
Правильно, МЕРЦАНИЕ, хотя и есть много выходов: приглушать яркость и контрастность
монитора (телевизора), выключать свет, задергивать шторы... Извините, но это извращения.

ТЕПЕРЬ РАССМОТРИМ АППАРАТНЫЕ РАЗРАБОТКИ.
2. Аппаратный multi color. В нашем регионе не прижился, может где-то и прижился, но,
скорей, из-за ПО сильно не распространился. Если я не прав - напишите.

2.01. FLASH. Ну, это мне напоминает снежный ком: поголовно все делали, охалиахали и
обратно всё восстановили.
НЕДОСТАТОК: Закрашивание по знакоместу.

2.02. FLASH.1. Не очень серьезная переделка, тоже слабо прижилась. Здесь, скорей,
свою роль сыграл факт отсутствия ПО, хотя, где-то что-то делалось, принцип работы:
на монохромном экране (черном) можно рисовать в режиме flash только двумя цветами
(на знакоместо), но с богатой палитрой.
НЕДОСТАТОК: врать не буду, не работал.

2.03. INTERLES Дай бог, вспомнить, принцип такой: Разбивает экран на строки:
1 строка - 1 экран, 2 строка - 2 экран, 3 строка - 1 экран, 4 строка - 2 экран и
т.д. НЕДОСТАТОК: Все время разбит экран.
Кажется, я все перечислил. Может и забыл что, но основные назвал.

Я не железячник и не кодер, а художник и мое мнение и, наверное, остальных из нашей братии (художников):
-=HELP COLОR=- Как говорится, не будем изобретать велосипед, а обратимся к уже реальным разработкам и вспомним
DENDI. Ну вот, опять, скажете вы, были уже разработки на эту тему и не одни. А кто сказал что-то насчет адаптеров?
Я имел в виду архитектуру DENDI. Начнем с видеопамяти... Да - да! с видеопамяти. На данный момент
можно купить кэш (8, 16, 32К) за копейки, в любом регионе. С этим предложением я обратился к одной группе
и попросил их продумать разработку на основе кэш и видеопроцессора HA6538, нет, не правильно.
Взять основу из процессора формирования видео и это поставить в SPECTRUM. Ребята справились,
но меня гложет предчувствие, уж больно этот наворот смахивает на 3хCOLOR, что они и подтвердили.
Принцип: экран ОДНОВРЕМЕНО рисуется тремя цветами (RGB), не занимает ВРЕМЯ ПРОЦЕССОРА.

Я передаю слово разработчику.

- Юра, объясни принцип своей разработки.
- Видеокарта представляет собой три аналогичные блока памяти, каждый для своего
цвета (RGB), состоящие из кэша, регистров (буферов) и сдвигового регистра, и портовой
доработки, в которой осуществляется переключение экранных областей, включение и
выключение режима и многое другое. Вывод изображения на экран осуществляется
ОДНОВРЕМЕНЫМ чтением из кэшей трех атрибутов. Запись в каждый кэш (область цвета)
производится последовательно в зависимости от состояния порта, т.е. каждый байт
трехцветного изображения записывается отдельно. Если имеется кэш на 16 или 32 кб,
то можно сделать 2 или 4 экрана.

Прикрепления: 7145109.gif (61.2 Kb)


Spectrum жив в нашей душе навсегда

Сообщение отредактировал Hazar - Понедельник, 24.12.2012, 19:48
 
HazarДата: Суббота, 29.12.2012, 20:48 | Сообщение # 48
80h
Группа: Пользователи
Сообщений: 231
Статус: Offline
нашел прекрасный вариант для цветного видео-вывода изображения

ADV7125KSTZ50

ADV ® 7125 представляет собой строенный высоко-скоростной, цифро-аналоговый преобразователь .
330 MSPS (3,3 В только) пропускную способность
3 канала по 8-бит на одном монолитном кристалле.
видео ЦАП с комплементарными выходами, стандартным вводом TTL 3. Совместимость с широким спектром высоким цветовым разрешением
интерфейс и высокое сопротивление, аналоговый выход источника тока. графические системы, в том числе RS-343A и RS-170
ADV7125 имеет три отдельных 8-битный входных портов. 5 V/3.3 напряжения питания.
Сигналы, композитный SYNC и BLANK, . а также Режим экономии питания.
ADV7125 изготовлен в 5 V CMOS. CMOS конструкция обеспечивает большую функциональность с
снижению рассеиваемой мощности.ADV7125 доступна в 48-выводном LQFP корпусе.

Прикрепления: 6856078.gif (121.4 Kb)


Spectrum жив в нашей душе навсегда

Сообщение отредактировал Hazar - Суббота, 29.12.2012, 20:49
 
HazarДата: Вторник, 01.01.2013, 19:26 | Сообщение # 49
80h
Группа: Пользователи
Сообщений: 231
Статус: Offline
Выкладываю предварительную схему видео-смесителя

При разработке схемы я столкнулся с несколькими проблемами которые пришлось
обходить окольными путями.

В основном мне не нравилась работа мультиплексоров при использовании
управляющих сигналов (которые должны были переводить выходы мультиплексора
в состояние Z) . При частой коммутации мультиплексоров в смешанном
сигнале наблюдались разрывы а то и просто пропуски в сигналах, что видимо
связанно с долгим выходом мультиплексора из состояния Z в рабочий режим.
Поэтому проблему стал обходить другими путями и в конце концов
обошелся логикой и транзисторами.

Прикрепления: 7821341.gif (48.7 Kb)


Spectrum жив в нашей душе навсегда

Сообщение отредактировал Hazar - Среда, 02.01.2013, 05:03
 
HazarДата: Вторник, 15.01.2013, 11:16 | Сообщение # 50
80h
Группа: Пользователи
Сообщений: 231
Статус: Offline
Схема включения ADV7125 может кому пригодится

Прикрепления: 7674838.png (163.2 Kb)


Spectrum жив в нашей душе навсегда

Сообщение отредактировал Hazar - Вторник, 15.01.2013, 11:16
 
HazarДата: Суббота, 02.02.2013, 10:11 | Сообщение # 51
80h
Группа: Пользователи
Сообщений: 231
Статус: Offline
Текущая правка видео- контроллера 1,1

$IMAGE1$

Добавлено (02.02.2013, 10:11)
---------------------------------------------
DIGIASIC FPGA ADV7125/ADV7123 VGA boardProduct 3/11

larger image$42.00
[font=arial]Condition: new[/font]Developed by: DIGIASICItems include:
    • 1 x ADV7125 or ADV7123 VGA Board


Features:1. 5 v for power supply2. output single: [size=7]R0-R7,G0-G7,B0-B7,VGA_HSYNC_N, VGA_YSYNC_N, 
[size=11]VGA_CLOCK,VGA_SYNC_N,VGA_BLANK_N
[/size]
 3. Chip is ADV7123JSTZ330 or ADV7125JSTZ330 4.
Support MAX 1600 x 1200 resolution. refresh rate 100HZ5.Can be used in DIGIASIC FPGA board.[/size]


Spectrum жив в нашей душе навсегда

Сообщение отредактировал Hazar - Суббота, 02.02.2013, 10:13
 
HazarДата: Четверг, 19.09.2013, 04:28 | Сообщение # 52
80h
Группа: Пользователи
Сообщений: 231
Статус: Offline
DIGIASIC  ADV7125 / ADV7123 VGA

Принципиальная электрическая схема платы (для цветного видео-вывода)
устройство содержит три быстродействующих цифро-аналоговых преобразователя
(8 bit)  с пропускной способностью 330 mHz и малой задержкой

Прикрепления: 9010655.gif (80.1 Kb)


Spectrum жив в нашей душе навсегда

Сообщение отредактировал Hazar - Четверг, 19.09.2013, 14:40
 
HazarДата: Четверг, 19.09.2013, 17:05 | Сообщение # 53
80h
Группа: Пользователи
Сообщений: 231
Статус: Offline
Некоторые идеи по расширению цвета в стандартном ZX Spectrum

(Или откуда взять все если вначале было 3 бита)

Изначально разработчики выделили для всех цветов только 3 бита, далее
видимо для экономии памяти цветовое представление экрана было разбито
на бумагу и чернила (PAPER  и INK) Чернила и бумага-фон могли иметь только 8 цветов

Притом цвет бумаги или чернил выводился не для каждого пиксела, а для знакоместа 8*8 точек
отсюда из-за такого представления во многих играх происходит некрасивое наложение
окрашенного знакоместа на движущийся выводимый спрайт этот эффект в последствии
назвали "клэшингом" .

Что здесь можно улучшить?

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

Таким образом цвета назначенные для бумаги можно использовать для расширения цвета  чернил
в итоге для каждого цвета получаем 4 градации интенсивности и это практически без каких-либо
серьезных програмнно-аппаратных доработок  (итого в сумме получается 64 цвета без учета bright)

Правда после таких переделок исчезнет возможность устанавливать цвет бумаги (команда PAPER бейсика не
будет изменять цвет)
Здесь все-таки приходится чем то жертвовать но,все-же установка цвета для фона возможна если делать
несколько отображаемых слоев в видео-адаптере .
Существует также альтернативный вариант это сделать дополнительное портовое устройство (по типу  BORDER-а)
тогда цвет фона будет применяться без атрибутов экрана и накладываться сразу на весь экран
цвета наложения  можно будет выбрать из большей палитры так как порт естественно 8 битный .

Для многопроцессорного варианта компьютера цветовое представление экрана Выглядит намного
лучше так как для цвета задействованы все четыре области Атрибутов,  а это немного не мало для каждого
цвета получается  2*4  , 8бит на каждый цвет при этом Палитра выводимых цветов приближается к естественной .
Естественно что-бы все цвета отображались требуется использование дополнительных атрибутов всех 4 экранов

Добавлено (19.09.2013, 17:05)
---------------------------------------------
Теперь осталось определится с размером знакоместа в режиме нового разрешения 1024*768

рассматриваю варианты сделать несколько режимов работы:

1 стандартное знакоместо 8*8 бит в новом разрешении становится 32*32 точки
2 новый режим знакоместо 8*8 при режиме 1024*768
3 новый режим каждая точка своим цветом (возможности адаптера позволяют реализовать этот режим)

для всех новых режимов требуется программная поддержка.

Опять-таки для управления новыми режимами потребуется новый "цветовой" порт

Прикрепления: 8238382.jpg (109.2 Kb)


Spectrum жив в нашей душе навсегда

Сообщение отредактировал Hazar - Четверг, 19.09.2013, 14:55
 
HazarДата: Среда, 22.04.2015, 03:04 | Сообщение # 54
80h
Группа: Пользователи
Сообщений: 231
Статус: Offline
Этот “неуловимый бордер” или вывод бордер эффектов на мониторных развертках.

ZX Spectrum раньше было принято подключать к телевизору поэтому в начале немного теории о применяемых разверток В системе ТВ вещания.
Количество отображаемых строк 312,5 (пол кадра) 50 Гц / и 625 строк (полный кадр) 25 Гц
Использовалась преимущественно чересстрочный метод вывода изображения при частоте
Строчной развертки 15625 Гц.

Использовать в спектруме 312,5 строк неудобно да и дробный делитель сделать весьма проблемно, (возможно поэтому в некоторых клонах сделали 320 строк что конечно не лучший выход), гораздо лучше выглядит такой вариант 312,5*2 = 625 строк (то есть каждую бордерную линию выводим 2 раза) .
Для получения 625 строк потребуется использовать удвоенную строчную частоту 15625*2= 31250 Гц
31250 / 625 = 50 Hz (625 - bin 10 0111 0001) для получения частоты 50 Hz потребуется 10 разрядный двоичный счетчик

Получить данную частоту проблем никаких нет. Но это не решает проблемы с переходом на мониторный режим XGA где используется 768 строк . Дело в том что бордерные эффекты стараются делать с временными привязками к режиму (обычно это 312 или 320 строк) для привязки используют сигнал INT с частотой 50 Hz .
А при режиме 1024*768 60 Hz все временные параметры естественно другие, однако и эта проблема решается относительно просто достаточно сделать пересчет строчной частоты используя отношение 768 / 625= 1,2288
31250 Гц * 1,2288 = 38400 Hz - получаем новую частоту для бордера
38400 Hz / 768 = 50 Hz (768 - bin 11 0000 0000 10 разрядный “бордерный счетчик”)

XGA режим не рассчитан для вставки бордерных эффектов, но вполне можно попробовать подобрать строчную частоту для вывода уменьшенного аналога бордера. Например так
46500 / 768 = ~60,5 Hz
Прикрепления: 8562971.gif (45.6 Kb)


Spectrum жив в нашей душе навсегда

Сообщение отредактировал Hazar - Четверг, 23.04.2015, 15:08
 
HazarДата: Среда, 22.04.2015, 03:06 | Сообщение # 55
80h
Группа: Пользователи
Сообщений: 231
Статус: Offline
В итоге получили одинаковое количество строк для вывода бордерных линий и XGA строк

Но для реальной работы требуется еще обеспечить временное согласование видео вывода бордерных
линий и горизонтальных строк XGA развертки.
Что можно реализовать с помощью цифровых компараторов в момент равенства двоичного кода
Снимаемого со счетчиков развертки и “бордерных счетчиков” формируется сигнал разрешения
для отображения border линии.
Прикрепления: 8900767.gif (25.2 Kb)


Spectrum жив в нашей душе навсегда
 
HazarДата: Понедельник, 27.07.2015, 03:20 | Сообщение # 56
80h
Группа: Пользователи
Сообщений: 231
Статус: Offline
Подбор частоты тактового генератора для режима близкого к XGA - 1024x768
Длительность строки по стандарту XGA = 15,8 mKs
Промышленностью выпускаются следующие близкие по частотам кварцевые резонаторы
16*4 (64 mHz) - длит. пиксела = 15,625 nS // длит. строки = 16 mKs ( без бордера )
13 mHz *5 (65 mHz)- длит. пиксела = 15,384 nS // длит. строки = 15.754 mKs (~XGA )
32,768*2 (65.536 mHz)- длит. пиксела = 15,258 nS // длит. строки = 15.625 mKs (~XGA )
16,667*4 (66.668 mHz )- длит. пиксела = 14,999 nS // длит. строки = 15.359 mKs (~XGA )
33.8688*2 (67.7376 mHz) длит.пиксела = 14,763 nS // длит. строки = 15.117 mKs (-Border-)
14,318*5 (71.59 mHz)- длит. пиксела = 13,968 nS // длит. строки= 14,303 mKs (+ Border+)
18 mHz*4 (72 mHz)- длит. пиксела = 13,888 nS // длит. строки= 14,222 mKs (+ Border+)
24 mHz*3 (72 mHz) -------------
24.576 *3 (73.73 mHz)- длит. пиксела = 13,56 nS // длит. строки= 13,888 mKs (++ Border++)


Spectrum жив в нашей душе навсегда

Сообщение отредактировал Hazar - Понедельник, 27.07.2015, 03:23
 
HazarДата: Понедельник, 27.07.2015, 03:22 | Сообщение # 57
80h
Группа: Пользователи
Сообщений: 231
Статус: Offline
Обновление схемы детектора экрана
Прикрепления: 6085170.gif (30.3 Kb)


Spectrum жив в нашей душе навсегда
 
HazarДата: Среда, 29.07.2015, 03:55 | Сообщение # 58
80h
Группа: Пользователи
Сообщений: 231
Статус: Offline
Как ранее уже упоминалось в теме для сохранения хотя бы только оригинальной картинки в разрешении 1024x768.
Требуется преобразование пикселов как по горизонтали так и по вертикали (по схеме 1-->4) , но сам метод преобразований
так и не был опубликован.

Данное преобразование на мой взгляд проще всего сделать с помощью специального теневого графического порта (портов) , устанавливая
или снимая биты записываемые в порт можно оперативно управлять формой и размером пиксела .
Биты порта ( 1…4) используются для преобразований линий , а биты( 5…8) Для преобразования колонок (столбиков) высотой в 4 бита.

Использование теневого порта с предварительным формированием индивидуального сигнала ввода вывода (IORQ) (по 16 битной маске адресов)
позволяет избежать возможных конфликтов с другим оборудованием. И снимает всякие ограничения на количество портовых расширений для графики .
Принципиальная схема порта публикуется для наглядного примера (не для доработок существующих систем).
Прикрепления: 4991337.gif (28.9 Kb)


Spectrum жив в нашей душе навсегда
 
HazarДата: Среда, 29.07.2015, 03:58 | Сообщение # 59
80h
Группа: Пользователи
Сообщений: 231
Статус: Offline


Преобразования одиночного бита для фрагмента строки

Прикрепления: 1341986.gif (38.2 Kb) · 9019158.gif (35.2 Kb)


Spectrum жив в нашей душе навсегда

Сообщение отредактировал Hazar - Пятница, 31.07.2015, 03:16
 
HazarДата: Пятница, 31.07.2015, 03:18 | Сообщение # 60
80h
Группа: Пользователи
Сообщений: 231
Статус: Offline
Адресное пространство видео-адаптера для режима 1024х768
В обычном ZX Spectrum формируется 32 адреса для вывода колонок что соответствует
разрешению по горизонтали (32х8) = 256 точек. При этом можно использовать микросхемы памяти с 8 битной организацией .
Если же произвести одновременную запись-чтение сразу в 4 микросхемы то разрешение по горизонтали увеличивается до (32x32)=1024 точек.
При этом не требуется никаких преобразований адресного пространства и достаточно использовать 5 разрядный двоичный счетчик для этих целей.

Ближе к практике для освобождения места на печатной плате имеет смысл использовать 2 микросхемы с 16 битной организацией (K6R4016V1D-TI10)
Эта память с общим объемом 1024 kB что достаточно для адресации не только основного экрана но и дополнительных видео-страниц .

С вертикальным разрешением дело обстоит несколько сложнее. ZX Spectrum адресует
Только 192 строки. Для этих целей видео-контроллером задействовано 8 разрядов .
А для получения 768 строк требуется дополнительно добавить 2 разряда к существующим 8 (768 - 11 0000 0000 bin) .
Отдавать задачу дополнительной адресации видео-памяти на Spectrum будет конечно не разумно, Хотя бы из-за сравнительно невысокого
быстродействия и объема памяти .
А для видео-адаптера это задача не сложная, учитывая быстродействие современных микросхем PLIS и SRAM.

Прикрепления: 5049574.gif (45.4 Kb)


Spectrum жив в нашей душе навсегда
 
  • Страница 3 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск:

Copyright MyCorp © 2006Сайт управляется системой uCoz