From 31d63fcd237a5d44249114dc662afb1f70f61aba Mon Sep 17 00:00:00 2001 From: James Woodcock Date: Mon, 22 Feb 2010 16:38:37 +0000 Subject: [PATCH] Fix line endings. --- BUGS | 28 ++-- CHANGES | 268 ++++++++++++++++---------------- README | 150 +++++++++--------- README.TOO | 124 +++++++-------- man/arcfs.5 | 302 ++++++++++++++++++------------------ man/arcfs5.txt | 396 ++++++++++++++++++++++++------------------------ man/nspark.1 | 236 ++++++++++++++--------------- man/nspark1.txt | 396 ++++++++++++++++++++++++------------------------ man/spark.5 | 202 ++++++++++++------------ man/spark5.txt | 264 ++++++++++++++++---------------- nosysdep.sed | 12 +- 11 files changed, 1189 insertions(+), 1189 deletions(-) diff --git a/BUGS b/BUGS index 81bd3cb..3b4fbcf 100644 --- a/BUGS +++ b/BUGS @@ -1,14 +1,14 @@ - These are bugs I know about but haven't fixed yet. - - * Filestamping is not supported under 4.2BSD or SysV2 (as no mktime(3) - or timelocal(3) functions exist under these systems). To correct - this I could write my own or port the one from 386BSD (save that for - a rainy day). - - * If compiled with GCC 1.42 it core dumps when trying to test - (or unarchive ?) a corrupt archive file. This doesn't happen - when compiled with the UNIX pcc. - - * The DOS version (and the Windows NT version for that matter) - do not time/date stamp directories. (But neither do any other - unpackers.) + These are bugs I know about but haven't fixed yet. + + * Filestamping is not supported under 4.2BSD or SysV2 (as no mktime(3) + or timelocal(3) functions exist under these systems). To correct + this I could write my own or port the one from 386BSD (save that for + a rainy day). + + * If compiled with GCC 1.42 it core dumps when trying to test + (or unarchive ?) a corrupt archive file. This doesn't happen + when compiled with the UNIX pcc. + + * The DOS version (and the Windows NT version for that matter) + do not time/date stamp directories. (But neither do any other + unpackers.) diff --git a/CHANGES b/CHANGES index e2e2573..91f901e 100644 --- a/CHANGES +++ b/CHANGES @@ -1,134 +1,134 @@ - -1.2.4 7th Oct 92 1st public release. - -1.2.5 9th Oct 92 Fixed bug in misc.c::riscos_path() that caused nspark - to core dump under SCO UNIX. - -1.2.6 19th Oct 92 Added -x option as an alternative to -u. Changed - unix.c::filestamp() so that timelocal(3) is only used - for SunOS, and mktime(3) is used for all other - flavours of UNIX. - -1.2.7 23rd Oct 92 Minor cosmetic changes... I should really leave this - thing alone. - -1.2.8 6th Nov 92 Fixed function definition for unarc.c::prompt_user() - (was defined the ANSI C way). - - Fixed io.c::read_header() so it doesn't read the - load/exec/attr fields if the archive isn't an - Archimedes archive. - - Corrected comments in compress.c about what crunch - and squash methods were. - - Slight change to algorithm in crc.c::calccrc(), though - no functional changes made. - -1.2.9 9th Nov 92 compress.c: Moved offset and size from getcode() into - global scope so that uncompress() can re-initialise - them each time it is called. - - pack.c/pack.h: Added putc_init() to initialise the - static variables used by putc_ncr(). - -1.2.10 12th Nov 92 Fixed bug with realloc() size in misc.c: uplevel(). - (reported by arb@comp.lancs.ac.uk). - -1.2.11 7th Dec 92 Reformatted all source files using Emacs C-Mode (4- - space tabs etc.). Slight change to unarc.c::unarc() - logic when printing file details during unarchiving. - -1.3Beta 8th Dec 92 Added -a option to allow filetypes to be appended - to filenames as they are unarchived. This is to allow - Acorn <-> UNIX NFS to work correctly. - (requested by dhmyrdal@pvv.unit.no) - -1.3 9th Dec 92 Changed -a option to -T, made filetypes append in - lowercase hex rather than uppercase. - -1.3.1 9th Dec 92 Changed ret from int in io.c::check_stream(). #ifdef'd - out write_halfword() and write_word() in io.c/io.h . - -1.3.2 22nd Dec 92 misc.c: Changed #include to - #include - -1.4 23rd Dec 92 unarc.c: added total-printing if in verbose mode. - -NEW MAINTAINER: Andrew Brooks, arb@comp.lancs.ac.uk. - -1.5 5th Mar 93 Added code to compile on RISC OS: mkfiles/acorn, - acorn.c, changes to io.c, unarc.c, main.c, io.h to - add prototypes needed. - -1.6 20th Aug 93 main.c: Add -C option to convert filenames to lowercase - io.c: allow top-bit-set characters in RISCOS filenames. - compress.c, unarc.c: prevent output if in quiet mode. - -1.7 20th Aug 93 Added code to read headers from ArcFS archives. - Changes to io.c, unarc.c, mkfiles. Added arcfs.[ch] - WARNING: Code is unfinished: only the list option (-l) - can be used (and timestamps will be incorrect). Trying - to test or extract from the archive will fail, and - probably dump core. Please add the necessary - code if you can, I don't have time at the moment. - -1.7.1 4th Mar 94 Fixed many bugs in ArcFS code: changes to unarc.c, - compress.c also. Still no timestamps, and files - extracted are too long by a few null bytes for some - reason (complen is too large, but why?), so CRC fails. - -1.7.2 26th Oct 94 Fixed date and time conversion for ArcFS archives. - Added manual pages supplied by Duncan (?) - (m91dps@ecs.oxford.ac.uk). - -1.7.2a 9th Nov 94 Altered unix makefile to call ./mkendian not mkendian - as suggested by Tom Tromey (tromey@busco.lanl.gov). - Added rename scripts for RISC OS/UNIX. - -1.7.3 12th Dec 94 Finally fix ArcFS archive extraction, fixes in - arcfs.c, unarc.c, io.c and crc.c. Modifications - to manual pages to correct errors and add new details. - -1.7.4 6th Jan 95 Added Windows NT and Alpha support by Alun Jones - (auj@aber.ac.uk). - Restructured directories and added executables for - RISC OS, Sun OS 4.1.3 and Solaris 2.3. - Added executables for Linux, MIPS and Alpha supplied - by Alun Jones. - Updated manual pages for new file formats. - Added text versions of manual pages for those without - nroff. - -1.7.5 25th Jan 95 Bug fixes in compress.c, thanks to all who reported - the problem. Included binaries that report version - 1.7.4 should not be exhibit the bug as it was caused - by a last-minute source change (mae culpa!). - -1.7.6 01th Aug 95 DOS port. (Beta by Bob Brand, bob@wop.wtb.tue.nl, - or B.A.Brand@wtb.tue.nl, addresses valid until - at least Oct 1st, 1996), fido: 2:2801/208.2. - Removed floating point operation in - arcfs.c::arcfs_read_header(). - Made htab[] and codetab[] arrays in compress.c - dynamically allocated arrays (DOS version only!). - Made misc.c::basename() insensitive for null- - pointers. (IRIX's strlen() and a few other string- - functions coredump on null-pointers. Should not - happen under normal execution. But it can happen - in the DOS version running under DOS 2.x.) - Renamed io.h to sparkio.h (conflict with Borland - C/C++ io.h). - Removed `Does not support DOS' from BUGS file. - Added `Does not time/date stamp directories - under DOS or WINNT' to BUGS file. - Included executables for SGI IRIX 4.x and 5.x. - -1.7.7 17th March 1999 -I option Mark Usher, marku@magnet.at - The -I option has been added to extract the individual - files with an extra .inf file that contains the - information relevant to that file. This should help - people who use BBC emulators to read the files into - disc images. - The WinNT directory has been changed to Win32. - + +1.2.4 7th Oct 92 1st public release. + +1.2.5 9th Oct 92 Fixed bug in misc.c::riscos_path() that caused nspark + to core dump under SCO UNIX. + +1.2.6 19th Oct 92 Added -x option as an alternative to -u. Changed + unix.c::filestamp() so that timelocal(3) is only used + for SunOS, and mktime(3) is used for all other + flavours of UNIX. + +1.2.7 23rd Oct 92 Minor cosmetic changes... I should really leave this + thing alone. + +1.2.8 6th Nov 92 Fixed function definition for unarc.c::prompt_user() + (was defined the ANSI C way). + + Fixed io.c::read_header() so it doesn't read the + load/exec/attr fields if the archive isn't an + Archimedes archive. + + Corrected comments in compress.c about what crunch + and squash methods were. + + Slight change to algorithm in crc.c::calccrc(), though + no functional changes made. + +1.2.9 9th Nov 92 compress.c: Moved offset and size from getcode() into + global scope so that uncompress() can re-initialise + them each time it is called. + + pack.c/pack.h: Added putc_init() to initialise the + static variables used by putc_ncr(). + +1.2.10 12th Nov 92 Fixed bug with realloc() size in misc.c: uplevel(). + (reported by arb@comp.lancs.ac.uk). + +1.2.11 7th Dec 92 Reformatted all source files using Emacs C-Mode (4- + space tabs etc.). Slight change to unarc.c::unarc() + logic when printing file details during unarchiving. + +1.3Beta 8th Dec 92 Added -a option to allow filetypes to be appended + to filenames as they are unarchived. This is to allow + Acorn <-> UNIX NFS to work correctly. + (requested by dhmyrdal@pvv.unit.no) + +1.3 9th Dec 92 Changed -a option to -T, made filetypes append in + lowercase hex rather than uppercase. + +1.3.1 9th Dec 92 Changed ret from int in io.c::check_stream(). #ifdef'd + out write_halfword() and write_word() in io.c/io.h . + +1.3.2 22nd Dec 92 misc.c: Changed #include to + #include + +1.4 23rd Dec 92 unarc.c: added total-printing if in verbose mode. + +NEW MAINTAINER: Andrew Brooks, arb@comp.lancs.ac.uk. + +1.5 5th Mar 93 Added code to compile on RISC OS: mkfiles/acorn, + acorn.c, changes to io.c, unarc.c, main.c, io.h to + add prototypes needed. + +1.6 20th Aug 93 main.c: Add -C option to convert filenames to lowercase + io.c: allow top-bit-set characters in RISCOS filenames. + compress.c, unarc.c: prevent output if in quiet mode. + +1.7 20th Aug 93 Added code to read headers from ArcFS archives. + Changes to io.c, unarc.c, mkfiles. Added arcfs.[ch] + WARNING: Code is unfinished: only the list option (-l) + can be used (and timestamps will be incorrect). Trying + to test or extract from the archive will fail, and + probably dump core. Please add the necessary + code if you can, I don't have time at the moment. + +1.7.1 4th Mar 94 Fixed many bugs in ArcFS code: changes to unarc.c, + compress.c also. Still no timestamps, and files + extracted are too long by a few null bytes for some + reason (complen is too large, but why?), so CRC fails. + +1.7.2 26th Oct 94 Fixed date and time conversion for ArcFS archives. + Added manual pages supplied by Duncan (?) + (m91dps@ecs.oxford.ac.uk). + +1.7.2a 9th Nov 94 Altered unix makefile to call ./mkendian not mkendian + as suggested by Tom Tromey (tromey@busco.lanl.gov). + Added rename scripts for RISC OS/UNIX. + +1.7.3 12th Dec 94 Finally fix ArcFS archive extraction, fixes in + arcfs.c, unarc.c, io.c and crc.c. Modifications + to manual pages to correct errors and add new details. + +1.7.4 6th Jan 95 Added Windows NT and Alpha support by Alun Jones + (auj@aber.ac.uk). + Restructured directories and added executables for + RISC OS, Sun OS 4.1.3 and Solaris 2.3. + Added executables for Linux, MIPS and Alpha supplied + by Alun Jones. + Updated manual pages for new file formats. + Added text versions of manual pages for those without + nroff. + +1.7.5 25th Jan 95 Bug fixes in compress.c, thanks to all who reported + the problem. Included binaries that report version + 1.7.4 should not be exhibit the bug as it was caused + by a last-minute source change (mae culpa!). + +1.7.6 01th Aug 95 DOS port. (Beta by Bob Brand, bob@wop.wtb.tue.nl, + or B.A.Brand@wtb.tue.nl, addresses valid until + at least Oct 1st, 1996), fido: 2:2801/208.2. + Removed floating point operation in + arcfs.c::arcfs_read_header(). + Made htab[] and codetab[] arrays in compress.c + dynamically allocated arrays (DOS version only!). + Made misc.c::basename() insensitive for null- + pointers. (IRIX's strlen() and a few other string- + functions coredump on null-pointers. Should not + happen under normal execution. But it can happen + in the DOS version running under DOS 2.x.) + Renamed io.h to sparkio.h (conflict with Borland + C/C++ io.h). + Removed `Does not support DOS' from BUGS file. + Added `Does not time/date stamp directories + under DOS or WINNT' to BUGS file. + Included executables for SGI IRIX 4.x and 5.x. + +1.7.7 17th March 1999 -I option Mark Usher, marku@magnet.at + The -I option has been added to extract the individual + files with an extra .inf file that contains the + information relevant to that file. This should help + people who use BBC emulators to read the files into + disc images. + The WinNT directory has been changed to Win32. + diff --git a/README b/README index 8c4e101..65b480e 100644 --- a/README +++ b/README @@ -1,75 +1,75 @@ - nspark - New Spark unarchiver - ============================= - -THIS PROGRAM IS *FREE* -- YOU MAY DO WHAT YOU LIKE WITH IT AS LONG AS -THIS FILE REMAINS INTACT, AND YOU DO NOT MAKE ANY MONEY FROM IT! IF -YOU MAKE IMPROVEMENTS TO THIS PROGRAM THEN PLEASE SEND A COPY OF THE -SOURCES TO THE MAINTAINER OF THAT VERSION OF THE PROGRAM. - -nspark is a rewritten version of !Spark for UNIX. The original version -of spark (sometimes known as "cark") was based upon the BASIC program -"bark", written by David Pilling, and was improved and fixed by the -following people: - - Philip Colmer (pcolmer@acorn.co.uk), - Alun Jones (auj@uk.ac.aber), - Andy Duplain (duplain@rtf.bt.co.uk), - Martin Percival (martin@thed.uk22.bull.com), - Denis Howe (dbh@doc.ic.ac.uk). - -I decided to re-write the program to add functionality and make it -easier to port to other Operating Systems (such as MSDOS and even RISC -OS :-). The new version has the following enhancements: - - o Supports all archive methods used by !Spark 1 and 2. The old - version didn't support "Squashing" and used to handle "Compressed" - archives by using the UNIX uncompress program. The new version - supports both these and has them built-in, allowing easier porting - to other OS's. - - o Supports Cyclic Redundancy Checking (CRC). The integrity of an - archive can now be checked without having to unarchive it. - - o Supports verbose option to allow archive file details to be - displayed (time/date or exec/load address, size, type). - - o Supports selective file unarchiving, so the whole archive needn't - be unarchived if not all the files are wanted). - - o Supports user-prompting before overwriting a file, allowing the - user to either (1) overwrite the file, (2) overwrite all the - files, (3) unarchive the file to a different name, or (4) not to - unarchive the file at all. - - o Supports file-stamping so the date and time of the file, when - unarchived, matches the date and time it was archived (not 4.2BSD - or SysV.2 as these systems lack vital library functions). - -I have not included support for creating !Spark archives, and I am not -really sure if I need to as: (1) !Spark for RISC OS is cheap (#5.99 -from David Pilling), (2) !SparkPlug can unpack archives created with -zip (which is available in source form for UNIX, VMS and MSDOS), and -(3) it's a lot of work. Let me know what you think. - -To compile nspark; copy the relevant makefile from the "mkfiles" -directory, and rename it "Makefile" or "makefile", edit it to suite C -compiler preference, change the "SYSTYPE" variable setting, etc, then -simply type "make" (or "nmake" or "amu" or whatever). - -There are some problems with nspark if it is compiled with gcc v2 (it -core dumps). To fix this try recompiling everything ("make clean" -first) with "-O" off, and if nspark still won't work try adding -"-fno-builtin" after "gcc" in the "CC" line, then recompile. I have -had some strange problems with optimisation in gcc v2, for example -basename() in misc.c core dumps (looking at the assembler gcc v2 -produced I can see why!). - -Please send bug reports/suggestions etc to the maintainer of the -particular version of nspark you are using (the maintainer's e-mail -address can be found using the -V option). - -Enjoy. - --- -Andy Duplain, BT Customer Systems, Brighton, UK. (duplain@btcs.bt.co.uk). -October 1992. + nspark - New Spark unarchiver + ============================= + +THIS PROGRAM IS *FREE* -- YOU MAY DO WHAT YOU LIKE WITH IT AS LONG AS +THIS FILE REMAINS INTACT, AND YOU DO NOT MAKE ANY MONEY FROM IT! IF +YOU MAKE IMPROVEMENTS TO THIS PROGRAM THEN PLEASE SEND A COPY OF THE +SOURCES TO THE MAINTAINER OF THAT VERSION OF THE PROGRAM. + +nspark is a rewritten version of !Spark for UNIX. The original version +of spark (sometimes known as "cark") was based upon the BASIC program +"bark", written by David Pilling, and was improved and fixed by the +following people: + + Philip Colmer (pcolmer@acorn.co.uk), + Alun Jones (auj@uk.ac.aber), + Andy Duplain (duplain@rtf.bt.co.uk), + Martin Percival (martin@thed.uk22.bull.com), + Denis Howe (dbh@doc.ic.ac.uk). + +I decided to re-write the program to add functionality and make it +easier to port to other Operating Systems (such as MSDOS and even RISC +OS :-). The new version has the following enhancements: + + o Supports all archive methods used by !Spark 1 and 2. The old + version didn't support "Squashing" and used to handle "Compressed" + archives by using the UNIX uncompress program. The new version + supports both these and has them built-in, allowing easier porting + to other OS's. + + o Supports Cyclic Redundancy Checking (CRC). The integrity of an + archive can now be checked without having to unarchive it. + + o Supports verbose option to allow archive file details to be + displayed (time/date or exec/load address, size, type). + + o Supports selective file unarchiving, so the whole archive needn't + be unarchived if not all the files are wanted). + + o Supports user-prompting before overwriting a file, allowing the + user to either (1) overwrite the file, (2) overwrite all the + files, (3) unarchive the file to a different name, or (4) not to + unarchive the file at all. + + o Supports file-stamping so the date and time of the file, when + unarchived, matches the date and time it was archived (not 4.2BSD + or SysV.2 as these systems lack vital library functions). + +I have not included support for creating !Spark archives, and I am not +really sure if I need to as: (1) !Spark for RISC OS is cheap (#5.99 +from David Pilling), (2) !SparkPlug can unpack archives created with +zip (which is available in source form for UNIX, VMS and MSDOS), and +(3) it's a lot of work. Let me know what you think. + +To compile nspark; copy the relevant makefile from the "mkfiles" +directory, and rename it "Makefile" or "makefile", edit it to suite C +compiler preference, change the "SYSTYPE" variable setting, etc, then +simply type "make" (or "nmake" or "amu" or whatever). + +There are some problems with nspark if it is compiled with gcc v2 (it +core dumps). To fix this try recompiling everything ("make clean" +first) with "-O" off, and if nspark still won't work try adding +"-fno-builtin" after "gcc" in the "CC" line, then recompile. I have +had some strange problems with optimisation in gcc v2, for example +basename() in misc.c core dumps (looking at the assembler gcc v2 +produced I can see why!). + +Please send bug reports/suggestions etc to the maintainer of the +particular version of nspark you are using (the maintainer's e-mail +address can be found using the -V option). + +Enjoy. + +-- +Andy Duplain, BT Customer Systems, Brighton, UK. (duplain@btcs.bt.co.uk). +October 1992. diff --git a/README.TOO b/README.TOO index 676a307..1f60898 100644 --- a/README.TOO +++ b/README.TOO @@ -1,62 +1,62 @@ -Version 1.7.7 -============= - -An extra option has been added -I to accomodate the extraction of -files with a .inf file which contains the filename, load, exec -addresses etc. This is to help users of BBC emulators that need -the .inf file to create disc images. - -The WinNT directory has been renamed to Win32 and there is a compiled -version there. - -I have not compiled any of the other versions with the new changes -including the executable in the msdos directory. - -Mark Usher -marku@magnet.at -http://members.magnet.at/marku/bbc.htm - -Version 1.7.6 dos-beta -====================== - -The DOS port of nspark. - -First read the README file. - -This archive contains the sources and executable for the DOS part -of nspark. This is a beta version. The maintainer of nspark -(Andrew Brooks, arb@comp.lancs.ac.uk) has not yet responded to -messages informing him of this port. So until he does, please -report problems to me. (Address follows below). - -More information about the DOS port can be found in the directory -msdos. - -The DOS executable supplied is the version compiled with Borland -C/C++ 3.1. I chose this version because the run-time libraries of -version 3.1 are about 20k smaller than those of 4.02. The code -produced for the actual program is about equal. The executable -is compressed using PKLITE 1.50. - - -The ready-compiled binaries in the directories unix/mips-ultrix42, -unix/sunos4.1.3, unix/linux, unix/osf1.v2.1, unix/solaris2.3 and -winnt are the same as with version 1.7.5 of nspark. I do not have -access to any of these machines/OSes, so I cannot recompile nspark -on any of those machines. - -The executables in directories riscos, unix/SGI-IRIX_4.x and -unix/SGI-IRIX_5.x are compiled from the ,new' 1.7.6 sources. The -IRIX 4 version is compiled for the MIPS R3000 processor family. It -will also run on machines running IRIX 5.x or the 64 bits IRIX 6.x -(fitted with MIPS R8000 processors). The IRIX 5.x version is -compiled for the MIPS R4000 processor family. It will also run -under IRIX 6.x, but not under IRIX 4.x or on machines fitted with -MIPS R3000 processors. - - -Bob Brand, -bob@wop.wtb.tue.nl or B.A.Brand@wtb.tue.nl -(Addresses should be valid at least until Oct. 1st, 1996). -fido: 2:2801/208.2 - +Version 1.7.7 +============= + +An extra option has been added -I to accomodate the extraction of +files with a .inf file which contains the filename, load, exec +addresses etc. This is to help users of BBC emulators that need +the .inf file to create disc images. + +The WinNT directory has been renamed to Win32 and there is a compiled +version there. + +I have not compiled any of the other versions with the new changes +including the executable in the msdos directory. + +Mark Usher +marku@magnet.at +http://members.magnet.at/marku/bbc.htm + +Version 1.7.6 dos-beta +====================== + +The DOS port of nspark. + +First read the README file. + +This archive contains the sources and executable for the DOS part +of nspark. This is a beta version. The maintainer of nspark +(Andrew Brooks, arb@comp.lancs.ac.uk) has not yet responded to +messages informing him of this port. So until he does, please +report problems to me. (Address follows below). + +More information about the DOS port can be found in the directory +msdos. + +The DOS executable supplied is the version compiled with Borland +C/C++ 3.1. I chose this version because the run-time libraries of +version 3.1 are about 20k smaller than those of 4.02. The code +produced for the actual program is about equal. The executable +is compressed using PKLITE 1.50. + + +The ready-compiled binaries in the directories unix/mips-ultrix42, +unix/sunos4.1.3, unix/linux, unix/osf1.v2.1, unix/solaris2.3 and +winnt are the same as with version 1.7.5 of nspark. I do not have +access to any of these machines/OSes, so I cannot recompile nspark +on any of those machines. + +The executables in directories riscos, unix/SGI-IRIX_4.x and +unix/SGI-IRIX_5.x are compiled from the ,new' 1.7.6 sources. The +IRIX 4 version is compiled for the MIPS R3000 processor family. It +will also run on machines running IRIX 5.x or the 64 bits IRIX 6.x +(fitted with MIPS R8000 processors). The IRIX 5.x version is +compiled for the MIPS R4000 processor family. It will also run +under IRIX 6.x, but not under IRIX 4.x or on machines fitted with +MIPS R3000 processors. + + +Bob Brand, +bob@wop.wtb.tue.nl or B.A.Brand@wtb.tue.nl +(Addresses should be valid at least until Oct. 1st, 1996). +fido: 2:2801/208.2 + diff --git a/man/arcfs.5 b/man/arcfs.5 index ea4adf5..0bbd712 100644 --- a/man/arcfs.5 +++ b/man/arcfs.5 @@ -1,151 +1,151 @@ -.TH ARCFS 5 -.SH NAME -ArcFS \- Archive file format for the RISC OS ArcFS filesystem -.SH CONVENTIONS -Strings are given in ASCII with C-style escapes. No terminating \0 is -present if not explicitly included. - -Words are 32 bit little-endian numbers. - -Half words are 16 bit little-endian numbers. - -This document describes format version 0, for ArcFS minimum versions 0.40 -and 1.00, and version 0a, for ArcFS minimum versions 0.58 and 2.17. - -.SH FORMAT -The file consists of a file header, a sequence of archive headers, then -a sequence of compressed files. - -.SH FILE HEADER -.I File string signature -.br -The string "Archive" followed by a zero byte. - -.I Header length -.br -Length of header info in bytes, one word, multiple of 36. - -.I Data offset -.br -Offset, in bytes, into archive at which data starts, one word. - -.I Read-only version -.br -Minimum read-only version required, multiplied by 100, one word. - -.I Read-write version -.br -Minimum read--write version required, multiplied by 100, one word. - -.I Reserved -.br -Reserved for future use, 68 bytes. - -.SH ARCHIVE HEADER -The last header starts at 60+length of headers and ends at 96+length of -headers. The format of each header is as follows. - -.I Info byte -.br -Object information byte, show compression method used: -.nf - 0x00 end of directory marker - 0x01 object has been deleted - 0x82 stored - 0x83 packed - 0x88 crunched - 0xFF compressed -.fi - -.I File name -.br -File name, 11 bytes. - -.I Full length -.br -Original file length, or 0xFFFFFFFF for a directory), one word. - -.I Load address -.br -Load address of the file, or 0xFFFFFFdd for a directory), one word. - -.I Exec address -.br -Exec address of the file, or 0xdddddddd for a directory), one word. - -File load and execution address may contain a filetype and datestamp as -normal. - -Directories can be date-stamped, the number of centiseconds since the 1st -January 1900 when the directory was created are given by &dddddddddd -contained in the directory's load and execution addresses as shown above. - -Archives converted from spark(5) format using ArcConv will have the same -full length, compressed length, load address and execute address as they -had in the Spark archive. - -.I Attributes -.br -Attributes of the file, one word. -Contains the number of bits compression for crunch and compress -format files and the least significant bytes contains the standard -RISC OS information on file access. - -.I Compressed length -.br -Length of compressed data, or 0xFFFFFFFF for a directory, one word. - -.I Information word -.br -The top bit (definitively) indicates whether the object is a file or -a directory, 0 for a file, 1 for a directory. - -In the case of a file, the least significant 31 bits show the offset from -the start of data at which the file data can be found. - -In the case of a directory, the least significant 31 bits show the offset -from the start of headers (96) at which the next object in this directory -can be found, the following object being the first in the sub-directory. - -.SH FORMAT VERSION 0a -This archive format is backwards compatible with versions 0.40 and 1.00, the -only difference being that there is a block of catalogue information -immediately prior to the start of each file's data as described below. - -Note that this information is there to aid the recovery of most files in the -event of archive corruption and is not used by ArcFS. - -Note, also that Compact and Autocompact in release versions 1.09, 2.02 and -2.11 will compact out the catalogue information blocks, so try to avoid -writing to new archives with old versions of ArcFS. - -.nf -.I Marker -A marker to indicate the start of a file, the string "FileData", not terminated. - -.I Info byte -.br -One byte, as above. - -.I Leaf name -.br -The file name, 11 bytes. - -.I Full length -.br -One word, as above. - -.I Load address -.br -One word, as above. - -.I Exec address -.br -One word, as above. - -.I Attributes -.br -One word, as above. - -.SH SEE ALSO -spark(5), nspark(1) +.TH ARCFS 5 +.SH NAME +ArcFS \- Archive file format for the RISC OS ArcFS filesystem +.SH CONVENTIONS +Strings are given in ASCII with C-style escapes. No terminating \0 is +present if not explicitly included. + +Words are 32 bit little-endian numbers. + +Half words are 16 bit little-endian numbers. + +This document describes format version 0, for ArcFS minimum versions 0.40 +and 1.00, and version 0a, for ArcFS minimum versions 0.58 and 2.17. + +.SH FORMAT +The file consists of a file header, a sequence of archive headers, then +a sequence of compressed files. + +.SH FILE HEADER +.I File string signature +.br +The string "Archive" followed by a zero byte. + +.I Header length +.br +Length of header info in bytes, one word, multiple of 36. + +.I Data offset +.br +Offset, in bytes, into archive at which data starts, one word. + +.I Read-only version +.br +Minimum read-only version required, multiplied by 100, one word. + +.I Read-write version +.br +Minimum read--write version required, multiplied by 100, one word. + +.I Reserved +.br +Reserved for future use, 68 bytes. + +.SH ARCHIVE HEADER +The last header starts at 60+length of headers and ends at 96+length of +headers. The format of each header is as follows. + +.I Info byte +.br +Object information byte, show compression method used: +.nf + 0x00 end of directory marker + 0x01 object has been deleted + 0x82 stored + 0x83 packed + 0x88 crunched + 0xFF compressed +.fi + +.I File name +.br +File name, 11 bytes. + +.I Full length +.br +Original file length, or 0xFFFFFFFF for a directory), one word. + +.I Load address +.br +Load address of the file, or 0xFFFFFFdd for a directory), one word. + +.I Exec address +.br +Exec address of the file, or 0xdddddddd for a directory), one word. + +File load and execution address may contain a filetype and datestamp as +normal. + +Directories can be date-stamped, the number of centiseconds since the 1st +January 1900 when the directory was created are given by &dddddddddd +contained in the directory's load and execution addresses as shown above. + +Archives converted from spark(5) format using ArcConv will have the same +full length, compressed length, load address and execute address as they +had in the Spark archive. + +.I Attributes +.br +Attributes of the file, one word. +Contains the number of bits compression for crunch and compress +format files and the least significant bytes contains the standard +RISC OS information on file access. + +.I Compressed length +.br +Length of compressed data, or 0xFFFFFFFF for a directory, one word. + +.I Information word +.br +The top bit (definitively) indicates whether the object is a file or +a directory, 0 for a file, 1 for a directory. + +In the case of a file, the least significant 31 bits show the offset from +the start of data at which the file data can be found. + +In the case of a directory, the least significant 31 bits show the offset +from the start of headers (96) at which the next object in this directory +can be found, the following object being the first in the sub-directory. + +.SH FORMAT VERSION 0a +This archive format is backwards compatible with versions 0.40 and 1.00, the +only difference being that there is a block of catalogue information +immediately prior to the start of each file's data as described below. + +Note that this information is there to aid the recovery of most files in the +event of archive corruption and is not used by ArcFS. + +Note, also that Compact and Autocompact in release versions 1.09, 2.02 and +2.11 will compact out the catalogue information blocks, so try to avoid +writing to new archives with old versions of ArcFS. + +.nf +.I Marker +A marker to indicate the start of a file, the string "FileData", not terminated. + +.I Info byte +.br +One byte, as above. + +.I Leaf name +.br +The file name, 11 bytes. + +.I Full length +.br +One word, as above. + +.I Load address +.br +One word, as above. + +.I Exec address +.br +One word, as above. + +.I Attributes +.br +One word, as above. + +.SH SEE ALSO +spark(5), nspark(1) diff --git a/man/arcfs5.txt b/man/arcfs5.txt index 4f5d174..356680d 100644 --- a/man/arcfs5.txt +++ b/man/arcfs5.txt @@ -1,198 +1,198 @@ - - - -ARCFS(5) FILE FORMATS ARCFS(5) - - - -NAME - ArcFS - Archive file format for the RISC OS ArcFS filesystem - -CONVENTIONS - Strings are given in ASCII with C-style escapes. No ter- - minating is present if not explicitly included. - - Words are 32 bit little-endian numbers. - - Half words are 16 bit little-endian numbers. - - This document describes format version 0, for ArcFS minimum - versions 0.40 and 1.00, and version 0a, for ArcFS minimum - versions 0.58 and 2.17. - - -FORMAT - The file consists of a file header, a sequence of archive - headers, then a sequence of compressed files. - - -FILE HEADER - _F_i_l_e _s_t_r_i_n_g _s_i_g_n_a_t_u_r_e - The string "Archive" followed by a zero byte. - - _H_e_a_d_e_r _l_e_n_g_t_h - Length of header info in bytes, one word, multiple of 36. - - _D_a_t_a _o_f_f_s_e_t - Offset, in bytes, into archive at which data starts, one - word. - - _R_e_a_d-_o_n_l_y _v_e_r_s_i_o_n - Minimum read-only version required, multiplied by 100, one - word. - - _R_e_a_d-_w_r_i_t_e _v_e_r_s_i_o_n - Minimum read--write version required, multiplied by 100, one - word. - - _R_e_s_e_r_v_e_d - Reserved for future use, 68 bytes. - - -ARCHIVE HEADER - The last header starts at 60+length of headers and ends at - 96+length of headers. The format of each header is as fol- - lows. - - _I_n_f_o _b_y_t_e - Object information byte, show compression method used: - 0x00 end of directory marker - - - -Sun Release 4.1 Last change: 1 - - - - - - -ARCFS(5) FILE FORMATS ARCFS(5) - - - - 0x01 object has been deleted - 0x82 stored - 0x83 packed - 0x88 crunched - 0xFF compressed - - _F_i_l_e _n_a_m_e - File name, 11 bytes. - - _F_u_l_l _l_e_n_g_t_h - Original file length, or 0xFFFFFFFF for a directory), one - word. - - _L_o_a_d _a_d_d_r_e_s_s - Load address of the file, or 0xFFFFFFdd for a directory), - one word. - - _E_x_e_c _a_d_d_r_e_s_s - Exec address of the file, or 0xdddddddd for a directory), - one word. - - File load and execution address may contain a filetype and - datestamp as normal. - - Directories can be date-stamped, the number of centiseconds - since the 1st January 1900 when the directory was created - are given by &dddddddddd contained in the directory's load - and execution addresses as shown above. - - Archives converted from spark(5) format using ArcConv will - have the same full length, compressed length, load address - and execute address as they had in the Spark archive. - - _A_t_t_r_i_b_u_t_e_s - Attributes of the file, one word. Contains the number of - bits compression for crunch and compress format files and - the least significant bytes contains the standard RISC OS - information on file access. - - _C_o_m_p_r_e_s_s_e_d _l_e_n_g_t_h - Length of compressed data, or 0xFFFFFFFF for a directory, - one word. - - _I_n_f_o_r_m_a_t_i_o_n _w_o_r_d - The top bit (definitively) indicates whether the object is a - file or a directory, 0 for a file, 1 for a directory. - - In the case of a file, the least significant 31 bits show - the offset from the start of data at which the file data can - be found. - - In the case of a directory, the least significant 31 bits - - - -Sun Release 4.1 Last change: 2 - - - - - - -ARCFS(5) FILE FORMATS ARCFS(5) - - - - show the offset from the start of headers (96) at which the - next object in this directory can be found, the following - object being the first in the sub-directory. - - -FORMAT VERSION 0a - This archive format is backwards compatible with versions - 0.40 and 1.00, the only difference being that there is a - block of catalogue information immediately prior to the - start of each file's data as described below. - - Note that this information is there to aid the recovery of - most files in the event of archive corruption and is not - used by ArcFS. - - Note, also that Compact and Autocompact in release versions - 1.09, 2.02 and 2.11 will compact out the catalogue informa- - tion blocks, so try to avoid writing to new archives with - old versions of ArcFS. - - _M_a_r_k_e_r - A marker to indicate the start of a file, the string "FileData", not terminated. - - _I_n_f_o _b_y_t_e - One byte, as above. - - _L_e_a_f _n_a_m_e - The file name, 11 bytes. - - _F_u_l_l _l_e_n_g_t_h - One word, as above. - - _L_o_a_d _a_d_d_r_e_s_s - One word, as above. - - _E_x_e_c _a_d_d_r_e_s_s - One word, as above. - - _A_t_t_r_i_b_u_t_e_s - One word, as above. - - -SEE ALSO - spark(5), nspark(1) - - - - - - - - - - - -Sun Release 4.1 Last change: 3 - - - + + + +ARCFS(5) FILE FORMATS ARCFS(5) + + + +NAME + ArcFS - Archive file format for the RISC OS ArcFS filesystem + +CONVENTIONS + Strings are given in ASCII with C-style escapes. No ter- + minating is present if not explicitly included. + + Words are 32 bit little-endian numbers. + + Half words are 16 bit little-endian numbers. + + This document describes format version 0, for ArcFS minimum + versions 0.40 and 1.00, and version 0a, for ArcFS minimum + versions 0.58 and 2.17. + + +FORMAT + The file consists of a file header, a sequence of archive + headers, then a sequence of compressed files. + + +FILE HEADER + _F_i_l_e _s_t_r_i_n_g _s_i_g_n_a_t_u_r_e + The string "Archive" followed by a zero byte. + + _H_e_a_d_e_r _l_e_n_g_t_h + Length of header info in bytes, one word, multiple of 36. + + _D_a_t_a _o_f_f_s_e_t + Offset, in bytes, into archive at which data starts, one + word. + + _R_e_a_d-_o_n_l_y _v_e_r_s_i_o_n + Minimum read-only version required, multiplied by 100, one + word. + + _R_e_a_d-_w_r_i_t_e _v_e_r_s_i_o_n + Minimum read--write version required, multiplied by 100, one + word. + + _R_e_s_e_r_v_e_d + Reserved for future use, 68 bytes. + + +ARCHIVE HEADER + The last header starts at 60+length of headers and ends at + 96+length of headers. The format of each header is as fol- + lows. + + _I_n_f_o _b_y_t_e + Object information byte, show compression method used: + 0x00 end of directory marker + + + +Sun Release 4.1 Last change: 1 + + + + + + +ARCFS(5) FILE FORMATS ARCFS(5) + + + + 0x01 object has been deleted + 0x82 stored + 0x83 packed + 0x88 crunched + 0xFF compressed + + _F_i_l_e _n_a_m_e + File name, 11 bytes. + + _F_u_l_l _l_e_n_g_t_h + Original file length, or 0xFFFFFFFF for a directory), one + word. + + _L_o_a_d _a_d_d_r_e_s_s + Load address of the file, or 0xFFFFFFdd for a directory), + one word. + + _E_x_e_c _a_d_d_r_e_s_s + Exec address of the file, or 0xdddddddd for a directory), + one word. + + File load and execution address may contain a filetype and + datestamp as normal. + + Directories can be date-stamped, the number of centiseconds + since the 1st January 1900 when the directory was created + are given by &dddddddddd contained in the directory's load + and execution addresses as shown above. + + Archives converted from spark(5) format using ArcConv will + have the same full length, compressed length, load address + and execute address as they had in the Spark archive. + + _A_t_t_r_i_b_u_t_e_s + Attributes of the file, one word. Contains the number of + bits compression for crunch and compress format files and + the least significant bytes contains the standard RISC OS + information on file access. + + _C_o_m_p_r_e_s_s_e_d _l_e_n_g_t_h + Length of compressed data, or 0xFFFFFFFF for a directory, + one word. + + _I_n_f_o_r_m_a_t_i_o_n _w_o_r_d + The top bit (definitively) indicates whether the object is a + file or a directory, 0 for a file, 1 for a directory. + + In the case of a file, the least significant 31 bits show + the offset from the start of data at which the file data can + be found. + + In the case of a directory, the least significant 31 bits + + + +Sun Release 4.1 Last change: 2 + + + + + + +ARCFS(5) FILE FORMATS ARCFS(5) + + + + show the offset from the start of headers (96) at which the + next object in this directory can be found, the following + object being the first in the sub-directory. + + +FORMAT VERSION 0a + This archive format is backwards compatible with versions + 0.40 and 1.00, the only difference being that there is a + block of catalogue information immediately prior to the + start of each file's data as described below. + + Note that this information is there to aid the recovery of + most files in the event of archive corruption and is not + used by ArcFS. + + Note, also that Compact and Autocompact in release versions + 1.09, 2.02 and 2.11 will compact out the catalogue informa- + tion blocks, so try to avoid writing to new archives with + old versions of ArcFS. + + _M_a_r_k_e_r + A marker to indicate the start of a file, the string "FileData", not terminated. + + _I_n_f_o _b_y_t_e + One byte, as above. + + _L_e_a_f _n_a_m_e + The file name, 11 bytes. + + _F_u_l_l _l_e_n_g_t_h + One word, as above. + + _L_o_a_d _a_d_d_r_e_s_s + One word, as above. + + _E_x_e_c _a_d_d_r_e_s_s + One word, as above. + + _A_t_t_r_i_b_u_t_e_s + One word, as above. + + +SEE ALSO + spark(5), nspark(1) + + + + + + + + + + + +Sun Release 4.1 Last change: 3 + + + diff --git a/man/nspark.1 b/man/nspark.1 index f7a699c..38b08b4 100644 --- a/man/nspark.1 +++ b/man/nspark.1 @@ -1,118 +1,118 @@ -.TH NSPARK 1 "\*(V)" "USER COMMANDS" -.SH NAME -nspark \- unpack Archimedes archives -.SH SYNOPSIS -.B nspark -[ -.B options -] -archive -[ -.B file ... -] -.SH DESCRIPTION -The current version of -.B nspark -is 1.7.5 - -.B Nspark -can unpack the specified Archimedes-format -.B archive, -list its contents or tests its integrity. - -Nspark's main features are: - -o Supports all archive methods used by !Spark 1 and 2. The old -version didn't support "Squashing" and used to handle "Compressed" -archives by using the UNIX uncompress program. The new version -supports both these and has them built-in, allowing easier -porting to other OS's. - -o Supports ArcFS format archives. - -o Supports Cyclic Redundancy Checking (CRC). The integrity of an -archive can now be checked without having to unarchive it. - -o Supports verbose option to allow archive file details to be -displayed (time/date or exec/load address, size, type). - -o Supports selective file unarchiving, so the whole archive needn't -be unarchived if not all the files are wanted). - -o Supports user-prompting before overwriting a file, allowing the -user to either (1) overwrite the file, (2) overwrite all the -files, (3) unarchive the file to a different name, or (4) not to -unarchive the file at all. - -o Supports file-stamping so the date and time of the file, when -unarchived, matches the date and time it was archived (not 4.2BSD -or SysV.2 as these systems lack vital library functions). - -I have not included support for creating !Spark archives, and I am not -really sure if I need to as: (1) !Spark for RISC OS is cheap (#5.99 -from David Pilling), (2) !SparkPlug can unpack archives created with -zip (which is available in source form for UNIX, VMS and MSDOS), and -(3) it's a lot of work. Let me know what you think. - -.I Options: -.IP "-x" 10 -Extract the given -.B file, -or all files if none are specified. -.IP "-u" 10 -Equivalent to -x. -.IP "-t" 10 -Test archive integrity by simulating extraction and checking the CRCs (Cyclic -Redundancy Checks). -.IP "-l" 10 -List archive contents. -.IP "-q" 10 -Quiet. Displays less information when listing, testing or extracting. -.IP "-f" 10 -Force file overwrite if a file already exists with the same name as the one -being extracted. If not using -f then you are prompted whether you want to -overwrite the original, skip this file, give it a different name, or overwrite -this and all others that already exist. -.IP "-s" 10 -No filestamp. Does not set the timestamp when extracting files. -.IP "-v" 10 -Verbose. Gives full details when listing or extracting archives. -.IP "-R" 10 -Retry if archive is corrupt. If a bad header is found then nspark will -search the archive until another header if found, rather than giving up. -.IP "-L" 10 -Set name of log file to -.B name. -.IP "-T" 10 -Append file type to name, in the same way as Tar or NFS. For example -Text files (filetype &FFF) have ,fff appended when extracted. -.IP "-C" 10 -Create lowercase filenames. Useful on machines where the case of filenames -is significant (eg. UNIX), this option forces all extracted filenames to be -lowercase. -.SH BUGS -Filestamping is not supported under 4.2BSD or SysV2 (as no mktime(3) or -timelocal(3) functions exist under these systems). To correct this I could -write my own or port the one from 386BSD (save that for a rainy day). - -Doesn't support MSDOS yet. Working on that. - -If compiled with GCC (v1.42) it core dumps when trying to test (or -unarchive ?) a corrupt archive file. This doesn't happen when compiled with -the UNIX pcc. -.SH NOTES -.B Nspark -is in the public domain. -It is currently being maintained by arb (arb@comp.lancs.ac.uk). -.SH SEE ALSO -arcfs(5), spark(5). -.SH AUTHOR -Andy Duplain, BT Customer Systems, Brighton, UK. (duplain@btcs.bt.co.uk) -.SH CONTRIBUTORS -Improvements from version 1.5, including ArcFS support, by Andrew Brooks (arb@compl.ancs.ac.uk). - -Manual pages originally supplied by Duncan (m91dps@ecs.oxford.ac.uk). - -Suggestions for improvement by Tom Tromey (tromey@busco.lanl.gov). - -Windows NT support by Alun Jones (auj@aber.ac.uk). +.TH NSPARK 1 "\*(V)" "USER COMMANDS" +.SH NAME +nspark \- unpack Archimedes archives +.SH SYNOPSIS +.B nspark +[ +.B options +] +archive +[ +.B file ... +] +.SH DESCRIPTION +The current version of +.B nspark +is 1.7.5 + +.B Nspark +can unpack the specified Archimedes-format +.B archive, +list its contents or tests its integrity. + +Nspark's main features are: + +o Supports all archive methods used by !Spark 1 and 2. The old +version didn't support "Squashing" and used to handle "Compressed" +archives by using the UNIX uncompress program. The new version +supports both these and has them built-in, allowing easier +porting to other OS's. + +o Supports ArcFS format archives. + +o Supports Cyclic Redundancy Checking (CRC). The integrity of an +archive can now be checked without having to unarchive it. + +o Supports verbose option to allow archive file details to be +displayed (time/date or exec/load address, size, type). + +o Supports selective file unarchiving, so the whole archive needn't +be unarchived if not all the files are wanted). + +o Supports user-prompting before overwriting a file, allowing the +user to either (1) overwrite the file, (2) overwrite all the +files, (3) unarchive the file to a different name, or (4) not to +unarchive the file at all. + +o Supports file-stamping so the date and time of the file, when +unarchived, matches the date and time it was archived (not 4.2BSD +or SysV.2 as these systems lack vital library functions). + +I have not included support for creating !Spark archives, and I am not +really sure if I need to as: (1) !Spark for RISC OS is cheap (#5.99 +from David Pilling), (2) !SparkPlug can unpack archives created with +zip (which is available in source form for UNIX, VMS and MSDOS), and +(3) it's a lot of work. Let me know what you think. + +.I Options: +.IP "-x" 10 +Extract the given +.B file, +or all files if none are specified. +.IP "-u" 10 +Equivalent to -x. +.IP "-t" 10 +Test archive integrity by simulating extraction and checking the CRCs (Cyclic +Redundancy Checks). +.IP "-l" 10 +List archive contents. +.IP "-q" 10 +Quiet. Displays less information when listing, testing or extracting. +.IP "-f" 10 +Force file overwrite if a file already exists with the same name as the one +being extracted. If not using -f then you are prompted whether you want to +overwrite the original, skip this file, give it a different name, or overwrite +this and all others that already exist. +.IP "-s" 10 +No filestamp. Does not set the timestamp when extracting files. +.IP "-v" 10 +Verbose. Gives full details when listing or extracting archives. +.IP "-R" 10 +Retry if archive is corrupt. If a bad header is found then nspark will +search the archive until another header if found, rather than giving up. +.IP "-L" 10 +Set name of log file to +.B name. +.IP "-T" 10 +Append file type to name, in the same way as Tar or NFS. For example +Text files (filetype &FFF) have ,fff appended when extracted. +.IP "-C" 10 +Create lowercase filenames. Useful on machines where the case of filenames +is significant (eg. UNIX), this option forces all extracted filenames to be +lowercase. +.SH BUGS +Filestamping is not supported under 4.2BSD or SysV2 (as no mktime(3) or +timelocal(3) functions exist under these systems). To correct this I could +write my own or port the one from 386BSD (save that for a rainy day). + +Doesn't support MSDOS yet. Working on that. + +If compiled with GCC (v1.42) it core dumps when trying to test (or +unarchive ?) a corrupt archive file. This doesn't happen when compiled with +the UNIX pcc. +.SH NOTES +.B Nspark +is in the public domain. +It is currently being maintained by arb (arb@comp.lancs.ac.uk). +.SH SEE ALSO +arcfs(5), spark(5). +.SH AUTHOR +Andy Duplain, BT Customer Systems, Brighton, UK. (duplain@btcs.bt.co.uk) +.SH CONTRIBUTORS +Improvements from version 1.5, including ArcFS support, by Andrew Brooks (arb@compl.ancs.ac.uk). + +Manual pages originally supplied by Duncan (m91dps@ecs.oxford.ac.uk). + +Suggestions for improvement by Tom Tromey (tromey@busco.lanl.gov). + +Windows NT support by Alun Jones (auj@aber.ac.uk). diff --git a/man/nspark1.txt b/man/nspark1.txt index e3aca45..82e8052 100644 --- a/man/nspark1.txt +++ b/man/nspark1.txt @@ -1,198 +1,198 @@ - - - -NSPARK(1) USER COMMANDS NSPARK(1) - - - -NAME - nspark - unpack Archimedes archives - -SYNOPSIS - nspark [ options ] archive [ file ... ] - -DESCRIPTION - The current version of nspark is 1.7.5 - - Nspark can unpack the specified Archimedes-format archive, - list its contents or tests its integrity. - - Nspark's main features are: - - o Supports all archive methods used by !Spark 1 and 2. The - old version didn't support "Squashing" and used to handle - "Compressed" archives by using the UNIX uncompress program. - The new version supports both these and has them built-in, - allowing easier porting to other OS's. - - o Supports ArcFS format archives. - - o Supports Cyclic Redundancy Checking (CRC). The integrity - of an archive can now be checked without having to unarchive - it. - - o Supports verbose option to allow archive file details to - be displayed (time/date or exec/load address, size, type). - - o Supports selective file unarchiving, so the whole archive - needn't be unarchived if not all the files are wanted). - - o Supports user-prompting before overwriting a file, allow- - ing the user to either (1) overwrite the file, (2) overwrite - all the files, (3) unarchive the file to a different name, - or (4) not to unarchive the file at all. - - o Supports file-stamping so the date and time of the file, - when unarchived, matches the date and time it was archived - (not 4.2BSD or SysV.2 as these systems lack vital library - functions). - - I have not included support for creating !Spark archives, - and I am not really sure if I need to as: (1) !Spark for - RISC OS is cheap (#5.99 from David Pilling), (2) !SparkPlug - can unpack archives created with zip (which is available in - source form for UNIX, VMS and MSDOS), and (3) it's a lot of - work. Let me know what you think. - - _O_p_t_i_o_n_s: - - -x Extract the given file, or all files if none are - - - -USER COMMANDS Last change: 1 - - - - - - -NSPARK(1) USER COMMANDS NSPARK(1) - - - - specified. - - -u Equivalent to -x. - - -t Test archive integrity by simulating extraction - and checking the CRCs (Cyclic Redundancy Checks). - - -l List archive contents. - - -q Quiet. Displays less information when listing, - testing or extracting. - - -f Force file overwrite if a file already exists with - the same name as the one being extracted. If not - using -f then you are prompted whether you want to - overwrite the original, skip this file, give it a - different name, or overwrite this and all others - that already exist. - - -s No filestamp. Does not set the timestamp when - extracting files. - - -v Verbose. Gives full details when listing or - extracting archives. - - -R Retry if archive is corrupt. If a bad header is - found then nspark will search the archive until - another header if found, rather than giving up. - - -L Set name of log file to name. - - -T Append file type to name, in the same way as Tar - or NFS. For example Text files (filetype &FFF) - have ,fff appended when extracted. - - -C Create lowercase filenames. Useful on machines - where the case of filenames is significant (eg. - UNIX), this option forces all extracted filenames - to be lowercase. - -BUGS - Filestamping is not supported under 4.2BSD or SysV2 (as no - mktime(3) or timelocal(3) functions exist under these sys- - tems). To correct this I could write my own or port the one - from 386BSD (save that for a rainy day). - - Doesn't support MSDOS yet. Working on that. - - If compiled with GCC (v1.42) it core dumps when trying to - test (or unarchive ?) a corrupt archive file. This doesn't - happen when compiled with the UNIX pcc. - - - - -USER COMMANDS Last change: 2 - - - - - - -NSPARK(1) USER COMMANDS NSPARK(1) - - - -NOTES - Nspark is in the public domain. It is currently being main- - tained by arb (arb@comp.lancs.ac.uk). - -SEE ALSO - arcfs(5), spark(5). - -AUTHOR - Andy Duplain, BT Customer Systems, Brighton, UK. - (duplain@btcs.bt.co.uk) - -CONTRIBUTORS - Improvements from version 1.5, including ArcFS support, by - Andrew Brooks (arb@compl.ancs.ac.uk). - - Manual pages originally supplied by Duncan - (m91dps@ecs.oxford.ac.uk). - - Suggestions for improvement by Tom Tromey - (tromey@busco.lanl.gov). - - Windows NT support by Alun Jones (auj@aber.ac.uk). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -USER COMMANDS Last change: 3 - - - + + + +NSPARK(1) USER COMMANDS NSPARK(1) + + + +NAME + nspark - unpack Archimedes archives + +SYNOPSIS + nspark [ options ] archive [ file ... ] + +DESCRIPTION + The current version of nspark is 1.7.5 + + Nspark can unpack the specified Archimedes-format archive, + list its contents or tests its integrity. + + Nspark's main features are: + + o Supports all archive methods used by !Spark 1 and 2. The + old version didn't support "Squashing" and used to handle + "Compressed" archives by using the UNIX uncompress program. + The new version supports both these and has them built-in, + allowing easier porting to other OS's. + + o Supports ArcFS format archives. + + o Supports Cyclic Redundancy Checking (CRC). The integrity + of an archive can now be checked without having to unarchive + it. + + o Supports verbose option to allow archive file details to + be displayed (time/date or exec/load address, size, type). + + o Supports selective file unarchiving, so the whole archive + needn't be unarchived if not all the files are wanted). + + o Supports user-prompting before overwriting a file, allow- + ing the user to either (1) overwrite the file, (2) overwrite + all the files, (3) unarchive the file to a different name, + or (4) not to unarchive the file at all. + + o Supports file-stamping so the date and time of the file, + when unarchived, matches the date and time it was archived + (not 4.2BSD or SysV.2 as these systems lack vital library + functions). + + I have not included support for creating !Spark archives, + and I am not really sure if I need to as: (1) !Spark for + RISC OS is cheap (#5.99 from David Pilling), (2) !SparkPlug + can unpack archives created with zip (which is available in + source form for UNIX, VMS and MSDOS), and (3) it's a lot of + work. Let me know what you think. + + _O_p_t_i_o_n_s: + + -x Extract the given file, or all files if none are + + + +USER COMMANDS Last change: 1 + + + + + + +NSPARK(1) USER COMMANDS NSPARK(1) + + + + specified. + + -u Equivalent to -x. + + -t Test archive integrity by simulating extraction + and checking the CRCs (Cyclic Redundancy Checks). + + -l List archive contents. + + -q Quiet. Displays less information when listing, + testing or extracting. + + -f Force file overwrite if a file already exists with + the same name as the one being extracted. If not + using -f then you are prompted whether you want to + overwrite the original, skip this file, give it a + different name, or overwrite this and all others + that already exist. + + -s No filestamp. Does not set the timestamp when + extracting files. + + -v Verbose. Gives full details when listing or + extracting archives. + + -R Retry if archive is corrupt. If a bad header is + found then nspark will search the archive until + another header if found, rather than giving up. + + -L Set name of log file to name. + + -T Append file type to name, in the same way as Tar + or NFS. For example Text files (filetype &FFF) + have ,fff appended when extracted. + + -C Create lowercase filenames. Useful on machines + where the case of filenames is significant (eg. + UNIX), this option forces all extracted filenames + to be lowercase. + +BUGS + Filestamping is not supported under 4.2BSD or SysV2 (as no + mktime(3) or timelocal(3) functions exist under these sys- + tems). To correct this I could write my own or port the one + from 386BSD (save that for a rainy day). + + Doesn't support MSDOS yet. Working on that. + + If compiled with GCC (v1.42) it core dumps when trying to + test (or unarchive ?) a corrupt archive file. This doesn't + happen when compiled with the UNIX pcc. + + + + +USER COMMANDS Last change: 2 + + + + + + +NSPARK(1) USER COMMANDS NSPARK(1) + + + +NOTES + Nspark is in the public domain. It is currently being main- + tained by arb (arb@comp.lancs.ac.uk). + +SEE ALSO + arcfs(5), spark(5). + +AUTHOR + Andy Duplain, BT Customer Systems, Brighton, UK. + (duplain@btcs.bt.co.uk) + +CONTRIBUTORS + Improvements from version 1.5, including ArcFS support, by + Andrew Brooks (arb@compl.ancs.ac.uk). + + Manual pages originally supplied by Duncan + (m91dps@ecs.oxford.ac.uk). + + Suggestions for improvement by Tom Tromey + (tromey@busco.lanl.gov). + + Windows NT support by Alun Jones (auj@aber.ac.uk). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +USER COMMANDS Last change: 3 + + + diff --git a/man/spark.5 b/man/spark.5 index a2d85d5..83dcd9d 100644 --- a/man/spark.5 +++ b/man/spark.5 @@ -1,101 +1,101 @@ -.TH SPARK(5) -.SH NAME -spark \- Archive file format for RISC OS version of the PC archiver Arc -.SH CONVENTIONS -Strings are given in ASCII with C-style escapes. No terminating \0 is -present if not explicitily included. - -Words are 32 bit little-endian numbers. - -Half words are 16 bit little-endian numbers. - -.SH FORMAT -An archive file consists of a sequence of archive marker, archive header and file data, ie. marker1, header1, data1, marker2, header2, data2, etc. -The archive marker is a single byte of value 0x1a (26). -The archive finishes with an archive marker followed by a zero byte. - -.I Header version number -.br -This tells you how the file data is stored -and how many bytes there are in the header. The header version -numbers for the PC, are detailed below. An Archimedes header -version number is identical to the corresponding PC number except -it has bit 7 set. -.nf - 1 Old style, no compression - 2 New style, no compression - 3 Compression of repeated characters only (RLE) - 4 As 3 plus Huffman Squeezing - 5 Lempel-Ziv packing of repeated strings (old style) - 6 Lempel-Ziv packing of repeated strings (new style) - 7 Lempel-Ziv Welch packing with improved hash function - 8 Dynamic Lempel-Ziv packing with adaptive reset - 9 PKARC style squashing - 127 Un*x compression -.fi - -.I Filename -.br -14 bytes of name, zero terminated. - -.I Compressed length -.br -Compressed data length, one word. - -.I Date -.br -One half-word, date. -.nf - year = (date >> 9) & 0x7f; - month = (date >> 5) & 0x0f; - day = date & 0x1f; -.fi - -.I Time -.br -One half-word, time. -.nf - hour = (time >> 11) & 0x1f; - minute = (time >> 5) & 0x3f; - second = (time & 0x1f) * 2; -.fi - -The time and date fields are always filled in. If the file has a load and exec -address, these are the time and date when the file was added to the archive -otherwise, they are derived from the Archimedes datestamp. In all extract -operations on Archimedes format archives, the contents of the load and exec -fields take precedence. - -.I CRC -.br -One half-word, Cyclic Redundancy Check. - -.I Original file length -.br -Original file length, one word, only present if header type greater than 1. - -.I Load address -.br -Load address of the file, one word, only present if bit-7 of the header -version number is set. - -.I Exec address -.br -Exec address of the file, one word, only present if bit-7 of the header -version number is set. - -.I Attributes -.br -Attributes of the file, one word, only present if bit-7 of the header -version number is set. - -.I Compressed data... -.br -Directories are stored as non-compressed archives within archives, -ie. their load address & 0xffffff00=0xfffddc. - -.SH COMPATIBILITY -PC and Archimedes formats may be mixed in one archive for use on the Archimedes. - -.SH SEE ALSO -arcfs(5), nspark(1) +.TH SPARK(5) +.SH NAME +spark \- Archive file format for RISC OS version of the PC archiver Arc +.SH CONVENTIONS +Strings are given in ASCII with C-style escapes. No terminating \0 is +present if not explicitily included. + +Words are 32 bit little-endian numbers. + +Half words are 16 bit little-endian numbers. + +.SH FORMAT +An archive file consists of a sequence of archive marker, archive header and file data, ie. marker1, header1, data1, marker2, header2, data2, etc. +The archive marker is a single byte of value 0x1a (26). +The archive finishes with an archive marker followed by a zero byte. + +.I Header version number +.br +This tells you how the file data is stored +and how many bytes there are in the header. The header version +numbers for the PC, are detailed below. An Archimedes header +version number is identical to the corresponding PC number except +it has bit 7 set. +.nf + 1 Old style, no compression + 2 New style, no compression + 3 Compression of repeated characters only (RLE) + 4 As 3 plus Huffman Squeezing + 5 Lempel-Ziv packing of repeated strings (old style) + 6 Lempel-Ziv packing of repeated strings (new style) + 7 Lempel-Ziv Welch packing with improved hash function + 8 Dynamic Lempel-Ziv packing with adaptive reset + 9 PKARC style squashing + 127 Un*x compression +.fi + +.I Filename +.br +14 bytes of name, zero terminated. + +.I Compressed length +.br +Compressed data length, one word. + +.I Date +.br +One half-word, date. +.nf + year = (date >> 9) & 0x7f; + month = (date >> 5) & 0x0f; + day = date & 0x1f; +.fi + +.I Time +.br +One half-word, time. +.nf + hour = (time >> 11) & 0x1f; + minute = (time >> 5) & 0x3f; + second = (time & 0x1f) * 2; +.fi + +The time and date fields are always filled in. If the file has a load and exec +address, these are the time and date when the file was added to the archive +otherwise, they are derived from the Archimedes datestamp. In all extract +operations on Archimedes format archives, the contents of the load and exec +fields take precedence. + +.I CRC +.br +One half-word, Cyclic Redundancy Check. + +.I Original file length +.br +Original file length, one word, only present if header type greater than 1. + +.I Load address +.br +Load address of the file, one word, only present if bit-7 of the header +version number is set. + +.I Exec address +.br +Exec address of the file, one word, only present if bit-7 of the header +version number is set. + +.I Attributes +.br +Attributes of the file, one word, only present if bit-7 of the header +version number is set. + +.I Compressed data... +.br +Directories are stored as non-compressed archives within archives, +ie. their load address & 0xffffff00=0xfffddc. + +.SH COMPATIBILITY +PC and Archimedes formats may be mixed in one archive for use on the Archimedes. + +.SH SEE ALSO +arcfs(5), nspark(1) diff --git a/man/spark5.txt b/man/spark5.txt index b449cfc..cf59988 100644 --- a/man/spark5.txt +++ b/man/spark5.txt @@ -1,132 +1,132 @@ - - - -SPARK(5)() MISC. REFERENCE MANUAL PAGES SPARK(5)() - - - -NAME - spark - Archive file format for RISC OS version of the PC - archiver Arc - -CONVENTIONS - Strings are given in ASCII with C-style escapes. No ter- - minating is present if not explicitily included. - - Words are 32 bit little-endian numbers. - - Half words are 16 bit little-endian numbers. - - -FORMAT - An archive file consists of a sequence of archive marker, - archive header and file data, ie. marker1, header1, data1, - marker2, header2, data2, etc. The archive marker is a sin- - gle byte of value 0x1a (26). The archive finishes with an - archive marker followed by a zero byte. - - _H_e_a_d_e_r _v_e_r_s_i_o_n _n_u_m_b_e_r - This tells you how the file data is stored and how many - bytes there are in the header. The header version numbers - for the PC, are detailed below. An Archimedes header version - number is identical to the corresponding PC number except it - has bit 7 set. - 1 Old style, no compression - 2 New style, no compression - 3 Compression of repeated characters only (RLE) - 4 As 3 plus Huffman Squeezing - 5 Lempel-Ziv packing of repeated strings (old style) - 6 Lempel-Ziv packing of repeated strings (new style) - 7 Lempel-Ziv Welch packing with improved hash function - 8 Dynamic Lempel-Ziv packing with adaptive reset - 9 PKARC style squashing - 127 Un*x compression - - _F_i_l_e_n_a_m_e - 14 bytes of name, zero terminated. - - _C_o_m_p_r_e_s_s_e_d _l_e_n_g_t_h - Compressed data length, one word. - - _D_a_t_e - One half-word, date. - year = (date >> 9) & 0x7f; - month = (date >> 5) & 0x0f; - day = date & 0x1f; - - _T_i_m_e - One half-word, time. - hour = (time >> 11) & 0x1f; - - - -Sun Release 4.1 Last change: 1 - - - - - - -SPARK(5)() MISC. REFERENCE MANUAL PAGES SPARK(5)() - - - - minute = (time >> 5) & 0x3f; - second = (time & 0x1f) * 2; - - The time and date fields are always filled in. If the file - has a load and exec address, these are the time and date - when the file was added to the archive otherwise, they are - derived from the Archimedes datestamp. In all extract opera- - tions on Archimedes format archives, the contents of the - load and exec fields take precedence. - - _C_R_C - One half-word, Cyclic Redundancy Check. - - _O_r_i_g_i_n_a_l _f_i_l_e _l_e_n_g_t_h - Original file length, one word, only present if header type - greater than 1. - - _L_o_a_d _a_d_d_r_e_s_s - Load address of the file, one word, only present if bit-7 of - the header version number is set. - - _E_x_e_c _a_d_d_r_e_s_s - Exec address of the file, one word, only present if bit-7 of - the header version number is set. - - _A_t_t_r_i_b_u_t_e_s - Attributes of the file, one word, only present if bit-7 of - the header version number is set. - - _C_o_m_p_r_e_s_s_e_d _d_a_t_a... - Directories are stored as non-compressed archives within - archives, ie. their load address & 0xffffff00=0xfffddc. - - -COMPATIBILITY - PC and Archimedes formats may be mixed in one archive for - use on the Archimedes. - - -SEE ALSO - arcfs(5), nspark(1) - - - - - - - - - - - - - - -Sun Release 4.1 Last change: 2 - - - + + + +SPARK(5)() MISC. REFERENCE MANUAL PAGES SPARK(5)() + + + +NAME + spark - Archive file format for RISC OS version of the PC + archiver Arc + +CONVENTIONS + Strings are given in ASCII with C-style escapes. No ter- + minating is present if not explicitily included. + + Words are 32 bit little-endian numbers. + + Half words are 16 bit little-endian numbers. + + +FORMAT + An archive file consists of a sequence of archive marker, + archive header and file data, ie. marker1, header1, data1, + marker2, header2, data2, etc. The archive marker is a sin- + gle byte of value 0x1a (26). The archive finishes with an + archive marker followed by a zero byte. + + _H_e_a_d_e_r _v_e_r_s_i_o_n _n_u_m_b_e_r + This tells you how the file data is stored and how many + bytes there are in the header. The header version numbers + for the PC, are detailed below. An Archimedes header version + number is identical to the corresponding PC number except it + has bit 7 set. + 1 Old style, no compression + 2 New style, no compression + 3 Compression of repeated characters only (RLE) + 4 As 3 plus Huffman Squeezing + 5 Lempel-Ziv packing of repeated strings (old style) + 6 Lempel-Ziv packing of repeated strings (new style) + 7 Lempel-Ziv Welch packing with improved hash function + 8 Dynamic Lempel-Ziv packing with adaptive reset + 9 PKARC style squashing + 127 Un*x compression + + _F_i_l_e_n_a_m_e + 14 bytes of name, zero terminated. + + _C_o_m_p_r_e_s_s_e_d _l_e_n_g_t_h + Compressed data length, one word. + + _D_a_t_e + One half-word, date. + year = (date >> 9) & 0x7f; + month = (date >> 5) & 0x0f; + day = date & 0x1f; + + _T_i_m_e + One half-word, time. + hour = (time >> 11) & 0x1f; + + + +Sun Release 4.1 Last change: 1 + + + + + + +SPARK(5)() MISC. REFERENCE MANUAL PAGES SPARK(5)() + + + + minute = (time >> 5) & 0x3f; + second = (time & 0x1f) * 2; + + The time and date fields are always filled in. If the file + has a load and exec address, these are the time and date + when the file was added to the archive otherwise, they are + derived from the Archimedes datestamp. In all extract opera- + tions on Archimedes format archives, the contents of the + load and exec fields take precedence. + + _C_R_C + One half-word, Cyclic Redundancy Check. + + _O_r_i_g_i_n_a_l _f_i_l_e _l_e_n_g_t_h + Original file length, one word, only present if header type + greater than 1. + + _L_o_a_d _a_d_d_r_e_s_s + Load address of the file, one word, only present if bit-7 of + the header version number is set. + + _E_x_e_c _a_d_d_r_e_s_s + Exec address of the file, one word, only present if bit-7 of + the header version number is set. + + _A_t_t_r_i_b_u_t_e_s + Attributes of the file, one word, only present if bit-7 of + the header version number is set. + + _C_o_m_p_r_e_s_s_e_d _d_a_t_a... + Directories are stored as non-compressed archives within + archives, ie. their load address & 0xffffff00=0xfffddc. + + +COMPATIBILITY + PC and Archimedes formats may be mixed in one archive for + use on the Archimedes. + + +SEE ALSO + arcfs(5), nspark(1) + + + + + + + + + + + + + + +Sun Release 4.1 Last change: 2 + + + diff --git a/nosysdep.sed b/nosysdep.sed index 26af316..ce7bf88 100644 --- a/nosysdep.sed +++ b/nosysdep.sed @@ -1,6 +1,6 @@ -# Remove dependancies on system include files -/[^ ]*\.o:/s,/usr/include/[^ ]*[ ]*,,g -/[^ ]*\.o:/s,/usr/include/[^ ]*$,, -/[^ ]*\.o:/s,/usr/local/lib/[^ ]*[ ]*,,g -/[^ ]*\.o:/s,/usr/local/lib/[^ ]*$,, -/[^ ]*\.o:[ ]*$/d +# Remove dependancies on system include files +/[^ ]*\.o:/s,/usr/include/[^ ]*[ ]*,,g +/[^ ]*\.o:/s,/usr/include/[^ ]*$,, +/[^ ]*\.o:/s,/usr/local/lib/[^ ]*[ ]*,,g +/[^ ]*\.o:/s,/usr/local/lib/[^ ]*$,, +/[^ ]*\.o:[ ]*$/d