From 3f7b635a02d85ce6bc261d4d3e900932732f9496 Mon Sep 17 00:00:00 2001 From: Alex Brown Date: Sat, 9 Feb 2019 22:07:41 +0000 Subject: [PATCH] Rename to "siboimg". --- Makefile | 14 +++++++------- README.md | 20 +++++++++++++++++++- psion-rom-extractor.c => siboimg.c | 10 +++++----- 3 files changed, 31 insertions(+), 13 deletions(-) rename psion-rom-extractor.c => siboimg.c (98%) diff --git a/Makefile b/Makefile index 341df44..604841b 100644 --- a/Makefile +++ b/Makefile @@ -1,12 +1,12 @@ CC=gcc -all: psirom +all: siboimg -psirom: argparse/argparse.c psion-rom-extractor.c - $(CC) argparse/argparse.c psion-rom-extractor.c -o psirom +siboimg: argparse/argparse.c siboimg.c + $(CC) argparse/argparse.c siboimg.c -o siboimg -mingw32: argparse/argparse.c psion-rom-extractor.c - i686-w64-mingw32-clang argparse/argparse.c psion-rom-extractor.c -o bin/win32/psirom.exe +mingw32: argparse/argparse.c siboimg.c + i686-w64-mingw32-clang argparse/argparse.c siboimg.c -o bin/win32/siboimg.exe -mingw64: argparse/argparse.c psion-rom-extractor.c - x86_64-w64-mingw32-clang argparse/argparse.c psion-rom-extractor.c -o bin/win64/psirom.exe +mingw64: argparse/argparse.c siboimg.c + x86_64-w64-mingw32-clang argparse/argparse.c siboimg.c -o bin/win64/siboimg.exe diff --git a/README.md b/README.md index 7ba21e7..b295efc 100644 --- a/README.md +++ b/README.md @@ -1 +1,19 @@ -# psion-rom-extractor \ No newline at end of file +# siboimg +This is the SIBO Image Extractor, designed to extract files from Psion Solid State Disk images. In future it might also build images for copying/burning to SSDs. + +**THIS IS ALPHA-QUALITY SOFTWARE!** It's worked for me, but it might not work for you. + +## Build +For Linux, BSD, macOS and other POSIX-compliant systems. +```make``` + +For Windows you will need MinGW and either gcc or clang. Pre-made binaries can be found in _releases_. + +## Usage + +```siboimg _image file_``` + +At the moment the switches don't work so all it does it extract the files to a directory. The directory will be named after the image's embedded name. + +## Credits +Thanks to Clive DW Feather for his description of the SIBO Flash filesystem. Thanks to Karl for helping me out. \ No newline at end of file diff --git a/psion-rom-extractor.c b/siboimg.c similarity index 98% rename from psion-rom-extractor.c rename to siboimg.c index 47cffab..b15750b 100644 --- a/psion-rom-extractor.c +++ b/siboimg.c @@ -18,8 +18,8 @@ #include "argparse/argparse.h" static const char *const usage[] = { - "psirom [options] [[--] args]", - "psirom [options]", + "siboimg [options] [[--] args]", + "siboimg [options]", NULL, }; @@ -196,7 +196,7 @@ void getfile(int pos, char path[], char *buffer[], const char localpath[], const printf("Next entry record: 0x%06x\n", next_pos); if (next_pos > buffer_len) { - printf("psirom: detected pointer too high\n"); + printf("siboimg: detected pointer too high\n"); exit(EXIT_FAILURE); } @@ -306,7 +306,7 @@ void walkpath(int pos, char path[], char *buffer[], const char img_name[], const memcpy(&first_entry_ptr, *buffer + (pos + ENTRY_FIRSTENTRYRECORDPTR_OFFSET), ENTRY_FIRSTENTRYRECORDPTR_LENGTH); printf("First Entry Pointer: 0x%06x\n", first_entry_ptr); if(first_entry_ptr > buffer_len) { - printf("psirom: detected pointer too high\n"); + printf("siboimg: detected pointer too high\n"); exit(EXIT_FAILURE); } @@ -330,7 +330,7 @@ void walkpath(int pos, char path[], char *buffer[], const char img_name[], const strcat(localpath, newpath); if (fsitemexists(localpath)) { if(!direxists(localpath)) { - printf("psirom: %s: item exists and isn't a folder", localpath); + printf("siboimg: %s: item exists and isn't a folder", localpath); exit(EXIT_FAILURE); } } else {