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

User Tag List

Результаты опроса: Нужно ли улучшать графические возможности компьютера для облегчения написания игр ?

Голосовавшие
109. Вы ещё не участвовали в этом опросе
  • Да

    58 53.21%
  • Нет

    51 46.79%
Страница 4 из 72 ПерваяПервая 12345678 ... ПоследняяПоследняя
Показано с 31 по 40 из 714

Тема: Идеальный Спектрум

  1. #31
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от omercury Посмотреть сообщение
    Бессмысленно изобретать новый ретрокомпьютер.
    И новых программистов им не привлечёшь.
    Причина проста: Спектрум - ностальгия нашего поколения.
    А другие поколения впадут в своё детство, не в наше.
    Я сначала хотел действительно новый. Но вернулся к истокам и собираюсь немного улучшить все, основываясь на прошедших годах на основе кэша с устаревших IBM 486. Если бы разработчики Спекрума знали, сколько проблем они создадут программистам упрощенной графикой, то сделали бы это сами. Да они и не планировали, что Спектрум проживет долго и не было тогда кэш памяти. Но так как их уже нет, а мы есть, то это сделаем мы. И будем программировать на компьютере с исправленными глюками. Пишут же для NEXT-а. Может и молодежь с ардуино перейдет на Z80. Игры писать с выводом на телевизор/монитор интереснее, чем выводить буковки на LCD или мигать светодиодами. Тут их ждет слава, почет, уважение и т.п. Тем более нас много и есть у кого спросить, как что делается. Нет, так тряхнем стариной и сами будем писать. Что нельзя было успеть вывести на экран в старом компьютере, теперь можно успеть в новом.
    Последний раз редактировалось zx-kit; 04.03.2018 в 12:46.
    "L-256"

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

  3. #32
    Banned
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    Предлагаю реализовать давно витающую в воздухе идею о двух слоях спековской графики + слое маски, предложенную многими
    Это самая реальная из идей по новоделу ZX без клешинга, что обсуждаются тут в последние месяцы. Потому, что это реализуется просто и практически без вторжений в базовую схему клона ZX. Да и гораздо полезнее для игр, чем вводить 8 битов на цвет одной точки.

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

    Второй параллельный экран вводится с той же самой организацией графики и цвета как и оригинальный. Но в этом втором экране имеется ещё один слой, работающий только на запись. Это слой маски. Биты в маске определяют из какой плоскости выводить соответствующую экранную точку. Если бит в 0, то на экран выводится точка из плоскости заднего плана. А если 1, то из плоскости переднего плана. Благодаря этому исчезает клешинг, т.к в одном квадратике 8*8 можно иметь уже не 2 цвета, а 4.

    Причём экран маски даже не требуется включать в адресное пространство. Используется идея А.Волкова по автозаписи в другую плоскость из специального регистра маски при выполнении записи в экранное ОЗУ графики.

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

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

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

    Кроме того, можно использовать маску не как средство раскраски спрайтов без клешинга, а как средство выбрать биты, в которых нужны два других цвета. Тогда спрайт выводится на обе плоскости, что позволяет на цветном фоне без графики двигать 3-х цветный спрайт.

    Интересно, что коммутация режимов не нужна, - чтобы получить полный оригинал ZX по экрану, достаточно обнулить регистр цвета, что и делается по сбросу.

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

    Цитата Сообщение от zst Посмотреть сообщение
    Два экрана. На одном строим изображение, другой в это время отображается
    Это легко сделать, но не особо нужно. Таких игр для Spectrum-48К нет. Для борьбы с мерцанием программисты успевают выводить на экран во время гашения. Если поднять скорость Z80, то успеют тем более.

    Цитата Сообщение от zst Посмотреть сообщение
    Линейная адресация экранных байтов как в Орионе и Специалисте
    Вряд-ли это необходимо, а при переделке ZX-игр, чтобы избавить их от клешинга, даже вредно.

    Цитата Сообщение от zst Посмотреть сообщение
    Атрибуты на каждые 8 точек как в Орионе
    Не требуется, т.к при нужде можно поиметь 4 цвета точек на знакоместо, а при переделке ZX-игр, чтобы избавить их от клешинга, даже вредно. Речь же именно об игровом компьютере, а возможностей цвета ZX хватало. Мешал только клешинг.

    Цитата Сообщение от zst Посмотреть сообщение
    Слой фона в ходилках и леталках будет аппаратно сдвигаться
    Зачем усложнять? Проблему быстрого сдвига экрана решает удвоение клока Z80, что намного разумнее, чем вводить кучу сумматоров и усложнять себе программирование. Даже без всяких наворотов получится много деталей, зачем же ещё усложнять ради одной игры леталки-стрелялки, которая скорее всего и не появится.

    Цитата Сообщение от zst Посмотреть сообщение
    Возможно это будет уже не Спектрум, а другой, лучший компьютер
    Главное, чтобы он остался простым и 100% совместимым.
    Последний раз редактировалось barsik; 04.03.2018 в 13:09.

  4. #33
    Guru Аватар для Shiny
    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,135
    Записей в дневнике
    38
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    36
    Поблагодарили
    23 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Dr.Potapov Посмотреть сообщение
    Шынни, а чем ez80 поможет при довольно скромных 800х600/24bpp к примеру? Я к тому, что если кто то собрался мастерить спектрум своей мечты - то хоть архитектуру изначально расширяемую предусмотреть было бы хорошо отдав вывод графики отдельному устройству, предназначенному только для этого, а не напрягать проц (хоть какой) и память (хоть какую) этим делом.
    товарищь, приобрети пейси с заявленными примочками и не парь мозги своими речами.

  5. #34
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Зачем усложнять? Проблему быстрого сдвига экрана решает удвоение клока Z80, что намного разумнее, чем вводить кучу сумматоров и усложнять себе программирование. Даже без всяких наворотов получится много деталей, зачем же ещё усложнять ради одной игры леталки-стрелялки, которая скорее всего и не появится.
    В данном случае речь не только о клешинге. Аппаратный сдвиг фона необходим. Мы же игры будем делать цветные. Как же сдвинуть фон влево на 1-2 точки, если цвета зависят от атрибутов. Да и не хватит скорости у Z80 даже черно-белую картиннку сдвинуть. Если мы не сделаем скроллинг одна стрелялка-леталка так и не появится. Нет у Z80 на это возможностей.

    Второй экран тоже нужен. В играх вместо второго экрана использовали буфер в основной памяти, затем копировали на экран. Но скорости Z80 не хватает для копирования всего экрана. Поэтому надо убрать операцию копирования - просто меняем экраны между собой. Это делается мгновенно. Один байт атрибута на 8 точек тоже надо. Цветов всего 15. Хоть как-то увеличим разнообразие тайлов и спрайтов. Все, что описано желательно сделать.

    Аппаратный скроллинг сделать не сложно. Для этого надо три регистра для записи смещения по-горизонатали и вертикали. В начале окна из них будем загружать начальные значения в счетчики - и все !
    Последний раз редактировалось zx-kit; 04.03.2018 в 15:01.
    "L-256"

  6. #35
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,550
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    270
    Спасибо Благодарностей получено 
    224
    Поблагодарили
    178 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    Cool

    Цитата Сообщение от zst Посмотреть сообщение
    Предлагаю реализовать давно витающую в воздухе идею о двух слоях спековской графики + слое маски, предложенную многими, например, тут.


    Цитата Сообщение от Шынни Посмотреть сообщение
    это морально устарело.
    Прихожу без разрешения, сею смерть и разрушение...

  7. #36
    Master
    Регистрация
    04.12.2008
    Адрес
    г. Черкассы, Украина
    Сообщений
    957
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    8 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    Я знаю, как сделать.
    Знать как, не значит сделать )
    Предлагаю всё выше описанное реализовать на DivGMX, заодно станет понятно, нужно это кому или нет, а уже потом греть паяльник.

  8. #37
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от vlad Посмотреть сообщение
    Знать как, не значит сделать )
    Предлагаю всё выше описанное реализовать на DivGMX, заодно станет понятно, нужно это кому или нет, а уже потом греть паяльник.
    Это надо сделать везде - на всех девбордах: SPECCY2010, всех версиях REVERSE и т.п. DIVGMX, ULAX, эмуляторах. Начни с REVERSE. Попробуй сделать аппаратный скроллинг фона. Сможешь ?

    - - - Добавлено - - -

    Счетчики развертки и счетчики отображения слоев надо сделать отдельно. Счетчики развертки формируют KSI, SSI и тп. Также в начале отображения окна Спектрума с помощью них надо сформировать импульсы загрузки смещения в счетчики слоев. По-горизонтали счетчик надо 9 бит. По-вертикали 8 бит. Три регистра смещения. Найди свободные порты. Желательно однобайтовые.
    "L-256"

  9. #38
    Banned
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    Аппаратный сдвиг фона необходим... Как же сдвинуть фон влево на 1-2 точки, если цвета зависят от атрибутов.
    Не понял как Вам поможет аппаратный ролик при панорамировании по горизонтали. Экран же байтовый, значит и аппаратный сдвиг будет с шагом в 8 точек. Это по вертикали доп.аппаратура поможет сделать плавный и быстрый сдвиг всего экрана. Так сделано в БК-010 и Векторе. И вообще, какой смысл напрягаться из-за одной потенциально возможной игры. Даже всего 3 регистра тратить на это глупо. Сделайте лучше первую версию по минимуму.

    Уверен, что ничего больше того, что я предложил не нужно. Т.е это минимальный и одновременно оптимальный вариант. Оптимальным он будет, если это останется клон 48К, не надо Spectrum-128. Но т.к есть и вторая банка ОЗУ с окном в 8К, то глупо не сделать её прокачку в этом окне 4000...5FFF (расход в 1 регистр), а также ввести отключение ПЗУ 0...3FFF, что даст те же 128 кб, но "под другим соусом", чем в Spectrum-128. Главное преимущество - сплошное доступное ОЗУ в 64 кб. Сделайте такой компьютер на маленькой дешёвой плате, без всяких FPGA и Вам можно будет ставить памятник при жизни.

    Кстати в "Радуге" (на КР580), разработанной sherlock-ом, одновременно с чтением байта графики, автоматически читается и по перезаписи автоматически переписывается на новое место и байт атрибутов. Но для экрана ZX и это не особо надо, т.к там всего один байт цвета на 8 байтов графики.

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

    Цитата Сообщение от zst Посмотреть сообщение
    Да и не хватит скорости у Z80 даже черно-белую картинку сдвинуть... Нет у Z80 на это возможностей.
    Ведь полно леталок-стрелялок со сдвигом всего экрана и даже по горизонтали.
    Последний раз редактировалось barsik; 04.03.2018 в 16:51.

  10. #39
    Master
    Регистрация
    04.12.2008
    Адрес
    г. Черкассы, Украина
    Сообщений
    957
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    8 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    аппаратный скроллинг фона
    Такой? http://realddp.narod.ru/zx/p1024sl2/...roll/index.htm

  11. #40
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,550
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    270
    Спасибо Благодарностей получено 
    224
    Поблагодарили
    178 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    zst, ты хоть сначала определись, кому больше хочешь облегчить жизнь - кодерам или железячникам
    а то опрос об одном, в теме о другом, а методы по облегчению жизни тем или другим нередко несовместимы
    Прихожу без разрешения, сею смерть и разрушение...

Страница 4 из 72 ПерваяПервая 12345678 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 4
    Последнее: 15.05.2017, 15:32
  2. Ответов: 18
    Последнее: 12.03.2016, 14:15
  3. Ответов: 69
    Последнее: 13.06.2012, 10:33
  4. GO! на спектрум!
    от bigral в разделе Программирование
    Ответов: 1
    Последнее: 11.01.2012, 09:44
  5. Спектрум и Я
    от Black_Cat в разделе Разный софт
    Ответов: 0
    Последнее: 05.08.2007, 21:00

Ваши права

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