Как сделать из РК86 компьютер c параметрами ZX80 и цветом
Посмотрел схему загрузки фонта. Ничего неожиданного, хотя я бы сделал немного иначе. Но в общем-то примерно так я это и представлял. Вот выдержка из темы "Что можно выжать из ВГ75", где freedy использует конструкцию на ВГ75 с загрузкой фонтов.
Цитата:
Сообщение от barsik
... знал одного фаната, который пытался доработать РК, введя загрузку фонта (чтобы игры РК стали красивыми). Фонт для ВГ75 хранится в ОЗУ с раздельными входом и выходом. Входы ОЗУ подключены к ШД. А адреса ОЗУ с помощью трёх КП11 при обращениях КР580 переключаются от ВГ75 на ША. Благодаря чему и происходит загрузка фонта. Думаю конструкция могла бы работать.
. . . .
Не вижу, что в таком варианте помешает загрузить фонт (кроме нагрузочной способности шины РК). ОЗУ 1 кб имеет 10 адресных входов, три КП11 коммутируют 12 цепей. Входы ОЗУ на шине данных. Что ещё надо? Ну, для совершенства можно предусмотреть гашение, чтобы не было блёсток по экрану, в момент загрузки фонта.
Этим хочу сказать, что сама концепция загрузки фонта и её достоинства мне известны с 1988 года. Реализовывать её не стал, не было нужды. Фонт 8*10 использовал (правда не в 80-е, а уже в середине 90-х). Фонт у меня был не обычный, а извращенный (2 последних линии - во 2-м килобайте). Это для того, чтобы можно было использовать и фонт 8*8 и 8*10.
Сама Ваша схема отличная и вполне грамотная. Однако боюсь, что не поддержав её хотя бы небольшим числом игр, трудно рассчитывать на её популярность, особенно если нет печатной платы. А желающих повторять конструкции чисто из спортивного интереса, боюсь что среди владельцев РК86 уже осталось мало (тех кто любит ручной монтаж проводками на слепыше).
Загрузка фонтов, позволяет иметь полноценную графику, если дополнить её другой идеей. позволяющей аппаратно или программно выбирать фонт для каждой строки. Режим полноценной графики интересен, но практически бесполезен, т.к реально может быть использован только для текстообработки, а тут настоящий текстовый режим намного быстрее. Игры в полноценной графике на РК86 будут тормознуты.Такой конструкцией я, возможно, займусь позже. Для начала проще ввести спрайтовую графику для игр на принципе Денди.
Использование спрайтов из ПЗУ, как в Денди, - не тормозит, здесь загрузка фонтов актуальна. А если есть и цвет из фонта, т.е аппаратная раскраска спрайтов, то для создания игр это удобнее, чем писать для цветной графики АПОГЕЯ. А удобство программиста важно.
А по трудозатратам. Что проще, просто перезашить ПЗУ или спаять отдельную платку на 8-ми корпусах, соединяемую ворохом проводов с платой РК?
В предлагаемой конструкции доработки до игр со спрайтами за счёт большого ПЗУ фонта удобно использовать не 27256, а 62256 с батарейкой. Вытащил, вставил в панельку загрузчика, загрузил код и опять воткнул в РК86. При старте игры, загружать фонт не надо и во многих играх можно использовать одни и те же спрайты. Это как альтернатива загружаемому фонту для ленивых. Хотя конечно, при разработке программ Ваша платка была бы полезна программистам игр и рисовальщикам спрайтов.
Планирую попробовать движение спрайтов из фонта в эмуляторе B2M, там есть поддержка коммутации фонтов и можно иметь много фонтов. Проблема только, где брать спрайты. Также думаю, что смогу сделать нормальную графику в шахматах РК86.
Собираюсь спаять Вашу (или чуть изменённую) схему загрузки фонта, но позже. Пока надо сделать более актуальные доаботки.
Теперь, что касается оцвечивания не игр, а текстовых программ, где не требуется, чтобы каждая буква была своим цветом. Истратив всего 8 фонтов по 1 кб, в варианте с двойным ПЗУ (фонт + цвет) и три атрибутных сигнала для их выбора, можно иметь 8 сочетаний цветов, что гораздо лучше, чем просто 8 цветов. Хотя, как и в АПОГЕЕ, при работе с текстом в пределах полной строки возможны лишь 3 смены цвета, и т.к в каждом из этих 8-ми фонтов все символы одного цвета, то смена цветов происходит не кодом символов, а только атрибутами ВГ75 переключающими фонт.
Если соответственно выбрать атрибуты и коды цветов, то схема будет совместимой с АПОГЕЕМ, одновременно давая быстрые цветные спрайты. Но не вижу смысла стремиться к совместимости по цвету с АПОГЕЕМ, т.к во-первых он несовместим с РК86, а во-вторых оцвеченные для АПОГЕЯ игры не нужны - с такой доработкой можно использовать монохромные игры РК в цвете, имея соответствующий цветной фонт.
Важно то, что можно использовать старые РК-игры в цвете без их трудоёмкой переделки, лишь добавив к ним стартёр включающий цветной фонт, специально предназначенный для этой игры. Или оцвечивание некоторых игр требует намного более простой адаптации. В АПОГЕЕ для раскраски надо менять алгоритм, т.е код игры, а здесь достаточно лишь выбрать и включить фонт с односимвольными цветными спрайтами, настроенными для конкретной игры, и лишь редко требуется заменять код символа-спрайта на другой (это когда в качестве спрайта используются буквы и они же используются для вывода текста).
PS: Чтобы было ясно насколько неудобен для программиста цвет АПОГЕЯ вспомните, что каждая атрибутная команда управляет только одним битом из R.G.B. Это же не байт записываемый в ОЗУ цвета, как в ОРИОНЕ. Поэтому чтобы установить неосновной цвет надо записать в строку подряд несколько атрибутов, а в строке Вы можете записать их всего 3. Т.е число цветов в строке ограничено. Ничего такого нет при цвете встроенном в фонт.
; ----------------------
Используя раскраску в варианте с одним ПЗУ фонта, но когда чётные биты в фонте несут информацию о графике, а нечётные - о цвете, из РК86 при минимальной пайке и расходе деталей (только формирователь R.G.B. и замена ПЗУ фонта на 27256) получается совершенно новый цветной текстовый режим с текстовым экраном 32*24, как в ZX80, только с цветом и быстрыми цветными спрайтами для игр. Причем разрешение цвета лучше, чем в ZX-Spectrum и в ОРИОНЕ - два цвета в пределах 4 пикселей и числе цветов 8. Тогда каждый "символ" в ПЗУ фонта имеет ширину 4 пикселя и для формирования символа на экране надо вывести рядом два знакоместа.
Это ограничивает общее число экранных символов до 64 (число символов в одном фонте 128). Но это не фатально, т.к переключая фонты 4-мя атрибутами ВГ75, мы можем иметь даже 256 КОИ-8 символов. Хотя трудно сочетать символы из разных фонтов в одной строке, т.к число атрибутов в строке ограничено.
Если изменить схему видеовыхода, то цвет можно сделать по принципу CGA, когда два соседних бита в фонте задают цвет пикселя (один из 4-х цветов). Это на пару корпусов больше, но зато можно использовать спрайты от PC XT и Amstrad CPC и каждая точка в спрайте может быть своего цвета. Тогда в качестве редактора спрайтов можно использовать графический редактор от PC XT для CGA.
Такой режим удобен не только для для игр, особенно если грамотно написать драйвер текста для этого режима. Выгода в том, что буквы более крупные и цветные.