Я прям боюсь спросить о принципе действия этого расширения до 256 цветов.Сообщение от Vladimir Kladov
Я прям боюсь спросить о принципе действия этого расширения до 256 цветов.Сообщение от Vladimir Kladov
к каждому биту спектрумовской памяти и к каждому биту регистра z80 приклеивается дополнительный байт. когда биты пересылаются, этот байт тоже. при арифметических/логических операциях применяются свои действия (сходу не скажу, какие). нужно всего лишь узнать, где лежат спрайты игры, и каждому биту спрайта дописать байт-цвет. дальше их будет выводить, перемещать и т.п. уже сам z80 вместе с приклеенными цветами. в итоге в видеопамяти оказывается не просто набор бит, а вместе с приклееными байтами, которые интерпретируются рисовалкой экрана как цвета точки под этим битомСообщение от Spectre
Это понял, давай посчитаем. 6144х8 = 49152 => 48К. Сходится с расходом для разрешения 256х192х8. Т.е. грубо говоря 48К отдельной памяти.Сообщение от SMT
А это зачем? В смысле зачем мониторить _биты регистров_ (или всё же сами регистры)?Сообщение от SMT
Ну да, что бы например вычислить правильную результирующую при наложении двух цветов, так? Только вот как узнать, где спрайты лежат? Хак?Сообщение от SMT
Хм, медленно. И сложно. Но выход.Сообщение от SMT
![]()
да, но каждый z80 работает со своим 6144 (или эмулятор гоняет не 8-битные регитры, а 8-байтные mmx-регистры), так что скорость не страдаетСообщение от icebear
Сообщение от SMT
чтобы не вносить изменения в код игры. когда байт читается из памяти, где лежит спрайт, в регистр, приклеенные цвета читаются в этот же регистр. при сдвигах или иной обработке данных, считанных из спрайта, приклеенные байты цвета перемещаются вместе с битами спрайта. в итоге они попадут на экран и пофиг, как над ними извращался программёр, хоть писал через стекСообщение от icebear
есть тулзы, как на пц, так и спектруме, для просмотра памяти в графическом виде. спрайты выцепляются визуальноСообщение от icebear
на реале - чушь собачья. если уж и ставить 8 процессором (да что там - 8 спектрумов), то лучше, чтобы они не обрабатывали синхронно одну и ту же программу, отличаясь содержимым памяти только в местах спрайтов, а сделать так, как я написал 17:22Сообщение от icebear
Вот тут перечитал свои последние сообщения свежим взглядом... Нда, одно дело - урывками
набирать несколько килобайт текста, и совсем другое - все это сразу прочесть
Могло создаться впечатление, что я грубо наезжаю вообще на компьютер АТМ и его производителя
(упаси меня! тем более, он последний "живой" остался). Это не совсем () так.
Видимо, мою мысль следует выразить точнее. Я считаю, что все отечественные навороченные
клоны фактически состоят из двух компов - собственно Спектрум-совместимой части, и второй
оригинальной разработки, мало меня (судя по всему, и других Спектрумистов тоже, особенно
сейчас) интересующей по причине необеспеченности "развлекательным" (ну что поделаешь...)
софтом и несовместимостью этих наворотов с другими клонами - вне зависимости от того,
удачный этот "второй" компьютер, или не очень.
Я не против ни присутствия этой "второй части" в компьютере, по-прежнему гордо именуемом
"Спектрум-совместимым", ни всяких высокотехнологичных прибамбасов, к нему приделываемых.
Нужно только четко осознавать, какие из наворотов объективно работают на спековский
режим (а значит, насколько полезны для программистов именно Спектрума), а какие нет. И не
пытаться выдать одно за другое.
Так, большинству программ все равно, с ленты они загружаютя, с флопа или с винта (адаптация,
если она нужна, не представляет особых трудностей). Мышь тоже ничему не вредит, это ведь
всего лишь дополнение, в крайнем случае клавиатура всегда под рукой (исключения крайне
редки). AY-чип вообще следует считать частью Спектрума (хоть его и "испанцы придумали")
- но и его присутствие для работы программ необязательно (хотя и желательно, чего говорить).
А вот видеорежим, тем более сильно отличающийся по адресации (а то и вообще совершенно
чуждый "по философии" видеочип) - это совсем, совсем другое дело. Он для работы юзающей
его программы НЕОБХОДИМ.
Так что даже если наворот доступен из Спектрум-режима, это не значит, что он для
него полезен. Из графических возможностей АТМ реально полезной для спектрумовского
софта я могу признать лишь изменяемую палитру - и то в основном раз установленную, а не
"сменяемую по ходу", что влечет за собой большой объем работ по адаптации. А так - будет
графика в игре выглядеть более естественной, а нет АТМ - и обычной палитрой можно обойтись
в крайнем случае.
Пусть и дальше совершенствуется "расширенная часть" Спектрум-клонов - приделыванием ли
внешних наворотов или их интеграцией в схему - желаю успехов. Но только не следует забывать,
что совершенствоваться она должна ВМЕСТЕ со Спектрум-частью. А не ВМЕСТО нее.
Хм, чего-то опять в монстрологию ударились. Ну хоть оживление какое-то....
А чего я предложил в последний раз - так только перехват на запись в экран и надо сделать, если без четвертушек, то есть совсем пассивный девайс с точки зрения програмера.
Кстати, как насчет переделки в такую видеокарту старых 48К Спектрумов, пылящихся на антресолях, и тому подобного барахла?
P.S. CHRV, а что, последнее предложение недостаточно конкретно...
Или только и можем, что чайников "сизым дымком" пугать?
Какие проблемы будут при внешней реализации, например, для того же ATM Turbo 2++ ?
И вообще, будет ли в дальнейших АТМ системная шина (сколько слотов) и какая?
P.P.S. Не отступать и не сдаваться! ( Пошел домой отвечать остальным... )
Идея не нова и очень хороша (тем, что оформлена отдельным самостоятельным модулем). Немцы например таким образом создали контроллер LCD дисплея в 96-97 годах для ZX-81. С собственным Z80 (ну тогда просто всякие матрицы не особо были распространены среди мирного населения).Сообщение от Lethargeek
да, правильно, это должно быть именно 8 спеков, примерно одинаковых по конфигурации. Лучше брать именно 48К или 128К без дополнительных наворотов. (и переделывать тогда - как и сейчас делается - игры сделанные для этих режимов). Я уже представляю себе этого реального монстра (вообще реально, без шуток) - 8 параллельно установленных плат, на 7 отрезаются входы инта, wait'а, и clk, и протягиваются соответствующие провода от 1-го - ведущего - спека на 7 прочих. Чтобы в итоге все 8 пахали как один. Видеовыходы со всех компов собираются в один композитный сигнал 256 цветов и идут на обычный ibm-ный моник (в цифре или аналоге, это уже не суть - как спаяется). Но нужно еще кое-что. Там есть ряд операций, которые несколько отличаются от того, что делал бы проц с обычным байтом из 8 бит. Обычно это дело касается работы с регистром L, и есть еще одна фишка. Некоторые спек-проги для естественной экономии крупные спрайты хранят один раз, а для выполнения операции сдвигов, отображений, маскирования таких спрайтов при выводе на экран держат в памяти несколько (штук 7) 256-байтных таблиц. Так вот, по сигнатурам я в эмуляторе определяю, что прога делает сейчас именно такое действие, и маленько кое-что делаю, чего проц сам бы не сделал. (Собственно, это и есть мое главное усовершенствование против Spec256, хотя есть еще парочка фишек. Ну, не считая тулзы для раскраски). В общем если кто загорится, я подробно выделю все эти операции, и детально расскажу. Но тогда - чур - не отверчиваться: паяльник в зубы - и впередВ общем, для таких операций надо действительно отслеживать содержимое регистров, и смотреть на память, и это должна делать какая-то дополнительная плата.
А насчет 6144 - это вы неправильно поняли. КАЖДОМУ биту оперативки соспоставляется байт расширенной граф-памяти. Итого 48Кх8=384К или 128Кх8=1024К=1М. SMT-то понял... он-то правильно объясняет
Тулза для переделки есть у меня в эмуляторе, достаточно мощная, чтобы выполнять поиск спрайтов и их раскраску почти всю. Проще посмотреть на уже переделанные игры (опять же лучше под EmuZWin - Spec256 не имеет тулзы, и не поддерживает некоторые преобразования - не все переделки под ним правильно пойдут. Может потому испанцы и забили в 2000 году на это дело. А жаль - идея классная, просто немножко опередила время. Мне-то намного проще было, с ММХ, я действительно гоняю 64-битные байты через ММХ-регистры, скорость вообще практически не падает).
Да, чуть не забыл. Там еще может подрисовываться фон. Например, каменный или травянистый фон в knight lore, или облачка в BruceLee. В эмуляторе для этого используется набор сигнатур из экранной области, при прорисовке по определенным правилам вместо пикселов, которые считаются прозрачными в экране спека, подставляются 256-цветные пикселы из текущего бакграунда. По сигнатуре в экране, бакграунд может переключаться. Сигнатуры естественно задает тот, кто графику раскрашивает, для подготовки бэкграундов в нужном формате 320х200х256 есть отдельная тулза. Вот и вся техника. В эмуляторе действительно просто. И игры действительно переделывать несложно - нужно лишь уметь пользовать паинтбрашем.
Восемь спекови каждый по ~20у.ё.
(и всё это взамен десятибаксовой фентифлюшки)
ASDT> "Нужно - не нужно..." Ясно. Вся тема - пустой гон.
Пустой гон - это когда "сон разума рождает чудовищ" аппаратных. Я-то, по крайней мере,
всегда стараюсь быть предельно конкретным в рамках моей компетенции. И внимательно читаю,
что другие пишут. И отвечаю подробно. А тут у людей прежде всего проблемы с пониманием.
Ну что мне, скриншоты, что ли, раскрасить? - так тут же обвинят в дешевых приемчиках.
Эх, была бы поддержка в нормальном эмуле, уже начал бы софт адаптировать... я ведь его
и так ковыряю все время. А в пределах спековских ограничений графику исправлять
- это ведь даже сложнее.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)