В таблице приведены коды клавиш матрицы 8*8, а спец клавиши стоят вне основного поля. УС и СС это модификаторы кодов нажатых клавиш. А именно, клавиша УС (Control на вражеском языке) сбрасывает бит 40H, а СС (на вражеском языке SHIFT) устанавливает бит 20H (точнее делает XOR 20H). А клавиша РУСЛАТ по F81B выдаёт код FE, а в F803 просто меняет байт RUSLAT (кажется 7606). Клавиша РУСЛАТ в 8-ми битовой кодировке (т.е при КОИ-8) должна называться CAPS LOCK (так она и используется на ОРИОНЕ в CP/M драйверах)Сообщение от jerri
Думаю, что это для отладки. Чтобы радиолюбитель мог осцилографом проконтролировать формирование сигналов /RAS /CAS для РУ3-тьих.Код:. LD A,(0) LD (0),A
Это надо спрашивать у авторов РК86: Попова, Горшкова и Зелёнко. Макрокоманда .xcall - это цепочка команд заменяет CALL тогда, когда нет ОЗУ (отчего нельзя использовать стек). Точка в макрокомандах в M80 не обязательна, а мнемоники пишу большими буквами, чтобы не портить зрение, а все служебные слова пишу маленькими буквами для отличия. Некоторые делают наоборот, но это глупо (т.к зрение одно и большие буквы различаются лучше, - например, легко перепутать l и 1).Сообщение от jerri
Но это не лучшая идея получения подпрограмм в программах без ОЗУ. Я в своих тестах СПЕЦИАЛИСТА и ОРИОНА делал так. Тестирую микросхему ППА, которая стоит в области памяти, и если исправна, ставлю стек на её адрес. Таким образом я получаю стек глубиной в 1 и ещё одну служебную ячейку. А с помощью всего одной служебной ячейки тоже можно делать тесты ОЗУ с подпрограммами. И даже совсем без ячеек ОЗУ можно. Тогда составляется таблица адресов возвратов и в одном из регистров подпрограмме передаётся вектор. Все подпрограммы после отработки уходят на п/п-мму @RET, где по вектору из таблицы извлекается адрес возврата. Итого имеем 256 вызовов подпрограмм не имея стека.
А вообще-то в РК86 применена лобовая идиотическая идея сканирования матрицы. Так делают только тупые профессионалы, всё делающие по учебникам. А любители делают лучше. Вот в СПЕЦИАЛИСТЕ клавиатуру делал любитель. Там нет никаких идиотических диодов. Выкидываем 0 по горизонтали, читаем по вертикали. Затем перепрограммируем ППА и выкидываем 0 по вертикали, а читаем по горизонтали. Из двух байтов получаем адрес в таблице размещения клавиш. Это в 10 раз быстрее и, т.к таблица, легко перемещать и менять коды клавиш, как угодно.
Есть доп.ППА. Через него можно подключить любое устройство, не только принтер. Контактный джойстик подключается параллельно курсорным клавишам. Мышь от БК-010 цеплялась к ОРИОНУ через ППА, так что и к РК86 её можно применить (мышь от БК даёт готовый байт сигналов, а не передаёт их по последовательному интефейсу). Мышь от PC подключить в 100 раз сложнее, но ведь её подключили к ОРИОНУ, так что можно заимствовать, Только зачем Вам мышь, если экран текстовый? А световое перо существенно облегчает рисование лабиринтов псевдографикой 128*60.Сообщение от jerri
Насчёт 29-ти микросхем, это конечно глупость. Надо было 30 микросхем. Во-первых, круглая цифра. А во-вторых 30-я микросхема позволила бы иметь ССИ аппаратно, избавившись от необходимости делать бордюр слева и справа программно. Что позволило бы произвольно менять формат экрана по горизонтали. Например, сделать экран 32*24 и адаптировать программы от ZX80, а также тогда не надо было бы в графическом режиме переносить разбухший экран ниже 7500.
А если бы микросхем поставили 31-у, то были бы ССИ, КСИ и бордюр - аппаратными, отчего экран бы сократился на треть, увеличилось бы разрешение псевдографики по вертикали, а быстродействие возросло бы на 10%. Можно было бы запрограммировать ВГ75 в любые режимы, с любой матрицей экрана. Хотя число строк сильно сокращать нельзя, иначе нарушится регенерация ОЗУ.
Интересно, можно ли, имея КСИ, ССИ и бордюр аппаратными, заставить РК86 выводить на VGA?
Частота строк сейчас 15.625, для VGA надо 31.50 КГЦ. Даже не меняя такт ВГ75, сократив разрешение вдвое до 32*24, мы удвоим частоту строк, а частоту кадров программно поднимем до 70 Гц. Тогда сигнал будет пригоден для VGA монитора.
Получается, что заменив такт 8 МГЦ на ВГ75 на 16 МГЦ, т.е лишь убрав один каскад деления в счётчике ИЕ4 на плате РК86, можно получить сигнал для монитора VGA. Расход деталей: два TTL-корпуса на формирование ССИ и КСИ.
Получается, что РК86 это единственный самодельный компьютер пригодный для VGA монитора. Это ценное открытие для тех, у кого РК86 доработан до цвета. Так как у многих фанатов РК86 нет цветного CGA, только монохром. Зато у всех есть цветной VGA.




Ответить с цитированием