Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Да, это более ранняя, "обкаточная" модель - Орион-2009.
Я, кстати, сейчас ковыряю свою "красивую плату" Ориона-2010, работает шустро и чётко. И в голове ворочается мысль попросить тебя внедрить в СР/М работу с часами типа DS1302/1307 вместо этого кирпича 12887. Я эти часики привинчу и накидаю примерный драйвер для работы, чтобы читать/писать ячейки.
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
У меня самого такая мысль была, я даже помнится приобрел с Китая несколько DS1302 в DIP8 рублей по тридцать за штуку.
Так что если будут отлаженные низовые подпрограммы, то куда их вставить я представляю.
Вот кстати, во вложении исходники для DS1302/Z80/CPM какие-то с интернета - можешь их взять за основу (DS1202=DS1302 можно считать)
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
О как. Даже готовая реализация в реальном железе. Это хорошо, я хочу сделать часики в расчете на реальное применение на реальном Орионе.
Принял задание![]()
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
Собрал на "Орионе-2010" часики на DS1302, по приведенной схеме.
Проверил работу в Васике, порт/регистр четко работает.
Порт оставил стандартный, F760h.
Биты -
D4 - RST_n (для "активации" часов пишем единицу)
D6 - CLK
D7 - Output Data
D5 - '0' для отправки бита D7 на вход данных часов. Если записать '1', то можем прочитать из порта F760h данные часов из бита D0. Для записи в часы снова пишем ноль в бит D5.
Т.е., пишем в бит 5 ноль, и фигачим импульсы на RTC. Потом пишем в D5 единицу, и дергая клок читаем бит 0 для получения данных.
Вот такое вот странное железо. Но - в соответствии со схемой
Ковыряю драйвер.
![]()
Последний раз редактировалось Ewgeny7; 20.11.2015 в 19:53.
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
Т.е. ежели на россыпухе, то надо регистр на 2 бита (типа ТМ2), элементы И(ИЛИ) для стробирования RD/WR выборкой по адресу и 2 буферных элемента (если не считать дешифратора).
А не получится вход/выход DS1302 (DG) засандалить прямо на ШД? Оно без Z-состояния?
И без регистров, например переводить DG в состояние "выход" от процессора (ША, ШУ) по RD&CS, а все остальное время пусть оно будет в состоянии "вход подключенный к ШД" от сигнала WR, но не выбранное (от NOT CS)? Тогда останется только дешифратор и элементы И(ИЛИ) для стробирования RD/WR выборкой по адресу. А в коде драйвера - только чтение и запись битов порта с порта F760, cтроб внутреннего сдвигового регистра часов - записью в порт F761 (все равно на ВИ1 отводилось 2 порта).
Последний раз редактировалось Error404; 20.11.2015 в 22:07.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Часики раскурил, запустил.
Установил время, посмотрю их ход по дням.
Вот кривооооой, избыточный, но все же - код драйвераПисалось прямо на Орионе, в ОРДОС, в AVIPL$. Надеюсь, это - достаточное оправдание
На запись любого байта (с примером установки времени в часах) и чтение любого байта (с примером индикации текущего времени на экране). Аминь.
ДатаSHIT на часы.
- - - Добавлено - - -
Ежели на рассыпухе, то прямо по схеме. Регистр должен быть на 4 разряда минимум (ТМ9). Остальное - не смотрел, не знаю пока. На сегодня хватит, а завтра башка вернется на место, надеюсь.
Последний раз редактировалось Ewgeny7; 20.11.2015 в 23:28.
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
Я про то, что если ножку данных нельзя посадить непосредственно на ШД и тактироваться непосредственно от RD/WR процессора (пускай и через один бит), то смысл ставить DS1302 имеет только для ПЛИС. Ибо схема обвязки DS1302 для россыпухи будет сложнее подключения 512ВИ1на ту самую ТМ8 и ЛП11, т.е. эта схема на плате места займет даже больше чем ВИ1.В чем тогда смысл?
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Ну, у меня ни разу не запустились часы на 512ВИ1 на Орионе. Вообще ни разу. То одна холера, то - другая. Не судьба, наверное. Сейчас на реале стоит ВИ1, но они просто тупо не тикают... Нет супермегаомного резистора.
И еще один нюанс - на Орион-2010 в принципе невозможно установить часы на параллельном интерфейсе. Они слишком медленные для шин Ориона, будут просто вешать машинку.
Насчет сложности схемы - дело хозяйское, КМК. Количество проводов для сборки схемы будет одинаково.
А подключать DS1302 напрямую на шину нельзя, она держит выход активным от 8 тактов и выше, зависит от команды. Раз эти такты выдает процессор, то всё это время DS будет нагружать собой ШД, что противоречиво.
- - - Добавлено - - -
Не получается упростить схему...
Нужно коммутировать выход DS на ШД.
Нужен регистр для сохранения состояния сигналов управления и клока.
Нужно сохранять состояние бита данных для часов, пока процессор занят своими делами.
Нужно формирование сигналов чтения и записи.
В общем, та же схема и получается...
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
Ну как, голова уже на месте? Детальки едут?
Есть идея. В свете предстоящего запуска ПРО предлагаю вернуться к альтернативным часикам на DS1302, которые на Орионе-128 ставить сложновато из-за невыгодной массивной обвязки (многовато рассыпухи для обслуги 8-ногой МСХ). А вот на ПРО у нас есть платка AY-COM, на которой есть AY с двумя универсальными двунаправленными портами и монтажное поле уже есть. Может, задействовать эти порты под DS1302? Так то их традиционно боялись использовать как внешние порты (типа принтера) дабы не пожечь AY от случайного КЗ на порту, но в случае когда оно обслуживает внутренние дела - это вполне удобные регистры чтобы не городить лишнего, а то стоят без дела пропадают, понимаешь. А там глядишь если все взлетит, то и для Ориона-128 (где есть AY) это можно будет использовать?
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)