еще раз, стоп. Хватит эмоций, ты ведь можешь нормально понять, что это просто одна из возможностей?
я вам сейчас предложу 2 варианта.
Вид для печати
Это хорошо в том плане, чтобы при раскраске минимально заниматься программированием. Чтобы GFX был достаточно интеллектуален, чтобы ему хватало обычного z80-кода, возможно, с некоторыми наводками.
Я бы тоже :)Цитата:
Вообще, блок, нужный только для раскраски старого софта БЕЗ исходников и правки бинарника, я бы сделал максимально простым и "лёгким", раз навсегда зафиксировал и больше не развивал (кроме устранения недочётов).
Я вообще о перспективных новых возможностях не думаю, мне достаточно раскраски софта, написанного под обычные спеки.Цитата:
Главное, чтобы он не мешал добавке перспективных новых возможностей, управляемых из нового софта, и чтоб они легко его дополняли.
Тут я не совсем понял. В моем представлении GFX рисует по своей картинке (построенной на старой и раскраске), а старый код про GFX и его картинку вообще не знает, и рисует как обычно, в обычный спековский экран. И новый софт пишется по той же схеме - код под старые машины плюс раскраска из загрузчика. Так память основного проца освобождается от манипуляций с GFX, и совместимость лучше.Цитата:
То есть ускоритель сможет рисовать в любой момент по старой картинке, а старый код в спектрумовском стиле - по картинке, отрисованной ускорителем.
- - - Добавлено - - -
Кто бы ещё объяснил, как фоновые изображения укладываются в логику 8 процов и 8 планов памяти, и как они вообще подключаются. Чёт я этот момент ниасиливаю.
Неужели в этом году что-то появится? а то Метеор все ждали, ждали и ...
... перестали ждать (
а его немного уже и так, и половина сводится к копипасте
подбирать цвета для раскраски уже больше времени занимает
старый софт типо "думает, что рисует в обычный спековский экран", а на самом деле порождает в новом новые пиксели
можно даже пзушными процедурами рисовать без клэшинга кружки и линии разноцветные или на бордюре печатать текст
то хотели раскрашивать старые игры
и чтоб не денди конфа
теперь им подавай блитер слои и денди конфу
в spec256 всего 2 слоя изначально...
короче дальнейшее обсуждение перспективных видеорежимов\видеокарт
считаю неперспективным
и удаляюсь :v2_dizzy_bye:
бурлите дальше :v2_tong2:
8 спеков рисуют каждый в свой экран обычным образом
а так как выполняют один и тот же код все это у них типо синхронно до поры до времени
набор графики у каждого спека при этом разный
видео контролер читает по биту видео памяти из каждого "спека"
и получает код цвета из палитры (один цвет прозрачный)
итд
тут описание zxpoly
https://github.com/raydac/zxpoly
в принципе подход тотже
Возможен и дополнительный режим с прозрачностью - стандартный экран спектрума и экран дополнительной видеокарты геометрически будут совмещены. Тогда, например, пиксель с чёрным цвет на стандартном экране заменяется на пиксель из экрана дополнительной видеокарты. Т.е., получается некий оверлей, который будет цветастым фоном, может даже полноцветным. А спрайты могут двигаться на стандартном экране. При этом, и клешинга с фоновым рисунком не будет.
Кстати, насколько помню, этот вариант был озвучен давно в теме про видеокарту метеор, но был обо... не принят.
Это ты рассказываешь, как работает Спек256, а я интересуюсь, как сюда укладываются фоновые изображения, которые, я так понял, к 8 планам памяти и процам никаким боком не относятся, хранятся отдельно, и как они потом (в какие моменты и по каким событиям) загружаются. То, что они просвечивают через черный фон, я догадался.
они загружаются перед стартом
изначально(в 2-х эмулях) у спеков вообще нет к ним доступа
обрати внимание что во всех адаптированых играх не сменный фон
он загружается самим эмулятором и всегда висит
так же нет и никакого включения этого режима изначально
а вот в железной реализации его нужно включать
и нужно загружать фон самой программе
при этом можно сделать его всегда доступным и им пользоваться
как графическим режимом
в придачу у такого графического режима идельная адресация
переход к любому соседнему пикселю вверх\вниз\вправо\влево за 4 такта
еще у spec256 сменная палитра (тоже только средствами эмулятора)
если делать в железе
то доступ проца к палитре сильно расширит возможности
Это-то элементарно, я спрашиваю - как фоновые изображения сменяют друг друга, по каким событиям? То есть если бы был только один фон - вопросов нет, он грузится изначально и потом просвечивает через один из цветов. А фонов-то может быть много, вроде как, вот и непонятно, каким образом, по каким программным событиям они друг друга сменяют.
полетит куда? как он бедный, должен расставлять пиксели в памяти пятнадцати "спектрумов"?
- - - Добавлено - - -
так в spec256 вроде и не меняют? вообще можно перехват поставить на чтение
код игры читает адрес нового уровня, а девайс читает адрес новой подкладки
если спрашивается про всякий сменный\скролящийся фон который в самих играх
то явно наблюдается не понимание принципа работы spec256
все получается само собой
что разукрашивавшие фона
что накладывание по маске спрайтов
можно сделать даже полупрозрачность (если у каждого спека будет своя маска)
всё рузультат работы 8 спеков
Спрашивается строго про статичные фоны, которых может быть несколько, которые просвечивают через один из выбранных цветов, и о которых ни один из 8 процов, насколько я понимаю, не знает, а знает только видеоконтроллер, подменяющий один из цветов, получаемых из 8планов памяти, на точки из фонового изображения.
реквестирую скриншот 4-х разных фонов
умя только один
щас проверю на старом emuzwin
- - - Добавлено - - -
пока смены фона не заметил
ВСЕ САМ НАШЕЛ СКРИНШОТ
3ы
еще у spec 256 есть дополнительные настройки
Цитата:
GFXLeveledXOR=0
GFXLeveledOR=0
GFXLeveledAND=0
GFXScreenXORbuffered=0
OrderPaletteSignedBytes=0
UpColorsMixed=64
DownColorsMixed=0
UpMixChgBright=0
DownMixChgBright=0
UseBrightInMix=0
UpMixPaper=0
DownMixPaper=0
BkMixed=0
BkMixBkAttr=0
BkOverFF=1
AndMaskCF=0
В архиве Knight Lore для Spec256 хранится 4 фоновых изображения. Откуда 4, вот в чем вопрос?
Хотя, кажется, я осилил. Возможно, фонов несколько для нескольких цветов, сквозь которые они просвечивают.
- - - Добавлено - - -
Это уже не spec256, это доп.настройки 256-режима EmuzWin .
но их теперь тоже нужно делать в новой платформе
походу emuzwin не полностью поддерживает это
у меня на 2-х версия не происходит никакое переключение фона
всегда пол квадрат одной ширины
и поверх него не красиво накладываются более узкие комнаты
а оригинальные скриншоты с оригинального сайтека
выглядят так
http://www.emulatronia.com/emusdaqui...nightlore2.gif
http://www.emulatronia.com/emusdaqui...nightlore1.gif
Это да.
Ага, т.е. фонов несколько таки, и как они переключаются в EmuzWin - понятно, прописано в CFG файле. А вот как в оригинальном Spec256 - непонятно. Видимо, и Кладов не разобрался с этим.Цитата:
походу emuzwin не полностью поддерживает это
у меня на 2-х версия не происходит никакое переключение фона
всегда пол квадрат одной ширины
и поверх него не красиво накладываются более узкие комнаты
а оригинальные скриншоты с оригинального сайтека
выглядят так
http://www.emulatronia.com/emusdaqui...nightlore2.gif
http://www.emulatronia.com/emusdaqui...nightlore1.gif
upd. Фонов точно несколько, выяснил опытным путем, оставляя один и удаляя остальные. Так что просвечивают они строго сквозь один цвет, а как должны меняться - так и непонятно.
А как это реализовано в самой игре? Тут можно либо не рисовать спрайт в этом месте, либо, восстанавливать фон в этом месте. Можно комбинировать - если весь спрайт заходит за другой объект, то он просто не выводится, а если частично, то фон восстанавливается в нужном месте. В общем, это должно быть в самой игре, а способ вывода тут вполне вторичен.
Нафиг 15 спектрумов, если есть блиттер?
А 15 спектрумов в какой-то теме обсуждалось, все они работают с одной и той же программой совершенно параллельно и синхронно, только с разной графикой, и экранная область каждого этого спектрума представляет собой один бит из итогового 15 битного пикселя. В принципе, игра (каждый экземпляр) будет играть на обычном спектруме без никаких доработок, но графику придётся перерисовать полностью и рассовать в каждый экземпляр свой бит. Идея тоже имеет право на существование.
Понаделают не совместимого железа и потом сидят, думают: "Кто же будет под весь этот зоопарк писать свои шедевры?" :( Вместе с тем, некоторые шарахаются от простого драйвера с универсальным API.
У народа старая привычка искать, правых и левых, ему предлагается целый комплекс решений, для ретро хобби или коммерческого проекта, если это надо. Вполне возможно, что в следующем году, ты будешь обладателем, эмулятора и железки, где сам сможешь поправить, что тебе не нравится например в Elite, с ограничениями конечно,
но вполне заметными. :)