Бесчипсетная XT

Описания, советы, ремонт, эксплуатация старых IBM PC-совместимых ПК
i8088
Advanced Member
Сообщения: 4383
Зарегистрирован: 30.01.2015,17:06
Откуда: г. Баку, Азербайджан

Конкурсы

Вклад в сообщество

Бесчипсетная XT

Сообщение i8088 » 02.01.2023,16:09

Rio444 писал(а): 02.01.2023,13:41 То есть для максимальной совместимости с софтом предпочтителен этот чип (или аналоги, их много)
Роман, это все касается AT. Для XT RTC стандарта нет, и еслидаже программа прямо
обращается к оборудованию, то по machine ID должна определить, что это XT.

Тестовые программы могут конечно прощупывать известные часы, применяемые
в то время, по известным адресам, но это лишь база данных конкретной диагностической программы. Да и какая разница - часы должны иметь свой драйвер или поддержку в BIOS.

146818 программно совместим с DS12885/7 (есть аппаратные отличия), то есть
непринципиально, что применять. DS12887 добавлен век и память больше, но 286
BIOS все равно это не используют.

Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 26861
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону

Вклад в сообщество

Бесчипсетная XT

Сообщение Rio444 » 02.01.2023,16:43

i8088 писал(а): 02.01.2023,16:09 Да и какая разница - часы должны иметь свой драйвер или поддержку в BIOS.
А кто будет писать драйвер? Собственно сама утилита, которая просто при старте будет копировать содержимое RTC в RAM это наверное мелочи. Хоть на бейсике можно сделать.
Ну нужна же ещё будет программа, которая будет задавать время в RTC. Желательно с нормальным, человеческим интерфейсом, а не из командной строки.
Опять же, было бы очень круто, если бы RTC поддерживали распространенные программы, такие как CheckIt!, SysCheck, Hardware Doctor и т.п.
Электронка: Изображение копия Изображение

i8088
Advanced Member
Сообщения: 4383
Зарегистрирован: 30.01.2015,17:06
Откуда: г. Баку, Азербайджан

Конкурсы

Вклад в сообщество

Бесчипсетная XT

Сообщение i8088 » 02.01.2023,16:55

Rio444 писал(а): 02.01.2023,16:43 А кто будет писать драйвер? Собственно сама утилита, которая просто при старте будет копировать содержимое RTC в RAM это наверное мелочи. Хоть на бейсике можно сделать.
Ну нужна же ещё будет программа, которая будет задавать время в RTC. Желательно с нормальным, человеческим интерфейсом, а не из командной строки.
Драйвер я могу написать (это особый тип драйвера - CLOCK), но программа иногда
даже лучше, тк не ест память. А чем плох CLI интерфейс? Там всего два основных ключа -
- установить DOS время по времени внутри часов (обычно из autoxec.bat вызывается) и
наоборот (время в RTC по DOS времени). Те ставим время и дату в DOS любым способом
и вызываем программу. Те задавать время и дату для самой программы каким-то
нестандартным способом не надо.

Относительно IRQ8 - похоже, не особо он нужен
► Показать

Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 26861
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону

Вклад в сообщество

Бесчипсетная XT

Сообщение Rio444 » 02.01.2023,17:08

i8088 писал(а): 02.01.2023,16:55 Там всего два основных ключа -
- установить DOS время по времени внутри часов (обычно из autoxec.bat вызывается) и
наоборот (время в RTC по DOS времени).
Если так, то да, вполне можно. Только тогда удобнее две программы, вообще без ключей. Например "set_RTC.com" и "set_time.com". Проще выбрать нужную прогу, чем набирать ключи (которые ещё и помнить надо).
А как оцениваешь вопрос совместимости? Не возникнут ли проблемы на разных конфигурациях железа? С разной периферией? Например, если будет пересечение адресов и надо будет изменить порты RTC?
Электронка: Изображение копия Изображение

i8088
Advanced Member
Сообщения: 4383
Зарегистрирован: 30.01.2015,17:06
Откуда: г. Баку, Азербайджан

Конкурсы

Вклад в сообщество

Бесчипсетная XT

Сообщение i8088 » 02.01.2023,17:15

Rio444 писал(а): 02.01.2023,17:08 Если так, то да, вполне можно. Только тогда удобнее две программы, вообще без ключей. Например "set_RTC.com" и "set_time.com". Проще выбрать нужную прогу, чем набирать ключи (которые ещё и помнить надо)
Тогда мне кажется лучше одну программу и два bat файла - тк неудобно, при нахождении
ошибки/написании программы менять код в двух файлах.
Rio444 писал(а): 02.01.2023,17:08 А как оцениваешь вопрос совместимости? Не возникнут ли проблемы на разных конфигурациях железа? С разной периферией? Например, если будет пересечение адресов и надо будет изменить порты RTC?
Это надо посмотреть, какие адреса использовали RTC карты тех времен, и предусмотреть
выбор из их числа (те самоделка чтоб использовала стандартные адреса). В программе
предусмотреть возможность задания порта, отличного от default, и/или автопоиск. Здесь
однако чемпионом являются фантомные часы, тк их как бы нет вообще!

Аватара пользователя
Fentone
Member
Сообщения: 151
Зарегистрирован: 25.06.2021,23:29
Откуда: Калининград

Бесчипсетная XT

Сообщение Fentone » 02.01.2023,19:17

Вариант на DS1215 самый универсальный для XT, можно устанавливать и на старые платы и в новодел (не занимает много места).
Я заказал эти микросхемы и опробую фантомные часы на своей макетке.

Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 26861
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону

Вклад в сообщество

Бесчипсетная XT

Сообщение Rio444 » 02.01.2023,21:37

i8088 писал(а): 02.01.2023,17:15 Тогда мне кажется лучше одну программу и два bat файла - тк неудобно, при нахождении
ошибки/написании программы менять код в двух файлах.
Они же выполняют разные, не связанные между собой действия. И весьма простые.
Можно конечно и через bat-ники. Как часто и делают. Но тогда придется добавлять обработку ключей.
i8088 писал(а): 02.01.2023,17:15 Это надо посмотреть, какие адреса использовали RTC карты тех времен, и предусмотреть
выбор из их числа
Мне вот подумалось, что адреса же можно запихнуть во "внутренний" диапазон (0-255, если память не изменяет)? И тогда конфликты с картами ISA исключены. Нужно только чтобы не было пересечений со встроенной периферией.
Электронка: Изображение копия Изображение

Аватара пользователя
Fentone
Member
Сообщения: 151
Зарегистрирован: 25.06.2021,23:29
Откуда: Калининград

Бесчипсетная XT

Сообщение Fentone » 02.01.2023,21:52

Rio444 писал(а): 02.01.2023,21:37 Мне вот подумалось, что адреса же можно запихнуть во "внутренний" диапазон
Тогда RTC должны быть установлены только на системной плате, иначе при чтении из диапазона адресов 0-FFh в общем случае будет конфликт с External Data Buffer.

Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 26861
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону

Вклад в сообщество

Бесчипсетная XT

Сообщение Rio444 » 02.01.2023,21:54

Fentone писал(а): 02.01.2023,21:52 огда RTC должны быть установлены только на системной плате
Да, разумеется. Об этом же и речь.
Электронка: Изображение копия Изображение

Аватара пользователя
Fentone
Member
Сообщения: 151
Зарегистрирован: 25.06.2021,23:29
Откуда: Калининград

Бесчипсетная XT

Сообщение Fentone » 02.01.2023,22:13

Rio444 писал(а): 02.01.2023,21:37 Нужно только чтобы не было пересечений со встроенной периферией.
Я уже приводил свой вариант схемы для стандартных (в АТ) адресов RTC.
С ХТ периферией пересечений не будет. Можно использовать разработанный для АТ код (за исключением IRQ8).

i8088
Advanced Member
Сообщения: 4383
Зарегистрирован: 30.01.2015,17:06
Откуда: г. Баку, Азербайджан

Конкурсы

Вклад в сообщество

Бесчипсетная XT

Сообщение i8088 » 03.01.2023,14:39

Rio444 писал(а): 02.01.2023,21:37 Они же выполняют разные, не связанные между собой действия. И весьма простые.
Можно конечно и через bat-ники. Как часто и делают. Но тогда придется добавлять обработку ключей.
Подпрограммы чтения-записи, проверка валидности, поиск часов итп - общие для обеих
программ. Кстати, с каждыми часами масса нюансов, я бы не сказал, что эти программы
простые. А код для DS1215 реально сводит с ума:) В программном плане они похоже
самые сложные.

Обработка ключей - это в общем несложно, если только не требовать разные хитрые
ключи и их комбинации, а у нас всего два основных ключа (R/W) и еще можно
инициализацию часов.
Rio444 писал(а): 02.01.2023,21:37 Мне вот подумалось, что адреса же можно запихнуть во "внутренний" диапазон (0-255, если память не изменяет)? И тогда конфликты с картами ISA исключены. Нужно только чтобы не было пересечений со встроенной периферией.
Конечно, для встроенных часов это лучшее решение.

Ответить