From 63446da9626c92fba7219cbcf99f7101c96dd9d9 Mon Sep 17 00:00:00 2001 From: Ivan Tatarinov Date: Wed, 14 Apr 2021 19:05:55 +0300 Subject: [PATCH] sdk: added `bin2hex` tool --- cores/JupiterAce/bin2hex.c | 33 ---------------------- cores/JupiterAce/bin2hex.exe | Bin 14795 -> 0 bytes cores/SamCoupe/bin2hex.c | 33 ---------------------- cores/SamCoupe/bin2hex.exe | Bin 14795 -> 0 bytes firmware/bin2hex.c | 31 --------------------- sdk/Makefile | 2 ++ sdk/README.md | 2 ++ sdk/bin/.gitignore | 1 + sdk/bin/bin2hex.exe | Bin 0 -> 11776 bytes sdk/bin/bin2hex.exe.license | 9 ++++++ sdk/src/Makefile | 6 ++++ sdk/src/tools/.gitignore | 2 ++ sdk/src/tools/Makefile | 5 ++++ sdk/src/tools/bin2hex.c | 52 +++++++++++++++++++++++++++++++++++ 14 files changed, 79 insertions(+), 97 deletions(-) delete mode 100644 cores/JupiterAce/bin2hex.c delete mode 100644 cores/JupiterAce/bin2hex.exe delete mode 100644 cores/SamCoupe/bin2hex.c delete mode 100644 cores/SamCoupe/bin2hex.exe delete mode 100644 firmware/bin2hex.c create mode 100644 sdk/bin/bin2hex.exe create mode 100644 sdk/bin/bin2hex.exe.license create mode 100644 sdk/src/tools/bin2hex.c diff --git a/cores/JupiterAce/bin2hex.c b/cores/JupiterAce/bin2hex.c deleted file mode 100644 index baedc9b..0000000 --- a/cores/JupiterAce/bin2hex.c +++ /dev/null @@ -1,33 +0,0 @@ -#include -#include - -int main (int argc, char *argv[]) -{ - FILE *f; - unsigned char *scr; - char nombre[256]; - int i,leido; - - if (argc<2) - return 1; - - scr = malloc(65536); - f = fopen (argv[1],"rb"); - if (!f) - return 1; - - leido = fread (scr, 1, 65536, f); - fclose (f); - - strcpy (nombre, argv[1]); - nombre[strlen(nombre)-3]=0; - strcat (nombre, "hex"); - - f = fopen (nombre, "wt"); - for (i=0;iUCgXw!OuC6xVuJ%7#?vt+117k18N0;{#)v`5 z_B;3I{W^-RfeZ|}!&{B!>zYG7VVtDyG zzq*_qe$xwUjs%8YShF>qDTj)s!gwi>3ndfze8CKj8lh4pAIjuI8#j-Ha)p%9@#Z(* zuvUs59%O7Nu$1*4D1MNwW-J$A>@2%Juq+VlVK;#3I>C7QEofU&L)4E8IwV}VeO~cB0pi55y%UVv(|X^?%wTim`;p5tY=#Yd3fIHVn+Eox zDQ_M?0@ut{KmA+y2mXP-r*7ZCBh>VqFGKzgwqsd+qmVo`7pN>JEC4JF?EDbCx(Cke zSa$wTG5;C5*@#Ka^%eG{)nZa}{Wn4G^6ty#jrIQleSR4Pw2*-2#;LD0P^Qo9HR|{O z<%#E-*z{#?f7=Mg)3sKFc`X+?Uw;x)>-sB=M*S1`Gc`M3|1^+BxY12Z(&*-EqQjQy zV^g!CdJcn-F;c$(LaY&~3>=upx-?GJKLfpynzep37F1)qFm~b?L{TY?va~VDcAD(A zj_9@Du(*9Ac4fy)n*a z23w|TO*5@q>fQF}{M1M1S>*;HA1ws-htfqkPXNUN4!39A&>E;Vm1{Wb^u2{n0oaQ^w-7odXT zGQ+8UZqq}-^Y6xrz}T73(0Jg~iZ8crNw4M}!`4+oLW55^{~rhucVUfyBenBLU6M&f ztkr?mP@GNmGV>jrn!%EBV()O%^jrDZWD~3WSgl{%$bsW+m@wCG>K@cbQ1_!ALOqOn6!j$P8Ps#A7g6U? zo1s^g-?feh+2CZx94-}-M!5{7yMiNzd2c?Q$fvSKYH%`X6wOQ_e^(}J8YPTRFg;GJ zFo7omA@io-STb8Eb2)2*V}+uTXYUF^TqbXhLH6yzv67KUv3|%X>bjAi$dn3s#_kX1 z64`7aN&0sM%bD?fB1?2Nh>d(Q!R`Gxr;ED?-$OKPC;9`B1>^KYv8bE7id;9Nbw_>w z;Fb>z4s}I4Qdusq4cKq1=E@VvlBpzDr%6$&{F$evB4!SL9^Z$v1PC4jl2mQE%e#Sxn&_S=lKDx>+V65Lk z>kfL_L4OwX$H4zjeT@CPq-pv~pdXWRek}2yFUR9>6Ujf$M^o)@{+PY{a79!aiitD_PQ_+u)~?e-ryV zi+&sXl0~m#-?He{>?Mo7nZ07sw=mjY3wv&6{TBTWw!xy`$+lQ@i07c-7xcq$yUMO( z^Vsx!iqqG#InW0=-OT8*;v1ZP6Qlk8wqxTB&JCSO{ID3ExlDe1XIHfIeVKeGhwm*LrE+JfkSb-yD?2(j7Lt{m zkvGeoc-6PdNScMRKAFj8@{^tAO3^5d6(Z5zPFpg5w$_{L!gog62THu@4~L^+tDqO@ zu}VKnrV}O39~J!3_Wp2xB-+!@vW5IOUL*=>T~{ZqlBXX+BW2Cg9P=z2!eLm^Wf`G# z`6hQ?!(^AWF?(Xfq17h)!?tz@C7tH7eAe{XLTy3hiX)ybS><%0WLlBv71Mj$``^cAMX}KK10+xHRd&;ionRsXT z&aP;GCYKnO{jMkh_C$wSY6)Y~E+yNkU#&<_dp|c&@%Rjtv5z45!qSOCCMA4CoXNJn z_A6YHcjuGYO3LUgo2g8pBfS8J&aYyyEWiUPDPs&g<;-6hIz_*WE>dXM+SyK8EeT>p z0K%f3xcVf9r4Wo02|b%B)9eVJ9k~K8F zNfji0^}jn!k`+H)_*JB`lK-XmdJ4JCLPBf_!B;2)!0>2*S>WO0TkyB$Lg)daiupEA z7079c1VJ;l5A~vjs4pcn0ub6;!S*idT19;&A%J8o3DADWT{=ej!yO0d9nqD%=%8mg za4dtOSHLqKuz$sz(kNnN1=(Xq%tmy|0E~q=PY5JraiO|7IFUF*`pUby2$QUrHeZ3aa0j8N z&w6!f+r3CE<w+UZ-MD;nCPUL@9R&yv3PE=s#*%i&+J*LENF>e7b2NKEtj z9$%Dpdc)xIwELV_msa&6v7e4>!MPl@X>CU?0MQP9av|sS*()M_f z*cqSpZHv<0>(fprPh4xEZS^9txKI1`MQPvU(|+8mOG|l?Sk|XKy(sNNKJ6#Hy0o+x ziB0;n7Z;`d!#?dVdUa`&ULexLS3i_)IAX&?6@v6DXSPc2IO zuuuCbuP!a?MPhp_?P+>c#`v(sGiIhM`3La*&O+4g>xi-tv%ST)Bf1jL)jXq#eL}QN zX%8sM)~I%IPgy)L%u^(fHnb3r+}pg4erf-_kUesbL^oc3PYArKUp-Z|?tvDM=Xl!k z`gKkF)sT{G?UoNIn-!vM^dhk~WwWKdrn2RlwBO>>e$cB+i+hn+lcindv(2OO*&#>9 z=eV-)O1bLY;a`d88uA$?%Qb!VeBN*Iz%Wly`TX96cwT?Mv`q`yBlG#m*XHS2tJXcx z>hYZ6Sy+6K@8#=7&%#vx6ZJSMT`2WQ{QI{Ord7%Vtp67tj`rF74 zfLs7#OTGZ)oC_fZmt4qlAhRxHHIP#-WSua}p(_StlPel=;&FLFzqcn{a_E3!+%@Y# zAg5hC^o{qR3;7%n+b>*MNJ3!P`CD>m=a~RX?h+PCyb0IXS zo=U_lI`9cU9MQOy5SQ;75cdkc56D@t5o-{+O0R@L@}64v%@}mA#r;6k9Wuy_d`e8g zUwhqmfM=ac&Q2h8AZVbA%5IQpSL7c7qV8;h=P@8*&O@^dd6zh2AtdK%5{Y7Ke+Ebk z5Rw7E zAVY;;Kar$u^RI!p<8wV^;Ge^EdtP7!E z2RcAib?N#Zc;=zgmi#jyb_{iK9E`2wvsA9q`*-ylCt|n~pBC&qT!Y?tG8xtBn<73_ zq&nyo@OZvr0eTXM{CKZt@)?uAAm+!*Jh(WfCT1Jze48!~yp`e_3FdP24O_O3n2C~E zDKak1+5huQ{vLeha6-647xeLLVKkA|Q)Z!5CP_AglL7>hX_-V8-yBmI&*X51%{mwd zcKnAI#1%?$(P3oc*3Db=p}R-6imt_OA63&AIIbt0p-Jle97Iz0wdQ0qqvC9uo`Avh z2m~YPGihOrtV=#XVb3APWTY@kMb*tlhX6|x2ItEqb`(l_xiVVbRW^;BK7n%;I9X_W zChsFkqVss4v|C>Nih~Xo$`N@z>pC`_jsU7-h_?A@BT;l(FU@xzM}$bn$wH|>-mYZN zab}VSna9AgAL#>6@%7Z{B4@G8gc&J(Ikv*A{E&M&sm3}+Y4yc%OA0_@+~A*!dHl*a zh(fVMVvXnNc#0iW`D>xv;D;xbI37T+FFXguZC~=q+c|pfFl}&Wr|Sr%SP3Nt*NJV1 zdm4|6_#xE!aZ-;HeB81?B#|eyd=2GZRpo{}nCiWRgf@Aa)Z&$gRb}73)ShHe`OWjl zncj9{TNj1AK}xai2yJv z=L)S5-Mr{ZxAby5l%* -#include - -int main (int argc, char *argv[]) -{ - FILE *f; - unsigned char *scr; - char nombre[256]; - int i,leido; - - if (argc<2) - return 1; - - scr = malloc(65536); - f = fopen (argv[1],"rb"); - if (!f) - return 1; - - leido = fread (scr, 1, 65536, f); - fclose (f); - - strcpy (nombre, argv[1]); - nombre[strlen(nombre)-3]=0; - strcat (nombre, "hex"); - - f = fopen (nombre, "wt"); - for (i=0;iUCgXw!OuC6xVuJ%7#?vt+117k18N0;{#)v`5 z_B;3I{W^-RfeZ|}!&{B!>zYG7VVtDyG zzq*_qe$xwUjs%8YShF>qDTj)s!gwi>3ndfze8CKj8lh4pAIjuI8#j-Ha)p%9@#Z(* zuvUs59%O7Nu$1*4D1MNwW-J$A>@2%Juq+VlVK;#3I>C7QEofU&L)4E8IwV}VeO~cB0pi55y%UVv(|X^?%wTim`;p5tY=#Yd3fIHVn+Eox zDQ_M?0@ut{KmA+y2mXP-r*7ZCBh>VqFGKzgwqsd+qmVo`7pN>JEC4JF?EDbCx(Cke zSa$wTG5;C5*@#Ka^%eG{)nZa}{Wn4G^6ty#jrIQleSR4Pw2*-2#;LD0P^Qo9HR|{O z<%#E-*z{#?f7=Mg)3sKFc`X+?Uw;x)>-sB=M*S1`Gc`M3|1^+BxY12Z(&*-EqQjQy zV^g!CdJcn-F;c$(LaY&~3>=upx-?GJKLfpynzep37F1)qFm~b?L{TY?va~VDcAD(A zj_9@Du(*9Ac4fy)n*a z23w|TO*5@q>fQF}{M1M1S>*;HA1ws-htfqkPXNUN4!39A&>E;Vm1{Wb^u2{n0oaQ^w-7odXT zGQ+8UZqq}-^Y6xrz}T73(0Jg~iZ8crNw4M}!`4+oLW55^{~rhucVUfyBenBLU6M&f ztkr?mP@GNmGV>jrn!%EBV()O%^jrDZWD~3WSgl{%$bsW+m@wCG>K@cbQ1_!ALOqOn6!j$P8Ps#A7g6U? zo1s^g-?feh+2CZx94-}-M!5{7yMiNzd2c?Q$fvSKYH%`X6wOQ_e^(}J8YPTRFg;GJ zFo7omA@io-STb8Eb2)2*V}+uTXYUF^TqbXhLH6yzv67KUv3|%X>bjAi$dn3s#_kX1 z64`7aN&0sM%bD?fB1?2Nh>d(Q!R`Gxr;ED?-$OKPC;9`B1>^KYv8bE7id;9Nbw_>w z;Fb>z4s}I4Qdusq4cKq1=E@VvlBpzDr%6$&{F$evB4!SL9^Z$v1PC4jl2mQE%e#Sxn&_S=lKDx>+V65Lk z>kfL_L4OwX$H4zjeT@CPq-pv~pdXWRek}2yFUR9>6Ujf$M^o)@{+PY{a79!aiitD_PQ_+u)~?e-ryV zi+&sXl0~m#-?He{>?Mo7nZ07sw=mjY3wv&6{TBTWw!xy`$+lQ@i07c-7xcq$yUMO( z^Vsx!iqqG#InW0=-OT8*;v1ZP6Qlk8wqxTB&JCSO{ID3ExlDe1XIHfIeVKeGhwm*LrE+JfkSb-yD?2(j7Lt{m zkvGeoc-6PdNScMRKAFj8@{^tAO3^5d6(Z5zPFpg5w$_{L!gog62THu@4~L^+tDqO@ zu}VKnrV}O39~J!3_Wp2xB-+!@vW5IOUL*=>T~{ZqlBXX+BW2Cg9P=z2!eLm^Wf`G# z`6hQ?!(^AWF?(Xfq17h)!?tz@C7tH7eAe{XLTy3hiX)ybS><%0WLlBv71Mj$``^cAMX}KK10+xHRd&;ionRsXT z&aP;GCYKnO{jMkh_C$wSY6)Y~E+yNkU#&<_dp|c&@%Rjtv5z45!qSOCCMA4CoXNJn z_A6YHcjuGYO3LUgo2g8pBfS8J&aYyyEWiUPDPs&g<;-6hIz_*WE>dXM+SyK8EeT>p z0K%f3xcVf9r4Wo02|b%B)9eVJ9k~K8F zNfji0^}jn!k`+H)_*JB`lK-XmdJ4JCLPBf_!B;2)!0>2*S>WO0TkyB$Lg)daiupEA z7079c1VJ;l5A~vjs4pcn0ub6;!S*idT19;&A%J8o3DADWT{=ej!yO0d9nqD%=%8mg za4dtOSHLqKuz$sz(kNnN1=(Xq%tmy|0E~q=PY5JraiO|7IFUF*`pUby2$QUrHeZ3aa0j8N z&w6!f+r3CE<w+UZ-MD;nCPUL@9R&yv3PE=s#*%i&+J*LENF>e7b2NKEtj z9$%Dpdc)xIwELV_msa&6v7e4>!MPl@X>CU?0MQP9av|sS*()M_f z*cqSpZHv<0>(fprPh4xEZS^9txKI1`MQPvU(|+8mOG|l?Sk|XKy(sNNKJ6#Hy0o+x ziB0;n7Z;`d!#?dVdUa`&ULexLS3i_)IAX&?6@v6DXSPc2IO zuuuCbuP!a?MPhp_?P+>c#`v(sGiIhM`3La*&O+4g>xi-tv%ST)Bf1jL)jXq#eL}QN zX%8sM)~I%IPgy)L%u^(fHnb3r+}pg4erf-_kUesbL^oc3PYArKUp-Z|?tvDM=Xl!k z`gKkF)sT{G?UoNIn-!vM^dhk~WwWKdrn2RlwBO>>e$cB+i+hn+lcindv(2OO*&#>9 z=eV-)O1bLY;a`d88uA$?%Qb!VeBN*Iz%Wly`TX96cwT?Mv`q`yBlG#m*XHS2tJXcx z>hYZ6Sy+6K@8#=7&%#vx6ZJSMT`2WQ{QI{Ord7%Vtp67tj`rF74 zfLs7#OTGZ)oC_fZmt4qlAhRxHHIP#-WSua}p(_StlPel=;&FLFzqcn{a_E3!+%@Y# zAg5hC^o{qR3;7%n+b>*MNJ3!P`CD>m=a~RX?h+PCyb0IXS zo=U_lI`9cU9MQOy5SQ;75cdkc56D@t5o-{+O0R@L@}64v%@}mA#r;6k9Wuy_d`e8g zUwhqmfM=ac&Q2h8AZVbA%5IQpSL7c7qV8;h=P@8*&O@^dd6zh2AtdK%5{Y7Ke+Ebk z5Rw7E zAVY;;Kar$u^RI!p<8wV^;Ge^EdtP7!E z2RcAib?N#Zc;=zgmi#jyb_{iK9E`2wvsA9q`*-ylCt|n~pBC&qT!Y?tG8xtBn<73_ zq&nyo@OZvr0eTXM{CKZt@)?uAAm+!*Jh(WfCT1Jze48!~yp`e_3FdP24O_O3n2C~E zDKak1+5huQ{vLeha6-647xeLLVKkA|Q)Z!5CP_AglL7>hX_-V8-yBmI&*X51%{mwd zcKnAI#1%?$(P3oc*3Db=p}R-6imt_OA63&AIIbt0p-Jle97Iz0wdQ0qqvC9uo`Avh z2m~YPGihOrtV=#XVb3APWTY@kMb*tlhX6|x2ItEqb`(l_xiVVbRW^;BK7n%;I9X_W zChsFkqVss4v|C>Nih~Xo$`N@z>pC`_jsU7-h_?A@BT;l(FU@xzM}$bn$wH|>-mYZN zab}VSna9AgAL#>6@%7Z{B4@G8gc&J(Ikv*A{E&M&sm3}+Y4yc%OA0_@+~A*!dHl*a zh(fVMVvXnNc#0iW`D>xv;D;xbI37T+FFXguZC~=q+c|pfFl}&Wr|Sr%SP3Nt*NJV1 zdm4|6_#xE!aZ-;HeB81?B#|eyd=2GZRpo{}nCiWRgf@Aa)Z&$gRb}73)ShHe`OWjl zncj9{TNj1AK}xai2yJv z=L)S5-Mr{ZxAby5l%* -#include - -int main (int argc, char *argv[]){ - FILE *f; - unsigned char *scr; - char nombre[256]; - int i,leido; - - if (argc<2) - return 1; - - scr = (unsigned char *) malloc(65536); - f = fopen (argv[1],"rb"); - if (!f) - return 1; - - leido = fread (scr, 1, 65536, f); - fclose (f); - - strcpy (nombre, argv[1]); - nombre[strlen(nombre)-3]=0; - strcat (nombre, "hex"); - - f = fopen (nombre, "wt"); - for (i=0;iVC&305=EX*on@Asd3 zJ85vo*@rv3HN~a=`=9fl|NO7>pZ}cOVZ|LuW@U^CfJ}z5y}hv)8ix)oW@So1$V%B)lc!Zx-wQp-@;BH%nq978096V%4e|u{qoz&6+f+z-@}I z_A$2HGVvTmCz-=~u_bRBD+2lZ02sHU5ZDPQ2at8t&NJ+`ph@=gCy6&Yzs|G3FE55f zgO?`I96Tm6I-3}4%r~0kz!9O&{;{VyW)=i{B1Q}hE2r!^B){*b&a)3tBp~4S&tpf?w?~M zo|0$w3vOCpJ#radF}yU_Qy5a6`Uvt!sVpkTJh|SJQu>N}!Au%-ANbO*X|9D(-T5pT zK*b^PXVi-QrDM9cqBC($z(EFpIRA& zvn#z!7cL?WQm1T{Cp&(;99){J8}kNe-U3hpNo8b4cLz-EuW~yDxCCq~G_X)aSa25u z_0U+i8!xrWZP)+G1+V&M^ahfNRYFO89(EQ??j9mx@qHkhO~A;n>W|*W$D6-en;0l3_%s`(#)I6h@c)j<#?v@BqqmG zu@l`NqTv}*MlFu6tHH_p@sy)0Ow;mhFpDC}$(-p@(BngnE)Ovmdif$1lWX827X{FH zsDLtq%7|V65b=Tm9ano<##IixU_{Tapq2vaL_j}4LDp}8fd2ej`wOb3>Rh)TyOf+) zeM!wlE9iJA2vgMF#7$?_w^ZLY%b@DpZYm5UwTVivp!5qWf?te@i53gV@Sv$KKC7)d ztIBR0234%HekrIG_iT^7r1`d4eaU_(L;!rr9@3+~hQ;fyMd&maWsvIZ<_J;mrg0>W z&`qY2syIy2Cea@1apDypaC99eSuR@3_>owF?trdt8cRs0ZeO>tZbQO<7WwAb<2yPm zjHf(b^XGW1ksa~(f1Al*#il`){>GG?l!$*!BQU|%Vyr2U-UE*KP=7w97iEMa{!id~ zU@GO^a37k1q+00CxQdK?82*7NqsWk9C&VX{etiw34Yz{@5g9)DbtXfOiXdiJm+}L- z)}K$y$)}uvR;ABAy!$Nn@NNh}+L`0j(VsWRf0i>|tW~*15`FvN?7Bi*rDP5dK)x+3_7CxKUG(#x4bObj8 z=x~w_a{{PGLCvb9EJ~nO5w{F_w!H~$MYq0KB{(^4A3V>f2lqlg>d(JEtseSfFj1W$ zcFSNtYn0l#ek-icijWNDWO{#>yO>PFldjOV^NwbiX&H3vW(YS7u~9xvfCLQDEV8MH z>@a3qKqe{I8xGyQCx^`fHg21C&)ET5lYsfJTPTM-I#f!K3V~#1kW&)Xg60)e7mcFY z3?pfJdA&LRJgdR#Yg2bj_cGl9FZ7VW;lp;u0?D;C&y`~xl#yDDY|?Cr)fwf>{I-c& z@gvI@L9Mq)YY`xJ>2a?U$a~yt!_wu!8}#Pu{{SIm8cs#Ky54OAQ6zW0kf{o83>h|7 zx#wfZsb2(srLWeLTDQ^I7egPMyFbXj+yc$}N$c2aQ4SVXoQ}N@lhj`QDa1aWQgO}t2&3IJIZ?d( zzz2DjV`{t8IK_1Z7a;2ryXK-{wdzVcVp<5-Z1nL(a%$Z|#m{m-1+~V8!0|)COOhcL(lf3qF4>9V z_H4#ghz`PjbP<_?i%09lsPsI4J!gieqq1`+w5lRI&#@)6Mmw_1%fJj30%#qe=@m5D z$hH8Tk36IcwW*K8Fx1CM3F&jA@W{Nr5t*`Ae-B^j385n)#Ob?IIeAKdfi8*MMG#n7 zA4<WQRY%vgkh+gZo&QGf=mUv6ZF_ss zQa22$FO{8APan{&iK+uO)ps;qU|Ov7+OW9V6m1XPI1>-h+w!LV5$gB#8;+`+s=gCD zrfnD;Pm=E=LfSlvXyTp^jTKD@k0pfrHD~;Ye5HCfk{7i?tF}@2>0rSM;M(m(=3GCO zmhkR@Y*e_#Fh71130)-M#u2}sH*Iv)j$Z|@5_j4=zvj*=zovW7hF8Yotxa(3-e}WS z3W+3{u658``O2BtM-6x?uT;Jg9bL4z%2zf=mxhM9dgV7__5Ktw*CwS9CR`HZ`ypO) z^-&KdJpx|MbqKwE^cr3RyBvES<&swns>e`Bafeg5D&|;vOdTzI-MZnZ{v@tb+KRz| z%2|~cv)13gk{sLc%J4H#W8|A-w?loo^JU1%bo>A^UM_pha!Bn}NA=AR^5C@e0nK-` zY|uK9(^i6}PD}p{58CkC6bqy;67ei0;!f;Cem5oIHQ-L}PC35Dm~ifh}C@lvHbL;(tn;)Zj;7+r5I-HML04p0h>shx)W`D5TaVl)n+av zQYDorI`6Escix~+))zBxp?cZlXJng(IyV=`k+#kjABqi)Nh`%9u;TnSDo!g~TjM!{ z6S;dA4}Q#vGg3W;!@@K$Ngm(~p(s-X^kc{p)bd_=F>0!43RbP?xKUgUd%I0@Rc?2d zXR$5gGWDycpax2wr|d~@Gj;L%1m!0;2G=eT?l`anIK9U0IVUi#Y+#Pamuqh*|*lKAT)q~Fa46Gv_$6VflB>bX4IxzDR z?KZA_HI(C<`B?1J{(Ksur$3(-g}1U!Gh_YIe=(LnrhNHwgPYa}{+Zfg&zSpebLw0A zqp01(cOvqXcUJGh&iVAakDQOI5WWIB+lwx?;G+(o7`?`QN(gk$UvY;yo<5viE#pL6 zTZ41ePIqMMEejocA`={YZY+$SNmS(($ya#>l3KOB;+?jM)@mD&T{&P;Ql%B2#dLln zfqXOHwY%Nr>O!}Eg%$RX+S(e&eiDmqz;}w5=`}DI0bA8gKUX>SBnyF%i_~tMkXY|5 zihnH6_MAxuh@gQj~&3{ zdT~q}nyHLJ^Nn0HJhdA~iDOR(+0dCbjEGDipRxI_^bC;GuSdAkuSd>z8ez_c5c%af zGNw_ss)N0T%7CHr)2y=-pa_GA*BEz=w%l!tEiw47HTWwy|2gJ4_S|6@HiYFk5=fr$ zP8a2g@d4SP4C9u@m*bt-FyCTy{}_`WyV4LnglwT31R}=?j;e#b<1Qp~e!P^er+aa~ zHKsj*X$acQ|H+_$J12BgzL_tY*S&7z7lQ}%X~z9}%w8-PWnpZsq2F!jUux)2 zb|8Q}TX6rF>)6wdG+kO4&m@-Hie$IvOm;y~PZ!xM4r1vR*?^`{E*&VX_&TPq^Q3U2 z#P2bKTuf|I`eR-( zuFhd<JL_;gG5^t z*%E7(LbBKpZuWzd%MeSeR;^gHY-QQ_aI`73B^LBYn&howY0a`F7-OqirAQzcZWAN^ z&=x5>b=6wmEjKM+b!!=`ZIr}_6paOC5r2Y~!(lPn><G02gGR8mQYim34gh+m&DTA<*RCHpu5^1k(+)eSGCE-SkQ}$FyJY` zApk=Ga06DrpSGE8*UqIsgv(9Mk{Iwe1!ECuK>=IT&;ZM#Vo8hG=#Pq_u-Me>-y+S7 zO7(J6IK)J8ZBs;!`Gc!tQe-Qi2pb`fyN0+@nM&X_!T|;@jqIZjuqf zyQD1dlEsS`h^0$bt|=3*n>A-VZl1yljn0$KnafX4y50EYo1fX@N8dd4mT%m!2e=&1#60JH!)01p8k2Rscp2p9ys z1NaT#6Tm2d!R7+M6hJY+4VVSE7H|V#Dc}~sdO!fs0=Ns%1)%4T!H2h4l@yd@X)#Vr zoL#{h^Xxdyd^qtU=abnX%MwXm9E(J7AmWIq$N9qszDZlwz+TOv);2~Ye*=hYVjku% z_eW))aS3RoevOP%GS;#z6bLV3_i@VBs4O+t;=EfFy{RcEQHwoBBehNSKUy5dS;*L@ zdCNku+8@NZalWBG>vGB8`VBJMZRLkyHEsmqNHd+)T$mJL+k_fPUK48chZ=%XgRi|_ zYN68%+7So#s8AD>q!#w1P%A~6n?inB%DT^<7HWf0n6}m*j7jV{;dcsQLxOoCo2M&d zC$bc77XHA=>gu*gGTm|fku6cS5d9{2DTP{@5A9%mIMm81jIBVwrLN9j-`o%kv09@S zp#LSuSQC0tNv`v^wA9I4TR;gKlvot@8}}~8e!}Yf&CxA&QhO8Pxr5c!8?8AOt^$rX zv+K|fW7jRrs|$zt@Z(nh=5R!2e{Ds=;M8aA@2tkW-PS-o?nBUaz#0g*NFmm14YWj> zLUMo&SOb&<>?OkBc+(naL(-v@C(w0^n#Mx=;Co*yTc0j&Ry_)Cxi< zTR^Q)eRB)DU1-fJp#Svtoxu-%x2*InpEG+_Ll8DFRtVXDNNA3>)<@*5cCz6A=i|J@ gJ7$>E>1EZIkN4?YU?=@2#|zJe2waH3A6*3g9dM=21ONa4 literal 0 HcmV?d00001 diff --git a/sdk/bin/bin2hex.exe.license b/sdk/bin/bin2hex.exe.license new file mode 100644 index 0000000..076047e --- /dev/null +++ b/sdk/bin/bin2hex.exe.license @@ -0,0 +1,9 @@ +SPDX-FileName: bin2hex.exe + +SPDX-FileType: BINARY + +SPDX-FileChecksum: SHA1: acc480181c0cdc8d5bfce1c633c8eefd8165908c + +SPDX-FileCopyrightText: Copyright (C) 2016, 2021 Antonio Villena + +SPDX-License-Identifier: GPL-3.0-only diff --git a/sdk/src/Makefile b/sdk/src/Makefile index 4aa79d9..babd03a 100644 --- a/sdk/src/Makefile +++ b/sdk/src/Makefile @@ -24,6 +24,7 @@ include ../common.mk SJASMPLUS := sjasmplus$(EXECEXT) ZX7B := zx7b$(EXECEXT) +BIN2HEX := bin2hex$(EXECEXT) FCUT := fcut$(EXECEXT) FPAD := fpad$(EXECEXT) FPOKE := fpoke$(EXECEXT) @@ -33,6 +34,7 @@ ADDITEM := AddItem$(EXECEXT) TOOLS:= \ ../bin/$(SJASMPLUS) \ ../bin/$(ZX7B) \ + ../bin/$(BIN2HEX) \ ../bin/$(FCUT) \ ../bin/$(FPAD) \ ../bin/$(FPOKE) \ @@ -84,6 +86,9 @@ sjasmplus: zx7b/$(ZX7B): | zx7b $(MAKE) -w -C $| +../bin/$(BIN2HEX): tools/$(BIN2HEX) + cp $< $@ + ../bin/$(FCUT): tools/$(FCUT) cp $< $@ @@ -99,6 +104,7 @@ zx7b/$(ZX7B): | zx7b ../bin/$(ADDITEM): tools/$(ADDITEM) cp $< $@ +tools/$(BIN2HEX) \ tools/$(FCUT) \ tools/$(FPAD) \ tools/$(FPOKE) \ diff --git a/sdk/src/tools/.gitignore b/sdk/src/tools/.gitignore index 0e0a00a..b58c37a 100644 --- a/sdk/src/tools/.gitignore +++ b/sdk/src/tools/.gitignore @@ -2,6 +2,8 @@ # # SPDX-License-Identifier: CC0-1.0 +bin2hex +bin2hex.exe fcut fcut.exe fpad diff --git a/sdk/src/tools/Makefile b/sdk/src/tools/Makefile index 61fb11b..90a3dd5 100644 --- a/sdk/src/tools/Makefile +++ b/sdk/src/tools/Makefile @@ -20,6 +20,7 @@ include ../../common.mk +BIN2HEX := bin2hex$(EXECEXT) FCUT := fcut$(EXECEXT) FPAD := fpad$(EXECEXT) FPOKE := fpoke$(EXECEXT) @@ -27,6 +28,7 @@ GENROM := GenRom$(EXECEXT) ADDITEM := AddItem$(EXECEXT) TOOLS:=\ + $(BIN2HEX) \ $(FCUT) \ $(FPAD) \ $(FPOKE) \ @@ -36,6 +38,9 @@ TOOLS:=\ .PHONY: all all: $(TOOLS) +$(BIN2HEX): bin2hex.c + $(CC) $(CFLAGS) -o $@ $< + $(FCUT): fcut.c $(CC) $(CFLAGS) -o $@ $< diff --git a/sdk/src/tools/bin2hex.c b/sdk/src/tools/bin2hex.c new file mode 100644 index 0000000..f90d2a1 --- /dev/null +++ b/sdk/src/tools/bin2hex.c @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2016, 2021 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 + * the Free Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * SPDX-FileCopyrightText: Copyright (C) 2016, 2021 Antonio Villena + * + * SPDX-License-Identifier: GPL-3.0-only + */ + +#include +#include +#include + +int main (int argc, char *argv[]){ + FILE *f; + unsigned char *scr; + char nombre[256]; + int i,leido; + + if (argc<2) + return 1; + + scr = (unsigned char *) malloc(65536); + f = fopen (argv[1],"rb"); + if (!f) + return 1; + + leido = fread (scr, 1, 65536, f); + fclose (f); + + strcpy (nombre, argv[1]); + nombre[strlen(nombre)-3]=0; + strcat (nombre, "hex"); + + f = fopen (nombre, "wt"); + for (i=0;i