Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Старый софт » 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 написал: Я так понимаю сам драйвер это Timer, он должен запускатся с параметром (адресом) на котором сидят часы, типа : Timer.сом 340 А SetTime, GetTime и Timer - это не драйверы? Если нет, то подскажите, пожалуйста, как называются драйверы? посмотрите на плате 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 написал: Драйвер не может найти часы, скорее всего он вообще не от этой платы, может порт в нем прописан "железно" типа 320h, а на плате какой-нить 240. Даже если у Timer такой убогий хелп, то все равно, может оказатся, что надо параметр подставлять в виде адреса. No clock found. Jp1:A,B,C - восемь комбинаций можно перебрать - тока запиши первоначальное состояние, и смотри может на какое нибудь Timer и откликнется. На плате то что за RTC микросхема то стоит? |
arif-ru
Advanced Member
Откуда: Москва. Всего сообщений: 1757 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 окт. 2007 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 5 февраля 2010 13:58 Сообщение отредактировано: 6 февраля 2010 10:52
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 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 5 февраля 2010 18:05 Сообщение отредактировано: 5 февраля 2010 19:04
Было два типа RTC с параллельной шиной, которые шли на ХТ - 8 разрядные (типа ММ58167А или МС146818Р) и 4-х разрядные (типа OKI M6242B), естественно и алгоритм работы драйвера у каждой у них свой. http://pdf1.alldatasheet.com/d...46818.html > arif-ru Oki M8532 8608 - что то ничего не нашел на это чудо Вы точно переписали маркировку, может действительно, лучше фото платки ЗЫ: а еще есть такая 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 написал: Я как-то дизассемблировал такой драйвер от xxx8167, он не остается резидентно а просто читает из м-сх. и прописывает в DOS текущее время. А дальше DOS сама летит на стандартном 8253. он перехватывал прерывания от таймера 8253 на себя и оставался в памяти резидентно Кстати если DOS запускается на XT и видит дату 1980г (вроде любая) то она спрашивает текущее время у оператора и дальше живет на этом времени. |
arif-ru
Advanced Member
Откуда: Москва. Всего сообщений: 1757 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 окт. 2007 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 6 февраля 2010 10:49 Сообщение отредактировано: 6 февраля 2010 10:55
Выглядит вот так: Посмотреть на Яндекс.Фотках К разъёмам батарейки подключается внешний АКБ, крепится резинкой и петлёй справа. Чип, на самом деле, Oki M5832. Его описание легко найти, но оно мне ничего не говорит, к сожалению. http://pdf1.alldatasheet.com/d...M5832.html |
uav1606
Advanced Member
Откуда: Енакиево Всего сообщений: 4373 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 16 янв. 2008 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 7 февраля 2010 2:39 Сообщение отредактировано: 7 февраля 2010 2:42
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 написал: Да, как раз Timer такой и есть, а его утилиты SetTime, GetTime для работы не посредственно с микросхемой RTC - записать в нее время и читать. Но я и круче драйвер юзал, который как раз сидел резидентно, да еще и время, как нортон выводил постоянно в верхнем правом углу и ДОС команды по установке времени через себя отрабатывал, без всяких SetTime, GetTime и RTC часы он сам находил (перебирал адреса на которых она может сидеть). Но этот драйвер то же работал с xxx8167 подобными часами. Я как-то дизассемблировал такой драйвер от xxx8167, он не остается резидентно а просто читает из м-сх. и прописывает в DOS текущее время. А дальше DOS сама летит на стандартном 8253. arif-ru написал: Oki M5832 - RTC чисто часы, четырехразрядные D0-D3 и дополнительных ячеек памяти в нем нет, как в xxx8167, так что драйвер под нее свой нужен, Timer не подойдет, да и с адресацией нужно разобратся. Чип, на самом деле, Oki M5832. Хотя, если понять на каких адресах она сидит, то дизассемблировав тот же 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 написал: Внимательно посмотрел фотку : есть два регистра 374 и 273 т.е. в них драйвер то же что то должен писать или читать - может управлять какими то режимами работы Oki M5832, у этих регистров естественно то же своя адресация. Вообщем схема нужна. uav1606 arif-ru написал: Нашел в своей мукулатуре книгу : "Разработка драйверов устройств для MS-DOS" 1992, автор Роберт Лэй перевод В.Л. Григорьева Alex-M глава 6 - Драйвер для часов. Вот по этой книжке я драйвер и писал, там приводится полный ассемблерный листинг, так что при желании можно и для Oki M5832 его переделать. Книгу можно тут качнуть : http://extracoder.com/genesis/0041.html Но как я писал выше - нужна схема тада может че нить и получится. |
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 написал: Хорошая подборка, эх еще бы подписали для каких микрух RTC, а так, для arif-ru работы не на один вечер, но надеятся надо на лучшее Вот тут есть коллекция разных "драйверов" для разных clock card's: |
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 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 22 марта 2010 0:07 Сообщение отредактировано: 22 марта 2010 3:17
Все без джампера, все, кроме 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 - как подключить? |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |