Вот те на! Только я последний раз предложил нечто подобное прежним идеям В.Кладова
с "аппаратным EmuZWin-ом"? как он предлагает что-то напоминающее мои прежние идеи
(заранее извиняюсь, что влез сюда с отсылками к моей теме, кому-то, возможно надоевшей).
Я имею в виду, что фон опять 2 цвета на знакоместо, а многоцветность спрайтов только
имитируется (нечто подобное на комоде было с hi-res спрайтами). И в комп нужно лезть,
т.к. основное ОЗУ используется. От того и другого уже даже я отказался под давлением
общественности.Ну нужен народу режим "каждая точка своим цветом", хоть ты тресни!
Пришлось к этому адаптировать свою идею, не потеряв и то, что мне было нужно.
Vladimir Kladov> никакой совместимости с прежним режимом (т.е. переделка игр
` не будет тривиальной). А оно надо? Насмотрелись уже...
` Но если бы такой режим был в Спектруме... Я бы еще под него сам чего-нибудь поделал.
На несколько тысяч (хорошо, пусть сотен самых хороших) - насмотрелись?!
И сколько еще не могут считаться хорошими именно по причине небрежной графики...
А тут переделка отпадает, а новый софт скорее всего будет делать сам В.Кладов?
Я частично согласен с CHRV в том, что если уж делать нечто несовместимое, то лучше
взять левый готовый видеочип - эксперимент дешевле обойдется. Хотя толку тоже мало
будет, на мой взгляд.
Vladimir Kladov> Проц не справится с чем-то большим, что есть в спектруме, Клайв был
` прав, когда спроектировал только тот режим, что есть в базовом. Единственное, что
` может победить тормоза - это спрайты.
А еще Клайв сказал, что причина успеха Спектрума - простой доступ к памяти. Снова
смотрим мои последние спецификации - раскладка еще проще, чем в оригинале, а скорость
вплотную приближается к 32 такта на байт для спрайтов с маской (соответственно, 16
тактов на байт для простых тайлов). А этот байт - восемь пикселов, и от глубины цвета
(количества линеек видеопамяти) скорость совершенно не зависит. В том числе для
векторной графики. В общем все почти как в EmuZWin - скорость такая же, как в обычном
режиме (если не быстрее в моем случае).
Все, что для этого нужно - хранить графику в неотображаемых областях видеопамяти и
осуществлять их переброску командой ldi (от которой, собственно, требуются только
адреса источника и приемника). А еще можно добавить "видеопроцессор" - не важно,
будет ли это z80, как в GS, или даже простая схема внутренних пересылок на логике
(тогда возможно копировать быстрее, чем с ldi), или что-то более навороченное типа
примитивного блиттера - еще и для векторной графики. Вообще отдельный видеопроцессор
(именно рисующий в видеопамяти, а не формирующий изображение "на лету") - вещь более
перспективная, чем спрайты. Опыт развития вычислительной техники убедительно показал,
что аппаратные спрайты - это тупик. Да и тормоза в спековских играх были по большей
части связаны именно с медленным скроллингом "вручную", а не с отрисовкой спрайтов.
Насчет спрайтов интересно вот что - а можно ли в принципе синхронизировать готовый
видеочип с самопальным видеоконтроллером, так чтобы смешивать изображения - например,
какой-то цвет в видеопамяти чипа считается прозрачным, делаем его фоном, а потом
спрайты накладываем на спековский экран - опять же, выбором одного из двух пикселов
по ходу луча. А если в памяти чипа не весь фон прозрачный, то получим еще один
"самый передний" план (или сколько там у него слоев). Но это, наверно, трудно
сделать, т.к. все такие видеочипы выдают сразу готовый видеосигнал - или я ошибаюсь?
(Даташиты скачать не удалось)




Ну нужен народу режим "каждая точка своим цветом", хоть ты тресни!
)
Ответить с цитированием