исходник
Вложение 81900
Вид для печати
исходник
Вложение 81900
Продумываю ещё игру простенькую с тайлами, жаль на реальном железе пока не проверить. Без железки я бы не смог демку отладить. Хорошо, что Ведущий Специалист и Виктор Пыхонин помогли с тестированием на своих Пальмирах. И этот порт демки сначала бы надо на реале погонять - скролл то дрожит, то нормально работает в эмуляторе.
Хороший софт должен разлетаться на все платформы, в свое время плюк тоже в течении пары дней поселился в пальмире.
У Виталия хороший аппарат получается. Ждем в железе и с документацией. Я как то хотел подрезать его идеи в пальмиру но не стал. Во первых плодить пальмиры неохота во вторых есть нюансики по железу... Нужно додумывать. Не все так просто.
- - - Добавлено - - -
Мне давно как то предложили идею. Вешаем вторую ру10 в параллель, но включаем ее битиком от первой ру10. шд второй выводим на цвет. Получается запись в первую ОЗУ сможет активировать цвет линии знакоместа второй ОЗУ. Остается только продумать как ее переключать в адресное пространство. Нужно умно и с минимум микросхем ибо хейтеры экономисты микросхем достали... Все бы попроще да двумя микросхемами вторым этажом....
Адрес нужен для второй РУ10. Или теряем бит цветности/яркости.
Вопросы назрели по схеме:
https://zx-pk.ru/attachment.php?atta...1&d=1736173232
https://drive.google.com/file/d/1veS...zGwNmK/preview
1. IC6 нужна чтобы данные ОЗУ не падали на ШД процессора? Можно ли заменить на АП6?
2. IC7 нужна чтобы данные при записи в ОЗУ не падали на ИР13?
3. Сигнал /CE_FONT идёт на прямой выход триггера, так и должно быть, ничего не сгорит?
Вложение 81901
1. Да. Можна менять на ап6, как это сделано в Пальмире. Я ставил ап5, что бы не играться с сигналами направления передачи, но ап6 проще для разводки платы.
2. Не совсем. Чтобы небыло конфликта с данными из ПЗУ в момент когда проц обращается к ру10.
3. Не сгорит, т. к. он я вляется выходом для подачи на соответствующий вход ПЗУ знакогенератора, который нужно предварительно отрезать от "земли".
- - - Добавлено - - -
Второй ру10 лучше управлять отдельно. Мне видится это как выбор соответсвующей микросхемы одним из управляющих битов порта се00, там вроде есть незадействованные.
- - - Добавлено - - -
Еще один плюс в пользу отдельного управления озу цвета - в стандартном текстовом режиме можно получить раскраску текста (и при этом не использовать память под атрибуты!) и "писать" хоть черным по белому, хоть белым по черному, а можна как монохром - зеленым по черному, всего один лишь раз заполнив память цвета при старте компа...
Наверное да, но в любом случае надо оставить возможность переключать половинки РУ10 атрибутом, чтобы было два программируемых ЗГ.
Это может очень полезным оказаться для анимации. Я мог бы в своей демке обновлять тайлы в одной половинке ЗГ, а потом переключать половинки. И тогда не нужен программный буфер, а значит демка заметно прибавит в скорости.
https://i.ibb.co/sp5q3B7j/tmp1.png
Предварительный вариант, пока заготовка. Используется бит 4 порта СЕ00 для выбора между ОЗУ ЗГ и цвета. Не реалезовано использование старших битов ЗГ. В данном варианте будет 16 цветов на знакоместо (2 цвета из 16 одновременно, как в Спектруме), при использовании старших битов - будет 32 цвета на строку (два цвета из 32 одновременно). Формат цвета: младший полубайт - чернила, старший полубайт - бумага, BRGI.
P.S. Вместо АП5 поставил АП6 и "по справочнику" развел шину данных, до адресов пока не добрался...
Цвет надо защёлкивать в регистре типа ИР23-27, иначе не будет совпадать со знакоместом.
Очень круто получается!
https://i.ibb.co/b5wLyssy/tmp2.png
Вариант реализации (на IC13 и IC14) порта СЕ00 на Радио-86РК. !CS_CRT берется с выв.9 DD11 (ИД7), сигнал !CS_CRT* подается на выв.22 DD8 (ВГ75). Если сделано по данной схеме, то инвертор на транзисторе T1 и резисторах R3 и R10 не нужен: COLOR подается на выв.10 IC11, FONT - на выв.5 IC11.
- - - Добавлено - - -
Подправил
https://i.ibb.co/991Ccw73/tmp1.png
Возможность использовать высокие буквы, или возможность переключать банки ЗГ? Не пойму пока, что важнее... Наверное стоит пожертвовать LC3, но на линию A10 обеих РУ10 завести атрибут GPA0. Для анимации вероятно так полезнее будет.
Поскольку плата уже большая, не имеет смысла экономить на обвязке. Уровни RGBI можно сразу снизить до 0.7-1В (SCART, VGA).
У Виталия работают оба.
https://86rk.ru/emulator/#eyJjb21wIj...RlbW8ucmsifQ==
Непонятно, в чём фишка?
Цвет не атрибутами сделан? Да вроде видно при выводе текста, как цвет до конца строки добивает, значит атрибутами. Ну переключается ЗГ, у меня тоже ПЗУ через атрибут переключается.
Я изначально за то, чтобы атрибуты оставить для работы с текстом. Это очень важно для интерфейсов, а не игрулек. Я писал трекер, как в нём ноты выделить, как обозначить выбор скорости? Да никак! Влажные мечты по поводу выделения текста через цвет фона в ЗГ - лажа полнейшая. В том же музыкальном трекере ноты меняются каждый четвертый кадр, перерисовка фона под ними сожрёт всё процессорное время. А если вы используете буквы нот ещё где-то, то и они перекрасятся. Чтобы разгрузить процессор и придуманы атрибуты. Не надо менять их назначение.
Вот сейчас рождается схема, которая во многих местах по скорости обгоняет Спектрум, а уж по плотности цвета оставляет его далеко позади. Мне уже пофиг даже на размер платы, наконец-то всё будет работать чётко и быстро!
E5/E4 - это LA атрибуты. Значит нужно менять высоту линии подчёркивания постоянно, значит где-то в тексте подчёркивание и перечеркивание уже не будет работать. Чего вы постоянно новые трудности придумываете? Это удобно только для формирования сигнала записи в ЗГ по Аликберову. Очень интересная схема, вот лучше бы её параллельно реализовали. Схема Руслана гиперкрутая за счёт невероятной скорости обновления ЗГ.
Попробуйте написать что-нибудь более сложное, чем вывод разноцветного текста, сами поймёте, что не дураки i8275 разрабатывали. Им просто надо научиться пользоваться, этот контроллер покрывает все потребности РК! А теперь ещё и цвет нормальный будет!
Это атрибуты неиспользуемой псевдографической примочки (рамки Нортона).
https://www.youtube.com/watch?v=LqWOQEpzhDE&t=65
Я и говорю, что работа этой примочки целиком и полностью зависит от заданной настройках ВГ75 высоты линии подчёркивания. Если пользоваться этим атрибутом, придётся ограничивать себя в использовании подчёркивания. Например, невозможно будет перечеркнуть слово посередине, или что-то подобное, уж не знаю, как там у Виталия реализовано.
Я вот в Вашей схеме никак не могу понять как Вы отключаете ПЗУ шрифта во время работы ОЗУ. У меня в пальмире спецом для этого кп11. Причем пытался развести уже ркшку вместе с этой схемой, у меня технически никак не получается всего три кп11.
Посмотрел Ваши наброски схемы с цветом. По сути именно так и хотел, единственно, раз уж не используются целых 2 бита от ЗГ (6 и7) хотел запрячь поработать их. Но в принципе Вы уже как то додумали включение цвета без их участия. Логику еще не продумывал но судя по запараллеленному адресу получается что уникальный цвет будет запрограммирован каждой строке КАЖДОМУ из 128 символов .
Схема реализации вывода цвета пока что не нравится - по мне чего то не хватает, но пока еще досконально не разбирался. Думаю если время позволит то в ближайшем будущем схему можно будет проверить живьем и внедрить в рк как официальную удобную доработку. Стоит отметить, что эту схему очень ждут программисты уже в железе. Да и сам бы не прочь уже чего нибудь на такое написать.
Вот кстати оперативное переключение фонта до 256 (которого очень прям не хватает). Тут нужно кооперироваться с Виталием и официально закреплять доработку переключения фонтов по е4/е5.
- - - Добавлено - - -
Зря. ИМХО атрибуты вообще нужно искоренить и далее упоминать о них как о вреде. Но е5/е4 надо оставить. очень удобно переключать банки фонтов, и Виталий это уже показал. А перечеркнуть слово посередине - даром не нужно учитывая какой муки это будет стоить (или вообще о чем речь не пойму.... какое еще нафиг перечеркивание).
У Виталия цвет сделан атрибутами, поэтому и приходится извращаться т,к. свободных атрибутов нет. В схеме выше, все атрибуты свободны. Для банок фонтов опять же предусмотрены два атрибута общего назначения. Одним всключать программируемый ЗГ, вторым переключать банки. Почему вас так прёт всё сделать наоборот???
Мы этого не знаем. Главное правило программиста и инженера - если работает, не трогай! Жертвовать е5/е4 ради переключения банков - даром не надо. Использовать е5/е4 как сигнал прохождения лучом заранее заданной строки - да, можно пожертвовать подчёркиванием.
По схеме. Я бы ещё сразу во второй ИР27 защёлкивал все атрибуты + HRTC + VRTC. Последние два сигнала опережают вывод символа, что фигово для тех же конвертеров VGA и цветовых кодеров.
ПЗУ отключается очень просто - сигнал /CE_FONT заводится на ПЗУ знакогенератора. Вы неправильно его подключили в Пальмире, вот здесь я описывал подключение данной схемы к РК:
https://zx-pk.ru/threads/20714-pomec...l=1#post713293
"2. Сигнал /CE_FONT с разъема JP4 "DO" подается на выв. /OE DD12 РК (предварительно отрезав от земли"
Как я уже написал, использование старших 2-х бит с ЗГ я пока не доделал, но вот стал вопрос их применения - если их задействовать, то данную схему нельзя будет использовать в версиях РК где вывод сделан на VGA. Поэтому думаю... Больше уже склоняюсь к мысли их не трогать, и так 16 цветов на строку более чем достаточно, у Спектрума на всё знакоместо так и то умудряются красивые картинки рисовать...
Схему реализации вывода цвета специально сделал так - похожа на Спектрум, легче будет конвертировать графику.