Speccy
#07
31 декабря 1996 |
|
Идея - Каким быть видеоконтролеру для ZX-SPECTRUM'a.
╒══════════════════════════════╕ │░░░░░░░░░░░ ИДЕЯ ░░░░░░░░░░░│ ╘══════════════════════════════╛ Очень много публикаций в пос- леднее время посвящено переходу на другие типы компьютеров. Основная причина недовольства пользователей 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 * * *
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября