Исправления и доработки Pentagon-128/1024 v.1.4
|
|
Black_Cat | Дата: Четверг, 01.10.2015, 14:05 | Сообщение # 1 |
Координатор
Группа: Координаторы
Сообщений: 727
Статус: Offline
| 1. Выход по сбросу в Service ROM.
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
Black_Cat | Дата: Четверг, 02.06.2016, 16:00 | Сообщение # 2 |
Координатор
Группа: Координаторы
Сообщений: 727
Статус: Offline
| 2. Грамотная доработка Pentagon-1024 v.1.4
Pentagon-1024 v.1.x создавался KoE в рамках студенческого курсового проекта, и поэтому не был привязан к мнению спектрумовской сценерской тусовки, и в силу этого внезапно получился весьма оригинальным. Не все решения KoE применил правильно ввиду недостаточной доступности информации в то время, но в целом, использовавшиеся решения вполне отражали существовавшие в то время аппаратные архитектурные тенденции. А после того как KoE передал проект в открытый доступ, он превратился в объект хаотических любительских доработок. В силу возникшей уже тенденции к доработкам Pentagon-1024 v.1.x хочу предложить пример системного взгляда на то как это делать, с обоснованием решений, и схемотехническими примерами. В качестве критерия будет использоваться цельность полученной архитектуры при минимизации доработок.
Менеждер памяти Pentagon-512 имеет ряд принципиальных изъянов, явившихся следствием безграмотного и безответственного подхода при проектировании, растиражированных впоследствии безграмотными в аппаратном развитии любителями. Перавя проблема архитектуры менеджера Pentagon-512 состоит в обращении командой OUT nn, A к D6 #7FFD для переключения страниц в диапазоне 256к. Такое обращение породило программную несовместимость с клонами амстрадовской ветки развития, использовавшими порт #1FFD, а так же привело к несовместимости получившейся архитектуры со старым 128к софтом, разработчики которого не предполагали, что корректное обращение к порту #7FFD через OUT nn, A и OUT BC, A может приводить на безграмотно расширеных клонах к разным результатам. В результате, вместо того что бы отказаться от этого бреда сценерской мысли, его решили "выправить" костылями - прикручиванием выключателя расширенной памяти. Но в своей безграмотности, некоторые особо "одарённые" сценеры на этом не остановились, и решили применить так же OUT nn, A и к D7 #7FFD, исключив для этого из дешифрации A15, что породило программную несовместимость ещё и по портам AY, которую решили устранять ещё одним костылём - введя в дешифрацию AY адрес A13, что сразу же привело к несовместимости с другим сценерским софтом, использовавшим OUT nn, A при обращении к #BFFD, и вполне законно не учитывавшим A13. Но апофеозом сценерской аппаратной безграмотности стало прикручивание программных костылей-отключалок расширенной памяти в Pentagon-1024 v.2.2, чему мы обязаны такому широко известному в узких кругах сценеру как Alone Coder. Естественно, сделано это было в лучших сценерских традициях, т.е. с максимально возможной безграмотностью, и вопреки всем правилам эволюционного развития техники и инженерного проектирования. Т.е. если по правилам эволюционного развития, любое расширение, будь то расширенная память, или режим "Turbo", для совместимости с предыдущим архитектурами должны быть по умолчанию выключены, то в Pentagon-1024 v.2.2 благодаря Alone Coder'у, настоявшему на таком решении, сделано всё с точностью до наоборот.
В отличие от архитектуры менеджера памяти Pentagon-512, менеджер KAY-1024 не имеет ни одной из вышеперечисленных проблем. Проблему "OUT nn, A vs OUT BC, A" в KAY-1024 решена автоматически, добавлением A14 в дешифрацию порта #7FFD. Это позволило при управлении менеджером памяти командой OUT nn, A, автоматически ограничивать доступный объём памяти рамками 128к. А т.к. в сценерстве не существует номинаций конкурсов для компьютеров с ОЗУ более 128к, то и никакого ограничения для сценерского творчества это не несёт. Обращаться же к менеджеру памяти в диапазоне сверх 128к можно командой OUT BC, A. Соответственно, для менеджера памяти KAY-1024 принципиально не нужны никакие костыли-блокировки расширенной памяти, т.к. блокировка осуществляется автоматически самой дешифрацией порта #7FFD, и сознательным отказом от использования D6#7FFD. Поэтому, применив в Pentagon-1024 v.1.x менеджер KAY-1024, KoE весьма оригинально решил все проблемы накопившиеся в архитектуре Пентагона, сохранив при этом сценерской статус компьютера. Именно поэтому, модернизируя Pentagon-1024 v.1.x, мы оставим менеджер памяти KAY-1024, т.к. это вполне обоснованное и грамотное техническое решение KoE, несмотря на кажущуюся его парадоксальность, а изменим только те элементы, в которых KoE в силу недостатка информированности, характерного для того времени, допустил ошибки функционального характера.
Все последующие опциональные доработки базируются на исправленной схеме содержащей обязательные доработки: http://zx.clan.su/forum/11-71-530-16-1466816904 . Поэтому, прежде чем начинать опциональные доработки, необходимо сначала реализовать все обязательные доработки.
1) Исправляем менеджер ОЗУ.
Как мы уже выяснили, менеджеру KAY-1024 принципиально не нужны никакие костыли-блокировки расширенной памяти, поэтому удаляем всё лишнее. Кроме того приведём к современному виду функцию снятия блокировки порта #7FFD разрядом D5. Блокировка будет сниматься в IODOS теневом режиме, при активации на шине сигнала IODOS/. Кроме блокировки D5#7FFD, полученный менеджер ОЗУ будет соответствовать менеджеру ОЗУ компьютера ZXM-Phoenix, с документацией по управлению которым можно ознакомиться здесь: http://zx.clan.su/forum/8-143-1 . Схема доработок представлена на Рис.1:
Продолжение следует.
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
Black_Cat | Дата: Четверг, 09.06.2016, 00:18 | Сообщение # 3 |
Координатор
Группа: Координаторы
Сообщений: 727
Статус: Offline
| 2. Грамотная доработка Pentagon-1024 v.1.4 (продолжение)
2) Расширяем память.
У Pentagon-1024 v.1.x только 1Mb ОЗУ, что по современным меркам как для одной задачи, то вполне достаточно, но хотелось бы иметь небольшой запас на перспективу, поэтому рассмотрим варианты расширения памяти с точки зрения выбранных нами критериев цельности полученной архитектуры и минимизации доработок. Возможно расширение ОЗУ до 2Mb, 4Mb, и более. Для расширения до 4Mb и более, придётся добавлять триггеры, мультиплексоры и логику, что выльется в дикую кучу МГТФа и двухэтажных микросхем, в то время как до 2Mb расширить довольно просто, с малым количеством проводов и без дополнительных корпусов вторым этажом. Тем более, что найти ещё один SIMM 1Mb 30pin многократно проще, нежели например SIMM 4Mb 30pin, которые были в дефиците даже более 20 лет назад, когда был пик их распространённости. Поэтому останавливаемся на расширении до 2Mb, что в качестве "запаса" вполне достаточно. С т.з. монтажа, два разъёма под SIMM'ы установим на доп. платке, которую с помощью штырей припаяем вертикально к материнской плате на место штатного разъёма под SIMM. Если разъём под SIMM у вас уже впаян в материнскую плату, и вы обладаете достаточными навыками чтобы изготовить платку-переходник вставляемую в этот разъём вместо модуля SIMM, то можно и так сделать. Для этого подойдёт даже односторонний ЛУТ, но толщину стеклотекстолита надо подбирать максимально приближённую к толщине SIMM, и лучше большей толщины, чем меньшей, т.к. меньшая толщина будет давать неконтакт. Более толстый текстолит можно будет потом сточить с обратной контактам стороны до нужной толщины. Толстый текстолит вставлять в разъём не рекомендую, т.к. он его раздолбает, и после этого обычный SIMM в нём не будет контачить. Штырь J1 на представленной схеме припаивается непосредственно к ноге микросхемы и понадобится нам в будущем для подключения к нему выкидыша. Сигнал BANK1 берётся со схемы Рис.1. Все соединения МГТФом выполняются исключительно снизу платы, старайтесь никогда не паять провода со стороны микросхем - это не профессионально. Схема доработок представлена на Рис.2, в ней использованы сэкономленные ранее, или незадействованные элементы:
Продолжение следует.
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
Black_Cat | Дата: Суббота, 11.06.2016, 18:04 | Сообщение # 4 |
Координатор
Группа: Координаторы
Сообщений: 727
Статус: Offline
| 2. Грамотная доработка Pentagon-1024 v.1.4 (продолжение)
3) Исправляем менеджер ПЗУ.
При разработке Pentagon-1024 v.1.x KoE ориентировался на KAY-1024, но при этом где-то что-то не до конца понял, а что-то решил несколько усовершенствовать, как например менеджер ПЗУ. В менеджере от KoE, как и в KAY-1024, можно переключаться между страницами ROM0, ROM1 в режиме TR-DOS, и между страницами ROM2, ROM3 в SOS режиме, но только в TR-DOS не с помощью D4#7FFD как в KAY-1024, а с помощью D3#1FFD. Кроме того KoE ввёл режим безусловного включения страницы ROM0 в режиме SOS по D3#1FFD. Задним числом можно сказать, что KoE с таким режимом не открыл Америку, т.к. ещё десятью годами до него такой же режим прикрутили в Scorpion, и заточили под него скорпионовское firmware, правда управлялся этот режим по D1#1FFD. Поэтому, если вводить такой режим в Pentagon-1024 v.1.x, то с эволюционной т.з. гораздо правильней ориентироваться не на ничем не поддержанную отсебятину, а на существовавшие наработки, тем более, если они поддержаны софтом в виде скорпионовского ProfROM. Но, очевидно KoE о таком режиме в Scorpion просто не знал, и поэтому изобретал велосипед. Поэтому переделаем менеджер ПЗУ таким образом, что-бы получить полную совместимость с firmware Scorpion и KAY, и при этом не потерять, а даже расширить функционал управления ПЗУ, за счёт того, что в режимах SOS или TR-DOS можно будет получать доступ к любой из четырёх страниц ROM, что может быть полезно если нехватает места в одной странице. Полученный менеджер ПЗУ будет соответствовать менеджеру ПЗУ компьютера ZXM-Phoenix, с документацией по управлению которым можно ознакомиться здесь: http://zx.clan.su/forum/8-143-1 . Переделанная схема менеджера ПЗУ использует сэкономленные или не использованные элементы, и представлена на Рис.3:
4) Исправляем строчный счётчик.
Эту доработку объединяем с предыдущей, т.к. для реализации их обеих необходим обмен сэкономленными элементами между ними. Выбор обмениваемых элементов DD5.1 и DD76.3 обусловлен их близким расположением. Представленная на Рис.4 доработка устраняет возникающий при турбировании ОЗУ сдвиг фаз сигналов 7, 8, 9. После доработки результирующий коэффициент деления строчного счётчика остаётся неизменным. Схема доработки предложена тов. Northwood и описана здесь: http://forum.tslabs.info/viewtopic.php?p=23746#p23746
Все доработки базируются на исправленной схеме содержащей обязательные доработки: http://zx.clan.su/forum/11-71-530-16-1466816904 .
Продолжение следует.
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
Black_Cat | Дата: Понедельник, 27.06.2016, 04:12 | Сообщение # 5 |
Координатор
Группа: Координаторы
Сообщений: 727
Статус: Offline
| 5) Добавляем третий слот NemoBus.
Для удобной модернизации, на плате имеется макетное поле, которого вполне достаточно для небольших исправлений, но не более. Поэтому для чего-то более серьёзного правильнее будет установить на макетном поле доп. разъём, в который воткнуть макетную плату с ПЛИС, в которой и разместить основные расширения. Для наших целей достаточно будет EPM3128ATC100, которую оформим как устройство в третьем слоте NemoBus, для чего добавим в арбитр захвата адресного диапазона портов ещё один каскад вместо сигнала IORQ/, который перенесём в ПЛИС. Перемычка JP3 позволяет отключать ПЛИС. Прошу обратить внимание на то, почему ПЛИС необходимо ставить именно как последний слот. В этом случае значительно упрощается дешифрация портов на материнской плате, т.к. не нужно включать в дешифрацию дополнительные устройства, которые тем не мене, благодаря IORQGE избегают конфликтов с портами материнской платы, но при этом, для внешних устройств, виртуальный третий слот будет относиться к устройствам материнской платы, для которых допускается самая упрощённая дешифрация, ввиду того, что устройства материнской платы конечные в цепи арбитра захвата адресов.
Все доработки базируются на исправленной схеме содержащей обязательные доработки: http://zx.clan.su/forum/11-71-530-16-1466816904 .
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
Black_Cat | Дата: Среда, 29.06.2016, 08:02 | Сообщение # 6 |
Координатор
Группа: Координаторы
Сообщений: 727
Статус: Offline
| 6) Избавляемся от RS232 мыши.
Используемая в Pentagon-1024 v.1.x RS232 мышь является уже анахронизмом, поэтому её имеет смысл заменить на ещё использующуюся PS/2 мышь. Для этого PIC выбрасываем, меняем кварц и конденсаторы в задающем генераторе, и выкидываем DD67.1 и DD76.5, а в панельку вставляем плату с адаптированным под Pentagon-1024 v.1.x безвейтовым контроллером мыши от Камиля Каримова aka caro. Разъём выкидыша мыши устанавливается прямо на плату контроллера мыши.
Все доработки базируются на исправленной схеме содержащей обязательные доработки: http://zx.clan.su/forum/11-71-530-16-1466816904 .
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
Black_Cat | Дата: Пятница, 01.07.2016, 03:27 | Сообщение # 7 |
Координатор
Группа: Координаторы
Сообщений: 727
Статус: Offline
| 7) Единый теневой режим и чтение порта #7FFD.
Размножение теневых режимов, и стремление спрятать чуть ли не каждое новое устройство в собственный теневой режим было характерно для ранних этапов развития периферийного оборудования отечественных клонов ZX Spectrum, и объяснялось тотальным отсутствием систематизированной информации о дешифрации всевозможных существовавших тогда устройств, а так же отсутствием понимания арбитрирования захвата диапазона портов. В настоящее время всё это есть, и поэтому сейчас неоправданное размножение теневых портов может свидетельствовать только о некомпетентности разработчика. Поэтому избыточный теневой порт для часов, доставшийся нам по наследству от Mr.Gluk, было решено преобразовать в порт для открытия всех теневых портов (в нашем случае портов BDI без переключения ПЗУ). При этом получить доступ к портам BDI стало возможно двумя способами - либо с подключением ПЗУ TR-DOS, либо без. Для реализации этой функции нам понадобится свободный элемент И-НЕ (получаем подменив его на свободный инвертор), вырабатывающий сигнал OS, которым мы заменим сигналы TR-DOS* в дешифраторах портов.
В Pentagon - 1024 v.1.x чтение порта #7FFD KoE ограничил режимом TR-DOS, предполагая очевидно, что чтение #7FFD потребуется только для режима "Magic". Но по хорошему, в режиме "Magic" необходимо считывать состояния всех системных портов: #FE, #1FFD, #7FFD. К тому же нет никакой необходимости в ограничении чтения только режимом TR-DOS. Поэтому для чтения портов #FE, #1FFD, #7FFD используем незанятые адреса #B9FD, #BDFD, #BBFD соответственно, но на дискретной логике реализуем только последний, а остальные вынесем в ПЛИС для экономии корпусов и МГТФ'а. Схема доработок представлена на Рис.7:
Все доработки базируются на исправленной схеме содержащей обязательные доработки: http://zx.clan.su/forum/11-71-530-16-1466816904 .
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
Black_Cat | Дата: Понедельник, 04.07.2016, 19:10 | Сообщение # 8 |
Координатор
Группа: Координаторы
Сообщений: 727
Статус: Offline
| 8) Чтение портов джойстика и принтера по стандарту Scorpion.
Для совместимости с ProfROM Scorpion есть смысл совместить порт джойстика и порт #FF BDI, что позволит читать значение DRQ и INTQ 1818ВГ93 так же из #1F в обычном режиме, а состояние джойстика так же из порта #FF в режиме TR-DOS, для чего объединим дешифрацию этих портов. Для этого нам понадобится доп. элемент И-НЕ DD34.3, который вымениваем на сэкономленный ранее инвертор. Заодно скорпионизируем и чтение BUSY и QUSY, т.к. в Pentagon-1024 v.1.x всё равно реализован урезанный интерфейс LPRINT-III, без родного firmware, ввиду того, что поддерживаемая им периферия уже давно морально устарела, а сам интерфейс до сих порт активно используется только в качестве ковокса. Схема доработок представлена на Рис.8 :
Все доработки базируются на исправленной схеме содержащей обязательные доработки: http://zx.clan.su/forum/11-71-530-16-1466816904 .
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
Black_Cat | Дата: Понедельник, 11.07.2016, 06:10 | Сообщение # 9 |
Координатор
Группа: Координаторы
Сообщений: 727
Статус: Offline
| 9) Пентагоновский INT.
Pentagon-1024 v.1.x базируется на схеме версии 93 года, имеющей INT, оличающийся от схемы 91 года, являющейся сценерским стандартом. Приведём схему к сценерскому стандарту на INT, для чего поднимем его на 16 строк вверх, инвертировав сигнал подаваемый на дифферинцирующую RC цепочку см. Рис.9, и сдвинем по горизонтали изменив начало отсчёта строк в адаптации Northwood'а см. Рис.10. В доработке использованы неиспользованные KoE элементы.
10) Выбор порта #7FFD по команде OUT(#FD),A
На Рис.11 представлена доработка позволяющая в автоматическом режиме корректно исполнять код, использующий для обращения к порту #7FFD команду OUT(#FD),A без учёта A14. Схема описана здесь: http://zx.clan.su/forum/8-66-808-16-1373062339 . Сигнал A14BLK вырабатывается в CPLD блока расширения, подключенного к разъёму на макетном поле.
11) Исправляем Turbo BDI.
На Рис.12 представлена доработка из 14-го Спектрофона, адаптированная Northwood'ом, и исправляющая некорректную работу турбирования 1818ВГ93 контроллера BDI. Доработка требует установки дополнительной микросхемы КР1533ТМ2 на макетном поле материнской платы. На Рис.13 указано рекомендуеое место установки доп. микросхемы.
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
Black_Cat | Дата: Понедельник, 18.07.2016, 00:32 | Сообщение # 10 |
Координатор
Группа: Координаторы
Сообщений: 727
Статус: Offline
| 12) Видеорежим Timex HiColor/BC HiColor (HW Multicolor).
Доработка реализует видеорежимы Timex HiColor и BC HiColor. Эти видеорежимы отличаются между собою только исторически принятыми портами и тем, что в BC HiColor вместо атрибута Flash используется отдельные атрибуты Bright для бумаги и чернил, таким образом позволяя задавать в каждой строке знакоместа независимо один из 15 цветов для бумаги и один из 15 цветов для чернил. Режим HiColor (HW Multicolor) имеет существенное преимущество перед программным эффектом Multicolor тем, что совсем не загружает процессор и работает по всей площади экрана, а BC HiColor к тому же ещё и имеет отдельную яркость для бумаги и чернил. В доработке используются сэкономленные ранее логические элементы. Управляющие сигналы вырабатываются в CPLD. Принципиальная схема представлена на Рис.14 :
Сигнал MC512 активируется в режимах как Timex HiColor, так и BC HiColor, а так же в режимах HiRes, сигнал MC/ активируется только в режиме BC HiColor, а сигнал MCFC/ в режиме BC HiColor, а так же в BC FlashColor. Видеорежим Timex HiColor включается по комбинации D0=0, D1=1, D2=0 записанной в порт #7FFF, имеющий программную совместимость сверху - вниз с портом #FF Timex 2048. Видеорежим BC HiColor включается по D5=1 #EFF7 или #EDF7. Активный сигнал MC512=1 запрещает мультиплексору DD28 переключаться в режим трансляции адресов стандартных атрибутов, а мультиплексор DD31 при адресации чтения атрибута устанавливает адресный разряд памяти A13=1. Сигнал MC/ в активном состоянии (MC/=0) переопределяет назначение старшего разряда байта атрибута ранее отвечавшего за Flash как сигнал яркости цвета бумаги. Этот сигнал неактивен в подрежиме BC FlashColor. Сигнал MCFC/ в активном состоянии (MCFC/=0) блокирует сигнал вибратора мигания знакоместа.
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
Black_Cat | Дата: Пятница, 12.08.2016, 15:40 | Сообщение # 11 |
Координатор
Группа: Координаторы
Сообщений: 727
Статус: Offline
| 13) Видеорежимы HiResolution (512x192).
Доработка реализует видеорежимы 512x192: Timex HiRes, BC HiRes, BC & Timex HiRes. Эти видеорежимы отличаются между собою исторически принятыми адресами портов и способами задания цвета бумаги и чернил для всего экрана. В доработке используются неиспользованные и сэкономленные ранее логические элементы, а так же дополнительные мультиплексоры 1533КП11, 1533КП12, размещаемые на монтажном поле в соответствии с Рис.13, и регистр 1533ИР23, напаиваемый поверх DD38. Мультиплексор DD42 должен быть серии 1533. Кроме того потребуется высвободить половину буфера 1533АП5 DD71.2, который фактически избыточный. Управляющие сигналы вырабатываются в CPLD. Принципиальная схема представлена на Рис.15, всё, что относится к этому видеорежиму отображено голубым.
Видеорежим Timex HiRes.
Видеорежим Timex HiRes включается по комбинации D0=0, D1=1, D2=1 записанной в порт #7FFF, имеющий программную совместимость сверху - вниз с портом #FF Timex 2048. Цвет чернил задаётся для всего экрана разрядами D3-D5 #7FFF, а цвет бумаги получается инверсией:
#7FFF: D5D4D3 512x192 colour: 0 0 0 Black on White 0 0 1 Blue on Yellow 0 1 0 Red on Cyan 0 1 1 Magenta on Green 1 0 0 Green on Magenta 1 0 1 Cyan on Red 1 1 0 Yellow on Blue 1 1 1 White on Black
Видеорежим BC HiRes.
Видеорежим BC HiRes включается по D1=1 #EFF7 или #EDF7. Видеорежим отличается от предложенного VMG, возможностью задавать цвет бумаги для всего экрана разрядами D0-D2 #FE, а цвет чернил получать из цвета бумаги инверсией разряда D2. Кроме того в этом видеорежиме разрядом D5 #FE задаётся режим повышенной яркости для всего экрана и для бордюра, расширяя выбор цветов до 15 из двух яркостных палитр.
#FE: D2D1D0 512x192 colour: 0 0 0 Green on Black 0 0 1 Cyan on Blue 0 1 0 Yellow on Red 0 1 1 White on Magenta 1 0 0 Black on Green 1 0 1 Blue on Cyan 1 1 0 Red on Yellow 1 1 1 Magenta on White
Видеорежим BC & Timex HiRes.
Этот гибридный видеорежим включается одновременной активацией видеорежимов Timex HiRes и BC HiRes . При этом цвет чернил и бумаги задаются независимо друг от друга, соответственно установкой D3-D5 #7FFF и D0-D2 #FE. Кроме того в этом видеорежиме разрядом D5 #FE задаётся режим повышенной яркости для всего экрана и для бордюра, расширяя выбор цветов до 15 из двух яркостных палитр. Видеорежим позволяет наиболее гибко задавать цвета чернил и бумаги, не ограничиваясь фиксированными сочетаниями цветов.
14) Подрежим BC FlashColor.
Подрежим BC FlashColor включается по D6=1 #EFF7 или #EDF7 (этот разряд порта #EFF7 до сих пор не имел устоявшегося назначения). Подрежим BC FlashColor отличается возможностью задавать 15 цветов для пикселей бумаги для всего экрана и бордюра, разрядами D0-D2 и D5 #FE, в отличие от оригинального подрежима FlashColor, где цвет пикселей бумаги фиксированный чёрный. Бит яркости D5 #FE разрешается переводом сигнала BCF в Z - состояние. Возможность задавать 15 цветов для пикселей бумаги позволяет более гибко встраивать подрежим BC FlashColor в спектрумовскую графику. Подрежим BC FlashColor может работать только совместно с любым атрибутным видеорежимом (ZX, Timex HiColor или BC HiColor), модифицируя его, но сам не является самостоятельным видеорежимом, а только подрежимом. Подрежим BC FlashColor включается активным значением бита Flash байта атрибутов, при разрешнии по сигналу FC (Z - состояние). При активации подрежима BC FlashColor, на RGB выходы подаются поочерёдно значения атрибутов для бумаги и чернил с частотой 28МГц, что обеспечивает их интегрирование по времени (усреднение) на паразитных ёмкостях схемы. Скважность сигнала 28МГц выбрана таким образом, что значение атрибута ченил транслируется на RGB выходы ~3/4 времени пиксела, а значение атрибута бумаги ~1/4 времени пиксела, что позволяет формировать до 128 цветов для пикселей чернил. При этом сигнал вибратора мигания знакоместа блокируется сигналом MCFC/ (Рис.14). Управляющие сигналы вырабатываются в CPLD. Принципиальная схема представлена на Рис.15, всё, что относится к этому видеорежиму отображено зелёным.
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
Black_Cat | Дата: Четверг, 23.02.2017, 18:20 | Сообщение # 12 |
Координатор
Группа: Координаторы
Сообщений: 727
Статус: Offline
| 15) Подрежим BC Contour.
Подрежим BC Contour позволяет добавить третий цвет на строку знакоместа без изменения объёма видео ОЗУ, за счёт определённого кодирования байта растра. Подрежим BC Contour включается по D7=1 #EDF7, и может работать только совместно с любым атрибутным видеорежимом (ZX, Timex HiColor или BC HiColor), модифицируя его, но сам не является самостоятельным видеорежимом, а только подрежимом. Кодирование байта растра состоит во внесении в него цепочек из комбинаций трёх битов: 010 или 101. В подрежиме BC Contour каждая из этих комбинаций битов пикселей растра на выходе сдвигового регистра даёт команду на аппаратное замещение среднего пиксела комбинации пикселем третьего цвета. Третий цвет может быть любым из стандартных 15 цветов, и задаётся разрядами D0-D2 и D5 #FE для всего экрана и бордюра. С помощью третьего цвета задаётся контур изображения. Принципиальная схема представлена на Рис.16, всё, что относится к этому видеорежиму отображено оранжевым. Подрежим активируется сигналом BCC/ вырабатываемым в CPLD. В доработке используются дополнительные микросхемы 1533ИД7, 1533ЛА3, а так же незадействованный триггер из 1533ТМ2, размещённые на монтажном поле в соответствии с Рис.13.
Для примера, на рисунке показано преобразование двухцветного спрайта танка в трёхцветный. Слева оригинальный спрайт танка из "Z demo 2" от Andrew771, в центре - преобразованные спрайты для трёх цветов танков как они выглядели бы при отключенном подрежиме BC Contour, и справа - вид преобразованных спрайтов на экране при включенном подрежиме BC Contour.
Добавлено (23.02.2017, 18:20) --------------------------------------------- Подрежим изменён, я решил отказаться от активации по сигналу Flash, т.к. особого смысла в этом нет. В изменённой схеме подрежим работает на всём экране.
P.S. К сожалению этот подрежим требует дополнительной задержки сигнала INFV на сдвиговом регистре, что не имеет смысла реализовывать в рамках классической архитектуры Пентагона. Без дополнительной задержки на сдвиговом регистре приведённая схема некорректно обрабатывает каждый правый пиксель знакоместа. Поэтому такая упрощённая схема применима только в ленинградо-подобных клонах, к которым относятся Scorpion, KAY, ZXM-Phoenix, и т.д.
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
|