Подскажите какой прогой или HEX редактором можно поделить 8-битный бинарный файл?
Т.е. старшие биты зашить в одну ПЗУ, младшие - в другую.
Подскажите какой прогой или HEX редактором можно поделить 8-битный бинарный файл?
Т.е. старшие биты зашить в одну ПЗУ, младшие - в другую.
Юниор ФВ-6506, Балтик-48
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Зверинецъ
Специалист (был когда-то "совсем стандарт") - 1988-2023
Ленинград1 +256К +AY+BDI+VGA выход +Ethernet (Speccyboot) +Xmodem (115200)+divmmc
Ленинград2 + CF карта
Платформа 8085+Z80+CPLD (Специалист МХ2 +SD +FDD +PS/2kbd)
БК0010-01 стоковый[свернуть]
+2B
ZX-EVO
Reverce-U16
Karabas 128 Rev A
MiSTer
Мне нужно делить не по принципу четные-нечетные байты, а каждый байт делить на старшие 4 бита и на младшие 4 бита. У каждой ПЗУ выход на 4 разряда
Юниор ФВ-6506, Балтик-48
тогда например вот так
Microsoft visual basic/DOS v1.0Код: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
Последний раз редактировалось 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 стоковый[свернуть]
split -b 1024 имя_файла.bin
в линухе. и вика брешет что делает оно совсем не то что запрашивалось.
впрочем вот вышеприведенный код в виде 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 стоковый[свернуть]
на питоне программаКод:import sys with open(sys.argv[1], 'rb') as file1, open(sys.argv[2], 'wb') as file2, open(sys.argv[3], 'wb') as file3: lobyte = file1.read(1) hibyte = file1.read(1) while (lobyte or hibyte): if not hibyte: file2.write(lobyte) else: file2.write(lobyte) file3.write(hibyte) lobyte = file1.read(1) hibyte = file1.read(1)
запускать так
python split.py zork123_80.zip zork123_80.zip.h zork123_80.zip.l
результат - такой
Код: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
Последний раз редактировалось klingon; 30.12.2021 в 15:49.
Зверинецъ
Специалист (был когда-то "совсем стандарт") - 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 (пользователей: 0 , гостей: 1)