Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   Старый софт »   Real Time Clock - как подключить?
RSS

Real Time Clock - как подключить?

<<Назад  Вперед>> Страницы: 1 2 3
Печать
 
arif-ru
Advanced Member


Откуда: Москва.
Всего сообщений: 1757
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 окт. 2007
Подскажите, пожалуйста, как подключить RTC на XT?

Железо: Компьютер Compaq Portable Plus (1985) и RTC "Clock Card"(1984).
Clock Card без дополнительных надписей, аккумулятор заменён на телефонный.

ПО:
1). Memory Map в CheckIT никаких новых ПЗУ не показывает.
2). При попытке запустить SetTime, GetTime или Timer - говорят "No clock installed".

Вопроса два:
- Кто виноват? Неправильно устанавливаю или сгорела карта?
- Что делать? В основном, естественно, если неправильно устанавливаю.
Alex-M
Junior Member


Всего сообщений: 136
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 мая 2008
Для ХТ, помимо платы с RТС нужен еще и драйвер, причем для каждой платы он был свой, смысл был такой, что когда драйвер загружался, ( из config.sys или autoexec.bat) то он перехватывал прерывания от таймера 8253 на себя и оставался в памяти резидентно, т.к. писался обычно в формате TSR, когда приходило прерывание, то драйвер считывал время, дату из RТС в память, где ДОС хранит эти время, дату + мог выводить на экран, как например делает НОРТОН, так же драйвер отрабатывал ДОС команды по установке-изменению времени, даты.
RТС обычно была ММ58167А , а адрес на который её садили мог быть и 70h, как в АТ, так и из области 300 - 360h, "нормальный" драйвер сам определял на таких адресах сидят "часы".
arif-ru
Advanced Member


Откуда: Москва.
Всего сообщений: 1757
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 окт. 2007
А SetTime, GetTime и Timer - это не драйверы? Если нет, то подскажите, пожалуйста, как называются драйверы?
Alex-M
Junior Member


Всего сообщений: 136
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 мая 2008
arif-ru написал:
[q]
А SetTime, GetTime и Timer - это не драйверы? Если нет, то подскажите, пожалуйста, как называются драйверы?
[/q]
Я так понимаю сам драйвер это Timer, он должен запускатся с параметром (адресом) на котором сидят часы, типа : Timer.сом 340
посмотрите на плате RТС какой адрес выставлен джамперами.
Запуск Timer.сом с ключом /?, должен по идее хелп вывести. :(
arif-ru
Advanced Member


Откуда: Москва.
Всего сообщений: 1757
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 окт. 2007
Timer.com c любыми ключами выводит сообщение

*** PC Timer 1.3 ***

No clock found.


На плате есть Jp1:A,B,C, джампера на нём нет. Может, поставить надо? Только как?
arif-ru
Advanced Member


Откуда: Москва.
Всего сообщений: 1757
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 окт. 2007
Попробовал ставить оба возможных варианта (AB и BC).
Безрезультатно.
Alex-M
Junior Member


Всего сообщений: 136
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 мая 2008
arif-ru написал:
[q]
No clock found.

На плате есть Jp1:A,B,C, джампера на нём нет. Может, поставить надо? Только как?
[/q]
Драйвер не может найти часы, скорее всего он вообще не от этой платы, может порт в нем прописан "железно" типа 320h, а на плате какой-нить 240. Даже если у Timer такой убогий хелп, то все равно, может оказатся, что надо параметр подставлять в виде адреса.
Jp1:A,B,C - восемь комбинаций можно перебрать - тока запиши первоначальное состояние, и смотри может на какое нибудь Timer и откликнется. На плате то что за RTC микросхема то стоит?
arif-ru
Advanced Member


Откуда: Москва.
Всего сообщений: 1757
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 окт. 2007
1). JP1 - всего три штырька. Соответственно, три варианта:
o o o, o o=o, o=o o
Исходно был первый, проверил все три.

2). Oki M5832 8608.
Blazer
Advanced Member


Откуда: Russia, Kostroma
Всего сообщений: 336
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
14 фев. 2007
...а фото RTC можно? А то есть две платки подобные, вдруг что-то получится определить?
(собираю потихоньку комплектик XT-шный, пока не включал :) )
olbush
Advanced Member


Откуда: Moscow
Всего сообщений: 346
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
31 июля 2007
Обычно на XT TMR1-340Hex,TMR2-240Hex.Посмотрите IRQ
Alex-M
Junior Member


Всего сообщений: 136
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 мая 2008
Было два типа RTC с параллельной шиной, которые шли на ХТ - 8 разрядные (типа ММ58167А или МС146818Р) и 4-х разрядные (типа OKI M6242B), естественно и алгоритм работы драйвера у каждой у них свой.
http://pdf1.alldatasheet.com/d...46818.html

> arif-ru
Oki M8532 8608 - что то ничего не нашел на это чудо :(
Вы точно переписали маркировку, может действительно, лучше фото платки :rolleyes:

ЗЫ: а еще есть такая RTC UM82C8167, тоже 8-разрядная, но в отличии от МС146818Р (AD0-AD7), шина не мультиплексирована (8-данных, 5-адресов), часто встречается на мультикартах для ХТ
http://www.datasheetcatalog.org/datasheet/UMC/mXyztwqs.pdf

Да, вспоминаю щас, что МС146818Р шли на АТ, а UM82C8167 и ее аналог ММ58167А на ХТ
alecv
Advanced Member


Откуда: Санкт-Петербург
Всего сообщений: 5545
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 окт. 2004
Alex-M написал:
[q]
он перехватывал прерывания от таймера 8253 на себя и оставался в памяти резидентно
[/q]
Я как-то дизассемблировал такой драйвер от xxx8167, он не остается резидентно а просто читает из м-сх. и прописывает в DOS текущее время. А дальше DOS сама летит на стандартном 8253.

Кстати если DOS запускается на XT и видит дату 1980г (вроде любая) то она спрашивает текущее время у оператора и дальше живет на этом времени.
arif-ru
Advanced Member


Откуда: Москва.
Всего сообщений: 1757
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 окт. 2007
Выглядит вот так:


Посмотреть на Яндекс.Фотках

К разъёмам батарейки подключается внешний АКБ, крепится резинкой и петлёй справа.

Чип, на самом деле, Oki M5832.
Его описание легко найти, но оно мне ничего не говорит, к сожалению.
http://pdf1.alldatasheet.com/d...M5832.html
uav1606
Advanced Member


Откуда: Енакиево
Всего сообщений: 4373
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 янв. 2008
arif-ru, можно попробовать просто тупо просканировать первые 1000 портов. Вот, небольшую утиль для этого написал:
ftp://ru54.com/pub/uav/PORTSCAN.zip
Запустите сначала без карты в виде:
portscan>test1.txt
Потом с картой в виде:
portscan>test2.txt
Потом надо будет сравнить эти файлы - если значения в каких-то портах изменились, значит именно их и использует карта (может быть :-). Потом, имея эту информацию, я бы мог попытаться написать что-то вроде "драйвера" для неё. Абсолютно ненадёжный способ, но лучше предложить не могу...
Alex-M
Junior Member


Всего сообщений: 136
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 мая 2008
alecv написал:
[q]
Я как-то дизассемблировал такой драйвер от xxx8167, он не остается резидентно а просто читает из м-сх. и прописывает в DOS текущее время. А дальше DOS сама летит на стандартном 8253.
[/q]
Да, как раз Timer такой и есть, а его утилиты SetTime, GetTime для работы не посредственно с микросхемой RTC - записать в нее время и читать. Но я и круче драйвер юзал, который как раз сидел резидентно, да еще и время, как нортон выводил постоянно в верхнем правом углу и ДОС команды по установке времени через себя отрабатывал, без всяких SetTime, GetTime и RTC часы он сам находил (перебирал адреса на которых она может сидеть). Но этот драйвер то же работал с xxx8167 подобными часами.

arif-ru написал:
[q]
Чип, на самом деле, Oki M5832.
Его описание легко найти, но оно мне ничего не говорит, к сожалению.
http://pdf1.alldatasheet.com/d...M5832.html
[/q]
Oki M5832 - RTC чисто часы, четырехразрядные D0-D3 и дополнительных ячеек памяти в нем нет, как в xxx8167, так что драйвер под нее свой нужен, Timer не подойдет, да и с адресацией нужно разобратся.
Хотя, если понять на каких адресах она сидит, то дизассемблировав тот же Timer, попробовать переписать те участки, где идет запись-чтение времени в этой RTC.
arif-ru
Advanced Member


Откуда: Москва.
Всего сообщений: 1757
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 окт. 2007
uav1606
Спасибо! Попробовал просканировать, но, почему-то, получается очень много различий - примерно по 22-26 шт. Соответственно, как определить нужное - не знаю.
Тут результаты:
http://www.arif-ru.narod.ru/tmp/diff.ZIP
Clear - без карты, nn - карта без джампера, ab и bc - джампер в положении ab и bc соответственно.
Хотя с учётом того, что сказал Alex-M - видимо, это всё равно не актуально.

Alex-M
Ясно. А как называлась Ваша крутая программа - не вспомните, случаем?
Судя по тому, что Вы написали, она тоже не подойдёт, но попробовать стоит. Хотя, видимо, самое правильное решение в моём случае - подарить карту Teodor-у, как интересный контроллер без драйвера; я слишком плохо знаю ассемблер, чтобы переписывать программы.
Alex-M
Junior Member


Всего сообщений: 136
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 мая 2008
arif-ru написал:
[q]
uav1606
Спасибо! Попробовал просканировать, но, почему-то, получается очень много различий - примерно по 22-26 шт. Соответственно, как определить нужное - не знаю.
Тут результаты:
http://www.arif-ru.narod.ru/tmp/diff.ZIP
Clear - без карты, nn - карта без джампера, ab и bc - джампер в положении ab и bc соответственно.
Хотя с учётом того, что сказал Alex-M - видимо, это всё равно не актуально.
[/q]
Внимательно посмотрел фотку : есть два регистра 374 и 273 т.е. в них драйвер то же что то должен писать или читать - может управлять какими то режимами работы Oki M5832, у этих регистров естественно то же своя адресация. Вообщем схема нужна.


arif-ru написал:
[q]
Alex-M
Ясно. А как называлась Ваша крутая программа - не вспомните, случаем?
Судя по тому, что Вы написали, она тоже не подойдёт, но попробовать стоит. Хотя, видимо, самое правильное решение в моём случае - подарить карту Teodor-у, как интересный контроллер без драйвера; я слишком плохо знаю ассемблер, чтобы переписывать программы.
[/q]
Нашел в своей мукулатуре книгу : "Разработка драйверов устройств для MS-DOS" 1992, автор Роберт Лэй перевод В.Л. Григорьева
глава 6 - Драйвер для часов. Вот по этой книжке я драйвер и писал, там приводится полный ассемблерный листинг, так что при желании можно и для Oki M5832 его переделать. Книгу можно тут качнуть : http://extracoder.com/genesis/0041.html
Но как я писал выше - нужна схема :rolleyes: тада может че нить и получится.
uav1606
Advanced Member


Откуда: Енакиево
Всего сообщений: 4373
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 янв. 2008
Н-да, фокус не удался. :-(
Расчёт был на то, что неиспользованные порты выдают значение 255. Используемые - что-то другое. (Обычно так.) Судя по даташиту, микросхема Oki M5832 имеет 13-ть 4-битных регистров. Отсюда можно было бы ожидать такие варианты:
1. Регистры проецируются на непрерывный диапазон из 13 8-битных портов - 1 регистр, 1 порт.
2. Регистры проецируются на непрерывный диапазон из 6-7 8-битных портов, в которых регистры объединены по два.
3. Самый худший вариант - логика на плате реализует индекс-порт и data-порт. Итого, поменяются только два порта...
По результатам сравнения я не обнаружил ни одной большой группы портов, в которых без платы было 255, а с платой что-то другое. :-(
Есть, правда, возможность, что карта использует порты за пределами первых 1000... Но обычные адреса для RTC - 240h-24fh, 2c0h-2cxh, 340h-357h...

arif-ru, а не могли бы Вы ещё раз снять карту портов без платы? Это позволило бы мне выяснить, какие порты могут изменяться сами по себе, и отсеять их.

Вот тут есть коллекция разных "драйверов" для разных clock card's:
http://members.dodo.com.au/~iamextinct/rtc.htm
Ещё какая-то утиль:
ftp://ftp.sigmadesigns.com/bbs/misc/maxtime.exe
И ещё:
http://web.archive.org/web/200...mclk12.zip
Alex-M
Junior Member


Всего сообщений: 136
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 мая 2008
uav1606 написал:
[q]
Вот тут есть коллекция разных "драйверов" для разных clock card's:
http://members.dodo.com.au/~iamextinct/rtc.htm
Ещё какая-то утиль:
ftp://ftp.sigmadesigns.com/bbs/misc/maxtime.exe
И ещё:
http://web.archive.org/web/200...mclk12.zip
[/q]
Хорошая подборка, эх еще бы подписали для каких микрух RTC, а так, для arif-ru работы не на один вечер, но надеятся надо на лучшее :cool:
arif-ru
Advanced Member


Откуда: Москва.
Всего сообщений: 1757
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 окт. 2007
Извините, что так долго, всё не доходили руки сесть и проверить все драйвера.

Сегодня сел, проверил.
1). Все драйвера не работают - ругаются на отсутствие карты, зависают или считывают 99:99.
2). Сканы портов выглядит так.
uav1606
Advanced Member


Откуда: Енакиево
Всего сообщений: 4373
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 янв. 2008
arif-ru, а при каком положении джамперов сняты данные? Все CARDx.TXT для одного положения? И через какие промежутки времени? Т.е. как имена файлов связаны с временем и прочими условиями?
arif-ru
Advanced Member


Откуда: Москва.
Всего сообщений: 1757
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 окт. 2007
Все без джампера, все, кроме Card1 и Nocard1 - сразу после горячей перезагрузки системы. Card1 - после неудачной попытки установить последний драйвер, Nocard1 - после включения компьютера.
uav1606
Advanced Member


Откуда: Енакиево
Всего сообщений: 4373
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 янв. 2008
Извините, что так долго возился...
arif-ru, а Вы DOS'овским debug'ом пользоваться умеете? Если коротко, запускаете debug.com (или exe), появится приглашение "-". Для работы с портами есть две команды, их формат:
i[номер порта в шестнадцатеричном виде] - чтение из порта, пример:
i15
На экране появится hex-число, считанное из порта.
o[hex-порт] [hex-число] - записать в порт число. Пример:
o14 3
Выход из debug - q и Enter.

Значит так, по результатам изучения карты портов у меня вызвали подозрения порты 20-21 (дес.) при установке джамперов AB (в Ваших обозначениях). Соответственно, предлагаю следующее: запускаете debug при установленной карте (джамперы в AB), потом выводите в порт 14 (hex), скажем, 0, читаете порт 15. Потом выводите в порт 14 число 1, опять читаете порт 15 и т.д. Примерно так:

o14 0
i15
...
o14 9
i15

Киньте сюда результат. Я просто предполагаю, что может 20 (14h) - индексный регистр, а 21(15h) - регистр данных этой карты. Хоть это и очень странные адреса для таких карт, сомнительно...
0leg
Advanced Member


Откуда: Город-герой Тула
Всего сообщений: 1991
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 окт. 2007
uav1606,
> у меня вызвали подозрения порты 20-21 (дес.)
Вообще-то эти адреса отведены под контроллер ПДП... Кроме того, TECH Help! говорит, что "Ports 000H-0ffH are reserved for and used by the system board".

arif-ru, есть ещё такой вариант: платка вроде простая, попробуй восстановить её принципиальную схему, и по ней понять, какие порты используются.
uav1606
Advanced Member


Откуда: Енакиево
Всего сообщений: 4373
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 янв. 2008
0leg, если верить П.Нортону, то на XT под ПДП зарезервированы только 00h-0fh (а 10h-1Fh вроде как свободны). Я тоже сомневаюсь насчёт этих портов - но кто его знает, что это за плата, если она полукустарного производства, то всё может быть...
Насчёт схемы полностью согласен - по ней всё было бы намного яснее...
0leg
Advanced Member


Откуда: Город-герой Тула
Всего сообщений: 1991
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 окт. 2007
uav1606,
> если верить П.Нортону, то на XT под ПДП зарезервированы только 00h-0fh
Да и тот же TECH Help! утверждает то же самое. Но вот что написано в RBIL:
>>> PORT 0000-001F - DMA 1 - FIRST DIRECT MEMORY ACCESS CONTROLLER (8237)
<<Назад  Вперед>> Страницы: 1 2 3
Печать
Полигон-2 »   Старый софт »   Real Time Clock - как подключить?
RSS

1 посетитель просмотрел эту тему за последние 15 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS