User Tag List

Показано с 1 по 10 из 14

Тема: Контрольная сумма

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #12

    Регистрация
    16.01.2005
    Адрес
    California, USA
    Сообщений
    828
    Спасибо Благодарностей отдано 
    108
    Спасибо Благодарностей получено 
    114
    Поблагодарили
    73 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyk Посмотреть сообщение
    Из исходников Emu80. Возможно, будет понятнее:

    Код:
            uint16_t cs = 0;
            for (uint16_t i = 0; i < fileSize - 1; i++) {
                cs += buf[i];
                cs += (buf[i] << 8);
            }
            cs = (cs & 0xff00) | ((cs + buf[fileSize - 1]) & 0xff);
    Это типа бага изначального монитора, что старший байт последнего суммирования теряется и вместо него используется его предыдущее значение?
    Последний раз редактировалось Shaos; 22.04.2024 в 10:04.
    Администратор сетевого сообщества nedoPC.org
    Урал 8/64К, Sp2000, ZX48K+, ZX16K (спалил), TS1000 (американский ZX81), TS2068, Дельта-С, 20 лет собираю ATM Turbo 2+
    Неспектрумы: Электроника МК-85 и МК-85М, ПК-01 Львов, БК-0011, Вектор-06Ц, Лик (спец), Апогеи, Radio-86RK SRAM 32K & 128K (всё ещё собираю)

    Этот пользователь поблагодарил Shaos за это полезное сообщение:

    cy6(22.04.2024)

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

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

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

Ваши права

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