╒══════════════════════════════╕
│░░░░░░░░░░░ ИДЕЯ ░░░░░░░░░░░│
╘══════════════════════════════╛
Очень много публикаций в пос-
леднее время посвящено переходу
на другие типы компьютеров.
Основная причина недовольства
пользователей ZX-Spectrum - это
его низкие графические возмож-
ности.
Хотя небольшая память экрана и
имеет свои преимущества (можно
делать программы с хорошей дина-
микой не уступающей по скорости
вывода самым современным
компьютерам ), но все-таки хоте-
лось бы видеть и нормальное мно-
гоцветие экрана, а не надоевшие
всем квадраты.
Программисты правда и в этом
отношении делают чудеса. Многие
наверное уже смотрели на
Spectrum'e multicolor,multipixel
и различные изображения на бор-
дюре экрна. Но все эти эффекты
накладывают много ограничений на
программу, к тому же из-за раз-
личной продолжительности сигнала
INT на различных компьютерах все
это выглядит поразному.
Представляем вашему вниманию
статью Стрельникова Андрея из
города Миллерово Ростовской об-
ласти, в которой автор высказы-
вает очень интересные соображе-
ния по поводу разработки видео-
контроллера для Spectrum'a.
Для воплощения этого проекта в
жизнь требуются, конечо, усилия
электронщиков и,естественно,про-
граммистов. Хотелось бы услышать
их мнения и предложения по зат-
ронутой теме.
Очень хотелось бы услышать мне-
ния читателей о целесообразности
создания данного устройства.
(С) Стрельников А.С.
────────────────────
В последнее время все больше
говорят о необходимости рас-
ширения SPECTRUMа. Часто пред-
лагается разработать новую
модель SPECCY, включающую в себя
новые аппаратные примочки.
Однако,цена такой машины, воз-
можный обьем производства, а так
же число пользователей, имеющих
желание и возможность купить но-
вый компьютер не позволят новой
модели получить широкое распрос-
транение. Более перспективный
путь - усовершенствование сущес-
твующих моделей SPECTRUM-совмес-
тимых ПК. Создание блоков расши-
рения, которые подключаются к
компьютеру с минимальным вмеша-
тельством в схему.
Больше всего шумихи вокруг
контроллера жесткого диска и
звуковых плат. Но я хотел бы
обратить Ваше внимание на
графику. Ведь 90% информации мы
получаем через зрение.А графика
нашего SPECCY оставляет желать
лучшего. Многие из бытовых
машин,появившихся в нашей стране
в конце 80-х годов превосходят
SPECTRUM по качеству графики.
Конечно, есть у SPECCY и свои
плюсы, но то,что хорошо для 1982
года,для конца 90-х уже недоста-
точно. SPECTRUMу необходим новый
контроллер экрана.А для того,что
бы он устроил максимальное коли-
чество пользователей, необходимо
обсуждение проекта на страницах
какого-нибудь журнала (а лучше
нескольких).
Я выбрал "SPECCY", потому что
он, на мой взгляд, "ближе к
народу" , чем его столичные
собратья.
Попробую сформулировать, каким
же должен быть новый видеоконт-
роллер SPECTRUMа, на который я
не пожалел бы денег.
Вопервых совместимость. Он дол-
жен поддерживать обычный экран
SPECCY без перетыкания разъемов.
Несколько режимов разрешения,
вплоть до VGA.И не надо говори-
ть, что графика с более высокой
разрешающей способностью будет
медленной. От этого пострадают
лишь стрелялки и аркадные игры.
А адвентюрные, RPG, стратегичес-
кие,экономические, логические,
традиционные только выиграют,
если на экране будет помещаться
больше информации. Я уж не гово-
рю о сыстемных и прикладных
программах, где быстрая графика
практически не нужна.
Желательно,чтобы режимы экрана
могли переключаться программно,в
процессе работы. Тогда программа
может использовать несколько
разных экранов. Представте: в
НЛО-2 заставка - 320х200 256
цветов, карта мира - 512х256 8
цветов,бой с НЛО- 256х192 256
цветов, бой с инопланетянами-
384х256 16 цветов, энциклопедия
уфолога текст 640х200, иллюст-
рации - 320 х 200 256 цветов.
Насколько можно улучшить оформ-
ление программ! Графика с высо-
ким разрешением будет использо-
ваться для вывода текста и ил-
люстраций, а для динамичных
эпизодов можно включать более
низкое разрешение. Для динами-
ческой графики можно предусмот-
реть режим экрана, наподобие
используемого в игровых пристав-
ках, т.е. чисто символьный
(спрайтовый).
Прикинуть размер необходимой
экранной памяти поможет таблица.
ы╣
В таблице по вертикали - воз-
можные разрешения, по горизонта-
ли - способы кодировки цвета и
количество цветов.
1-монохромный, 1бит на пиксель,
2 цвета.
2-как в SPECTRUMе, байт атрибу-
тов на знакоместо, 16 цветов в
знакоместе.
3-байт атрибутов для полоски в
8 пикселей. Как в TIMEX или в
ОРИОН-128.
4-3 бита на пиксель, 8 цветов
для каждой точки. При разрешении
256х192 размер экрана-18К т.е. в
2.6 раза больше,чем стандартный.
А при тактовой частоте 7-10MHz
работа с графикой будет такой же
быстрой, как у стандартного эк-
рана.
5-16 цветов для каждой точки,4
бита на пиксель.
6-256 цветов для каждой точки,1
байт на пиксель.
7-используя 4 бита на пиксель
(метод 5) для каждого знакоместа
выделяем 1 байт для хранения
номера палитры и получаем
16*256=4096 цветов, т.е. в одном
знакоместе может использоваться
16 цветов, а на всем экране
могут быть все 4096!
8-то же для способа 6. Байт
палитры на знакоместо даст
256*256=65536 цветов!
Как видно из таблицы, можно
получить очень неплохие резуль-
таты, не выходя за пределы 64К
экранной памати.
ОЗУ контроллера должно иметь
64К ОЗУ (одна линейка РУ5),для
последующего расширения небходи-
мо предусмотреть место для вто-
рой линейки РУ5 и последующую их
замену на РУ7,хотя можно ограни-
читься и одной линейкой РУ5, а
впоследствии заменить их на РУ7.
(кстати,компьютер ENTERPRISE-128
с процессором Z80 и тактовой
частотой 4MHZ имеет 64К экранной
памяти)
В качестве процессора должен
использоваться Z80H с тактовой
частотой 7-10 MHz Для ПЗУ, думаю
хватит 27512 (64К).
ПЗУ лучше использовать как
ROM-диск, это позволит легко
менять размер памяти под экран и
управляющую программу.
При включении из ROM-диска заг-
ружается BIOS, которая поддержи-
вает стандартный SPECTRUM овский
экран (в этом режиме можно повы-
сить совместимость за счет более
точной эмуляции ULA: 312 строк в
кадре, урoвень черного, формиро-
вание правильного сигнала INT и
т.д.), а при поступлении команды
на включение одного из новых эк-
ранных режимов загружает и за-
пускает соответствующую ему
программу.
Необходимо так же предусмотреть
возможность загрузки программы
из основного ОЗУ.Это позволит
программистам создавать свои
новые экранные режимы.
Кроме функций управления, прог-
раммы должны содержать процеду-
ры, облегчающие работу с графи-
кой.В первую очередь это расчет
адресов в экранной памяти. Ваша
программа имеет дело с коорди-
натами пикселей, а расчет адре-
сов выполняется в контроллере.
Не помешают так же процедуры ра-
боты со спрайтами, построение
графических примитивов (линии,
прямоугольники, окружности), ра-
бота с векторной графикой. Так
как есть возможность загрузки
своих программ, то можно остави-
ть управляющую часть программы,
а вспомогательные процедуры на-
писать на свой лад.
Режимы, поддержанные в ПЗУ,
должны быть доступны из BASICa.
Какие режимы будут поддержаны в
ПЗУ, необходимо обсуждение, но я
предложу следующие:
256х192 кодировка цвета -
- 2,3,4,5 и 6 (см. таблицу)
320х200 2,4,5 и 6
384х256 2,4 и 5
512х256 2 и 4
512х384 2
640х200 2,4 и 5
Обычный телевизор хорошо показ-
ывает при разрешении 512х256.При
большем разрешении границы пик-
селей будут размыты, картинки от
этого только выиграют (не так
будет видна их точечная структу-
ра), текст так же будет хорошо
различим, особенно если матрица
символа будет больше чем 8х8.
Наиболее удобный способ подклю-
чения - аналогично муз.сопроцес-
сору.
Плата контроллера вставляется в
панель процессора, а процессор
устанавливается в контроллер.Но
это может не понравиться владе-
льцам машин с системной шиной,да
и остальным нужно думать, куда
воткнуть муз.процессор. Лучше,
что бы контроллер имел разьем,
аналогичный SCORPIONу, а для
тех, у кого системного разьема
нет, в комплекте с контроллером
должна идти плата подключения.
Она вставляется в панель про-
цессора.На этой плате находится
процессор,муз.сопроцессор, либо
разьем для его установки (жела-
тельно вывести на отдельный
разьем порты муз. сопроцессора),
буферные элементы и выходной
разьем. К этому разьему шлейфом
подключается контроллер, или
плата - расширитель. Эта плата
содержит несколько слотов, к
одному из которых и подключается
контроллер. Таким образом облег-
чается дальнейшее расширение
компьютера.
P.S. Когда я готовил статью к
отправке, узнал, что Баймаков
Ярослав сделал видеоконтроллер
на базе Z80 с разрешением
320х200 256 цветов. Это же почти
то, что нужно. Есть основа,
которую можно усовершенствовать.
Хотя я бы и от такого не
отказался.
Текст набран в АССЕМБЛЕРЕ
ZX-ASM v3.0
* * *