В принципе да.
Вид для печати
В принципе да.
Оригинальная схема не заработала нормально. Поэтому я доработаю эту схему. Сделаю так, что бы она заработала и на изображении не было шума. Переделаю схему подобно схеме компьютера Специалист.
Я заменил КР580ВК37 на АП6 (Контроллер клавиатуры перенесен из IO в основное адресное пространство). Эта микруха занимает меньше места. И даже помещается под панельку процессора и места не занимает вообще.
Счетчик адресов я решил оставить на ИЕ5. При использовании ПЗУ я выигрываю 2 корпуса, но ИЕ5 так ближе к классике.
Схема стала проще. Все кроме КР580ВВ55 поместилось на эту монтажку. (Под панельками есть микросхемы.)
1) ГФ24 + Процессор + ОЗУ + ПЗУ
2) 4xКП11 + АП6 + ТМ2 = Мультиплексоры
3) 4xИЕ5 + ТМ2 + ПЗУ = Счетчики адресов
4) ИР23 + ПЗУ + 2xИР1 = Знакогенератор
5) ЛА3, ЛН1 = ерунда всякая
На этот раз взял монтажку, так как явно придется дорабатывать.
http://s019.radikal.ru/i637/1205/38/8c6203d29a1b.jpg
http://s08.radikal.ru/i181/1205/2d/b0380545afbc.jpg
Схему попозже выложу. Она на другом компьютере.
Всё удерживаю себя от мысли применить ATMega8 для упрощения схемы. Ведь если развивать эту идею дальше, то абсолютно весь компьютер можно реализовать на ATMega старших моделей.
А это уже не тепло и не лампово. :)
Процессор будет работать на частоте 2,77 МГц.
25 Мгц / 9 = 2.7 МГц (чуть разогнан)
Частота строк 25000000/2/9/(64+25) = 15605 Гц. Что соответствует на 0,99875% стандарту.
ATMega не надо. Лично мне интересно сделать на комплектухе тех времен.
В те времена меня жутко бесило, что радиолюбительские компы, называемые простыми (РК, ЮТ) простыми вовсе не были. Поэтому периодически хочется сделать копм на комплектухе тех времен, но с минимумом корпусов м\сх. 27512 тоже не очень спортивно - в те времена они были слишком дороги.
У меня тоже руки зачесались - пробую посчитать счетчики адресов + формирование кадровых и строчных импульсов на минимуме деталей . У меня выходит: 155ИЕ4 + 2х 561ИЕ10 + 2х 561АГ3 (одновибраторы формируют только длительность строчных импульсов и импульсов гашения, фронты этих импульсов кварцованные.) - вот и всё, даже без мелкой логики.
Кстати с одновибраторами при минимальной модификации схемы можно получить ВГА развертку - добавляем 1/2 ТМ2 для дублирования строк и кварц повыше частотой, чтобы кадры были 60Гц и всё.
В оригинале стояло не 27512, а пара ПЗУ меньше килобайта. Можно без проблем вернуть оригинальные ПЗУ. Я поставил 27512, так как она меньше места занимает и на этапе разработки её можно перепрограммировать по 10 раз за день. Что я и делаю, так как частота строк и центровка экрана никогда не соответствует расчетной.
---------- Post added at 14:30 ---------- Previous post was at 14:30 ----------
В Микро-80 применялись одновибраторы. И мне очень понравилось, что центровка экрана настраивается переменным резистором.
---------- Post added at 14:35 ---------- Previous post was at 14:30 ----------
Очень просто получается, если переводить процессор в ждущий режим на время вывода графики. Тогда процессор освобождает шину и не нужны мультиплексоры. И использовать счетчик адресов с Z-состоянием (например на 2xПЗУ+2xИР23).
Мультиплексоры (4xКП11, АП6) и схема синхронизации с буфером (ТМ2, ИР23) не нужна.
---------- Post added at 14:39 ---------- Previous post was at 14:35 ----------
Еще была мысль использовать ВГ75 без ВТ57.
ВГ75 будет вызывать прерывание процессора, а обработчик прерывания будет читать нужное место памяти и отдавать данные ВГ75.
Но вряд ли успеет процессор. 78 байт на строку * 30 строк * 50 кадров в сек = 117 Кб в секунду. Это меньше 5 команд на байт. В одном прерывании можно сразу отдать 78 байт. (Внутри ВГ75 буфер)
---------- Post added at 14:48 ---------- Previous post was at 14:39 ----------
А еще можно ПЗУ знакогенератора выкинуть. В моем случае будет 32 Кб ОЗУ из которых 16 Кб займет черно белый видеорежим 512x256. Типа БК0010.
При экране 64х32 символа проц будет в ждущем режиме почти всегда. В Галаксии с таким подходом экран 32х16, да и проц там Z80 на 3МГц - помощней будет .
Думаю над такой идеей - сделать проц и видео полностью асинхронными и без тормозов-ожиданий.
Для этого сделаем буфер записи - три восьмиразрядных регистра, где по сигналу процессора !WR защелкиваются все его адреса и данные. Видеосхема во время выдачи выходным сдвиговым регистром видео на выход
подключает адреса и данные видеоОЗУ к регистрам и записывает данные из буфера в видеоОЗУ. Если сигнал !WR проца активен, то записи не происходит, но это не страшно - попытки записи в видеоОЗУ намного чаще, чем частота записи процем данных в буфер - не эта попытка будет удачно, так следующая.
И на экране не будет артефактов - обращениям видеосчетчиков к видеоОзу никто не мешает.
У Роботрона 1715 так было сделано. Но если добавить ВГ75, то компьютер будет уже "почти РК-совместимый" :)
Зачем прерывания? Посмотри схему Роботрона, там вроде всё просто: запрос DMA при помощи несложной логики превращался в HOLD/HLDA, счётчики адреса сбрасывались по кадровому СИ.
Ну и чем это будет отличаться от Специалиста/Ориона? Лучше иметь программируемый знакогенератор, как у МЦПГ Партнёра.
смотрите как сделано в "спеце" а потом и в "орионе".
выборка видео ОЗУ по одному адресу производится дважды. точнее производится две попытки одну из которых может перебить проц.
данные заносятся в регистр и после второй попытки защелкиваются сдвиговым. вуаля.
Так и сделал.
---------- Post added at 15:49 ---------- Previous post was at 15:43 ----------
В своей версии я сделал необычное формирование сигнала загрузки графики в сдвиговый регистр. Обычно для этого используется счетчик и схема сравнения с нулем.
Я же поставил триггер, который устанавливается по спаду F2 и сбрасывается пиксельклоком (1,38 МГц).