здесь есть способ переделки писи клавки в матричную
http://sblive.narod.ru/ZX-Spectrum/M...neKeyboard.htm
здесь есть способ переделки писи клавки в матричную
http://sblive.narod.ru/ZX-Spectrum/M...neKeyboard.htm
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
В качестве флейма хочу рассказать о простой возможности добавлять синхронные текстовые адаптеры в графические компьютеры.
Эта идея особенно ценна для компьютеров в которых число экранных байтов в строке 64, а скорость процессора низка, отчего вывод текста и ролик медленные. Потому наиболее удобно это делается в ОРИОНЕ, т.к там пиксель-клок 10 МГЦ, отчего возможен текстовый режим в 64 символа в строке. В СПЕЦИАЛИСТЕ для этого требуется замена кварца на 10 МГЦ, иначе получится только 48 символов в строке.
Сама идея текстового адаптера за счёт включения ПЗУ фонта перекодирующего экранный байт при его записи в сдвиговый регистр очевидна каждому. Можно получить или 8 строк с высотой знакоместа в 8 линий или 16 строк с высотой в 16 линий растра. Более удобен экран в 16 строк.
Чтобы при всех 16-ти линиях знакоместа считывался один и тот же экранный байт, веса счетчиков V0...V3 подаваемые на ОЗУ во время обращения видеоадаптера обнуляются. При этом, чтобы не нарушилась регенерация ОЗУ требуется изменить веса счётчиков подаваемые на ОЗУ по фронту /RAS (подробности тут).
Схемотехника такого текстового адаптера проста, требуется всего 4 микросхемы и один управляющий бит для включения текстового режима. Однако т.к текстовый экран образован из графического, то экранные адреса знакомест отстоят на 16 ячеек и весь экран размером в 1 кб в ОЗУ занимает целые 16 кб. Это и является главным недостатком в таком синхронном текстовом адаптере.
И всё же оказалось можно эту идею усовершенствовать и небольшой ценой сократить размер экранной области до 1 кб. Чтобы размер текстового экрана сократить до 1 кб требуется перестановка большинства адресов на входе адресного мультиплексора. Это возможно, если навсегда отказаться от графики и перепаять десяток цепей на входе адресных мультиплексоров.
Если же совместимость надо сохранить, то есть ещё 2 решения. Во-первых, можно поставить четыре КП11 и переключать все 14 адресов от счётчиков видеогенератора на входе адресных мультиплексоров. Однако при этом придётся делать разрезы печати и если текстов адаптер делать внешней платой, то это всё усложнит.
Потому лучше использовать параллельное включение мультиплексоров КП12. Это возможно, т.к хотя в качестве мультиплексоров можно ставить КП2, но все грамотные аппаратчики применяют КП12, т.к они имеют более мощные выходы и, главное, переводятся в 3-е состояние. Потому можно без всяких разрезов печати поставить на внешней плате 4 адресных мультиплексора КП12 подав их выходы прямо на входы 565 РУ5. А чтобы КП12 стоящие на основной плате не мешали, в текстовом режиме они переводятся в 3-е состояние сигналом MODE=1.
На плате ЭКСПРЕСС текстовый экран удобно включить на F400...F7FF (тогда в режиме с отключенным ПЗУ для образуются сплошные 61 кб ОЗУ доступные для программ). ПЗУ фонта включается в разрыв 8-ми проводников идущих от экранной защёлки ИР12 к выходному сдвиговому регистру на ИР16. Еще потребуется 4-х разрядная защёлка со сбросом ТМ9 (или ИЕ7 включённая в качестве регистра) для адресов ПЗУ, включаемая параллельно ИР12, в которой синхронно с ИР12 защёлкиваются веса счётчиков V0...V3, обеспечивая 16 линий в знакоместе. Эта ТМ9 формирует адреса A8...A11 для ПЗУ фонта.
Чтобы с'экономить на коммутации видеовыхода в качестве ПЗУ фонта вместо 2732 применим 2764, но в его первую половину (что включается в графическом режиме) прошьём не фонт, а в ячейки 0...FF в каждый байт прошьём адрес этого байта. В обычном графическом режиме ТМ9 сброшена сигналом /MODE=0, на её выходе нули и адреса A8...A11 на ПЗУ нули. ПЗУ прошита так, что при входных адресах 0...0FF работает просто как повторитель сигналов на адресных входах (выглядит, как бы ПЗУ фонта вообще нет), отчего СПЕЦИАЛИСТ выводит свою графику как обычно. А в текстовом режиме на A12 ПЗУ фонта подаётся MODE=1 и работает старшая половина ПЗУ в которой прошит фонт от КОРВЕТА и происходит перекодирование экранного байта в графику текстового символа.
Итого весь расход деталей - четыре КП12, ТМ9 (или ИЕ7) и ПЗУ фонта. Это совсем небольшая плата за то, чтобы получить в СПЕЦИАЛИСТЕ и ОРИОНЕ скоростной текстовый экран, что изначально было мечтой миллионов пользователей. Одновременно это освобождает в компьютере много ОЗУ, что и позволяет использовать CP/M.
Конструктивно это делается в виде монтажа с краю платы ОРИОНА или СПЕЦИАЛИСТА разъёма, куда и втыкается внешняя платка синхронного текстового адаптера. На разъём выводятся адреса CPU, веса счётчиков видеогенератора, адреса A0...A7 ОЗУ и выходы экранной защёлки ИР12 и входы выходного сдвигового регистра ИР16. На основной плате придется сделать 8 разрезов (т.к ПЗУ перекодирующее экранный байт в графику символа включается в разрыв цепей соединяющих ИР12 с ИР16-ми).
Платка текстового адаптера на пяти TTL-микросхемах будет очень маленькой, потому можно разместить на этой плате также расширение ОЗУ СПЕЦИАЛИСТА, включаемое как параллельная банка ОЗУ (также как это в ОРИОНЕ). Тут в качестве ОЗУ удобнее всего использовать w2427/w24512 извлечённые из маток 486-тых PC.
Без замены кварца в СПЕЦИАЛИСТЕ и расширения экрана до 448 или 512 точек по горизонтали эта идея непривлекательна, т.к 48 символов в строке для текстообработки мало.
Я уже нарисовал схему такого адаптера для СПЕЦИАЛИСТА. Теперь надо найти фонт ПЗУ текстового адаптера КОРВЕТА (оно у меня было и использовалось в текстовом адаптере, но не выдержало втыкания в панельку с развором на 180'). Т.е для себя я такой адаптер постараюсь сделать. т.к это одновременно наиболее простым способом даёт CP/M с высоким TPA и позволяет разрабатывать программы на самОй рэтро ЭВМ в редакторе SuperText.
Спасибо за ссылку, но это даже не вариант. Если, как сделать разрез на проводнике напылённом на плёнку ещё можно представить, то чем рисовать новые проводники на плёнке? Это просто первоапрельская шутка.
Гораздо более реален мой вариант переделки клавиатуры PC в матричную, когда матрица PC-клавиатуры без переделки используется в оригинальном виде, а переделывается драйвер.
Сейчас у меня есть несколько ненужных цельноплёночных PC-клавиатур. В них при замыкании сопротивление маленькое. Достаточно, отрезать матрицу от БИС контроллера, подпаять провода к матрице и переписать драйвер клавиатуры в ПЗУ. Хотя в СПЕЦИАЛИСТЕ при этом из-за нехватки числа свободных разрядов в имеющемся ППА клавиатуры (т.к матрица PC имеет больший размер) придётся поставить дополнительный регистр ввода/вывода на 589АП16.
Последний раз редактировалось barsik; 16.02.2018 в 23:25.
В Орионе (который у большинства сейчас с 512кб ОЗУ) можно не ставить дополнительные КП12. Пёс с ними с этими 14кб, которые без пользы пропадут под текстовым экраном (пропадали же они под графическими, остального ОЗУ хватало). Главное что мне нравится - скорость вывода и меньшие объемы при буферизации "подоконного содержимого" в оконном интерфейсе.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Не согласен.
Этих 15-ти килобайт жалко, ведь для ОРИОНА речь идет о банке 0, где и работают все программы ОРИОНА. И, т.к я использую DOS в банке 0, то мне катастрофически не хватает именно тех килобайтов, что расходуются на экран.
А в классическом СПЕЦИАЛИСТЕ всё ещё более трагичнее, т.к там ОЗУ вообще "с гулькин нос". Чтобы там использовать CP/M приходится для получения дополнительного ОЗУ отключать часть ПЗУ, "окрывая" в этом месте ОЗУ. Потому просто глупо ради экономии трёх дешёвых КП12 тратить 15 кб впустую. Да и чтобы использовать текстов адаптер нужен текстов редактор, т.е SuperText, а он не работает, если TPA меньше ~48 кб (сколько допустимый минимум не знаю, но при 51 кб TPA на ОРИОНЕ работает, а при TPA 35 кб на СПЕЦИАЛИСТЕ не работает).
Если 512 кб это значит, что ОЗУ на 565 РУ7. А я вот здесь уже писал, что эта идея на 16 строк работает только при РУ5-тых. При РУ7-мых период регенераци достаточным для РУ7-мых будет только при 32-х строках. А кому нужен такой некачественный шрифт и строки налезающие одна на другую?
Потому для ОРИОНА на РУ7-мых придётся делать более полноценный текстов адаптер, т.е на платке придётся размещать не только ПЗУ и защёлку весов счётчиков V0...V3, но и ОЗУ, мультиплексоры и весь видевыход. Хорошая новость при этом то, что мультиплексоров понадобится всего три (т.к ОЗУ в 1 кб имеет всего 10 адресных входов) и отпадает КП11 на основной плате (тот что обнуляет веса V0...V3 счётчиков на входах адресных мультиплексоров), что хорошо тем, что на основной плате почти нет доработок. А плохая новость в том, что ещё понадобятся экранная защёлка, сдвиговый регистр, буфер ОЗУ и переключатель видевыхода.
Для ручной сборки большее число корпусов - очень неприятно, но если организовать выпуск готовых печ.платок, то немного большее число корпусов вообще не играет роли. Если в качестве экранного ОЗУ использовать две штуки 6514 (это КМОП аналог 541РУ2 организация 1Кx4), то смотрим во что это "выливается" по деталям. Итого, - 2 корпуса 541РУ2 в качестве экранного ОЗУ, три КП12 в качестве адресного мультиплексора, ИЕ7 в качестве регистра со сбросом, ИР23 (ИР82) экранная защёлка, ИР9 - видеорегистр, КП11 - переключатель видеовыхода, буфер АП6 и 2764 для фонта.
В итоге, деталей самого текстового адаптера всё-равно получается не так уж много, - 10 или 11 корпусов (считая и ПЗУ). Ещё понадобится 1-2 корпуса логики, чтобы формировать запрет буфера 580ВА86 при обращении в адреса B0:EC00...EFFF, где будет стоять экранное ОЗУ текстового адаптера. Это удобно для программ в банке 0 и даёт 59 кб сплошного ОЗУ.
Для ручной сборки это слишком много деталей, потому синхронный текстов адаптер стОит делать только при РУ5-тых, используя под текстовый экран основное ОЗУ, что обходится всего в 3 доп.корпуса при экране в 16К и в 5-7 корпусов при экране в 1 кб. Интересно, что на СПЕЦИАЛИСТЕ в качестве защёлки V0...V3 вместо ИЕ7 удобно задействовать второэтажную защёлку ИР12 из схемы цвета, т.к в ней под цвет задействовано только 3 бита, а 5 остальных битов свободны.
Потому для имеющейся у меня платы ЭКСПРЕСС на РУ7 делать текстов адаптер с внешним ОЗУ нет смысла, это слишком сложно. Остаётся только ориентироваться на платы ЭКСПРЕСС с 2-мя банками РУ5-тых (напаянными в 2 этажа) и текстовым адаптером на 5 корпусах.
Но не уверен, что даже простой текстов адаптер будет встречен с восторгом, т.е хоть кто-то его повторит. Мне самому это тоже пока не надо. У меня другая идея-бзик.
Последний раз редактировалось barsik; 28.03.2018 в 03:46.
Мне нужен.Необходим и достаточен. С чего вдруг он некачественный? На спектруме на символ в матрице знакоместа 8х8 никто не жаловался (я и сам успел Спек попользовать). Я допускаю, что кому-то удобно 16 символов в строке, но мне это дико мало. Я сейчас когда сажусь за CP/M-овский терминал с его 80х25 мне дико не хватает строк. Возьмите обычный современный VGA-моник (дюймов в 19-21 диагональю) и выведите текст в 80х25 - он смотрится рыхло и аршинными символами. В линуксе я использую окно на 40-50 строк. Да что там, сейчас на Винде с которой пишу вот посчитал прямо в этом окне форума - у меня 40 строк разнообразного шрифта, и это при том что монитор широкоформатный (т.е. узкий 16:9), в формате 4:3 этих строк было бы больше для субъективно равномерного заполнения экрана текстом. Превращать экран в транспарант с аршинным текстом и при том не иметь возможности нормально ни dir с большим количеством файлов посмотреть (символов мало и они унеслись за экран), ни вывод каких-то других команд (я же не Ордос пользуюсь где программа с пользователем не общаетcя, а CP/M и UNIX где вывалить на экран простынь - в порядке вещей), а отскроллить что уехало - увы никак.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)