From 6fd40a57b81484a57f1c5a8ddbd48855a89e660f Mon Sep 17 00:00:00 2001 From: Maurus Cuelenaere Date: Thu, 3 Jul 2008 12:17:56 +0000 Subject: Jz4740 Tools: * update Makefile * add README * update svn properties * fix small mistakes git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17926 a1c6a512-1295-4272-9138-f99709370657 --- utils/jz4740_tools/HXFmerge.c | 42 +++++++++++++++++++++++++++++++------ utils/jz4740_tools/HXFreplace.c | 23 +++++++++++++++++--- utils/jz4740_tools/HXFsplit.c | 25 ++++++++++++++++++---- utils/jz4740_tools/Makefile | 27 +++++++++++++++++++++--- utils/jz4740_tools/README | 36 +++++++++++++++++++++++++++++++ utils/jz4740_tools/jz4740.h | 0 utils/jz4740_tools/jz4740_usbtool.c | 2 +- 7 files changed, 138 insertions(+), 17 deletions(-) mode change 100755 => 100644 utils/jz4740_tools/HXFmerge.c mode change 100755 => 100644 utils/jz4740_tools/HXFreplace.c mode change 100755 => 100644 utils/jz4740_tools/HXFsplit.c mode change 100755 => 100644 utils/jz4740_tools/Makefile create mode 100644 utils/jz4740_tools/README mode change 100755 => 100644 utils/jz4740_tools/jz4740.h mode change 100755 => 100644 utils/jz4740_tools/jz4740_usbtool.c diff --git a/utils/jz4740_tools/HXFmerge.c b/utils/jz4740_tools/HXFmerge.c old mode 100755 new mode 100644 index f90d094fd9..fb5a0bf2f3 --- a/utils/jz4740_tools/HXFmerge.c +++ b/utils/jz4740_tools/HXFmerge.c @@ -1,6 +1,23 @@ -/* -Made by Maurus Cuelenaere -*/ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2008 by Maurus Cuelenaere + * + * 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; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ #include #include @@ -42,8 +59,8 @@ static unsigned int le2int(unsigned char* buf) #define MIN(a, b) (a > b ? b : a) static char* replace(char* str) { - char tmp[255]; - memcpy(tmp, str, MIN(strlen(str), 255); + static char tmp[255]; + memcpy(tmp, str, MIN(strlen(str), 255)); char *ptr = tmp; while(*ptr != 0) { @@ -156,19 +173,32 @@ static void merge_hxf(const char* indir, FILE* outfile, const char* add) if(strlen(add)>0) { +#ifdef _DIRENT_HAVE_D_NAMLEN WRITE(int2le(dirs->d_namlen+strlen(add)), 4); +#else + WRITE(int2le(strlen(dirs->d_name)+strlen(add)), 4); +#endif #ifndef _WIN32 - WRITE(replace(add), strlen(add)-1); + WRITE(replace(&add), strlen(add)-1); #else WRITE(add, strlen(add)-1); #endif WRITE(PATH_SEPARATOR, 1); +#ifdef _DIRENT_HAVE_D_NAMLEN WRITE(dirs->d_name, dirs->d_namlen); +#else + WRITE(dirs->d_name, strlen(dirs->d_name)); +#endif } else { +#ifdef _DIRENT_HAVE_D_NAMLEN WRITE(int2le(dirs->d_namlen), 4); WRITE(dirs->d_name, dirs->d_namlen); +#else + WRITE(int2le(strlen(dirs->d_name)), 4); + WRITE(dirs->d_name, strlen(dirs->d_name)); +#endif } WRITE(int2le(filesize), 4); if(filesize>0) diff --git a/utils/jz4740_tools/HXFreplace.c b/utils/jz4740_tools/HXFreplace.c old mode 100755 new mode 100644 index fc97a3c1e8..154bc13071 --- a/utils/jz4740_tools/HXFreplace.c +++ b/utils/jz4740_tools/HXFreplace.c @@ -1,6 +1,23 @@ -/* -Made by Maurus Cuelenaere -*/ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2008 by Maurus Cuelenaere + * + * 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; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ #include #include diff --git a/utils/jz4740_tools/HXFsplit.c b/utils/jz4740_tools/HXFsplit.c old mode 100755 new mode 100644 index ede22170e4..d5e578625b --- a/utils/jz4740_tools/HXFsplit.c +++ b/utils/jz4740_tools/HXFsplit.c @@ -1,6 +1,23 @@ -/* -Made by Maurus Cuelenaere -*/ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2008 by Maurus Cuelenaere + * + * 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; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ #include #include @@ -43,7 +60,7 @@ static char* basepath(char* path) #else *ptr2 = 0x2F; #endif - *ptr2++; + ptr2++; *ptr2 = 0; return (char*)tmp; } diff --git a/utils/jz4740_tools/Makefile b/utils/jz4740_tools/Makefile old mode 100755 new mode 100644 index e61b837d99..6ebf0c8fb3 --- a/utils/jz4740_tools/Makefile +++ b/utils/jz4740_tools/Makefile @@ -1,9 +1,30 @@ -WIN_DRIVERS_LIBUSB_DIR = D:\Program Files\LibUSB-Win32 +WIN_DRIVERS_LIBUSB_DIR = C:\Program Files\LibUSB-Win32 WIN_LIBUSB_INCLUDE_DIR = "$(WIN_DRIVERS_LIBUSB_DIR)\include" WIN_LIBUSB_LIB_DIR = "$(WIN_DRIVERS_LIBUSB_DIR)\lib\gcc" +linux: usbtool HXFmerge HXFreplace HXFsplit +win: usbtool_win HXFmerge_win HXFsplit_win HXFreplace_win + usbtool: gcc -Wall -o usbtool jz4740_usbtool.c -lusb +usbtool_win: + gcc -Wall -o usbtool.exe jz4740_usbtool.c -lusb -I $(WIN_LIBUSB_INCLUDE_DIR) -L $(WIN_LIBUSB_LIB_DIR) + +HXFmerge: + gcc -Wall -o HXFmerge HXFmerge.c +HXFreplace: + gcc -Wall -o HXFreplace HXFreplace.c +HXFsplit: + gcc -Wall -o HXFsplit HXFsplit.c + +HXFmerge_win: + gcc -Wall -o HXFmerge.exe HXFmerge.c +HXFreplace_win: + gcc -Wall -o HXFreplace.exe HXFreplace.c +HXFsplit_win: + gcc -Wall -o HXFsplit.exe HXFsplit.c -usbtoolwin: - gcc -Wall -o usbtool.exe jz4740_usbtool.c -lusb -I $(WIN_LIBUSB_INCLUDE_DIR) -L $(WIN_LIBUSB_LIB_DIR) \ No newline at end of file +clean-linux: + rm HXFmerge HXFreplace HXFsplit usbtool +clean-win: + del HXFmerge.exe HXFreplace.exe HXFsplit.exe usbtool.exe diff --git a/utils/jz4740_tools/README b/utils/jz4740_tools/README new file mode 100644 index 0000000000..b75f36aa51 --- /dev/null +++ b/utils/jz4740_tools/README @@ -0,0 +1,36 @@ +******************************************************************************* + Jz4740 USB tools + + Made by Maurus Cuelenaere for Rockbox + Copyright (C) 2008 +******************************************************************************* + +When you're on Linux, just type "make linux" to compile all the utilities (make +sure you have libusb-dev installed). +For cleaning: "make clean-linux" + +When you're on Windows, install MingW32 and LibUSB-Win32 and edit "Makefile" to +make sure "WIN_DRIVERS_LIBUSB_DIR" is set correctly. +For cleaning: "make clean-win" + +That's all! + + + *************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * 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; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + **************************************************************************** diff --git a/utils/jz4740_tools/jz4740.h b/utils/jz4740_tools/jz4740.h old mode 100755 new mode 100644 diff --git a/utils/jz4740_tools/jz4740_usbtool.c b/utils/jz4740_tools/jz4740_usbtool.c old mode 100755 new mode 100644 index 6d670254e4..165aafb19d --- a/utils/jz4740_tools/jz4740_usbtool.c +++ b/utils/jz4740_tools/jz4740_usbtool.c @@ -199,7 +199,7 @@ int upload_app(usb_dev_handle* dh, int address, unsigned char* p, int len, bool free(tmp_buf); fprintf(stderr, "[INFO] Booting device [STAGE%d]...", (stage2 ? 2 : 1)); - SEND_COMMAND((stage2 ? VR_PROGRAM_START2 : VR_PROGRAM_START1), (address+(stage2 ? 8 : 0)) ); + SEND_COMMAND((stage2 ? VR_PROGRAM_START2 : VR_PROGRAM_START1), address ); fprintf(stderr, " Done!\n"); return 0; -- cgit v1.2.3