User Tag List

Страница 15 из 37 ПерваяПервая ... 111213141516171819 ... ПоследняяПоследняя
Показано с 141 по 150 из 365

Тема: CP/M для profi

  1. #141

    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от DimkaM Посмотреть сообщение
    Модераторы походу в отпуске.
    А его, издевательское, сообщение что не комментишь?

    ---------- 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
    [свернуть]

  2. #142
    DimkaM
    Гость

    По умолчанию

    Запускаем систему и видим, что год 1991. Получается, что драйвер выдает значение 1991-1980=11. А это перевденное из BCD 11H в десятичное 11. Понятно?
    Не понятно. При чём здесь 1980 год ?!

  3. #143

    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Читаем выше. Как реализовано хранение даты у меня. Сделано ещё в 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 ----------

    Цитата Сообщение от Vadim Посмотреть сообщение
    Да, регистр 0B я выставляю только в том случае, если питание было нарушено.
    Признаю ошибку, посчитал на этапе написания, что никакая программа к регистрам часов не лезет. Исправлю, но на тек. ситуацию это никак не влияет. Абсолютно.

    Скрытый текст

    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
    [свернуть]

  4. #144
    DimkaM
    Гость

    По умолчанию

    Читаем выше. Как реализовано хранение даты у меня.
    Неправильное у тебя хранение, во всём мире на всех осях с ХХ00года тикает. Вот вся проблема. Просмотрел пдфку на РТЦ, никаких упоминаний 1980года не встретил.
    Ограничение даты до 2235г.
    В бинарном виде отображает до 63 года. В БЦД виде до 99 года.

    ---------- 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.

  5. #145

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vadim Посмотреть сообщение
    Признаю ошибку, посчитал на этапе написания, что никакая программа к регистрам часов не лезет.
    Оно вообще-то и не лезет где есть ОС, которая занимается временем. А это ж спектрум - тут принято все функции ОС затискивать в коммандер и кто угодно - любая казалось бы безобидная прога - вынесет тебе часы или какие-нить еще порты, хоть обинициализруйся по сто раз в минуту до посинения. Так что мне непонятно чего Димка вылез - сугубо посраться? Так и так весело того и гляди модератора разбудите. Или показать что про Ви1 знает?

    Причем вылез с какими-то словами нехорошими. Димка, считай это предупреждением.
    Последний раз редактировалось Error404; 16.10.2011 в 15:28.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  6. #146
    DimkaM
    Гость

    По умолчанию

    Причем вылез с какими-то словами нехорошими. Димка, считай это предупреждением.
    Извиняюсь перед Vadimом.
    Цитата Сообщение от Vadim Посмотреть сообщение
    Ты дебил?...
    Еслиб не его выпад в сторону мною уважаемого человека, я бы не влез.

  7. #147

    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от DimkaM Посмотреть сообщение
    Просмотрел пдфку на РТЦ, никаких упоминаний 1980года не встретил.
    Повторяю, включаем моск. Хранится значение года или в BCD (в виде 2-х последних цифр) или в десятичном виде. Т.е. десятичного формата хранения года никто не отменял. Читаем pdf'ки. Нигде нет упоминания что надо хранить именно в BCD. Если бы хранение было верным только в BCD, зачем тогда нужен бинарный режим? Базу 1980-й год взял для себя я. (Та же база используется в ms-dos). В часах хранится лишь смещение от этой базы. К микросхеме часов это отношения не имеет. Т.е. ни в каких даташитах на часы упоминания об этом не будет и это правильно.
    Цитата Сообщение от DimkaM Посмотреть сообщение
    во всём мире на всех осях с ХХ00года тикает
    Ой ли? Вообще, как бы это нижний уровень, к самой оси имеет посредственное отношение.
    Цитата Сообщение от DimkaM Посмотреть сообщение
    Еслиб не его выпад в сторону мною уважаемого человека, я бы не влез.
    Этот "уважаемый" человек влазит по поводу и без, как и psb (братья они видимо). Не разобравшись в вопросе, это раздражает. Про винт задрал уже писать, уж поверьте. Достало уже. У всех всё работает, а у него нет. Это во первых, а во вторых, слово "дебил", не считаю обидным. Это жаргонное выражение.

    ---------- Post added at 21:36 ---------- Previous post was at 21:31 ----------

    Цитата Сообщение от Error404 Посмотреть сообщение
    А это ж спектрум - тут принято все функции ОС затискивать в коммандер и кто угодно - любая казалось бы безобидная прога - вынесет тебе часы или какие-нить еще порты, хоть обинициализруйся по сто раз в минуту до посинения.
    В режиме спектрума - да. Но я ж говорил о чем? О cp/m совместимой оси. Там есть вызовы ДОС и БИОС, для работы часами. Т.е. мы можем получить время у системы. Есть команды в command.com которые работают с часами. Время создания/модификации файлов выставляется в соответствии с текущим временем. Часы являются органичной частью системы. А не нашлепкой, как на спектруме в коммандерах. Да, программу можно сделать что бы она сбила настройки. И регистр Б надо инициализировать после загрузки системы. И при чтении даты/времени. Бит действительно может быть кем-то изменен. Добавлю задание бинарного режима при доступе к часам. Правка незначительная.
    Последний раз редактировалось Vadim; 16.10.2011 в 19:38.

    Скрытый текст

    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
    [свернуть]

  8. #148

    Регистрация
    20.04.2011
    Адрес
    г. Челябинск
    Сообщений
    602
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vadim Посмотреть сообщение
    слово "дебил", не считаю обидным. Это жаргонное выражение.
    Аха, как в загрузчике "Craced DeBill Gilbert"

  9. #149

    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vadim Посмотреть сообщение
    Ограничение даты до 2235г
    1980+255=
    А если принять бинарное значение знаковым, то сам можешь посчитать, до какого года можно задавать даты. В ms-dos (FAT/12/16 (про 32 не знаю)), кстати, нельзя задать дату файлов ранее 1980г. В ntfs - можно.

    ---------- Post added at 21:40 ---------- Previous post was at 21:40 ----------

    Цитата Сообщение от Killer Посмотреть сообщение
    Аха, как в загрузчике "Craced DeBill Gilbert"
    Да. Примерно так.

    ---------- Post added at 22:41 ---------- Previous post was at 21:40 ----------

    Цитата Сообщение от DimkaM Посмотреть сообщение
    Откуда RTC узнает в каком формате ты решил прочитать из неё данные?
    Ещё расскажу о логике драйвера. При инициализации подсистемы драйверов идёт проверка в драйвере RTC, не пропадало ли питание. Если питание пропадало (или это первое включение компа, батареи нет, часы не работали), то производится инициализация RTC. В регистр 0А помещается 27H, в регистр 0B - значение 86, после выставляется начальное время, и в 0B заносится 06. Мною не предполагалось, что другие программы будут лезти к часам реального времени. На тот момент по крайней мере. Смысла нет. Есть функционал bios/dos. Порты могут быть другими, через bios/dos всегда всё будет работать.

    Скрытый текст

    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
    [свернуть]

  10. #150

    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vadim Посмотреть сообщение
    (братья они видимо)
    да, чувак, мы братья видимо

    (топик не читал)

Страница 15 из 37 ПерваяПервая ... 111213141516171819 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Profi 5.02
    от Elya в разделе Profi
    Ответов: 59
    Последнее: 17.12.2012, 09:49
  2. Profi+,Profi2+,Profi3+
    от nihirash в разделе Барахолка (архив)
    Ответов: 0
    Последнее: 22.05.2005, 11:11
  3. Scorpion or Profi
    от Visuale в разделе Барахолка (архив)
    Ответов: 3
    Последнее: 21.04.2005, 18:04
  4. Поддержка CP/M Profi в эмулях
    от Doctor Max в разделе Эмуляторы
    Ответов: 5
    Последнее: 24.03.2005, 00:54

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •