Ссылочку дадите?
Вид для печати
kovdry, раз поставил R5, то укажи, что знокогенератор располагается в старшей половине РФ5.
---------- Post added at 09:38 ---------- Previous post was at 09:27 ----------
Это как я понимаю подготовка к расширению?
Да, действительно. Забыл указать насчет знакогенератора:
Поскольку вместо РФ1 в знакогенераторе используется РФ2 или РФ5, то его обьем увеличен в два раза. Значит у нас есть возможность использовать две копии знакогенератора. Я подключил старший разряд адреса А10 через резистор 10 кОм к +5В, следовательно использую второй знакогенератор с адресами ПЗУ 0300H - 07FFH. Если хотите использовать первую копию, то поставьте джампер или выключатель между А10 (вывод 19 DD12) и корпусом.
Зачем может понадобится второй знакогенератор? Можно придумать другую гарнитуру, хотя с матрицей 6х8 особо не разыграешься. Можно вместо больших английских букв поставить маленькие русские, и набирать тексты.
Я например так делал в 1992 году, подключив к РК принтер. Писал письма на РК и печатал их на принтере. Получалось неплохо. Знакогенератор переключался вручную, переключателем на задней стенке корпуса РК.
Пока я закатал в ПЗУ две одинаковые копии знакогенератора.
Тогда уж сделать джампер между A10 и INTE. Будет можно адаптировать часть программ для Апогея, что не сложно.
Тогда звук никуда.
На компьтере Апогей БК01 с помощью INTE сделано переключение знакогенератора (для псевдоготического видео режима 192x104). А звук там выводится через КР580ВИ53.
Вообще у Апогея 2 несовместимости с РК86:
1) Адрес микросхем ВГ75, ВТ57 и видеопамяти. Это легко исправляется в коде программы.
2) 52 Кб ОЗУ. Но если программа не будет использовать память между 32-ым и 52-ым Кб, то проблем не будет.
---------- Post added at 09:57 ---------- Previous post was at 09:49 ----------
Это игры для Апогея использующие альтернативный знакогенератор:
1 слева) Цветная графика 192x104
1 справа) Графика 384x208. Цвета почти нет.
2 слева) Цветная графика 384x208
2 справа) Цветная графика 192x104
3 слева) Цветная графика 192x104
3 справа) Цветной текст 64x25
Возможности РК86
4 слева) Текст 64x25
4 справа) Графика 128x104.
5 слева) Текст 64x25
5 справа) Текст 64x25
http://i024.radikal.ru/1112/0b/c15d04ff4563.png
vinxru, а в Апогее знакогенератор загружаемый?
Вы не поняли, обьясните что происходит на экране, как происходит синхронизация и т.п.
Так как нет синхронизатора к развертке (ни датчиков, ни прерываний), то динамическое переключение практически не возможно. Стало быть включают перед запуском программы, выключают после завершения.
Т.е. в игре отключаются часть ненужных символов и подключается навороченная псевдографика.
Понятно.
Думаю, я так делать не буду, потому, что к INTE у меня подключен звук, и прогаммы, которые выводят звук будут бить эту систему. Проще тогда уже переключателем щелкнуть.
Синхронизация по кадровому импульсу есть. Но к знакогенератору это не относится.
Новый знакогенератор включается при старте программы, а выключается при перезагрузке компьютера.
---------- Post added at 14:31 ---------- Previous post was at 14:27 ----------
Регистра статуса
0 IE IR LP IC VE DU FO
IE (Interrupt Enable) — устанавливается и сбрасывается после команд разрешения и запрета прерываний. Также устанавливается после команды разрешения отображения и сбрасывается после команды сброс.
IR (Interrupt Request) — этот флаг устанавливается в начале последней строки на экране при условии, что установлен флаг разрешения прерывания. Сбрасывается после чтения регистра статуса.
LP — этот флаг устанавливается, если на входе светового пера присутствует активный уровень и загружен регистр светового пера. Сбрасывается после чтения регистра статуса.
IC (Improper Command) — этот флаг устанавливается, если количество параметров для команды велико или мало. Сбрасывается после чтения регистра статуса.
VE (Video Enable) — этот флаг показывает, что видеооперации с экраном разрешены. Устанавливается после команды разрешения отображения и сбрасывается после команды сброс.
DU (DMA Underrun) — этот флаг устанавливается при потере данных во время процесса ПДП. В этом случае процесс ПДП прерывается и экран затемняется после кадрового синхроимпульса. Сбрасывается после чтения регистра статуса.
FO (FIFO Overrun) — этот флаг устанавливается при переполнении буфера FIFO. Сбрасывается после чтения регистра статуса.
Хм, не подумал про флажки ВГ75. Все равно, динамически поюзать не особо получится, разве что тайминги демки выверить.
И все таки vinxru, как вы при помощи флагов ВГ75 собираетесь управлять ножкой А10 ПЗУ знакогенератора?
Я не собираюсь этого делать. Я просто написал что синхронизация по кадрам есть у ВГ75.
А по поводу A10, добавьте тумблер переключающий INTE на звук, либо INTE на ПЗУ. Это не сложно, но зато расширяет возможности компа.
Конечно можно переключать знакогенератор вручную, но зачем, если есть стандарт.
Еще бы дешифратор адресов устройств в ПЗУ зашить и тогда можно обеспечить совместимость с любым клоном РК86.
P.S. Я демку во первых забыл написать на этих выходных. Сел заниматься какой то фигнёй. А во вторых проблемы были, которые отняли почти все время.
3ГДШ-1 детектед! Но 2ГД-40 лучше, мое авторитетное мнение. ;) Дешифратор адресов не в ПЗУ надо делать, а в CPLD или более дешевый PAL/GAL. И джамперами (может и портом программно) переключать карту.
Это значит добавить в изделие еще одну технологию и усложнить сборку.
По моей схеме используется 2 технологии:
- мелкая логика (рассыпуха)
- микроконтроллер AVR (ATMega32)
Я уверен, что многих в моей конструкции отпугивает наличие атмеловского жука и этот загадочный AVR ISP разьем. Этож надо еще и программатор какой то клипать.
А тут еще и PAL/GAL, и еще к ней программатор.
Получается нужно сначала схему спаять (полтора десятка жуков), потом прошить РФки, потом прошить АТМегу, а потом еще и ГАЛку?
Насчет дешифратора адреса:
Мое мнение, адресацию перекраивать нельзя. Это нарушает главный принцип компьютерной техники - унификацию.
Сколько кто из нас написал программ для ПК? Кто 1, кто 2, кто ни одной. А пользуется каждый из нас тысячами программ.
Если бы мы сами писали программы для наших ПК, то, думаю, за всю жизнь большинство из нас дальше BIOS не дошли бы.
А если вы создаете свой клон компьютера, со своей адресацией, следовательно вам нужно написать все программы для него. Можно, конечно, адаптировать существующие, но здесь трудоемкость не меньше чем при написании новой программы.
Посмотрите на этот проект:
http://zx.pk.ru/showthread.php?t=13148
Нужно отдать должное Rokl за великолепную схемотехнику.
Человек сам спроектировал схему, переделал Монитор, адаптировал ORDOS.
А что дальше? Программ то нет! Программы для Ориона используют графику, а тут ее нет. Проделана такая большая работа, а проект не завершен еще и на половину.
Таким компьютером должен заниматься не один а несколько десятков человек.
Но кто за это возьмется? Много ли людей повторило эту великолепную конструкцию.
Оригинальный РК не стоит и десятой доли описываемой выше конструкции от Rokl. Но для него написано много программ.
Еще есть мысль по поводу подключения к РК различных устройств: программаторов, принтеров, дисководов и т.д.
Включать все эти устройства в адресное пространство РК не рационально. РК задуман как настольный ПК с законченной архитектурой. Это не Микро-80. В РК не возможно бесконечно добавлять блоки. Получится какой то кроко-кот.
Почему бы не подключать устройства как периферийные, через ППА D14? Конечно, работать будет медленнее, с количеством сильно не размахнешся, но за то РК всегда остается таковым. Программатор не нужен, отключил, положил на полку. И не нужно обьяснять знакомым зачем тут эти панельки.
Графика в Апогее обеспечивается альтернативным знакогенератором, который переключается по INTE.
Поддержку цвета делать не обязательно. Программы будут запускаться без неё.
(И кстати, в журнале Радио была описана цветная доработка Радио 86РК. То есть цвет был не только на Апогее)
Без ВИ53 программы будут работать. Но только без звука. И там такой звук, что его не жалко.
(И никто не мешает в будущем впаять ВИ53.)
vinxru, видите, вы подбиваете сделать из моего клона открытую архитектуру. Т.е. не законченную, в которой максимальные возможности заложены в модификации.
Я ратую за другой подход, за создание устройства со свойствами, заложенными на момент проектирования.
Выражу еще несколько мыслей в защиту моего подхода:
По моему все основные функциональные блоки нужно заложить на этапе проектирования. Если хотите поменять или добавить блок, то нужно возвращаться снова на этап проектирования. Это значит все начать сначала.
Но вы скажете: а почему бы нам сразу не заложить все блоки из всех указанных компьютеров на этапе проектирования, попытаться как то их увязать и больше не возвращаться на этап проектирования? Верно, но тогда нам нужно изучить работу всех этих компов все нюансы и особенности, согласовать, от чего то отказаться...
Это чудовищная работа. Такая даже КБ не под силу. Что говорить про любителя одиночку, проектирующего из собственного интереса.
Вы скажете: А чем мы, форумчане, не КБ. Тут наберется десяток грамотных специалистов.
А кто будет ими управлять? Мы тут совместно концепцию выработать не можем, куда там разработка!
Как же быть?
Предлагаю путь более длинный, но и более верный: Разрабатываем по сходной технологии клоны всех похожих на РК компьютеров (или по желанию). Потом обобщаем опыт, берем все самое лучшее, находим трансформируемые узлы и создаем единый проект. Отдельные клоны могут разрабатывать разные люди, а единый проект обязательно один.
Тут же наклевывается и модификация с видеовыходом на VGA монитор.
Насчет дешифрации адреса на ПЗУ: Это должна быть быстродействующая ПЗУ. Время выборки <0,5 такта процессора <200нс, иначе периферия выбраться не успеет.
ППЗУ типа РТшек справляется. ;) Я на РТ4 много чего переделал.
Дак, отличия этих компьютеров только в адресах ВТ57, ВГ75 и ВВ55 в адресном пространстве. Ну еще в знакогенераторе, наличии ВИ53 и цвете, что уже не так критично.
И случилось это только из за глупого распределения адресного пространства в РК86. В все контроллеры размещены сразу после 32-ого килобайта. Когда было лишь 32 Кб ОЗУ, этого не сильно мешало.
Но что бы добавить в компьютер максимум ОЗУ (52 или 64 Кб), пришлось изменить адреса всех контроллеров
В РК-86
8000h - 9FFFh Контроллер клавиатуры (КР580ВВ55)
A000h - BFFFh Универсальный параллельный порт (КР580ВВ55)
С000h - DFFFh Видеоконтроллер (КР580ВГ75)
E000h - FFFFh Контроллер ПДП (КР580ВТ57)
В Апогее
EС00h - EСFFh Генератор звука (КР580ВИ53)
ED00h - EDFFh Контроллер клавиатуры (КР580ВВ55)
EE00h - EEFFh Универсальный параллельный порт (КР580ВВ55)
EF00h - EFFFh Видеоконтроллер (КР580ВГ75)
F000h - F7FFh Контроллер ПДП (КР580ВТ57)
Микроша
C000h-C7FFh - Контроллер клавиатуры (КР580ВВ55)
C800h-CFFFh - Универсальный параллельный порт (КР580ВВ55)
D000h-D7FFh - Видеоконтроллер (КР580ВГ75)
D800h-DFFFh - Генератор звука (КР580ВИ53)
F800h-FFFFh - Контроллер ПДП (КР580ВТ57)
Конфигурации всех компьютеров детально и понятно описаны к конфигурационных файлах для эмулятора b2m.
---------- Post added at 15:13 ---------- Previous post was at 14:54 ----------
Но делай как хочешь, я не настаиваю.
Собрал детали для опытного образца на макетке.
Макетка 10х15см отверстия с шагом 0,1 дюйм. Двухсторонние площадки с метализацией.
Сначала расставлю жуков. Потом разведу им питание.
На каждый корпус по блокировочному конденсатору 0,1 мкФ.
А дальше сплошной МГТФ.:)
Микросхемы все поместятся, я проверял. А резисторы с конденсаторами отчасти будут для проверхностного монтажа, и паяться будут со стороны МГТФа.
Индикатор ЖКИ будет на стойках на своей платке, там же, наверное, будут и кнопки.
Если руки дойдут до импульсного стабилизатора, то он тоже будет на отдельной платке.
Добавил в первом посте расчет потребления ИМС по питанию.
По +5В получается аж 1,2 А !
Странно, в оригинальном РК забито 0,8 А.
Должно быть меньше, с учетом того, что половина микросхем не используется.
Похоже мои расчетные данные несколько завышены.
По +12В ~100мА.
По -5В вообще мелочь ~1мА.
Не так быстро!
Это только расчет.
Позвольте с вами не согласиться. Как раз унификация не страдает, если рационально изменить адреса контроллеров. От этого компик только выигрывает. Если перейти на аналогию РС, то смена адресов контроллеров, это как выпуск очередной платы для РС очередного производителя. У каждого производителя материнских плат адреса контроллеров абсолютно разные. Просто все производители придерживаются стандартной таблицы переходов на подпрограммы биоса и потому программы на разных материнках заводятся одинаково. Так же и с РК подобными компиками. Если производитель или допустим я придерживался стандартной таблицы входов на подпрограммы монитора, то всё,корректно написаное ПО для РК, работает и у меня. Т.е. на моем компике работают все прикладные программы от РК без адаптации к адресам контроллеров: (BASIC,ASSEMB,DISSASSEM,DEBUG,Редакторы текстов,Генератор экранов BEST,DUMPCOR, и корректные по отношению к таблице переходов игрушки, например, КЛАД,РАСМАН,крестики нолики и т.д.). Так что смена адресов контроллеров не только желательна, но и необходима у клонов РК, если предусматривать функциональное расширение компика.
РК подобному компику просто необходим RAM/ROM диск, для этого достаточно разбить адресное пространство ППА14 на более мелкие куски что ды добавить ещё контроллеров. Почему электронный диск, а не контроллер флопа? Вопервых ПО для РК не так уж и много и вполне хватит пара-тройка ПЗУ 27С4001 на пол мегабайта каждая. И ещё, что бы уйти от дискет, как самого ненадежного элемента в системе. Для управления электронным диском желательна операционная система. Тут и пригодится ORDOS...(по желанию можно сваять что то своё ни с чем не совместимое). А программаторы на PKшных компиках уже не актуальны, т.к. без RAM/ROM диска им больше 16к ПЗУ не осилить.
Вот как то так.
Так и в чем это противоречит моим словам? Что, программа к конкретному контроллеру обращается? или все таки к стандартному порту DOSа и проца?
Просто таблица копирует порты старых процов на физичемком уровне, а железо то другое уже на материнках. Суть та же.
Обратилась программа к DOS по стандартному порту, DOS к физическому порту проца, а дальше уже биос с железом и процом работает и по каким физическим адресам фактически расположен конкретный контроллер после инициализации и конфигурации материнской платы только биосу известно, а DOSу и программе по барабану, главное есть стандартный порт проца и стандартный порт DOS через которые можно достучаться до конкретного контроллера. Так и в РК подобных компиках есть свое подобие стандарта точек входа в подпрограммы монитора РК-86.
Микросхемки, вроде, все помещаются. Даже еще место есть.
Здесь условно показана разводка питания.
Земля - черный.
+5В - красный.
+12В - желтый.
-5В - белый.
Здесь еще не показаны разьемы, транзистор и пассивные элементы.
Все элементы относящиеся к доработкам (ЖКИ, флешка, доп клавиатура) будут расположены на другой макетной плате. Она будет установлена над этой на стойках. Контроллер PS/2 клавиатуры от caro будет на отдельной платке (поскольку он временный).