В командному чатіку колега згадав про проблему 2000 року в контексті оновлення старих систем, то ж п

SnC Museum Lab

SnC Museum Lab

@snclab

Персональний блог співзасновника Software & Computer Museum, Олександра Коваленка

307 מנויים
פתח בטלגרם
В командному чатіку колега згадав про проблему 2000 року в контексті оновлення старих систем, то ж пропоную почитати про те, як цю проблему вирішували в свій час.

Проблема полягає в тому, що MS-DOS та Windows включно з Win98 беруть дату з BIOS, який в свою чергу бере її з регістрів мікросхеми реального часу (RTC), в яких під це відведено 1 байт. І саме відповідальність BIOS, як цей байт інтерпретувати. В якийсь момент виробники обладнання усвідомили цю проблему і домовились, що якщо значення регістру > 80, то інтерпретувати як 1980-1999, а якщо менше - то як 2000-2079, проте сталося це не одразу. Існувала вже купа обладнання, в якому до будь-якого значення регістру, відповідального за рік, додавалося 19 і ми отримували 1900-й рік. Навіть при наявності патчу для BIOS, щоб виправити проблему, в ті часи треба було витягнути мікросхему та перешити її на програматорі.

Альтернативним рішенням є окрема плата з власною програмою, яка підключається на шину ISA, реєструє себе в пам'яті, перехоплює та коригує запити до RTC. Багато компаній розробляли схожі рішення, то ж пропоную вашій увазі контролер BIOS-Y2000 PS, розроблений в Києві, який теж виправляє проблему 2000 року. Це невеличка плата, яка містить всього 3 мікросхеми: ROM з підпрограмою корекції, декодер 74138 який декодує значення 3 джамперів та дозволяє зареєструвати підпрограму за різними адресами в пам'яті, та буфер шини даних 74245.

При включенні комп'ютера контролер рееструється в заданій джамперами області пам'яті та перенаправляє на себе вектор переривань стандартних функцій запиту дати та часу. Далі він сам взаємодіє з RTC та коригує відповідь за тою самою логікою, все що менше 80 вважається датами 21 сторіччя. Контролер також показує на екрані BIOS повідомлення:
BIOS-Y2000 ProblemSolver version 1.7x 
RTC & BIOS are ready for Year 2000.
Product of Ukraine.

Як підберу відповідний сетап, протестую, як саме це працює.
Інструкцію від контролера відсканував та закинув на archive.org
2 שתי תמונות מצורפים לפוסט זה — גלויים באפליקציית טלגרם.
פתח את הפוסט בטלגרם