User Tag List

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

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

    58 52.73%
  • Нет

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

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

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    03.02.2005
    Адрес
    Челябинск
    Сообщений
    326
    Спасибо Благодарностей отдано 
    292
    Спасибо Благодарностей получено 
    53
    Поблагодарили
    28 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Стоит прикрутить опрос, сколько человек готово это купить и сколько человек готово под это писать софт. Затем сложить эти числа и разделить на 2пи - вот примерно столько и будет реально заинтересованных в очередном велосипеде людей
    Мои игрушки: PowerbookG4 / MacMiniG4 / MacMini i5 / Amiga1260 / Commodore64 / Atari65XE / MSX1 SVI-728 / MSX2 КУВТ2 / MiST / MiSTer / Profi+ / KarabasPro / Speccy2010 / Aspect128 / ZX-UNO VGA 2M / PS3 / PS4Pro+PSVR / PSP / PS Vita / GBC / LDK Game / RG350M / iPhone / iPad / Raspberry Pi (0/3B+/4B/5)
    MorphOS / AmigaOS / MacOS / Linux

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

  3. #2

    Регистрация
    13.02.2016
    Адрес
    г. Королёв
    Сообщений
    493
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    11 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    Если устранить эти недостатки, а это сейчас возможно, будет ли кто-то писать для нашего компьютера игры ? Или будут писать только для чужого NEXT-а ?
    Бессмысленно изобретать новый ретрокомпьютер.
    И новых программистов им не привлечёшь.
    Причина проста: Спектрум - ностальгия нашего поколения.

    А другие поколения впадут в своё детство, не в наше.

  4. #3

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

    По умолчанию

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

  5. #4

    Регистрация
    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.

  6. #5

    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    67
    Поблагодарили
    52 сообщений
    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"

  7. #6

    Регистрация
    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.

  8. #7

    Регистрация
    05.04.2015
    Адрес
    г. Майкоп
    Сообщений
    294
    Спасибо Благодарностей отдано 
    47
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    Думал, может уже сразу сделать по 2 бита на пиксель, и из 4 цветов 1 прозрачный. Но в итоге получим 3 цвета на все спрайты, что совсем плохо. Остаётся озвученный выше вариант.

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

    Или, уж, сразу аппаратные спрайты делать. Тогда стандартный экран остаётся фоном и добавятся спрайты. Их уже можно делать 16 цветными. Можно сделать палитру из 256 цветов. Спрайт 4 битный и у каждого спрайта есть 4 битный номер подпалитры. Итоговый индекс из общей палитры составляется из 4 бит самого спрайта и 4 бит номера подпалитры. Т.о., палитру 256 цветов можно будет разбить на 16 подпалитр и каждую выделить для разных объектов (ГГ, враг1, враг2, враг3, взрыв и т.д.). И цвета можно менять просто указав у спрайта другой номер подпалитры. В общем, примерно как у dendy, но не 2, а 4 бит на пиксель спрайта.
    Фон тоже желательно снабдить аппаратным скроллером. Тогда будет классно.


    Хм, а ведь если бы на dendy сделали сразу 4 битные спрайты (15 цветов), то всё выглядело бы красивее и сега могла и не взлететь...

  9. #8

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

    По умолчанию

    Цитата Сообщение от AzAtom Посмотреть сообщение
    Это один из самых лучших вариантов.

    Думал, может уже сразу сделать по 2 бита на пиксель, и из 4 цветов 1 прозрачный. Но в итоге получим 3 цвета на все спрайты, что совсем плохо. Остаётся озвученный выше вариант.

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

    Или, уж, сразу аппаратные спрайты делать. Тогда стандартный экран остаётся фоном и добавятся спрайты. Их уже можно делать 16 цветными. Можно сделать палитру из 256 цветов. Спрайт 4 битный и у каждого спрайта есть 4 битный номер подпалитры. Итоговый индекс из общей палитры составляется из 4 бит самого спрайта и 4 бит номера подпалитры. Т.о., палитру 256 цветов можно будет разбить на 16 подпалитр и каждую выделить для разных объектов (ГГ, враг1, враг2, враг3, взрыв и т.д.). И цвета можно менять просто указав у спрайта другой номер подпалитры. В общем, примерно как у dendy, но не 2, а 4 бит на пиксель спрайта.
    Я думал о слое спрайтов (не аппаратных спрайтах). Например, 2 точки на байт. Рисовать вертикальными линиями командой LDIR. Но это не похоже на экран Спектрума. Хотя может и проще, чем три дополнительных слоя (маска+bitmap+attr).

    Давайте обсудим этот вариант. Можно например, фон оставить как Спектрум+линейная адресация+атрибут на 8 точек+аппаратный скроллинг. А спрайтовый слой по 2 точки на байт.
    Фон тоже желательно снабдить аппаратным скроллером. Тогда будет классно.


    Хм, а ведь если бы на dendy сделали сразу 4 битные спрайты (15 цветов), то всё выглядело бы красивее и сега могла и не взлететь...
    У Сеги 2 слоя фона со скроллингом и экран шире и спрайтов больше и цветов больше.
    Последний раз редактировалось zx-kit; 05.03.2018 в 15:58.
    "L-256"

  10. #9

    Регистрация
    29.08.2012
    Адрес
    Анапа
    Сообщений
    610
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    Я думал о слое спрайтов (не аппаратных спрайтах).
    В Timex 2068 были аппаратные два экрана в 16к нижней памяти, аппаратный мультиколор и 512*192.

    Вот если бы из двух экранов было бы аппаратное наложение, де еще с 1м прозрачным цветом то было бы красиво, особенно для 1982го.

    Но 2 байта чтения памяти за раз это мало, а больше это уже не ULA. Я бегло пролистывал многочисленные споры "4 или два байта" на этом форуме, ясно что таки 2шт.

    Но и четыре вроде как не так уж сложно по схематике того же 82го.
    «Земля - слишком маленькая и хрупкая корзина, для того чтобы человечество держало в ней все свои яйца…» - Роберт Энсон Хайнлайн.
    Электроника МК-61, Psion series 5mx.

    Всем умеющим читать советую http://www.skeptik.net/conspir/moonhoax.htm http://lurkmore.to/Лунный_заговор

  11. #10

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,963
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    312
    Поблагодарили
    236 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Бука Посмотреть сообщение
    Вот если бы из двух экранов было бы аппаратное наложение, де еще с 1м прозрачным цветом то было бы красиво, особенно для 1982го.
    да ну, это даже для 1982 было ниочинь
    Прихожу без разрешения, сею смерть и разрушение...

Страница 4 из 58 ПерваяПервая 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

Ваши права

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