User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 20

Тема: Поделить бинарный файл на два

Комбинированный просмотр

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

    Регистрация
    04.04.2017
    Адрес
    г. Казань
    Сообщений
    569
    Спасибо Благодарностей отдано 
    113
    Спасибо Благодарностей получено 
    98
    Поблагодарили
    61 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Поделить бинарный файл на два

    Подскажите какой прогой или HEX редактором можно поделить 8-битный бинарный файл?
    Т.е. старшие биты зашить в одну ПЗУ, младшие - в другую.
    Юниор ФВ-6506, Балтик-48

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

  3. #2

    Регистрация
    30.12.2018
    Адрес
    г. Москва
    Сообщений
    1,375
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    384
    Поблагодарили
    346 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shumadan Посмотреть сообщение
    Подскажите какой прогой или HEX редактором можно поделить 8-битный бинарный файл?
    Т.е. старшие биты зашить в одну ПЗУ, младшие - в другую.
    часто софтина программатора это умеет. просто поделить файл - можно взять например софт от программатора Турбо (правда он досовый), загрузить файл и выгрузить через байт сначала с 0 адреса, потом с 1.
    а, вот - winhex умеет. tools - file tools - dissect

    Зверинецъ

    Специалист (был когда-то "совсем стандарт") - 1988-2023
    Ленинград1 +256К +AY+BDI+VGA выход +Ethernet (Speccyboot) +Xmodem (115200)+divmmc
    Ленинград2 + CF карта
    Платформа 8085+Z80+CPLD (Специалист МХ2 +SD +FDD +PS/2kbd)
    БК0010-01 стоковый
    [свернуть]

  4. #3

    Регистрация
    20.06.2014
    Адрес
    г. Краснознаменск, Московская обл.
    Сообщений
    79
    Спасибо Благодарностей отдано 
    40
    Спасибо Благодарностей получено 
    20
    Поблагодарили
    10 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    +2B ZX-EVO Reverce-U16 Karabas 128 Rev A MiSTer

  5. #4

    Регистрация
    04.04.2017
    Адрес
    г. Казань
    Сообщений
    569
    Спасибо Благодарностей отдано 
    113
    Спасибо Благодарностей получено 
    98
    Поблагодарили
    61 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Мне нужно делить не по принципу четные-нечетные байты, а каждый байт делить на старшие 4 бита и на младшие 4 бита. У каждой ПЗУ выход на 4 разряда
    Юниор ФВ-6506, Балтик-48

  6. #5

    Регистрация
    30.12.2018
    Адрес
    г. Москва
    Сообщений
    1,375
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    384
    Поблагодарили
    346 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shumadan Посмотреть сообщение
    Мне нужно делить не по принципу четные-нечетные байты, а каждый байт делить на старшие 4 бита и на младшие 4 бита. У каждой ПЗУ выход на 4 разряда
    тогда например вот так

    Код:
    DIM m AS STRING * 1
    cmd$ = COMMAND$
    OPEN cmd$ FOR BINARY AS #1
    OPEN "low.bin" FOR OUTPUT AS #2
    OPEN "high.bin" FOR OUTPUT AS #3
    
    FOR k = 1 TO LOF(1)
    GET #1, k, m
    n = ASC(m)
    b_low = n AND 15
    b_high = (n AND 240) / 16
    
    PRINT #2, CHR$(b_low);
    PRINT #3, CHR$(b_high);
    NEXT k
    RESET
    
    END
    Microsoft visual basic/DOS v1.0
    Последний раз редактировалось Serg6845; 29.12.2021 в 21:16.

    Зверинецъ

    Специалист (был когда-то "совсем стандарт") - 1988-2023
    Ленинград1 +256К +AY+BDI+VGA выход +Ethernet (Speccyboot) +Xmodem (115200)+divmmc
    Ленинград2 + CF карта
    Платформа 8085+Z80+CPLD (Специалист МХ2 +SD +FDD +PS/2kbd)
    БК0010-01 стоковый
    [свернуть]

  7. #6

    Регистрация
    30.12.2018
    Адрес
    г. Москва
    Сообщений
    1,375
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    384
    Поблагодарили
    346 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от klingon Посмотреть сообщение
    результат - такой
    Код:
    MacAir:prod alexdindikov$ hexdump ~/Downloads/zork123_80.zip|head
    0000000 50 4b 03 04 0a 00 00 00 06 00 00 00 21 00 5c d5
    0000010 8d 1c 87 13 00 00 00 22 00 00 09 00 00 00 5a 4f
    0000020 52 4b 31 2e 43 4f 4d 0f 00 12 03 24 15 36 27 38
    0000030 39 6a 7b 4c 9d 6e 1f 09 06 01 13 34 e5 f6 96 f7
    0000040 87 03 14 f8 f3 a2 d6 a7 52 97 c6 04 09 12 64 c0
    0000050 00 7f 06 1c 76 cc 83 0e 87 9b 86 38 fc eb 41 95
    0000060 06 01 f6 f5 ff df e5 ff 92 3a b5 87 64 6d 3e 20
    0000070 f0 92 c9 65 d6 65 18 92 2b 40 83 0c 9b 2f 1d f8
    0000080 5a 26 5f 80 21 d8 17 89 46 78 b5 00 23 50 f7 dc
    0000090 f0 0e 1f 36 2f 08 90 27 70 9d b5 03 de 46 ee 33
    MacAir:prod alexdindikov$ hexdump ~/Downloads/zork123_80.zip.h|head
    0000000 50 03 0a 00 06 00 21 5c 8d 87 00 00 00 09 00 5a
    0000010 52 31 43 4d 00 03 15 27 39 7b 9d 1f 06 13 e5 96
    0000020 87 14 f3 d6 52 c6 09 64 00 06 76 83 87 86 fc 41
    0000030 06 f6 ff e5 92 b5 64 3e f0 c9 d6 18 2b 83 9b 1d
    0000040 5a 5f 21 17 46 b5 23 f7 f0 1f 2f 90 70 b5 de ee
    0000050 00 91 01 7d d8 62 bf f6 5f 7a af 0d 7b e8 e3 1c
    0000060 57 35 40 ba c0 c8 36 55 b8 4e 98 17 b1 40 08 81
    0000070 40 2e 69 41 2c a1 95 8c 5a 19 35 55 eb 36 bb ad
    0000080 31 7f 5f 18 86 1d b7 8a 2d 9f 70 f3 67 6f 60 94
    0000090 4d 10 cb ec 64 93 0f 95 26 40 01 54 f4 01 c9 f6
    MacAir:prod alexdindikov$ hexdump ~/Downloads/zork123_80.zip.l|head
    0000000 4b 04 00 00 00 00 00 d5 1c 13 00 22 00 00 00 4f
    0000010 4b 2e 4f 0f 12 24 36 38 6a 4c 6e 09 01 34 f6 f7
    0000020 03 f8 a2 a7 97 04 12 c0 7f 1c cc 0e 9b 38 eb 95
    0000030 01 f5 df ff 3a 87 6d 20 92 65 65 92 40 0c 2f f8
    0000040 26 80 d8 89 78 00 50 dc 0e 36 08 27 9d 03 46 33
    0000050 b4 83 27 0a 06 72 23 af bc 79 0e 3c f8 c1 f7 fe
    0000060 40 b2 35 b2 90 05 ff 3c 62 ad b3 18 60 83 87 35
    0000070 97 82 a2 a9 a3 56 b2 94 64 3d a8 91 17 1f f0 0e
    0000080 ef 60 e5 07 cc d2 f6 03 37 bc 58 cd 69 12 ca cd
    0000090 0e a6 8b 23 ff 17 31 df 6e ef 03 51 06 79 9a f0
    а если внимательно прочитать условие задачи?

    Цитата Сообщение от Shumadan Посмотреть сообщение
    Мне нужно делить не по принципу четные-нечетные байты, а каждый байт делить на старшие 4 бита и на младшие 4 бита. У каждой ПЗУ выход на 4 разряда

    Зверинецъ

    Специалист (был когда-то "совсем стандарт") - 1988-2023
    Ленинград1 +256К +AY+BDI+VGA выход +Ethernet (Speccyboot) +Xmodem (115200)+divmmc
    Ленинград2 + CF карта
    Платформа 8085+Z80+CPLD (Специалист МХ2 +SD +FDD +PS/2kbd)
    БК0010-01 стоковый
    [свернуть]

  8. #7

    Регистрация
    25.03.2010
    Адрес
    Витебск
    Сообщений
    98
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Код:
    import sys
    with open(sys.argv[1], 'rb') as file1, open(sys.argv[2], 'wb') as file2, open(sys.argv[3], 'wb') as file3:
        byte1 = file1.read(1)
        byte2 = file1.read(1)
        while (byte1 or byte2):
            if not byte2:
                high1, low1 = ord(byte1) & 0xF0, (ord(byte1) & 0x0F) << 4
                high2, low2 = ord(byte2) >> 4, ord(byte2) & 0x0F
                file2.write(chr(high1))
                file3.write(chr(low1))
            else:
                high1, low1 = ord(byte1) & 0xF0, (ord(byte1) & 0x0F) << 4
                high2, low2 = ord(byte2) >> 4, ord(byte2) & 0x0F
                file2.write(chr(high1+high2))
                file3.write(chr(low1+low2))
            byte1 = file1.read(1)
            byte2 = file1.read(1)

    Код HTML:
    MacAir:Downloads alexdindikov$ python split.py zork123_80.zip zork123_80.zip.h zork123_80.zip.l
    MacAir:Downloads alexdindikov$ hexdump zork123_80.zip|head
    0000000 50 4b 03 04 0a 00 00 00 06 00 00 00 21 00 5c d5
    0000010 8d 1c 87 13 00 00 00 22 00 00 09 00 00 00 5a 4f
    0000020 52 4b 31 2e 43 4f 4d 0f 00 12 03 24 15 36 27 38
    0000030 39 6a 7b 4c 9d 6e 1f 09 06 01 13 34 e5 f6 96 f7
    0000040 87 03 14 f8 f3 a2 d6 a7 52 97 c6 04 09 12 64 c0
    0000050 00 7f 06 1c 76 cc 83 0e 87 9b 86 38 fc eb 41 95
    0000060 06 01 f6 f5 ff df e5 ff 92 3a b5 87 64 6d 3e 20
    0000070 f0 92 c9 65 d6 65 18 92 2b 40 83 0c 9b 2f 1d f8
    0000080 5a 26 5f 80 21 d8 17 89 46 78 b5 00 23 50 f7 dc
    0000090 f0 0e 1f 36 2f 08 90 27 70 9d b5 03 de 46 ee 33
    MacAir:Downloads alexdindikov$ hexdump zork123_80.zip.h|head
    0000000 54 00 00 00 00 00 20 5d 81 81 00 02 00 00 00 54
    0000010 54 32 44 40 01 02 13 23 36 74 96 10 00 13 ef 9f
    0000020 80 1f fa da 59 c0 01 6c 07 01 7c 80 89 83 fe 49
    0000030 00 ff fd ef 93 b8 66 32 f9 c6 d6 19 24 80 92 1f
    0000040 52 58 2d 18 47 b0 25 fd f0 13 20 92 79 b0 d4 e3
    0000050 0b 98 02 70 d0 67 b2 fa 5b 77 a0 03 7f ec ef 1f
    0000060 54 3b 43 bb c9 c0 3f 53 b6 4a 9b 11 b6 48 08 83
    0000070 49 28 6a 4a 2a a5 9b 89 56 13 3a 59 e1 31 bf a0
    0000080 3e 76 5e 10 8c 1d bf 80 23 9b 75 fc 66 61 6c 9c
    0000090 40 1a c8 e2 6f 91 03 9d 26 4e 00 55 f0 07 c9 ff
    MacAir:Downloads alexdindikov$ hexdump zork123_80.zip.l|head
    0000000 0b 34 a0 00 60 00 10 c5 dc 73 00 02 00 90 00 af
    0000010 2b 1e 3f df 02 34 56 78 9a bc de f9 61 34 56 67
    0000020 73 48 32 67 27 64 92 40 0f 6c 6c 3e 7b 68 cb 15
    0000030 61 65 ff 5f 2a 57 4d e0 02 95 65 82 b0 3c bf d8
    0000040 a6 f0 18 79 68 50 30 7c 0e f6 f8 07 0d 53 e6 e3
    0000050 04 13 17 da 86 22 f3 6f fc a9 fe dc b8 81 37 ce
    0000060 70 52 05 a2 00 85 6f 5c 82 ed 83 78 10 03 87 15
    0000070 07 e2 92 19 c3 16 52 c4 a4 9d 58 51 b7 6f b0 de
    0000080 1f f0 f5 87 6c d2 76 a3 d7 fc 08 3d 79 f2 0a 4d
    0000090 de 06 bb c3 4f 37 f1 5f 6e 0f 13 41 46 19 9a 60
    Последний раз редактировалось klingon; 30.12.2021 в 17:37. Причина: small fix

  9. #8

    Регистрация
    25.03.2010
    Адрес
    Витебск
    Сообщений
    98
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    split -b 1024 имя_файла.bin

  10. #9

    Регистрация
    04.04.2017
    Адрес
    г. Казань
    Сообщений
    569
    Спасибо Благодарностей отдано 
    113
    Спасибо Благодарностей получено 
    98
    Поблагодарили
    61 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от klingon Посмотреть сообщение
    split -b 1024 имя_файла.bin
    ничего не понял. Это в DOSe?
    Юниор ФВ-6506, Балтик-48

  11. #10

    Регистрация
    30.12.2018
    Адрес
    г. Москва
    Сообщений
    1,375
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    384
    Поблагодарили
    346 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shumadan Посмотреть сообщение
    ничего не понял. Это в DOSe?
    в линухе. и вика брешет что делает оно совсем не то что запрашивалось.

    впрочем вот вышеприведенный код в виде exe. в качестве параметра при запуске - имя входного файла, после отработки создает файлы high.bin и low.bin.

    Зверинецъ

    Специалист (был когда-то "совсем стандарт") - 1988-2023
    Ленинград1 +256К +AY+BDI+VGA выход +Ethernet (Speccyboot) +Xmodem (115200)+divmmc
    Ленинград2 + CF карта
    Платформа 8085+Z80+CPLD (Специалист МХ2 +SD +FDD +PS/2kbd)
    БК0010-01 стоковый
    [свернуть]

Страница 1 из 2 12 ПоследняяПоследняя

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

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

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

Похожие темы

  1. ПЗУ Scorpion'а в файл
    от AndTorp в разделе Разный софт
    Ответов: 22
    Последнее: 20.08.2009, 19:17
  2. Один Турбо файл
    от Splinter в разделе Музыка
    Ответов: 0
    Последнее: 12.07.2007, 14:09
  3. UnrealSpeccy 0.27 - файл SOS.L
    от _km_ в разделе Эмуляторы
    Ответов: 5
    Последнее: 22.05.2007, 22:54
  4. Ответов: 3
    Последнее: 11.05.2006, 10:03

Ваши права

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