:v2_dizzy_snowman:
Налицо аппаратные проблемы.
П.С. Есть опыт (не мой) попыток внедрения Z80-card в плату рев.512 - оба отрицательные, т.е. запустить и добиться стабильной работы авторам не удалось, в итоге вернулись на ВМ80. Полагаю все эти события как-то взаимосвязаны.
П.П.С. Считаю подбор серий микросхем в МПС с тактом до 5 МГц абсурдом. Либо неграмотная схемотехника (просчёт по нагрузочной способности), либо неграмотная топология платы, либо проблемы с питанием, либо комбинации этих факторов.
Возможно в этом посте Вы найдёте ответ почему глюкается ОРИОН с ПЗУ M3.2Z.
Очень неприятно, что повсюду и в реале и в эмуляторах используют дохлую Бета версию M3.2-Beta, которая совершенно неотлажена (на что указывает знак вопроса в титре). Это просто пробная версия, потому она даже нарушает концепцию монитора-3, т.е те 5 точек внутри ПЗУ, куда лезет расширение M3-EXT не подогнаны под нужные адреса (что легко делается за пару минут). Из-за этого с таким ПЗУ не работает командный монитор M3-EXT, что делает M3 наполовину бессмысленным.
Эта дохлая и убогая версия распространилась потому, что эта была первая версия и именно потому она сохранила максимальную совместимость с M3.1 (если не считать сдвиг внутренних входов в п/п-ммы).
Потому последующие уже исправленные, но менее совместимые версии M3 для Z80 из 1991-92 годов не прижились, - они конфликтуют с ORDOS, т.к в них иногда нет RAMTOP и используются ячейки F3F0...F3F5, куда неправомочно лезут малограмотные программы (область F3F0 - не для рабочих ячеек программ, а только для рабочих ячеек ROM-BIOS). Очевидно, что то, что дохлые и полудохлые версии ПЗУ для Z80 до сих пор используются и даже включены в эмуляторы - это нехорошо.
Дохлые версии M3-Z80 легко отличить. В них происходит завис по нажатию на клавишу <РУСЛАТ> в мониторе или в командной строке ORDOS. Но в оболочках и в CP/M с драйвером это никак не обнаруживается. Также были неверные версии M3-Z в которых по INTA (т.е одновременному нажатию УС+СС) портится регистр HL. Это тоже не обнаружить, даже если использовать клавиатурные прерывания, но теоретически возможны программы, где это навредит.
Прилагаю версии тех же самых ПЗУ из 1992, исправленные, уже к сожалению, только пару лет спустя. В них возвращён RAMTOP и кое-где даже убраны дополнительные векторы (на F3F0...F3F5, они позволяли грузить драйвер альтернативной клавиатуры). От этого они смогут работать с ORDOS, по крайней мере с грамотными программами, что не лезут на F3F0. Исходные версии не предназначались для ORDOS, только для CP/M. По номерам можно понять из какой версии они производные. Номер версии в М3 всегда по адресу F842.
Сам я для просмотра программ ORDOS пользовался версией 3.146, - по номеру ясно, что она получена из M3.1. Но с конца 90-тых я пользовался в основном только двух-ПЗУ-шечными ROM-BIOS-ами, две банки ПЗУ из двух РФ2. Приложил также тексты выдранные из исходников, где написано, что в конкретном ПЗУ было изменено.
Конечно вазелин, ой Denn:v2_dizzy_stop:
- - - Добавлено - - -
Почему barsik вы такой? Да кому это интересно?
Тут дела творятся. Есть два мнения, жить пациенту или не жить:)
З.Ы.Никто уже не использует:)Цитата:
Очень неприятно, что повсюду и в реале и в эмуляторах используют дохлую Бета версию M3.2-Beta
Плюсую. И блокировку развесить.
Также замечу, если ОРДОС работает стабильно, то к плате Z80 вопросов быть не должно, тем более когда отрезали /INT.
Я бы еще проверил на ошибки хранения расширенные страницы памяти (которые более 64к) и правильность их выборки. Т.е. многочасовым тестом ОЗУ (тест ОЗУ должен быть таким чтобы проверял адресацию страниц на случай неисправного дешифратора, а не тестил спокойненькой одну и ту же нулевую при глючном порте F9), и софтом, нативно работающим в расширенном ОЗУ (почему и спрашивал про объем ПЗУ с идеей предложить позагружать в дополнение к DSDOS другие ОС работающие в расширенных страницах).
Все ли исправления сделаны из первого поста темы? Там вроде были описаны ошибки трассировки на джамперах расширения ОЗУ и их исправления.
С первого поста есть достаточно противоречивые рекомендации (типа помажьте и пройдет), то, что касается трассировки надо однозначно проверить. И проверить, что творится на шинах питания. С питания все начинается и заканчивается.
- - - Добавлено - - -
И не надо быть уверенным что все ОК с ВМ80 и питание ОК. Z80 по сути инородное тело и любой момент может влиять на стабильность.
Если все совсем плохо, пора переходить к модульным тестам. Помнится мне я набрал маленький тестик в M1 который барабанит ЕI/DI:)
Это не так, к сожалению. Посмотрите дистрибутивы эмуляторов Ориона. Используется во всех эмуляторах в конфигах для Z80 и только что в #234 посте был приведён титр этого ПЗУ по сбросу. Кстати, такое бывает когда ППА не успевает на 5 МГЦ. Потому что там адрес в ППА пишется командой LD (PPA),HL, а не побайтово. Надо или подбирать ППА или делать ему WAIT.
Для настройки пробуйте сдвигать CLK и подбирайте ёмкость на 14-той ноге ИЕ5. Резистор на CLK уменьшите до 150...200 Ом и выходной вентиль формирующий CLK д.быть 531 серии. Иногда приходилось задерживать CLK на 4...5 вентилей 1533 серии. Попробуйте инвертировать CLK, применить в качестве CLK не F2TTL, а F1TTL.
Для разгрузки шины, я обычно перепаивал входы ТМ7 прямо к ногам Z80 (а иногда и входы ПЗУ также). Адресные буфера при 2.5 МГЦ можно вообще убрать (как ни странно это повышает надёжность и турбируемость). Кстати, один ОРИОН у меня работал не только без адресных буферов, но и без буфера АП6 для CPU.
Можно попробовать другой вариант установки Z80 (от Специалиста), в котором входы R и D у DD13 не соединяются, а используется ёмкость 270 пф. Кстати был ещё и 3-тий вариант установки Z80 (в Специалист).
Питание должно до Z80 доходить ровно +5В или больше. Обычно я не только толсто залуживал (1 мм толщиной) печатные проводники питания, но и кидал отдельный провод очень толстым МГТФ-ом от точки входа +5В на плату до Z80. Попробуйте также заменить Z80 на другой от другого производителя.
В 1991-94, когда установку Z80 практиковали, никто вообще не сталкивался с проблемами. Потому что тогда в основном использовали 155-тую серию и даже те, кто её имели, читали в документации, что ИЕ5 (да и все остальные ИМС, что формируют /RAS /CAS, /WE, /OE и CLK) лучше ставить именно 155-той серии. Если же использовать 1533 или сочетание серий, то приходится гонять туда-сюда во времени сигналы /RAS, /CAS и CLK с помощью задержек. А при турбировании 200% процедура подгонки фронтов обязательна.
При грамотной подгонке фронтов и мерах по запрету /CAS на время бордюра (чтобы РУ7И не перегревались) Z80 устойчиво работал на 5 МГЦ (а Z80H даже на 10 МГЦ).
А почему, OrionExt, Вы такой?
Да все там нормально с прозрачным доступом к ОЗУ. В варианте Z80 cоединяются D c R на ТМ2 DD13 арбитра "ЦПУ-Видео" (а для 8080 остается как в оригинальной схеме) и процессор получает достаточно времени для доступа к ОЗУ. Таким способом сотни ПК запущены, отлично работает(работало), а вот сделано ли это у Павла на плате среди множества джамперов, я не проверял.
Перемчка 13 называется, не совсем правильно сделана,но о ней я указывал.
Наблюдаю за темой:v2_smoke:
- - - Добавлено - - -
to RD3AY, если внимательно прочитать тему про ви1, по ссылке, которую я давал выше, то там можно найти большинство ответов на заданные тут вопросы по ви1. В частности в первом сообщении, об оси в которой есть поддержка варианта ви1 на данной плате и др. Так же прочитав первых несколько страниц этой темы, можно увидеть взаимосвязь м/у "доп.-ми", этой платой и осью(под Altair-Dos заточка). К стати, в названии этого топика нет слова "синей", была инфа что есть и зеленые платы 2-ой версии(могу ошибаться).
Теперь по делу. Я проверил на этой плате 4+1 проца, вм80, z80a, z80b, вм1 и "т34". Вм80 работал с любой памятью на ура. С ру5 (из Z80) работал более менее только вм1, с др вариантами z80 глюкало примерно так же. Т.к. все равно предполагалось 512кб, и ру7 я не на шел, то поставил 41256 из китая не помню точную маркировку, с ними все процы работают на ура. Проверил почти все оси(с cpu z80), которые есть тут на форуме и в архивах , к сожалению кроме DSDOS, по причине указанной в соответствующей ветке. Все оси работали отлично. Но допы все проверялись в оси, упомянутой выше, на z80 и вм1(там кстати есть тестирование всех банков перед загрузкой). Т34 я особо не гонял, тк там шаг НЕ буржуйский , а ножки жесткие и не лезут в цанговую панельку без напряга.
Причину неустойчивой работы ру5 на z80, я не выяснял за отсутствием времени. Так же припаял отдельно провод от +5в, на питающие ножки симм, тк было просаживание напряжения. Была инфа по доработке исправление записи в регистр выбора страниц или устройств(не помню точно) по спаду, а не по фронту или наоборот, тут где то есть на форуме(за точность высказывания не ручаюсь, давно было, читал где то), я не делал.
Порадовали бы форумчан фото своей собранной платы, да и легче было бы понимать ,что есть, чего нет.
ЗЫ Сейчас на учебе, далеко от дома дней на 20 и проверить DSDDOS не могу, но какнибудь обязательно проверю.
- - - Добавлено - - -
To Error404
В альт досе не плохо бы сделать вывод теста памяти по цетру, тк если не решена проблема со смещением экрана вверх, то создается впечатление, что все повисло...
1. Проверил карту Z80 на плате на соответствие со схемой.
Ошибок в разводке не нашел.
2. Как писАл ранее, было замечено что на "холодную" плата работает какое то время.
Вытащил на балкон, померзла на 15 градусном морозе минут 20, занес в помещение, проверил.
Работает!!! минут 5 работала стабильно.
Так, взял ледышку и стал прикладывать к корпусам микросхем по очереди, 555ИР22, 555АП6, память КР565РУ7К.
И о чудо, плата снова заработал.
Оказывается во второй линейке памяти нашлась микросхема, которой достаточно было
слегка прогреется и она начинала работать не стабильно.
Систему с прикладыванием льда на микросхемы памяти прорабатывать не стал :-)
Пробросил толстым МГТФ шины питания от разъема питания к линейкам питания.
Припаял дополнительные танталовые блокировочные конденсаторы.
Так как лишних микросхем 565РУ7 у меня нет, просто попробовал их "потасовать" в линейке и нашел ей такое место
где она стала работать стабильно.
Вчера гонял плату часов 10, включал, выключал, работает стабильно.
Сейчас ищется микросхемы памяти, так как с 565РУ7 проблемы, да и не охота с ними связываться.
Решил приобрести импортные 41256.
Нашел в одном месте HYB41256-12 (г.в. 1989) подойдут?
Да, по часикам, время и дата соответствующими утилитами устанавливается.
Но часы сильно бегут в перед. На выводе 21 CKOUT микросхемы ВИ1 при отключенном
внутреннем делителе на 4 (вывод 20 ВИ1 подключен к + питания) частота вместо
положенных 32768 Гц становиться значительно больше, около 38 кГц.
Из за этого часы и спешат.
Замечено, что если нажать и удерживать кнопку сброс,
на шине данных нет сигналов и ВИ1 работает стабильно, на выводе 21 строго 32768 Гц.
Отпустить кнопку сброс, на шине данных появляются сигналы (на выводах AS и DS ВИ1 сигналов нет, установлена ОС где нет обращения к ВИ1)
И частота на выходе ВИ1 снова не стабильна, есть подозрение, что нужно подобрать элементы обвязки кварца, уж очень "тонкое" место.
Поставил тантал по питанию и промыл плату в этом месте несколько раз.
И еще заметил, если коснуться пинцетом 3 вывода микросхемы ВИ1, то частота становиться стабильной...
Попробую на 3 вывод навесить конденсатор на землю...
Спирту мы другое назначение найдем :-):v2_dizzy_roll:
Я так стал делать, когда лед растаял...
Только растворителем Р-4.
Микросхемы HYB41256-12 (г.в. 1989)
Документация на микросхему: https://yadi.sk/d/jYvETbP53SxjAK
Поставил на землю конденсатор на 240 пик и подвозбуд пропал, на 21 выводе стабильно 32768 Гц.
Часы уже несколько часов идут секунда в секунду, а то раньше убегали на 20 минут в час.
Окончательная схема в приложении. https://yadi.sk/i/lyM1UaLX3Sy9R9
Denn, Есть вопрос по работе часов.
Выставляю время и дату при помощи утилит TIME60$ и DATE60$.
В нижней части SHELL выводится введенные данные даты и времени.
Если запустить утилиту SYSTEM$ и выйти из ее (ВК или F4) то значение часов сбрасываются в ноль, хотя минуты и секунды работает точно.
Тоже самое, если выключить ОРИОН и снова включить, все сохраняется кроме значения часов.
Или запустить утилиту DATE60$, выведет: Текущая дата 03:03:18 нажать (Esc) значение даты месяца станет нулевым.
Однако, у меня все заработало четко. Проблем с точностью хода часов нет.
Видимо это зависит от добротности кварца.
Сложно сказать. У меня такого нет. Но у меня вариант под порт F76xh проверялся только в эмуляторе. Под F7Bxh на живом железе таких глюков тоже нет.
П.С. у меня была хитро бракованная ВИ1 - она скидывала то ли в 00, то ли в 01 показания "день" при переходе определённой даты, решилось заменой на другой экземпляр.
Попробую поменять на другую. Правда нет в запасах, прикуплю на днях.
Буду к этой плате делать СОМ1 порт, (уж больно вкусная штука, виртуальный диск G на ПС)
там "широкий" дешифратор на 1533ИД3, попробую в работе адрес F7Bxh
Второй день плата почти не выключается, нормально без глюков работает на Z80A на ОС DSDOS.
Так что теперь есть возможность более плотно заняться осваиванием ОС DSDOS.
В перспективе начать писать простейшие приложения на ASM для платформы ОРИОН.
Благо, от Вас есть хорошие доки для старта.
Если есть возможность, то лучше сразу COM2! Либо для COM1 достать импортный чип, который тянет клок 10 МГц.
Дело в том, что на скорости 115200 Бод чертовски комфортно работать - оно того стоит.
Только выборки AS и DS надо тоже "развернуть".
Т.е. проблема была в битой ОЗУ, верно?
Это прекрасно!
Поподробней, на пальцах, можно. Начал плату разводить, нужно уточнить схему.
Да, была сбоящая микросхема во второй планке памяти.
Просто переставил местами микросхемы
в планке памяти, и все заработало.
Но все равно хочу поменять на импорт, присмотрел микросхемы HYB41256-12 (г.в. 1989)
Только не знаю, подойдут они на ОРИОН по принципу регенерации?
Документация на микросхему: https://yadi.sk/d/jYvETbP53SxjAK
Буду ставить сразу оба порта, СОМ1 и СОМ2, или не стоит, достаточно одного скоростного СОМ2?
На 16С550 http://denn.ru/8bit/orion/128/rs232/16c550.pdf
Часы за ночь отстали на 4 секунды, замеры показали что частота генератор на ВИ1
в спящем режиме и питании от батарейки 3 Вольта понижается.
и становиться равной 32767.4 Гц вместо 32768 Гц при питании от 5 Вольт.
Нужно ставить батарейку на 5 Вольт или питать микросхему через стабилизатор 3 Вольтами.
Интересно, есть такие батарейки на 5 Вольт в размере CR2032 ?
В размере CR2032 есть литий-ионные. Они при полной зарядке 4 вольта (и 3,7В рабочее, т.е. 80% от полной) и при том заряжаемые. Стоят примерно 50руб на Али и зарядник еще рублей 150.
RD3AY, порта достаточно одного, если не требуется свободный для каких-то других целей.
Касательно ВИ1. Частота генератора не должна зависеть от питания, она строго определяется кварцевым резонатором. Вероятно, Ваш магический дополнительный конденсатор перетягивает одеяло на себя и RC-цепь начинает работать эффективнее кварца, а у RC-цепочки действительно есть зависимость от напряжения.
По посадке в адресном пространстве наверное проще пояснить так:
F760h - регистр адреса;
F761h - регистр данных;
F7B0h - регистр данных;
F7B1h - регистр адреса;
для ВМ80 под DSDOS Denn'a мной был собран вот такой вариант.
чудесно работает.
https://a.radikal.ru/a10/1803/ff/2b44a8f16694.jpg
Подправил прошивку 2.08 под ОРИОН, практически полностью картинка отображается на мониторе, только подкорректировать положение по вертикали и горизонтале стандартными настройками монитора. Монитор в режиме 640 х 500 58Hz.
Прошивка по ссылке: https://yadi.sk/d/f5Iweg_l3TBJe2
Градации серое/белое, тоже стали нормальными. https://yadi.sk/i/ZZQqqnBX3TBa2V
- - - Добавлено - - -
Заказал из Китая, посмотрим что привезут. Приехали, попробовал, работают отлично.
https://ru.aliexpress.com/item/1PCS-...831038354.html
Аппаратно не подскажу (я еще сам не разобрался с этой платой), а программно - записью старшего бита (D7=1) в порт то ли F8 то ли FA не помню на вскидку (в M128$ записать в ячейку F800 или FA00). Или загрузить CP/M c поддержкой расширенного экрана.
Я его не включал, как это сделать?
Залил образ altair8255.odi на дискету и с нее загрузил ОС altair.
Произошла загрузка.
На экране:
---------------------
Best-Dos Version 2.0
CP/M V2.2 compatible
-----------------------
(c) Black Cat inc. 1996
-----------------------
a:\>_
Что дальше, есть описание ОС?
https://yadi.sk/i/swyAR7uA3TCzwD
Установил комплектующие для музыкального сопроцессора со всеми исправлениями на плате.
Отсутствует только микросхема 155ЛА2, нет в запасах....
Как его можно протестировать, каким ПО?
https://yadi.sk/i/xnvtAtQc3TCzxr
Подключил к плате СОМ1 порт, стало веселей.
https://yadi.sk/i/I8zhaNvU3TCzzF
- - - Добавлено - - -
Вот что получилось. Часы работают, немного обрезано справа...
Ну, вполне достойно выглядит, всего полтора символа справа не влезло. Но выглядит так, что некоторые точки в полпикселя. Или это фото так искажает?
AY можно протестировать играми от ZX в первой партиции образа в user1
- - - Добавлено - - -
BALLBREAKER точно был с AY. Там примерно 30% игр с AY.
Да, фото с мобильного телефона, качество еще то.
Да еще у меня на дисплее есть регулировка,
"ФАЗА" называется, изменяя ее параметры, она по вертикальной линии, шириной в 1-2 пикселя
с шагом около 30-50 пикселей, "размывает" вертикальную линию.
Четкой установки этой регулировкой нет, только компромиссный вариант.
Вопрос, как в ОС AltairDOS
выставить значение часов, произвести корректировку.
Если часы сбиты (сбита контрольная сумма встроенной в часы RAM), то при загрузке можно удержать клавишу (драйвер напишет какую) и ввести время и дату.
Поскольку драйвер экрана (в нем же и часы) управляется Escape-последовательностями, то можно прямо в командной строке ОС передать в драйвер параметры командой вывода на экран, введя такое:
Последние три числа в обоих примерах это дата (DD,MM,YY) и время (HH,MM,SS), в данном примере это 10 марта 2018, 21 час 28 минутКод:echo 27,"Z",7,10,3,18
echo 27,"Z",1,21,28,00
Для часов есть такие коды:
Скрытый текст
Код:ESC,'Z' - работа с часами:
esc,'Z',0 - получение значения часов с клавиатуры в h,m,s
esc,'Z',1,h,m,s - установка часов в формате h,m,s.
esc,'Z',2 - получить состояние часов
esc,'Z',3,byte - установить состояние часов
состояние часов:
d0 - 1/0 - разрешен/запрещен вывод времени
d1 - 1/0 - вывод времени с инверсией/без инверсии
d2 - 1/0 - полный/сокращенный формат вывода времени
d3 - 1/0 - 24/12 часовой режим (не реализовано.)
esc,'Z',4 - получение позиции для вывода времени (2 байта)
esc,'Z',5,Y,X - установка позиции для вывода времени
(Y,X - 0..24,0..70; начало координат - левый верхний угол)
esc,'Z',6 - пол. дату в формате d,m,y
esc,'Z',7,d,m,y - уст. дату в формате d,m,y
[свернуть]
- - - Добавлено - - -
Пример использования таких последовательностей еще есть в config.sys
Сделал как Вы сказали, все работает. Часы идут точно (опаздывают на одну секунду за сутки, я писАл ранее о причине)
и показания при включении/выключении не сбиваются.
Так что аппаратно, часы исправны.
ОС ALTAIR загружается, и в процесс работы, подгружается с дискеты.
А можно ОС "зашить" в ПЗУ АМ29F040 там 512 кб памяти.
И как грузить игры с дискеты, если дисковод постоянно занят дискетой с ОС?
Ставить второй дисковод?
Еще немного подправил прошивку адаптера VGA, теперь отображается весь экран,
правда последний столбец отделен черной вертикальной полосой в 3 пикселя.
И ниже на 1 пиксель.
Будем разбираться дальше.
Дык, он и на 1 точку ниже (или на пол точки?).