Y2K
 
YEAR 2000 BIOS BUG FIX

UŽIVATELSKÁ PŘÍRUČKA

 
Kompatibilita     Implementace    Návod k instalaci    Známé problémy    Kontaktní adresa   Přehled verzí   Ceny
 

 Specifikace

     Hardwarové řešení problematiky přechodu na rok 2000 pro starší osobní počítače formou extenze BIOSu. Korekce časových funkcí BIOSu na typ splňující kritéria přechodu na rok 2000 a na nové tisíciletí je provedena přídavným adaptérem ještě před startem operačního systému, takže nehrozí nebezpečí nechtěného odstranění ze systému.

     Kromě opravy chybného století při startu počítače a instalace opravených časových funkcí BIOSu je zajištěna též aktualizace údaje o století v CMOS za chodu počítače i v případě, že nedojde k volání žádné z časových funkcí BIOSu. Tím je zajištěno to, že správný údaj o století obdrží též programy, které obcházejí volání operačního systému i BIOSu a pracují přímo s hodinami reálného času osobního počítače. Opravu údaje v CMOS zajišťují dva na sobě nezávislé mechanismy. Oprava údaje v CMOS na správnou hodnotu se neprovádí u verze 1.45 (určena pro variantu Award BIOSu s chybnou korekcí letopočtu při startu počítače).

     Vlastní algoritmus opravy časových funkcí BIOSu využívá pro rozhodování o století letopočet 1980. O letopočtu nižším než uvedená hranice předpokládá, že je chybný, a v takovém případě opraví údaj o století na 20 (neplatí pro verzi 1.45).

     Oprava BIOSu YEAR 2000 BIOS BUG FIX je umístěna v 2 kB extenzi BIOSu v prostoru přídavných adaptérů. Paměť EPROM obsahující uvedenou extenzi BIOSu může být libovolné velikosti, do které se 2 kB extenze vejde. Prakticky připadají v úvahu paměti typů 2716 - 27256 (2 kB - 32 kB).
 

 Kompatibilita

     Úpravu YEAR 2000 BIOS BUG FIX lze použít ve všech starších osobních počítačích s obvodem reálného času kompatibilním s obvodem MC146818 a s jedním z ověřených BIOSů. Jedná se o většinu osobních počítačů založených na procesoru 286, 386SX, 386DX, 486 a Pentium. Starší počítače XT neobsahují kompatibilní časový čip a nelze je tímto způsobem opravit. Ověřené BIOSy jsou výrobců AMI, Award, DTK, Quadtel, Compaq. Pro BIOSy Phoenix a obdobné (MR BIOS) se použije jiná verze řešení (V 1.3 nebo novější V 1.35), která se od standardní verze (V 1.2) liší pouze způsobem začlenění do systému na úrovni BIOSu. Kromě případu uvedeného dále lze ve většině případů použít verzi opravy 1.35 namísto starších verzí. U Award BIOSu existuje pro některé chipsety jeho varianta s pravděpodobným rozsahem datování od 26. 4. 1994 do 31. 5. 1995, která při startu počítače nepovolí jiný rozsah roků než 94 - 99 a pro všechny ostatní nataví v CMOS rok 1994 bez ohledu na byte s údajem o století. Jelokož tato chybná korekce je provedena ještě před voláním extenzí BIOSu, nelze v tomto případě použít standardní verze 1.2 až 1.35, neboť rok 1994 (případně 2094) považují za korektní. V tomto speciálním případě se použije verze opravy 1.45 určená právě pro tuto variantu Award BIOSu. Tato verze opravy Y2K musí bohužel využívat v CMOS výše uvedený rozsah roků, který opravují teprve služby BIOSu při svém volání. Z téhož důvodu je tato verze opravy použitelná pouze do konce roku 2003. Pro počítače AST (klon Award BIOSu) je určena upravená standardní verze 1.25 (rovněž neprovádí opravu údaje v CMOS za chodu počítače bez volání časových funkcí BIOSu). Další informace k jednotlivým verzím opravy Y2K je možno nalézt v přehledu verzí opravy Y2K.

     Čipy kompatibilní s MC146818 (použity ve všech známých osobních počítačích od 286 výše) správně interpretují přestupné roky bez ohledu na výjimky na konci století. Dvojitá výjimka v roce 2000 se tudíž neuplatní.

     Úpravu lze aplikovat rovněž v průmyslových počítačích založených na uvedených typech procesorů a BIOSů, nutnou podmínkou však je, že do systému lze přidat kartu ISA nebo PCI, případně, že systém obsahuje nevyužitou patici pro rozšíření BIOSu.

     Mechanismus opravy časového údaje pracuje na úrovni BIOSu osobního počítače. Korekce provedená při startu počítače se projeví nezávisle na operačním systému. Oprava časového údaje za chodu počítače se projeví pouze v případě, že operační systém zachová přinejmenším volání časových funkcí BIOSu. To platí v případě všech známých verzí MS DOS, dále pro MS Windows 95 a MS Windows 98. Pokud operační systém zcela nahradí funkce BIOSu, je oprava časového údaje za chodu počítače zcela v režii použitého operačního systému.
 

 Implementace

Možností nasazení úpravy YEAR 2000 BIOS BUG FIX v počítači je několik:
  1. přídavná karta obsahující paměť typu EPROM

  2.  
  3. doplnění počítače síťovou kartou, na níž se pozice pro BOOT ROM osadí EPROM s extenzí BIOSu

  4.  
  5. osazení existující síťové karty s nepoužitou pozicí pro BOOT ROM

  6.  
  7. využití prázdných patic pro rozšíření BIOSu na základní desce
Možnosti 1. - 3. mohou využít jakoukoli volnou pozici sběrnice ISA nebo PCI.
 

  Návod k instalaci

     Ve všech případech uvedených pod body 1. - 3. předchozího odstavce je nutno zajistit, aby přídavný adaptér byl osazen odpovídající pamětí EPROM s extenzí BIOSu YEAR 2000 BIOS BUG FIX. Použitý typ paměti musí odpovídat jednomu z typů použitelných v přídavném adaptéru. Dále musí být zvolen paměťový segment, který nekoliduje s jinou extenzí BIOSu v konkrétním počítači (např. s BIOSem VGA nebo SCSI adaptéru).

     Konkrétní nastavení závisí na použitém adaptéru a je nutno jej vyhledat v jeho dokumentaci. U většiny starších síťových karet je nutno nastavit odpovídající propojky na adaptéru, novější adaptéry se nastavují většinou pomocí konfiguračního programu. Vždy je nutno povolit "BOOT ROM", většinou lze nastavit počáteční adresu použitého paměťového segmentu, někdy lze též zvolit typ (velikost) paměti. Nové karty typu Plug and Play (ISA i PCI) umožňují většinou jenom povolit nebo zakázat BOOT ROM. V některých případech (např. SMC) lze pozici pro BOOT ROM softwarově povolit nebo překonfigurovat pouze bez přítomnosti paměti s opravou Y2K.

     VGA a EGA adaptéry používají paměťový segment s počáteční adresou C000H o délce 32 kB (někdy 16 kB), proto je lépe se tomuto adresovému prostoru vyhnout. Vhodná počáteční segmentová adresa pro extenzi YEAR 2000 BIOS BUG FIX je C800H, neboť bývá většinou nevyužitá (stará XT zde měla umístěnu extenzi BIOSu pro přístup k pevnému disku). Uvedená adresa je jednou ze dvou možností použitelných na přídavné kartě PWM (adresa C800H - propojka v poloze A, adresa D000H - propojka v poloze X).

     Využití volných pozic pro EPROM na základní desce připadá v úvahu pouze pokud systém nelze rozšířit jiným způsobem a použitá základní deska volné pozice obsahuje. V takovém případě se jedná většinou o starší počítače AT s procesorem 286, které vyžadují rozdělení rozšíření BIOSu na sudou a lichou část a umístění do dvou pamětí EPROM.

       Verze 1.3 určená pro Phoenix BIOS a novější verze 1.35 se od standardní verze 1.2 odlišují pouze způsobem začlenění do systému a jsou kompatibilní též s ostatními ověřenými BIOSy. V případě použití primárního diskového kontroléru s vlastním BIOSem (např. SCSI, ale i některých kontrolérů Enhanced IDE obsahujících vyrovnávací paměť - cache) je však nutno zajistit, aby v procesu ROM Scan byl nejprve detekován diskový kontrolér (jeho extenze BIOS umístěna na nižší adrese než extenze Year 2000 BIOS Bug Fix), jinak vůbec nedojde k instalaci opravených časových funkcí extenze Year 2000 BIOS Bug Fix. Proto se v těchto případech doporučuje použití verze 1.2, většinou však vyhoví též verze 1.35 zamapovaná na konec adresového prostoru přídavných adaptérů (např. DC00h).

     Po instalaci přídavného adaptéru s extenzí BIOSu je doporučeno provést test způsobilosti zařízení pro přechod na rok 2000. Obzvlášť důležitý je manuální test s restartem počítače, který odhalí možné problémy s chybnou korekcí při startu počítače a též možnou kolizi s jinými případnými opravami pro přechod na rok 2000 (zejm. u verze 1.45).
 

  Známé problémy

     Některé starší VGA karty s funkcí autodetekce šířky sběrnice vnutí šestnáctibitový režim celému segmentu paměti. Pokud se v takovém případě použije osmibitový přídavný adaptér adresovaný do téhož paměťového segmentu, systém jeho přítomnost nezjistí. Řešením je buď přeadresovat použitý osmibitový adaptér do jiného segmentu (D000H) nebo zrušit funkci autodetekce sběrnice na VGA kartě.

     Byla zjištěna starší základní deska počítače Pentium (PA 2002) s poněkud odlišným časováním ISA sběrnice. V této desce nefungoval osmibitový adaptér (PWM) s extenzí BIOSu. Řešením bylo použití síťové karty na sběrnici PCI a osazení volné pozice pro BOOT ROM pamětí EPROM s extenzí BIOSu. Z obdobných důvodů je v některých síťových kartách na některých základních deskách nutno použít pomalejší EPROM.

     Problémy s časováním lze často vyřešit zapnutím Shadow RAM pro paměťový segment použitý extenzí Year 2000 BIOS BUg Fix. V některých obzvlášť zapeklitých případech pomáhá manipulace s poněkud obskurními proměnnými Setupu (Hidden Refresh, Slow Refresh...).

     Pokud je nutno aplikovat opravu YEAR 2000 BIOS BUG FIX v systému bez pevného disku, ve kterém je použito zavedení operačního systému po síti ze serveru, je v některých případech potřeba zajistit, aby přídavný adaptér s opravou BIOSu pro přechod na rok 2000 měl nižší adresu paměti EPROM než je adresa použité BOOT ROM.

     Grafická karta Diamond EDGE 3D vykazuje konflikt s opravou YEAR 2000 BIOS BUG FIX. Řešením byla výměna grafické karty za jiný typ.

     Adresový prostor obsazený extenzí BIOSu Year 2000 BIOS Bug Fix nesmí být pomocí ovladače EMM386.EXE zpřístupněn pro jiné použití. Tzn., že v příkazovém řádku souboru CONFIG.SYS zahrnujícím volání ovladače EMM386.EXE nesmí být parametrem i=mmmm-nnnn specifikována adresa ležící uvnitř adresového prostoru, který využívá 2 kB extenze Year 2000 BIOS Bug Fix.

     Na některých síťových kartách nedochází k úplnému dekódování adres a v případě použití EPROM stejné velikosti jako původní BOOT ROM je extenze BIOSu zamapována do prostoru přídavných adaptérů dvakrát, což vede ke kolizi. Je nutno použít paměť větší velikosti (NE2000 - původní BOOT ROM 27C64, nutno použít 27C128). Nepomůže-li ve výjimečném případě tento postup, je třeba si vyžádat speciální variantu řešení, krerá se instaluje pouze jednou i v případě násobného výskytu v adresovém prostoru přídavných adaptérů. Tyto varianty opravy Y2K jsou označeny sufixem "I" za identifikací verze (1.35 I, 1.45 I).
 

  Kontaktní adresa

     Pokud při instalaci extenze BIOSu YEAR 2000 BIOS BUG FIX narazíte na problémy nebo zjistíte dosud neznámou nekompatibilitu, prosíme, kontaktujte nás, abychom Vám byli nápomocni.

Naše adresa: Jiří Černý
                    2EL Computer s.r.o.
                    Bezručova 788
                    511 23  TURNOV

Telefon: 481 440 417, 481 321 889

e-mail: cerny@2elcomp.cz
 
 

Specifikace     Kompatibilita     Implementace    Návod k instalaci    Známé problémy   Přehled verzí   Ceny
 
 
     Y2K1.45I                    (c) Jiri Cerny, 1999                

2EL Computer s.r.o., Bezručova 788, 511 23 Turnov, CZ, Tel./fax: +420-481 321 889, Tel.: +420-481 440 417, e-mail: cerny@2elcomp.cz