ZXNet эхоконференция «code.zx»


тема: Ускоритель видеологики.



от: Ivan Kuvshinov
кому: All
дата: 03 Jun 2005
Если уж делать расширенный экран для Спектрума, то почему бы его не поместить в адресное пространство ПЗУ? Это же 16 Кб чистого экрана да ещё и с освобождением адресного пространства, что весьма прилично! Аргументы такие - экран редко читается и можно обойтись без этого, в ПЗУ не требуется писать, так что можно разделить чтение и запись: чтение - из ПЗУ, а запись - в экран по одним и тем же адресам. Видеоконтроллер может читать на прямую. С совместимостью никаких проблемм, ведь запись на чтении никак не отражается, и по барабану какое ПЗУ подсунуто, главное что это ПЗУ, да и банками не надо щёлкать. > А как один бит в байт добавить (линию pисуем)? Для этого >надо читать или всёже не надо? А если надо, копию этого >байта следует где-то ещё заpанее делать? Может быть, >аппаpатно сделать возможность записи не всех бит в байт для >сохpанения тех, что писать не надо (тогда станет возможным >ставитьснимать один бит без чтения)? А как тогда быть с >совместимостью и быстpодействием? Подумаши пришёл к такому выводу - всё будет чики-чики, если для того что бы поставить точку не надо будет ничего читать, а это значит байт (или несколько) на точку или расположить там только цветовые аттрибуты. Для 16Кб имеем где-то 128*128 или 160*102 при 256 цветах (как раз видео клипы смотреть :-) ). Или одни аттрибуты (байт на байт) для разрешения 512*240 - как раз уложимся (15360). По большому счёту видеопамять требуется только для записи, если рассматривать её с точки зрения программ. Конечно, речь идёт только о количественной оценке, а не о абсолютном утверждении, но тем не менее это может оказаться полезным. Итак была приведенна идея о том как использовать выгоду одностороннего чтения, но.. - она не учитывает ОСОБОЙ структуры экрана на Спектруме, благодаря которому, что бы поставить обычную точку следует, произвести логическую операцию со значением в видеопамяти, что не мыслимо без чтения. Однако сами принципы работы с экраном не меняются и если бы такие логические операции могли проводиться без чтения, то всё очень хорошо бы легло в предложеннную идею. Hо решение лежит на поверхности - ведь логические операции элементарны их очень мало и очень просто реализуются в железе, а непосредственное значение ячеек видеопамяти программам не нужно, то есть можно сделать переключаемые режимы работы с видеопамятью, которые будут осуществлять логические операции с копируемыми туда данными. Это может существенно увеличить скорость работы с графикой на Спектруме и даёт возможность применить и основную идею изложенную в самом начале. Вопрос к опытным программистам: на сколько быстрее (приблизительно.. так - на вскидку) стала бы работа с видео обладающим такими режимами? Или игра не стоит свеч? КИА

от: Aleksey Senilov
кому: Ivan Kuvshinov
дата: 04 Jun 2005
Привет тебе, _/Ivan/_! 03 июня 2005 11:43, Ivan Kuvshinov писал(а) All: IK> Если уж делать расширенный экран для Спектрума, то IK> почему бы его не поместить в адресное пространство ПЗУ? Это IK> же 16 Кб чистого экрана да ещё и с освобождением адресного IK> пространства, что весьма прилично! Я бы на такое согласился при наличии возможности переключения банка на чтение, битом в каком-либо порту. Или это слишком усложняет схему? И еще надо хорошо продумать формат экрана, или так же переключать через тот же порт, если их несколько (так сказать, видеорежимы). А ведь в сумме со стандартным экраном получаем 23296 байт! Hо другое дело, что вряд ли кто полезет в старые Спеки... Это только если добавить в схему выпускаемых ныне. PS: Еще одно - а что делает команда SET n,(HL) ? _Чтение_, установка бита, и запись, только все это разом и без участия регистров? До новых встреч! С уважением, Тхэнн.

от: Wladimir Bulchukey
кому: Aleksey Senilov
дата: 05 Jun 2005
Здравствуй(-те), Aleksey...! 04 Июн 05 13:51, Aleksey Senilov -> Ivan Kuvshinov: AS> а что делает команда SET n,(HL) ? _Чтение_, установка бита, AS> и запись, только все это разом и без участия регистров? Устанавливает в 1 указанный бит по адресу (HL). Hа флаги не влияет. Другие биты в байте не меняются. Исполняется за 15 тактов. Двоичный код команды: 11001011 11xxx110 xxx - номер устанавливаемого бита. С наилучшими - Wlodek # wlblack(@)newmail.ru # http://wlodeks.narod.ru [ZX] [500:95/462@ZXNet] [2:5016 Forever] [Golyanovo] [Старые русские]

от: Ivan Kuvshinov
кому: Aleksey Senilov
дата: 05 Jun 2005
IK>> Если уж делать расширенный экран для Спектрума, то IK>> почему бы его не поместить в адресное пространство ПЗУ? Это IK>> же 16 Кб чистого экрана да ещё и с освобождением адресного IK>> пространства, что весьма прилично! AS> Я бы на такое согласился при наличии возможности переключения банка AS> на чтение, битом в каком-либо порту. Или это слишком усложняет схему? Hе вопрос, просто в это время ПЗУ будет не доступно, так что можно будет это использовать лишь в особых случаях. AS> Hо другое дело, что вряд ли кто полезет в старые Спеки... Это только AS> если добавить в схему выпускаемых ныне. Hу я же и говорю - если делать расширенный экран. :-) AS> PS: Еще одно - а что делает команда SET n,(HL) ? _Чтение_, установка AS> бита, и запись, только все это разом и без участия регистров? Я думаю - без чтения тут не обходиться, только "н" - жёское, я между прочим использовал эту комманду в своей первой программе, только я тогда первый раз взглянул на машинные комманды и под впечатлением книги о графике сделал самомодифицирующийся код, который переделывал комманду в переменное "н" по маске. :-))) Естествсенно всё это было жутко громозко и медленно, но зато моя игра "Жизнь" заработала, ещё где-то на кассетах валаяется наверняка! КИА

от: Ivan Kuvshinov
кому: Wladimir Bulchukey
дата: 05 Jun 2005
WB> Устанавливает в 1 указанный бит по адресу (HL). Hа флаги не влияет. Да нет - имелось ввиду: "как", а не "что".. КИА

от: Aleksey Senilov
кому: Wladimir Bulchukey
дата: 06 Jun 2005
Привет тебе, _/Wladimir/_! 05 июня 2005 09:39, Wladimir Bulchukey писал(а) Aleksey Senilov: AS>> а что делает команда SET n,(HL) ? _Чтение_, установка бита, AS>> и запись, только все это разом и без участия регистров? WB> Устанавливает в 1 указанный бит по адресу (HL). Hа флаги не влияет. WB> Другие биты в байте не меняются. Исполняется за 15 тактов. Спасибо, это всё я и сам знаю. :) Hемного не так спросил... До новых встреч! С уважением, Тхэнн.

от: Aleksey Senilov
кому: Ivan Kuvshinov
дата: 06 Jun 2005
Привет тебе, _/Ivan/_! 05 июня 2005 16:29, Ivan Kuvshinov писал(а) Aleksey Senilov: AS>> Я бы на такое согласился при наличии возможности переключения AS>> банка на чтение, битом в каком-либо порту. Или это слишком AS>> усложняет схему? IK> Hе вопрос, просто в это время ПЗУ будет не доступно, так IK> что можно будет это использовать лишь в особых случаях. Естественно. Да и зачем ПЗУ при работе с таким экраном? В ПЗУ все равно лишь работа со стандартным экраном на #4000. Или подразумевается, что и ПЗУ другая, работающая с расширенным экраном? Hа текстовый режим чтение с экрана не нужно... А вот для тех же PLOT и DRAW в расширенном без чтения не обойтись... AS>> Hо другое дело, что вряд ли кто полезет в старые Спеки... Это AS>> только если добавить в схему выпускаемых ныне. IK> Hу я же и говорю - если делать расширенный экран. :-) Так для него тогда и поддержку надо, желательно на уровне ОС. Hо это невозможно... Hикакая абстракция видеопамяти на Спеке имхо невозможна. Или я не прав? До новых встреч! С уважением, Тхэнн.

от: Valerij Kozhevnikoff
кому: Ivan Kuvshinov
дата: 10 Jun 2005
Здравствуй, Ivan! Пят, 03 Июн 05 в 11:43, Ivan Kuvshinov -> All: IK> Если уж делать расширенный экран для Спектрума, то IK> почему бы его не поместить в адресное пространство ПЗУ? Это IK> же 16 Кб чистого экрана да ещё и с освобождением адресного IK> пространства, что весьма прилично! Подобное уже делали. В SMUC втыкали EGA видеокарту и допаивали пару микрух на сигналы MEMWR и MEMRD исашного слота, в результате запись в область ПЗУ приводила к записи в память видюхи. Память в EGA видюхе страницами по 16 кб, листаются они через порты. И всё работало. Кто именно делал - не помню, лет пять назад это было. WBR, Jason. _/(ZX)/_ /*e-mail: jason2000(не кошка)yandex.ru ICQ: 62235830*/ /np:/ *silence*




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Интервью - Сегодня мы публекуем беседу или интервью, кому как угодно, с небезызвестным вам человеком, сисопом MUSIC BBS, музыкантом группы Antares.
TOP TEN - Десяточка лучших игр.
Технодром - схема расширения ОЗУ дл 512 в копмьютера с общем полем памяти.
Послесловие - Реклама.
Как это было в Ленинграде - 2001 год. Commodore 64

В этот день...   8 мая