Нужен выбор. Неотключаемое ПЗУ с любой программой занимает адресное пространство. Все можно грузить с ROM- диска, выбрав в меню соответствующий пункт.
- - - Добавлено - - -
Для большей скорости загрузки можно использовать тумблер ROM-DISK / магнитофон. Тогда загрузка будет автоматическая после сброса.
- - - Добавлено - - -
Ещё лучше 4 тумблера. Тогда в двоичном коде можно настроить номер программы для загрузки.
Последний раз редактировалось zx-kit; 30.04.2020 в 09:10.
"L-256"
Надо разработать домашний радиолюбительский компьютер уровня Радио-86РК, Специалист, Орион, Ленинград, ЮТ-88, БК, ПК8002 Эльф, Atari, Commodore 64 и т.п.
Нужно простое подключение к монитору. Я выбрал для радиолюбительского компьютера "R-STAR" развертку VGA 640*480@60Hz.
Сначала разработаем символьный режим. Символы будем загружать в память символов в формате 16*16 точек по 4 бита на точку. При выводе на монитор предусмотрим обрезку ширины и высоты символов до нужных значений:
640/16 = 40, 640/10 = 64, 640/8 = 80 символов в строке.
Экранная область будет размером 256*256 символов. На каждый символ по 16 бит. 8 бит = номер символа, 2 бита = номер банка, 6 бит = номер палитры. Номер символа в экранную область будем записывать из микропроцессора, а номер банка и палитры из соответствующих регистров.
С помощью палитры 4->15 бит будем выбирать цвет символа, фона, делать утолщение, тень, обводку, подчеркивание, инверсию символов.
Так как вся экранная область не влезет на экран монитора, надо будет указать номер строки и столбца левого верхнего символа, а также номер строки и столбца в точках этого символа.
To be continued...
"L-256"
Раньшe я думал иначе, но теперь - согласен: Всякие ВВ55 - на платах расширения.И сделать экран не по фиксированному адресу. Пусть тот же экран ZX проецируется с любого адреса. Цена вопроса - один регистр.
А геометрию экрана пусть определяет три двухпозиционные JP-перемычки, переставляя биты адреса: Для радиолюбителя нужен линейный экран.
Загрузчик - в теневом ПЗУ, активируемом отдельной, аварийной кнопкой Сброса.
Те же РУ5 - 64 Кб: Ничего не мешает загрузчиком писать в адреса 0000…3FFF любые данные, а потом защитить их от перезаписи.
Причём, тем же регистром ИР1 хранить режим защиты от записи:Тем самым, маской «1011» можно защитить области «0000…0FFF», «1000…1FFF», «4000…4FFF», «5000…5FFF».
- ???1 - регион 0000…0FFF (защита по A11)
- ??11 - регион 0000…1FFF (защита по A12)
- ?111 - регион 0000…3FFF (защита по A13)
- 1111 - регион 0000…7FFF (защита по A14)
Вопрос спорный…
Но можно на младший байт адреса повесить нормальный дешифратор, а старший байт использовать опционально.
Давно пора!
Делал уже джойстик от Денди к Спектруму, где через диоды «Start» нажимал одновременно «влево+вправо», а «Select» - «вверх+вниз». И отдельно два провода к клавише «Пробел».
Логика: «Pause» и «Select» используются довольно редко в геймплее. Инженеры NES допустили ошибку, выделив им отдельные биты. Можно было уже в первых приставках сделать кнопки «A», «B», «C» и «D», а «Select» и «Start» диодами повесить на крестовину, так как эти кнопки нажимаются, когда крестовина уже отпущена, а на крестовине зажать одновременно «вверх+вниз» или «влево+вправо» механически сложнее.
Скажу больше: На джойстике с рукояткой отклонить ручку в два взаимно исключающие направления - нереально. Вот там диодами можно добавить ещё две кнопки опций (смена оружия / пауза). Можно и три добавить, если «пауза» - это «вверх+вниз+влево+вправо».
Естественно, программа должна знать эти комбинации.
Последний раз редактировалось Радио-86РК; 01.05.2020 в 12:51.
Если сделать символьный экран, то можно запустить монитор Радио-86РК или того компьютера, с которого его адаптировали.
Вспоминаю, что для вывода на экран надо было подготовить последовательность байтов типа 1B, 59, номер строки, номер позиции...
Нужно доработать эту подпрограмму под новое железо. Тогда могут заработать программы, которые выводили текст через подпрограммы монитора.
Последний раз редактировалось zx-kit; 01.05.2020 в 19:54.
"L-256"
Для печати на символьном экране нужны следующие порты:
номер строки символов
номер колонки символов
номер банка символа
номер палитры символа
номер символа
Для упрощения печати строк при записи в порт номера символа автоматически записываются в память экрана текущие номер банка и номер палитры, а затем увеличивается номер колонки.
Настройки символьного экрана:
высота символа
ширина символа
начальная строка символов
начальная строка в символе
начальная колонка символов
начальная колонка в символе
младший байт цвета фона
старший байт цвета фона
Последний раз редактировалось zx-kit; 02.05.2020 в 15:17.
"L-256"
Я решил увеличить максимальное количество возможных символов и цветов. В памяти символов будет по три байта на символ:
1 байт - номер палитры
1 байт - номер банка
1 байт - номер символа
"L-256"
Поздравляю всех с Днём Радио!
В моей жизни многое было связано со словом "радио". После восьмого класса я учился в радиотехническом техникуме. Конечно я спаял и детекторный радиоприемник, и супергетеродинный. Но больше всего мне нравилась цифровая схемотехника.
На первом курсе, пока были общеобразовательные предметы, я сам стал изучать цифровые микросхемы по журналу "Радио" в библиотеке техникума. Потом сам выписывал этот журнал. Интересного для меня там было несколько листов из всего журнала, но спасибо, что было.
Там прочитал цикл статей про радиолюбительский компьютер "Радио-86РК". Он, по сравнению с ZX Spectrum, конечно, имел скромные возможности, но это был первый компьютер, который я собрал.
В нем было много недостатков, связанных с устаревшим микропроцессором, решением сделать вывод на телевизор с помощью ПДП на труднодоставаемых в некоторых городах БИС ВГ75, экономия на дешифраторах, внесение портов в адресное пространство, экономия на портах для вывода звука, использование для подключения клавиатуры ИК55, сложный блок питания на три напряжения, низкая частота процессора и т.д.
Короче говоря, хорошего в схеме было мало, но оно было. Все равно, большое спасибо за компьютер "Радио-86РК" авторам и журналу "Радио". Конечно, в те времена лучше сделать было трудно.
Это был уже второй их компьютер в журнале "Радио". Было описание работы микропроцессора и всего компьютера. Потом были дампы системных программ, ROM-диск, цикл статей о модульном программировании на ассемблере. Все это помогло освоить микропроцессорную технику мне и многим радиолюбителям. Я до сих пор храню тот журнал со схемой. Также у меня осталась коричневая книжка по компьютеру, которую потом написали авторы.
Больше всего мне в "Радио-86РК" нравилось символьный экран на 64 символа в строке, клавиатура с русскими буквами и курсором, ПЗУ Монитор с стандартными точками входа, возможность загружать программы с ROM-диска.
Оказалось, что Монитор авторы не сами придумали, а взяли из иностранного журнала. А я то думал... Жалко, что развеялась ещё одна легенда. Зато универсальный Монитор позволял адаптировать готовые программы с других компьютеров. Это ускорило появление Бейсика, ассемблера и других программ для "Радио-86РК".
Это также позволило потом сделать другие компьютеры на основе этого Монитора с сохранением совместимости части программ. Точки входа можно было оставить стандартными, а сами подпрограммы в Мониторе можно было адаптировать под другое железо.
У меня появилась идея сделать к концу 2020 года свой радиолюбительский компьютер, аналогичный, а может быть и лучший, без старых недостатков. Хочу оставить символьный экран, подключить PS/2 клавиатуру с русскими буквами и доработать Монитор под новое железо. Тогда часть программ будет работать как на "Радио-86РК".
Знакогенератор сделать цветной загружаемый по 4 бита на точку и с палитрой на весь символ. Вывод сразу на монитор VGA. Потом посмотрим, что добавить ещё.
Последний раз редактировалось zx-kit; 07.05.2020 в 23:48.
"L-256"
Oleg N. Cher (08.05.2020), Радио-86РК (09.05.2020)
Если бы я тогда знал то, что знаю сейчас, я бы так спроектировал компьютер с графикой.
Два блока РУ5 по 8 штук или 4х4.
64К - основное ОЗУ.
64К - графическое ОЗУ.
Возможность отключения ПЗУ и экранов из адресного пространства.
Два переключаемых экрана с адреса 0 - теневой и отображаемый.
Разрешение статического экрана 256 * 256 точек.
Разрешение экрана с аппаратным скроллингом 240 * 240 точек.
Линейная адресация байтов.
По 4 бита на точку с независимой записью точек.
В теневой экран только запись по восемь точек текущим цветом с учётом прозрачного.
Палитра 4->15 бит на статике.
Последний раз редактировалось zx-kit; 10.05.2020 в 15:33.
"L-256"
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)