From 3db29b81c17646faa778c7b581697d1781ba422e Mon Sep 17 00:00:00 2001 From: antoniovillena Date: Wed, 26 Jul 2023 17:04:11 +0200 Subject: [PATCH] =?UTF-8?q?A=C3=B1ado=20split=20y=20arreglo=20bit2bin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sdk/src/tools/Bit2Bin.c | 60 +++++++------------------------- sdk/windows-x86/bin/Bit2Bin.exe | Bin 15360 -> 27676 bytes sdk/windows-x86/bin/split.bat | 14 ++++++++ 3 files changed, 27 insertions(+), 47 deletions(-) create mode 100644 sdk/windows-x86/bin/split.bat diff --git a/sdk/src/tools/Bit2Bin.c b/sdk/src/tools/Bit2Bin.c index e91f162..a70ca5a 100644 --- a/sdk/src/tools/Bit2Bin.c +++ b/sdk/src/tools/Bit2Bin.c @@ -1,7 +1,7 @@ /* * Bit2Bin - strip .bit header and align binary to 16K. * - * Copyright (C) 2019-2021 Antonio Villena + * Copyright (C) 2019-2023 Antonio Villena * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -14,24 +14,16 @@ * * You should have received a copy of the GNU General Public License * along with this program. If not, see . - * - * SPDX-FileCopyrightText: Copyright (C) 2019-2021 Antonio Villena - * - * SPDX-License-Identifier: GPL-3.0-only */ #include #include #include -#include -#include -#include - #define PROGRAM "Bit2Bin" #define DESCRIPTION "strip .bit header and align binary to 16K." -#define VERSION "0.05 (2020-02-19)" -#define COPYRIGHT "Copyright (C) 2019-2021 Antonio Villena" +#define VERSION "0.06 (2023-07-26)" +#define COPYRIGHT "Copyright (C) 2019-2023 Antonio Villena" #define LICENSE \ "This program is free software: you can redistribute it and/or modify\n" \ "it under the terms of the GNU General Public License as published by\n" \ @@ -96,51 +88,25 @@ int main(int argc, char *argv[]) { printf("Cannot create output file: %s\n", argv[2]), exit(-1); j= i>>14; - if( j>71 ){ - for ( i= 0; i<72; i++ ) - fread(mem, 1, 0x4000, fi), - fwrite(mem, 1, 0x4000, fo); - fclose(fo); - argv[2][strlen(argv[2])-5]++; - if(argv[2][strlen(argv[2])-5]==':') - if(strlen(argv[2])==9) - argv[2]= "CORE10.ZX3"; - else - argv[2][4]++, - argv[2][5]='0'; - fo= fopen(argv[2], "wb+"); - if( !fo ) - printf("Cannot create output file: %s\n", argv[2]), - exit(-1); - for ( i= 0; i48 ) + if( j>48 ) // ZX3 for ( i= 0; i<71-j; i++ ) fwrite(mem, 1, 0x4000, fo); - else if( j>28 ) + else if( j>28 ) // ZXD for ( i= 0; i<48-j; i++ ) fwrite(mem, 1, 0x4000, fo); - else if( j>20 ) + else if( j>20 ) // ZX2 for ( i= 0; i<28-j; i++ ) fwrite(mem, 1, 0x4000, fo); - else + else // ZX1 for ( i= 0; i<20-j; i++ ) fwrite(mem, 1, 0x4000, fo); } diff --git a/sdk/windows-x86/bin/Bit2Bin.exe b/sdk/windows-x86/bin/Bit2Bin.exe index b119cdd525593892b0673a6ea688aebb70e4cfd3..e154ea637c204cf2153d3befd389391ea06a4ce7 100755 GIT binary patch literal 27676 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 diff --git a/sdk/windows-x86/bin/split.bat b/sdk/windows-x86/bin/split.bat new file mode 100644 index 0000000..27bcbf0 --- /dev/null +++ b/sdk/windows-x86/bin/split.bat @@ -0,0 +1,14 @@ +@echo off +setlocal + +FOR %%A IN (%1) DO set size=%%~zA + +fpad 120000 0 padzero.int +copy /b %1+padzero.int intfile.int + +echo %size% +fcut intfile.int 0 120000 %203.ZX3 +if %size% GTR 1179648 fcut intfile.int 120000 120000 %204.ZX3 +if %size% GTR 2359296 fcut intfile.int 240000 120000 %205.ZX3 +if %size% GTR 3538944 fcut intfile.int 360000 120000 %206.ZX3 +if %size% GTR 4718592 fcut intfile.int 360000 120000 %207.ZX3