Важная информация

User Tag List

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 24

Тема: Видеорежимы и работа с ними

  1. #11
    Moderator Аватар для Максагор
    Регистрация
    16.01.2005
    Адрес
    Москва
    Сообщений
    1,981
    Спасибо Благодарностей отдано 
    206
    Спасибо Благодарностей получено 
    303
    Поблагодарили
    113 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от icebear
    Понятно. Т.е. работать с кусками видеопамяти через банки труда не составляет. Я почему спросил? Допустим, надо вывести символ или примитив, располагающийся в области экрана, которая приходится на две банки. Это придётся делать bounds check, щёлкать страницами и т.п.
    Естественно, надо заранее продумать архитектуру и расположение экранов и программы. Тогда все будет ОК. А прижелании можно и Пентиум надолго в замешательство ввести.


    Кстати, из книги я не понял, там (в АТМ) разделение идёт по бит-плейнам (согласно EGA стандарту) или всё-таки постранично (т.е. биты цветов лежат физически в одном куске памяти и располагются в нибле)?
    Нет, разделение не по битпланам.
    ZX-экран, текстовая консоль и режим 640х200 имеют, как и в обычном спектруме отдельное поле монохромного изображения и отдельное поле атрибутов. А т.н. EGA-режим 320х200 является EGA-совместимым в том смысле, что повторяет пропорции экрана и количество цветов на экране и в палитре. А все цвета (точнее цветообразующие биты) не разнесены нпо разным битпланам, а расположены в одном байте - по 4 бита на пиксель (RGBY), два пикселя в байте.

    Вот здесь я не совсем понял. 32К тяжелы для основного процессора? Или что имеется в виду под тяжестью экрана?
    Именно его размеры. 32Кб трудновато процессору ворочать туда-сюда...


    Зачем необходим прямой доступ к видеопамяти? А как насчёт дать возможность видеопроцессору читать любой участок основной памяти (при условии, что видеопамять как таковая не входит в карту основной памяти)?
    Ну, к примеру, надо узнать, какой цвет лежит по таким-то координатам (например, для определения столкновения героя со стеной, или еще что). На самом деле еще много чего в качестве примера придумать можно. А видеопроц пусть основную память читает,если ему так необходимо...

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

    Вот здесь возникло сразу много вопросов? Зачем несколько видеорежимов? Зачем True Colour? Про аппаратный мультиколор и консоль молчу, ибо не вижу им применения абсолютно. Текстовую консоль всегда можно рисовать и совсем не основной процессор этим должен заниматься
    Как минимум должны быть два видеорежима - родной для карточки - и спектрумовский. А насчет применения всяких промежуточных рехимов - это всегда можно найти. Не всегда удобно ворочать мегабайтами "высокой" графики (еще ведь еще с диска загрузить надо!), да еще со спектрумовскими скоростями.

    Вот здесь я тоже не вижу особого смысла. Чисто теоретически, при наличие нового видеопроцессора старый экран Спектрума использовать уже совсем не стоит.
    ТОгда это будет уже не спектрум, а другой комп. Причем без софта!

    Понятно, ещё раз спасибо. Важными пунктами для меня пока остаются глубина цвета (которую я бы посадил жёстко на 8 бит) и единственный видеорежим. Хотелось бы обсудить это.
    С единственным видеорежимом не согласен (тем более без ZX-экрана). А 8 бит глубины - нехай будут...
    Еще бы хотелось подробнее обсудить функции видеопроцессора...
    Максагор, NedoPC group
    ПК ATM-turbo 2+ 1024Kb RAM, 1,7Gb HDD, CD-ROM, Turbo FM, GS-512
    [ZX rulezzz 4reva!!!]
    http://atmturbo.nedopc.com
    http://vk.com/atmturbo
    http://maksagor.livejournal.com
    http://moskprf.ru
    [СССР][Коммунизм][КПРФ] ну [ZX], естественно...

  2. #12
    Activist Аватар для acidrain
    Регистрация
    01.03.2005
    Адрес
    Russia, Krasnodar
    Сообщений
    433
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от icebear
    если допустить наличие такого спецпроцессора, какие функции он должен выполнять (если можно, то в виде списка)?
    1) читай доку по спец процам амиги. там все функции для работы с 2д. Блиттер амижный умеет даже линии рисовать (не как спринтер прямые, но любые диагональные/прямые...)
    Последний раз редактировалось acidrain; 26.07.2005 в 11:26.
    http://amigasc.nm.ru

    Free coder and hardwareman
    Amiga addicted

  3. #13
    Master
    Регистрация
    16.01.2005
    Сообщений
    615
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    И чего вам дались эти APA-режимы... В сотнях компьютеров и приставок использовались видеопроцессоры, оперирующие исключительно спрайтами (для объектов) и тайлами (для фона). Основной процессор при этом доступа к видеобуферу не имеет (нет доступа к произвольным точкам экрана) - он только даёт указания, откуда из памяти брать данные спрайтов/тайлов, а также заполняет буфер фона (типа текстового режима) и даёт координаты объектов. Проверку столкновений, как правило, также выполнял видеопроцессор, т.к. у него есть все необходимые для этого данные.

    Для 3d-игр такая организация неудобна, конечно, зато для 2d даёт очень высокую скорость работы.

  4. #14
    Veteran Аватар для icebear
    Регистрация
    05.05.2005
    Адрес
    Германия
    Сообщений
    1,614
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shiru
    И чего вам дались эти APA-режимы... В сотнях компьютеров и приставок использовались видеопроцессоры, оперирующие исключительно спрайтами (для объектов) и тайлами (для фона). Основной процессор при этом доступа к видеобуферу не имеет (нет доступа к произвольным точкам экрана) - он только даёт указания
    Вот это мне кажется более разумное построение.

  5. #15
    Veteran Аватар для icebear
    Регистрация
    05.05.2005
    Адрес
    Германия
    Сообщений
    1,614
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Максагор
    Естественно, надо заранее продумать архитектуру и расположение экранов и программы. Тогда все будет ОК. А прижелании можно и Пентиум надолго в замешательство ввести.
    Ну возможности АТМ включать две банки последовательно мы не рассматриваем, ибо только он обладает такой возможностью. С другой стороны размуное деление экрана на части может дать и некоторое преимущество (вспомним, как использовали три части стандартного экрана)


    Цитата Сообщение от Максагор
    Нет, разделение не по битпланам.
    Понятно, я так и думал.


    Цитата Сообщение от Максагор
    Ну, к примеру, надо узнать, какой цвет лежит по таким-то координатам (например, для определения столкновения героя со стеной, или еще что). На самом деле еще много чего в качестве примера придумать можно. А видеопроц пусть основную память читает,если ему так необходимо...
    Опять же, решать столкновения и прочее - это задача видеопроцессора. Цвет пикселя можно прочитать через порт например.

    Цитата Сообщение от Максагор
    То есть, ты предлагаешь ни много, ни мало, а еще и DMA впридачу?
    Я пока ещё ничего не предлагаю Разумно было бы дать видеопроцессору возможность читать из основной памяти, например для загрузки растров. Нет, конечно можно было дать возможность писать растр сразу в видеопамять. В обоих случаях надо найти решения для обеспечения прозрачного доступа основного процессора и видеопроцессора к общему куску памяти. И что-то мне подсказывает, что мною предложеный легче реализовать.


    Цитата Сообщение от Максагор
    Как минимум должны быть два видеорежима - родной для карточки - и спектрумовский. А насчет применения всяких промежуточных рехимов - это всегда можно найти. Не всегда удобно ворочать мегабайтами "высокой" графики (еще ведь еще с диска загрузить надо!), да еще со спектрумовскими скоростями.
    Если это единственная причина, по которой нужны промежуточные разрешения, то их спокойно можно выкинуть. Ну не дело это основному процессору строить графику.


    Цитата Сообщение от Максагор
    ТОгда это будет уже не спектрум, а другой комп. Причем без софта!
    Почему? А все доп. расширения, в том же АТМ - это тоже не Спектрум? Нет, я не предлагаю отказаться от экрана Спектрума вообще, а предлагаю его просто не использовать, если есть "другой" экран.

    Цитата Сообщение от Максагор
    С единственным видеорежимом не согласен (тем более без ZX-экрана). А 8 бит глубины - нехай будут...
    Еще бы хотелось подробнее обсудить функции видеопроцессора...
    Ну с экраном Спектрума надеюсь разобрались. А вот по поводу функций - список хотелось бы. Только не стоит фантазии давать слишком свободный полёт

  6. #16
    Activist Аватар для acidrain
    Регистрация
    01.03.2005
    Адрес
    Russia, Krasnodar
    Сообщений
    433
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Robus
    А на Atari-ST, вообще можно скорость горизонтальной развёртки давать для каждой линии разную !!!
    Это, скорее всего на машинах (Атари-СТ), на которых стоял AGA. Т.е. амижные спец.процы.
    http://amigasc.nm.ru

    Free coder and hardwareman
    Amiga addicted

  7. #16
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #17
    Activist Аватар для acidrain
    Регистрация
    01.03.2005
    Адрес
    Russia, Krasnodar
    Сообщений
    433
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от icebear
    А зачем это? И не похоже ли это на возможности Спринтера иметь "окна" на экране в раличных разрешениях?
    Да, еще раз повторюсь - это пошло с Амиги, где можно выводить два или более экранов с разным разрешением у каждого. Там вообще хорошие спец.процы. Дело в том, что не стоит изобретать велосипед, сначала изучите опыт уже существующих наработок (пусть то будет игровая консоль или амига), а потом надо делать
    Да и существуют же чипы с 2д ускорителями, например вроде texas instruments делает такое чудо =)
    А скажите, зачем вообще нужно что-либо читать из портов видео процессора?
    http://amigasc.nm.ru

    Free coder and hardwareman
    Amiga addicted

  9. #18
    Activist Аватар для acidrain
    Регистрация
    01.03.2005
    Адрес
    Russia, Krasnodar
    Сообщений
    433
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от icebear
    Ну с экраном Спектрума надеюсь разобрались. А вот по поводу функций - список хотелось бы. Только не стоит фантазии давать слишком свободный полёт
    Ну, мой список вы уже видели =) Если надо более конкретно, то могу по пунктикам разложить =)

    * A custom graphics coprocessor, called the Copper, that allows changes
    to most of the special purpose registers in synchronization with the
    position of the video beam. This allows such special effects as
    mid-screen changes to the color palette, splitting the screen into
    multiple horizontal slices each having different video resolutions and
    color depths, beam-synchronized interrupt generation for the 680x0, and
    more. The coprocessor can trigger many times per screen, in the middle
    of lines, and at the beginning or during the blanking interval. The
    coprocessor itself can directly affect most of the registers in the
    other custom chips, freeing the 680x0 for general computing tasks.

    * 32 system color registers, each of which contains a 12-bit number as
    four bits of red, four bits of green, and four bits of blue intensity
    information. This allows a system color palette of 4,096 different
    choices of color for each register.

    * Eight reusable 16-bit wide sprites with up to 15 color choices per
    sprite pixel (when sprites are paired). A sprite is an easily movable
    graphics object whose display is entirely independent of the background
    (called a playfield); sprites can be displayed over or under this
    background. A sprite is 16 low resolution pixels wide and an arbitrary
    number of lines tall. After producing the last line of a sprite on the
    screen, a sprite DMA channel may be used to produce yet another sprite
    image elsewhere on screen (with at least one horizontal line between
    each reuse of a sprite processor). Thus, many small sprites can be
    produced by simply reusing the sprite processors appropriately.

    * Custom bit blitter used for high speed data movement, adaptable to
    bitplane animation. The blitter has been designed to efficiently
    retrieve data from up to three sources, combine the data in one of 256
    different possible ways, and optionally store the combined data in a
    destination area. The bit blitter, in a special mode, draws patterned
    lines into rectangularly organized memory regions at a speed of about 1
    million dots per second; and it can efficiently handle area fill.

    * Dynamically controllable inter-object priority, with collision
    detection. This means that the system can dynamically control the video
    priority between the sprite objects and the bitplane backgrounds
    (playfields). You can control which object or objects appear over or
    under the background at any time. Additionally, you can use system
    hardware to detect collisions between objects and have your program
    react to such collisions.

    Это описание из старой доброй книги Amiga® Hardware Reference Manual. В ней описан ECS, предшественник AGA. Но и этой инфы вполне достаточно, чтоб представить о чем идет речь. Если интересно - могу выложить в сети часть книги и программу для винды для просмотра amigaguide.
    Последний раз редактировалось acidrain; 26.07.2005 в 01:44.
    http://amigasc.nm.ru

    Free coder and hardwareman
    Amiga addicted

  10. #19
    Master
    Регистрация
    16.01.2005
    Сообщений
    615
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от acidrain
    А скажите, зачем вообще нужно что-либо читать из портов видео процессора?
    Во-первых, чтобы ловить обратный ход луча (на некоторых системах нет прерывания по этому событию). Во-вторых - детект столкновений. С прерываниями, конечно, удобнее...

  11. #20
    Activist Аватар для megabyte
    Регистрация
    09.04.2005
    Адрес
    Красногорск, Московская область
    Сообщений
    281
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от acidrain
    Это, скорее всего на машинах (Атари-СТ), на которых стоял AGA. Т.е. амижные спец.процы.
    Гм. Начнем с того, что в амиге спецпроцессор называется "блиттер", а не "близзард", как ты указал выше.
    И в Атари никогда не ставились амижные сопроцессоры. Это из области научной фантастики.

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Работа с трекерными модулями на ZX
    от Bulba в разделе Программирование
    Ответов: 53
    Последнее: 03.12.2017, 16:02
  2. Работа с STS5.7
    от DemiChron в разделе Программирование
    Ответов: 3
    Последнее: 24.07.2005, 21:14
  3. Ответов: 7
    Последнее: 26.05.2005, 00:27
  4. работа с образами HDD в Unreal Speccy
    от elf в разделе Эмуляторы
    Ответов: 15
    Последнее: 30.03.2005, 18:22

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •