Последний раз редактировалось Error404; 15.10.2011 в 20:03. Причина: добавил про длину ибо потсаны реально жгут :)
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
savelij, завязывай с грибами)))
Скрытый текст
Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
ZX Evolution Rev B.
Color 48 + Beta Disk Interface +FDD+YM2149F
Орель-08БК
Pentagon-48 (недоссобранный кем-то)
Pentagon-128 (полуубитый)
Кворум-128 (в ремонте)
Магик-05 (в ремонте)
Robotron 1715
Корвет ПК8020 и ПК8010
Amstrad CPC 464
Amstrad CPC 6128[свернуть]
да, савелий. совет - завязывай, как уже сказал Вадим, с грибочками. я понимаю, что курить их прикольна или кушать..ноне надо, ага?))) порта юзикса для пней и эвы не существует. и никогда не будет существовать.у мена на пентеве и на анрыле прекрасно работает uzix
кстати, ЛСД тоже вредно принимать... и ещё протрезвей изавтра отпишеш про ощущения)))
Господа, вы что тут курите?! Пришлете мне тоже самое на мыло.
Ты дурак?(Это вопрос, а не утверждение) Откуда RTC узнает в каком формате ты решил прочитать из неё данные? Ей то плевать что ты забыл регистр 0х0В проинитить, не надо забывать что любая прога может записать туда что угодно.Сообщение от Vadim
Последний раз редактировалось DimkaM; 16.10.2011 в 11:41.
А его, издевательское, сообщение что не комментишь?
---------- Post added at 13:59 ---------- Previous post was at 13:39 ----------
Сейчас глянул исходник. Да, регистр 0B я выставляю только в том случае, если питание было нарушено. Запускаем систему и видим, что год 1991. Получается, что драйвер выдает значение 1991-1980=11. А это перевденное из BCD 11H в десятичное 11. Понятно? Если формат хранения времени иной, то хоть ставь бит, хоть не ставь - дата будет неверной. А при хранении даты в BCD надо хранить ещё значение века в ячейке памяти CMOS. Именно по этому, в 1997г. я отказался от варианта BCD. Нужно юзать ячейку, стандарта на хранение параметров нет, набо бы всё обдумать чего и где как хранить, как подсчитывать контрольную сумму CMOS, что бы знать, не испорчены ли значения. Зачем это всё? Проще в бинарном виде хранить. Ограничение даты до 2235г. На наш век хватит. Если уж так надо, могу переделать хранение даты времени. Только это дополнительный код, преобразование в BCD перед записью и наоборот (для значения года).
Скрытый текст
Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
ZX Evolution Rev B.
Color 48 + Beta Disk Interface +FDD+YM2149F
Орель-08БК
Pentagon-48 (недоссобранный кем-то)
Pentagon-128 (полуубитый)
Кворум-128 (в ремонте)
Магик-05 (в ремонте)
Robotron 1715
Корвет ПК8020 и ПК8010
Amstrad CPC 464
Amstrad CPC 6128[свернуть]
Не понятно. При чём здесь 1980 год ?!Запускаем систему и видим, что год 1991. Получается, что драйвер выдает значение 1991-1980=11. А это перевденное из BCD 11H в десятичное 11. Понятно?
Читаем выше. Как реализовано хранение даты у меня. Сделано ещё в 1997г. Год хранится как бинарное число, к которому надо прибавить 1980, для получения года. Второй вариант - хранение года в BCD. Проблему 2000-го года припоминаешь? Откуда она взялась? В ПЦ дата и время хранится в BCD (зачем? непонятно). Год хранится в микросхеме в виде 2-х последних цифр. Максимальное значение 99H. Первые цифры (19H) считались константой (думали что никто не доживёт до 21-го века). После получения значения года, к нему добавляли 1900H. Потом, для решения проблемы 2к, решили хранить значение века в памяти CMOS, я даже находил, в каких именно ячейках у определенных bios'ов. Т.е. чёткого стандарта нет. Это ж память cmos, как производитель хочет так и сделает. Функцию получения даты изменили и всё. Зная всё это, я решил не хранить в BCD. Зачем это? Никаких плюсов, по сравнению с бинарным режимом нет. В api функциях везде дата время в бинарном значении. С ПЦ профик никак не связан. Вот так и было сделано. А в эмуле получилась такая вот ситуация. После загрузки q-dos - время соотв. времени ПЦ, дата аналогично, кроме года. Изменить могу, не проблема.
---------- Post added at 15:50 ---------- Previous post was at 15:48 ----------
Признаю ошибку, посчитал на этапе написания, что никакая программа к регистрам часов не лезет. Исправлю, но на тек. ситуацию это никак не влияет. Абсолютно.
Скрытый текст
Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
ZX Evolution Rev B.
Color 48 + Beta Disk Interface +FDD+YM2149F
Орель-08БК
Pentagon-48 (недоссобранный кем-то)
Pentagon-128 (полуубитый)
Кворум-128 (в ремонте)
Магик-05 (в ремонте)
Robotron 1715
Корвет ПК8020 и ПК8010
Amstrad CPC 464
Amstrad CPC 6128[свернуть]
Оно вообще-то и не лезет где есть ОС, которая занимается временем. А это ж спектрум - тут принято все функции ОС затискивать в коммандер и кто угодно - любая казалось бы безобидная прога - вынесет тебе часы или какие-нить еще порты, хоть обинициализруйся по сто раз в минуту до посинения. Так что мне непонятно чего Димка вылез - сугубо посраться? Так и так весело того и гляди модератора разбудите. Или показать что про Ви1 знает?
Причем вылез с какими-то словами нехорошими. Димка, считай это предупреждением.
Последний раз редактировалось Error404; 16.10.2011 в 15:28.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Неправильное у тебя хранение, во всём мире на всех осях с ХХ00года тикает. Вот вся проблема. Просмотрел пдфку на РТЦ, никаких упоминаний 1980года не встретил.Читаем выше. Как реализовано хранение даты у меня.
В бинарном виде отображает до 63 года. В БЦД виде до 99 года.Ограничение даты до 2235г.
---------- Post added at 14:23 ---------- Previous post was at 14:17 ----------
Ещё раз повторюсь, ни какого режима хранения данных нету. Есть режим выдачи информации из часов. Хранится в любом случае в бинарнодесятичном формате.
---------- Post added at 14:28 ---------- Previous post was at 14:23 ----------
ЦитатаBit 2: Data Mode (DM). This bit indicates whether time
and calendar information is in binary or BCD format.
The DM bit is set by the program to the appropriate format and can be read as required. This bit is not modified by internal functions or RESET. A 1 in DM signifies
binary data, while a 0 in DM specifies BCD data.
Последний раз редактировалось DimkaM; 16.10.2011 в 14:35.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)