Opět nás postihl přechod z času středoevropského na čas kyjevský.
Potápěčské automaty i Quartz ručičkové hodiny, stejně jako hodiny na troubě a mikrovlnce musíte přeřídit ručně, na astronomických goto montážích přepnete v nastavení na letní čas, rádiem řízené hodiny se přeřídí samy (víte, že ten DCF77 signál se vysílá z Mainflingenu?), mobil si vezme síťový čas a moderní operační systémy se přenastaví pomocí NTP.
Toto štěstí má i Sinclair QL, zejména Q klony (Q40, Q60, Q68), které byly obdařeny ethernetem a přes to NTP si mohou čas aktualizovat.
Pokud ale máte Gold Card, Super Gold Card, Minerva ROM s I2C a RTC nebo jiné udělátko s podporou hodin reálného času, dá se předpokládat, že to samo přechod z času astronomického (tedy “zimního”) na ten kyjevský (tedy “letní”) samo neprovede.
(V této souvislosti bych rán upozornil, že spousta lidí by ráda střídání času zrušila, nejlépe v prospěch letního času.
Vzhledem k tomu, že ten “astronomicky správný”, t.j. blízký pravému slunečnímu času, je ten “zimní”, bych rád upozornil na případ vzoru všech demokracií a nejpokrokovější zemi na světě a jeho širokém okolí, tedy Ruska, kde střídání času zrušili, pár roků si nechali “letní” čas a pak znovu čas střídali, aby se mohli vrátit zpět k astronomickému “zimnímu” času, protože i v Putinově ráji zjistili, že být o jedno časové pásmo posunut celý rok je blbost.)
Na QL ale situaci zachraňuje jednoduchý program, jak jinak, než v Basicu, který si zjistí, zda nenastal březen či říjen, zda není zrovna sobota, zda to není poslední sobota v měsíci, a zeptá se, zda provést korekci o hodinu (odpověď je Y nebo N, program sám hodinu ubere či přidá).
Vaše jediná povinnost je v den změny času QL zapnout a nabootovat!
(A odpovědět správně na jeho otázku, to dá rozum.)
Výpis programu jest zde, račte si doplnit do BOOT sekvence vašeho QL:
100 REMark BST change for BOOT programs
110 REMark adjust day/month language for your system
120 CLS : CLS #0
130 d$ = DATE$ : mth$ = d$(6 TO 8)
140 IF d$(6 TO 8) = 'Mar' OR d$(6 TO 8) = 'Oct' THEN
150 REMark British summer time +1 hour in March, -1 hour in October
160 REMark "Spring forward, Fall back"
170 REMark occurs on last weekend of those months
180 IF DAY$ = 'Sun' THEN
190 IF d$(10 TO 11) > 24 THEN
200 REMark last weekend of March or October
210 INPUT #0,'Date$ = ';(DATE$);'. Adjust clock for BST? ';yn$
220 IF yn$ == 'y' THEN
230 IF d$(6 TO 8) = 'Mar' THEN ADATE 60*60 : ELSE ADATE -60*60
240 PRINT #0,'New time=';DATE$
250 END IF
260 END IF
270 END IF
280 END IF
Užíváte-li systém jiný než anglický, musíte na řádku 140 změnit v řetězcích zkratky názvů měsíců.
(Mi připomíná, že už nějakou dobu uvažuju o české verzi Minerva ROM.)
Autorem programu je stále velmi aktivní Dilwyn Jones.