Rokl, Такой вопрос возник, есть ли всё же разница вв55 и um82с55a.
в ROM диске не заработала, думал дохлая, но вставил вместо клавиатурной вв55 в рк86 работает.
Как думаете можно ли 82с59 прикрутить к z80. или к вм80.
Вид для печати
Rokl, Такой вопрос возник, есть ли всё же разница вв55 и um82с55a.
в ROM диске не заработала, думал дохлая, но вставил вместо клавиатурной вв55 в рк86 работает.
Как думаете можно ли 82с59 прикрутить к z80. или к вм80.
Эх, мне бы схемку, аль чертеж глянуть вашего девайса.
Если вы читаете Rom диск через 55 порт и микросхем ПЗУ несколько, то проблема может быть в схеме выбора кристалла ПЗУ. Т.е. импульс выбора ПЗУ приходит чуть позже импульса чтения из ВВ55. Наша ВВ55 тормозная и такой беспредел терпит. Не торопясь, читает ROM нормально даже после окончания импульса чтения данных из регистра, а импортная шустрая и потому читает мусор до прихода импульса выбора кристалла ПЗУ и установки истинных данных в порту А контроллера ВВ55. Лечится такое чудо установкой более шустрых дешифраторов адресов ( серии К531, или К1531(SN74F138) можно попробовать современную 74НС... или PLD матрицы... я все дешифраторы адресов делал исключительно на PLD PALCE22V10H с быстродействием выборки 25 Нсек. Обратите внимание, что на всех старых матерях с 86 или 286процами дешифраторы адреса выполнены на PLD матрицах типа PAL16L8 и т.д. а не на SN74LS138(К555ИД7) и тем более не на SN74154 (К155ИД3). Наверное это не просто так, а с глубоким смыслом буржуями сделано) и более шустрые современные(импортные)ПЗУ с временем выборки 100-120 нансек...А вот когда к ROMдиску вы созреете добавить энергонезависимую RAM и захотите иметь энергонезависимый RAMдиск для своих программных поделок непосредственно на железе с сохранением промежуточных результатов в энергонезависимой RAM, то фокусы начнутся ещё круче.
Если ПЗУ одна то проблема скорей всего в проводном монтаже...паразитные индуктивные и емкосные связи.
Контроллер прерываний вполне можно прикрутить к процу. Суть в том, что нужно будет колдовать над Монитором РК, а это приведет к программной несовместимости клона. Получите обычный компик с 8 разрядной шиной данных с ни чем не совместимым. Красивые излишества должны ограничиваться максимальной программной совместимостью с прототипом. Это чисто моё мнение и потому я у себя сменил только адреса посадки контроллеров на более удобные. Даже видеоОЗУ оставил на старом месте, хоть оно и получилось в середине ОЗУ пользователя. Зато практически всё ПО на моем микрокоме заводится как и на РК лишь с минимальными переделками (обычно ограничивается изменением адреса обращения к клавиатуре...Даже перепрограммирование в игровой программе ВГ75 не приводит к фатальной ошибке. Просто картинка получается нескольно обеднённая отсутствием атрибутов).
Да буковок много, даже цитировать сложно, надеюсь не сильно отвлекаю, но я знал к кому обратится :) давно знал! Ответили даже на то что хотел потом спросить:) Ваша тема в основном меня и вернула от "экономики" к паяльнику! (в декабре 2011г.)
Нету схемки, пока ;) вообще нету!!! я в живую всё делаю на макетке, основа схема РК (кр02) + Ваша и + от Vladimir_S прикрутка Z80, ну и вчера звук прикрутил на тм2 от HardWareMan, но пока не работает... увы..
Мой РОМ диск на вв55 и Флеш ххх02. схема из темы РОМ диск, порт А данные, В.С адрес, всякие выборы кристалла на землю сразу и результат вв55 нормально, а 82с55 нет, PLD конечно у меня тоже есть, т.к. все мои 82с... с 286 и теперь понял почему возможно 82с55 не работала, РАМ диск я добавил сразу и писал в него ПО БАЙТАМ замыкая WE на землю руками, реально работает и хранит всё от батарейки 3 вольта, хоть у меня UM62512 не фига не с пониженным потреблением.
Про прерывания я про чип 82с59 можно ли его к z80, но вчера почитал про него можно вм80,85,86,88 и конечно z80 там нет, но можно как я думаю, но зачем нам монитор менять пусть программа нужная им занимается, в мониторе только начальная инициализация и ви53 обязательно нужен, программ 5 его юзают значит нужен.
а про совместимость надо 99% и 9% сотых т.е и клаву учесть (у меня 7007 по схеме кр02) и теперь проц и много чего ещё т.к. вчера aliaz запустил тормоз он кокой то на 2 мГц на z80, странно как то
Вот и главный вопрос z80 с out\in работает по другому, а мне надо FDD и DOS 2.9 как быть, кп11 от младшей ША к старшей ША по сигналу обращения к портам?
Вопросов много, я вообще мало что знал тогда, да и что знал забыл сейчас, но как ни странно вопросы решаются, и как то подозрительно быстро, не ожидал я такого.
Комп рк на z80 на макетке за неделю МГТФом и работает... сам не верю, я и ещё и на работу хожу... пока...
Аналог 82С55А это КМ1821ВВ55А. Так что разница между 580ВВ55А и 82С55А есть.
Возможно проблема чтения Флеш портом 82С55А из-за "звона" на шине данных Флеш и слишком высоким входным сопротивлением портов 82С55.
Т.е. сначала вы пишите адрес в порт В и флеш начинает выдавать данные на шину порта А. Затем вы пишите вторую половину адреса в порт С и флеш опять повторно начинает менять данные на шине порта А и в этот момент вы читаете порт А. Естественно Флеш "звенит" на шине данных переходными процессами, а к счастью 580ВВ55А имеет низкое входное сопротивление портов и это уменьшает время переходных процессов на ШД Флеш и порта А. Тем самым истиные данные успевают установиться до момента чтения порта А. А шустрая 82С55 это обычная КМОП с большим входным сопротивлением портов и потому "звон" Флеши в виде переходных процессов длится гораздо дольше и истиные данные не успевают установиться до момента чтения порта А.
Попробуйте перед чтением порта А придержать процессор парой холостых команд NOP. Скорей всего 82С55А начнет работать нормально, как и 580ВВ55А.
Во всяком случае, для нормальной работы Z80 с 580 серией и другой неторопливой периферией всегда рекомендовалось пользовать сигнал WAIT для удлинения сигналов шины управления запись/чтение Z80.
UM62512 питание 5в 10% при работе и вроде как 2,2в в режиме хранения. Во всяком случае у меня UM62512 не теряла информацию и при 0,5в в режиме хранения.
RAM диск при ручной записи может работать без проблем. А вот ежели UM62512 подключить параллельно Флеш , например АТ29С020, к портам ВВ55и писать/читать процессором с выборкой кристаллов Флеш/ОЗУ...Вот тогда чудес насмотритесь.
Прошу прощения, ошибочка вышла.
КМ1821ВВ55А это банальная 8255 фирмы интел.
А вот КР1834ВВ55А это и есть 82С55АС-2.
Ещё раз прошу прощения, за неверную информацию.
2 Rokl не могу найти распиновку под РК-шную клавиатуру, может я потерял монтажную схему:(
http://zx.pk.ru/attachment.php?attac...1&d=1370276357
Просто две клавиатуры никогда вместе работать не должны. В мониторе драйвер клавы на ВВ55 заменен на драйвер JETkey. Порт там остался просто для зажигания светика РУС/ЛАТ на плате и если допаять детальки, то возможен магнитофонный интерфейс чтения записи с ленты. Но в основном он остался как параллельный порт подключения чего нибудь с написанием под него драйвера лично пользователем с выходом на этот разьем, т.к. другой ВВ55 на плате дисков заточен под LPT разьем принтера. Распиновку разьёма поищу. Могу сказать сразу, что короткий разьем под дополнительную клавиатуру РК с префиксными клавишами.
Все понял, спасибо. Т.к "Монитора" с РК-шной клавой у меня нет. оставлю как есть с PS/2. А вв55 может в дальнейшем применю
День добрый! Rokl
Чтоб вывести на магнитофон нужно эту часть схемы допаять?
есть желание с Микрокома некоторые программы закачать и погонять на РК-86.
Да, компаратор с обвязкой для чтения с мага (для распайки этого узла специально оставлено комутационное поле на плате), а цепочка резисторов и пары кондеров для записи на маг.
Только программки, которые в ROM-диске заточены только под Микроком, т.к. контроллеры клавиатуры у этих компиков разные. Все проги есть для РК-86 в свободном доступе. Кроме...
Две программки на РК-86 в таком виде нет в принципе. Это PACMAN с 8ю лабиринтами (4 последних лично выдумывал и рисовал в свое время на тетрадке и перенес в тело игры) и SOCOBAN(ящики двигать). Эту прогу писал на РК-86 на 20 экранов (40 лабиринтов) давным давно, но сделал только 10 экнанов, и ...надоело. Листинг проги на ассемблере остался, храню как раритет, напечатаный на "Консуле". Длиной метра 3,5.))))
Наконец собрался включить в работу простаивающий и напрасно жрущий питание далласовский таймер реального времени DS12B887A.
И тут выяснились некоторые интересные особенности контроллеров I8237 и DS12B887A. Оказалось, что и тот и другой использует для дешифрации адресов своих регистров целых 8 адресных бит. Т.е. у I8237 для настройки регистров и обращения к каналам ПДП используются 4 адресные шины А0-А3, но А4-А7 должны быть в состоянии 0. Тоже самое и у DS12B887A который занимает адресное пространство в 128 байт (А0-А6). Поэтому, чтобы обратится к регистрам таймера, необходимо выставить на шину адреса в младших 7 разрядах все 0.
В результате эти 2 контроллера можно переносить в адресном пространстве процессора с шагом в 256 байт для I8237 и с шагом в 128 байт для DS12B887A.
Потому пришлось перепрограммировать дешифратор адреса Микрокома.
Вот что теперь есть:
0F700h - 0F71Fh - I8237 (DMA)
0F720h - 0F73Fh - резерв
0F740h - 0F75Fh - резерв
0F760h - 0F77Fh - JETkey -5 (KLA)
0F780h - 0F79Fh - DS12B887 (DMA)
0F7A0h - 0F7A3h - M82C55A (PIOPRINT)
0F7B0h - 0F7B3h - КР1818ВГ93 резерв
0F7B4h - 0F7B7h - M82C55A (PIODISK)
0F7B8h - 0F7BBh - SN74LS374 (RGDISK)
0F7BCh - 0F7BFh - КР1533ТМ9 резерв
0F7С0h - 0F7DFh - I8275 (ЭЛТ)
0F7E0h - 0F7FFh - M82C55A (PIOKLA)
0000h - 0DFFFh;0E800h-0F6FFh - RAM
0E000h - 0E7FFh;0F800h - 0FFFFh - ROM.
Осталось написать подпрограммку вывода индикации часов на монитор.
Программка написана, вставлена в монитор. Теперь Микроком 85 с часами на экране. Вот что получилось:
Вид каталога ROMдиска (Директива U):
http://s004.radikal.ru/i208/1312/55/42cd42c9f010.jpg
Вид каталога дисков А и В ORDOS-2.4 (директива Х)
http://s004.radikal.ru/i206/1312/ca/c94ee7d182f3.jpg ORDOS директорий
А так выглядит картинки игрушек с часами:
Заставка Бармен
http://s006.radikal.ru/i214/1312/95/8868c165e388.jpg
Один из экранов SOKOBAN
http://i031.radikal.ru/1312/82/b700bc810ab5.jpg
Часы ходят на удивление точно. За 2 суток ни на секунду не ушли в сторону.)))
Rokl, Извини, тему внимательно не читал, на чем реализована память ОРДОС?
Из меню убрать можно тогда и из ROMдиска тоже придется. А что из прикладного ПО добавить? Место останется на ROMдиске и надо бы его чем то заполнить. Принимаю предложения.
Отремонтированый TIMEKEEPER
http://s019.radikal.ru/i611/1312/58/427321fa59f9.jpg
Внешний вид платы RAM/ROMдиска. Осталось только запустить контроллер дисковода.
http://s020.radikal.ru/i719/1312/89/4c849b27e3aa.jpg
Корректор памяти у меня зашит в мониторе, как директива W. В системные я добавил ещё BEST, редактор экрана. И отдельный редактор текста у которого хорошо продумана функция печати и редактирования.
Есть программа С для РК и Форт для РК. Может из них какую выбрать?
Видел давным давно Графический редактор для Микроши, но найти его не смог. Вот его бы хорошо вставить в системное ПО.
Да, это проблема актуальна и до конца не закрыта.
иногда (очень редко)в RAMдиске ORDOS забивается нулевая ячейка памяти в строке названия первой программы. Приходится туда вручную средствами монитора ORDOS (М128) код первой буквы названия программы вписывать, после чего RAMдиск восстанавливается. Остальные ячейки памяти не портятся даже если напряжение батареи падает ниже 1 вольта.
Но эта порча нулевой ячейки происходит из-за работы порта ВВ55 и схемотехники самого RAMдиска. Приходится программно и аппаратно отслеживать шину записи в RAMдиск. Иначе либо ничего не пишется в ОЗУ RAMдиска, либо всё портится в среде ORDOS при обращении к ROMдиску , который работает параллельно с RAMдиском. В результате принятых мер директивы чтения/записи RAMдиска получились достаточно медленые. Директив чтения/записи монитора Микрокома это не касается. В RAMдиске монитора Микрокома информация не портится, пока напряжение батареи не упадет ниже всякой критики. Адресное пространство RAMдисков Микрокома и ORDOS не пересекаются и программно RAMдиск монитора Микрокома для ORDOS не доступен и наоборот тоже.
Rokl, А я вроде как решил эту проблему, но время покажет. /CS, /WE, /SE, A16, A17, A18 подавать через 1533ИР23. Я заметил, что при включении питания выходы регистров всегда начально устанавливаются в 0. На один выход через резистор на массу посадил твердотельное реле через которое подается питание на память диска. И теперь перед подачей питания у меня всегда есть время подать 1 на /CS и /WE. Память портиться перестала. Реле - К449КП1АР.
У нас немного разные проблемы. Я не старался что бы в ОЗУ компика сохранялась информация после отключения. У меня была проблема сохранности информации в RAMдиске после отключения питания компика.
Естественно старшие адресные входы А16,А17,А18 я подаю через регистр ИР23, что бы иметь окно доступа к ОЗУ равное по размеру адресному пространству процессора. У меня получилось 8 окон по 64К. Из них я имею возможность программно пользовать половину, а вторая половина не используется. Из доступной половины активно пользую половину. Это RAMдиск ORDOS и RAMдиск монитора.
По поводу выходов регистра в момент включения...решение стремное, т.к. 0 при включении не регламентируется производителем и 0 это активный сигнал для выбора микросхемы,сигнала записи в память.
Я наоборот держу принудительно триггером на всех шинах управления сигнал 1 и сбрасываю его только кнопкой Сброс. Тем самым в момент всех переходных процессов у меня память RAMдиска заблокирована напрочь.
Сами компы делать, это воплотить свои давние мысли из прошлого. То, что раньше задумывалось, как домыслы при полном отсутствии комплектующих, через 25 лет оформилось в виде схемных решений и конкретных конструкций по причине свободной доступности и дешевизны тех, столь дефицитных в те времена, комплектующих)))). Главное в этом...без фанатизма.)))) Максимум совместимости с оригиналом... Кстати, как реализована у вас в компике программно прозрачное переключение страницы рамдиска при чтении и записи? Хотелось бы использовать это решение у себя в Микрокоме, а то пол ОЗУ пропадает даром. Хотя и оно и сейчас заполнено всего на десяток процентов.(это на тему...если бы я знал за чем.))))
Ну у проца всего 64К адресов, а вы пользуете в дисках 128К. Получается при записи и чтении приходится переходить с одних 64К на другие. Для проца это должно быть незаметно. он взял дамп памяти и переписал в диск, а то, что там у диска сменилась страница в 64К на вторые 64К и не заметил.
Rokl, Ну в принципе да, только нужно отслеживать конец первого блока, и при переходе на второй выставить флаг.
Примерчик бы на асме для наглядности.)))
---------- Post added at 22:30 ---------- Previous post was at 22:28 ----------
Программно не поддерживается. А плодить кучу дисков по 64К смысла не вижу. Да и программер я скажем мягко, совсем неважный.
Rokl, А как в Микрокоме звук реализован?
Rokl, Вот здесь файл протух.
http://zx.pk.ru/showpost.php?p=292241&postcount=11
Если не трудно, обнови.
Пока нет. Прорабатываю несколько вариантов на ВИ53.
Хочу сделать последовательный порт на ВВ51 и ВИ53, который должен ещё и звук выдавать. Склоняюсь в подключении к варианту Апогея, но с вариациями от журнала "Радио" и "Ориона". Что бы и Апогейные программки звучали и порт работал и хоть какая совместимость была.
Обновил.
http://s018.radikal.ru/i513/1402/19/a1ff0f41ec17.png
PS: ...если кому схема нужна, могу пока на почту высылать.