Важная информация

User Tag List

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

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

  1. #1
    Member Аватар для Helloween
    Регистрация
    09.08.2010
    Адрес
    Екатеринбург
    Сообщений
    121
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Контрольная сумма

    Здравствуйте!

    Подскажите пожалуйста алгоритм вычисления контрольной суммы (чем точнее алгоритм, тем лучше). Еще очень желательна по возможности откомментированная программа на ассемблере и/или Си.
    А К.С. у РК совпадает со Специалистом и тому подобными компьютерами?

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Activist Аватар для cy6
    Регистрация
    27.04.2015
    Адрес
    г. Пенза
    Сообщений
    358
    Спасибо Благодарностей отдано 
    249
    Спасибо Благодарностей получено 
    53
    Поблагодарили
    30 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Helloween Посмотреть сообщение
    Си
    Из исходников bin2type

    https://github.com/vpyk/EmuUtils/blo...2tape.cpp#L126
    wtf

  4. #3
    Member Аватар для Helloween
    Регистрация
    09.08.2010
    Адрес
    Екатеринбург
    Сообщений
    121
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от cy6 Посмотреть сообщение
    Thanx. А у всех перечисленных компов она по-разному вычисляется?

  5. #4
    Member Аватар для Alikberov
    Регистрация
    11.04.2023
    Адрес
    г. Ташкент, Узбекистан
    Сообщений
    115
    Спасибо Благодарностей отдано 
    23
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    22 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Post Контрольная сумма на Bash'е

    Хотел на Питоне написать код, но, кажется, уже есть.

    Вот написал на Баш'е. Выручает на Raspberry Pi, если ещё добавить пользовательское меню в оболочке Midnight Commander'а.
    Вложения Вложения
    Электроника КР-03; ZX-Spectrum "Ленинград-48"; Atari-130XE; Поиск-1...

  6. #5
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,567
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    395
    Спасибо Благодарностей получено 
    1,205
    Поблагодарили
    393 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alikberov Посмотреть сообщение
    Вот написал на Баш'е.
    А почему Emu80 под Wine, если он в исходниках и существует версия под Linux?

    Код:
    wine ~/Emu80/Emu80qt.exe --platform rk86 --run ${temp_file}
    С уважением, Станислав.

  7. #6
    Member Аватар для Alikberov
    Регистрация
    11.04.2023
    Адрес
    г. Ташкент, Узбекистан
    Сообщений
    115
    Спасибо Благодарностей отдано 
    23
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    22 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    А почему Emu80 под Wine, если он в исходниках и существует версия под Linux?

    Код:
    wine ~/Emu80/Emu80qt.exe --platform rk86 --run ${temp_file}
    Да, я пользуюсь сборкой под Linux: Она и запускается быстрее (0,75 секунд против 20 секунд под wine), и систему не так сильно грузит (звук чище, в частности).
    Но Баш-скрипт написал ещё до сборки.
    (Забыл эту строчку удалить перед публикацией.)
    Последний раз редактировалось Alikberov; 19.04.2024 в 13:40.

  8. #7
    Activist Аватар для cy6
    Регистрация
    27.04.2015
    Адрес
    г. Пенза
    Сообщений
    358
    Спасибо Благодарностей отдано 
    249
    Спасибо Благодарностей получено 
    53
    Поблагодарили
    30 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Helloween Посмотреть сообщение
    у всех перечисленных компов она по-разному вычисляется?
    Код:
            switch (format) {
            case TFF_RKM:
                cs = calcRkmCs(body);
                break;
            case TFF_RKU:
                cs = calcRkuCs(body);
                break;
            default:
                cs = calcRkCs(body);
            }
    Фориат РК по умолчанию. У Микроши и ЮТ-88 свое.
    wtf

  9. #8
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,180
    Спасибо Благодарностей отдано 
    263
    Спасибо Благодарностей получено 
    456
    Поблагодарили
    182 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Из исходников 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);

  10. #9
    Activist Аватар для cy6
    Регистрация
    27.04.2015
    Адрес
    г. Пенза
    Сообщений
    358
    Спасибо Благодарностей отдано 
    249
    Спасибо Благодарностей получено 
    53
    Поблагодарили
    30 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyk Посмотреть сообщение
    Из исходников Emu80
    Тут нет lastChunk?
    wtf

  11. #10
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,180
    Спасибо Благодарностей отдано 
    263
    Спасибо Благодарностей получено 
    456
    Поблагодарили
    182 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от cy6 Посмотреть сообщение
    Тут нет lastChunk?
    Последняя строка
    Цитата Сообщение от Pyk Посмотреть сообщение
    cs = (cs & 0xff00) | ((cs + buf[fileSize - 1]) & 0xff);

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

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

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

Ваши права

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