vak: (Знайка)
[personal profile] vak
Пришла наконец заказанная две с лишним недели назад батарейка для чипа RTC, и стал я разбираться. Надыбанные по интернету getclock.exe и setclock.exe странно глючат. Время работает, а дата при перезагрузке слетает. Помучился я с ними, а решил рубить проблему на корню. Быстро на коленке сваял свою програмулину RTCLOCK.EXE.
Usage:
rtclock get YYYY
rtclock set
Options:
get YYYY - Read time from RTC and set DOS date/time
Here YYYY is the current year
(required, not stored in RTC)
set - Write current DOS date/time to RTC
Вставил вызов в AUTOEXEC.BAT:
rtclock get 2025
Теперь XT-шка всегда стартует с правильным временем и датой. Исходники здесь: rtclock.c

Прикольная фишка выяснилась. Номер года не хранится в чипе RTC. Хранится время, день месяца и месяц. И растёт по мере хода часов. А на годе решили сэкономить несколько битов. И то верно - зачем тратиться? Год меняется нечасто. Первого января сисадмин явится на работу и поправит год на всех компьютерах. 😀

Пришлось в вызове "rtclock get", когда время и дата из RTC пересылаются в DOS, добавить обязательный параметр YYYY - нынешний номер года.

Заодно освоил dosbox-x. Сконфигурил его так, что при вызове диском C: становится папка ~/.dos, а диском H: домашний каталог. Вполне комфортно получается на Турбо Си++ программировать, в том числе с помощью ИИ.

Date: 2025-12-10 13:37 (UTC)
dimorlus: (Default)
From: [personal profile] dimorlus
А нельзя по месяцу, числу и дню недели определить год? Я спросил у Geminy, он говорит, что до 31 года можно, потом - непонятно.

PS Правда, тогда этот RTC не может правильно считать календарь, ведь без года он не знает сколько дней в феврале...

PPS А, в даташите на MM58167B так и написано Four-year calendar (no leap year).
Edited Date: 2025-12-10 13:43 (UTC)

Date: 2025-12-10 16:24 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Зачем у кого-то спрашивать, ведь очевидно, что сочетание месяца, числа и дня недели повторяется не реже чем каждые 28 лет.

Date: 2025-12-14 05:12 (UTC)
vijna: (Default)
From: [personal profile] vijna
Прикольно