Spre (Simple Profile Editor) v1.0 ReadMe By Andy McFadden Revised: 26-Sep-93 NOTE: This editor may be distributed freely so long as the UNMODIFIED program and documentation appear in the same archive. HardPressedª itself is a commercial product that may NOT be distributed. This version of Spre (v1.0) is not an official product of WestCode Software, Inc. All questions, comments, suggestions, and requests for help should go directly to the author, NOT WestCode. INTRODUCTION Spre is a very simple editor for HardPressedª compression profiles. It allows you to change the modules assigned to the different file categories, so that you can create your own profiles instead of being limited to the standard ones that ship with HP. HOW PROFILES WORK Compression profiles have four parts: (1) header (2) division of file types into categories (3) assignment of certain suffixes into categories (4) assignment of compression modules to categories Part 1 contains some information about the profile, including the name used in the CDev's profile selection pop-up menu. Part 2 divides files into one of several different categories. Each category represents a different kind of data (text, graphics, applications, etc), and may be compressed in a different way. Part 3 allows files to be divided into categories by name, regardless of filetype. This allows things like "Archive.SHK" to be treated as a ShrinkIt archive whether or not the filetype is set correctly. Part 4 determines the compression modules used to compress each category. Spre was designed primarily to edit this section. It can't change parts 2 and 3, but it will allow you to edit the name used in the CDev's pop-up menu. HOW TO USE SPRE Spre recognizes two kinds of profiles: the "Standard" kind and the "All" kind. Standard profiles have 20 categories, with the files distributed among them. Examples of Standard profiles are "Standard", "Faster, less compression", and "Slower, more compression". The All profiles have only one category. Every file is compressed according to the modules selected for it. Several of these are shipped with HP, one for each compression module. To edit a profile, either load an existing one (by selecting the "Open" menu item), or create a new one (with the "New (Std)" or "New (All)" menu items). A new Standard profile matches the "Standard" profile included with HardPressed. The current category is selected with the pop-up menu at the top of the window. The modules currently chosen for that category appear in the top list, and the modules available for use appear in the bottom. When you double-click on a module in the top window, it is removed from the category, and its entry in the lower window will undim. When you double-click on a module in the bottom window, it is added to the current category, and its entry in the lower window will dim. All related modules will also dim, because you can only use each module once per category. For example, you can't use both "LZW" and "Faster LZW" in the same category. When it's time to compress a file, HardPressed will execute the modules in order from top to bottom. So if the top window contains: Differential RLE Faster LZW HardPressed will first run the file through a differential pass, then do RLE on it, then do Faster LZW. If one of the modules is inactive or not loaded when the compression occurs, it will simply be ignored. (If none of the modules is present, HardPressed won't bother trying to compress the file.) Spre looks in the "System:System.Setup:HP.Modules" folder of the boot volume for modules. If the modules are located somewhere else (as may be the case in an AppleShare environment), they won't be found. NOTE: if the profile references a module that doesn't exist on the current system, it will appear as "(unknown module)" in that category. If you delete it, there is no way to put it back. This is not the best strategy for dealing with them, but it does allow you to remove modules from your profiles that no longer exist on your system. Modules are always added at the bottom of the current list. When you have finished altering the profile, save it like you would any other kind of document. HardPressed only looks in the "HP.Modules" folder for profiles, so you should save it there. To test your new profile, select it from the CDev's profile pop-up menu. If the profile was already selected, choose a different one, then choose it again (HardPressed won't re-load the profile if it thinks it already has a recent copy of it in memory). MODULE INFO Selecting "Module Info" from the "Modules" menu will bring up a window showing the modules found in the current system. The display shows the module's index number, version number, and name. At the far right, the "Active" column indicates whether or not the module was active ON DISK when Spre was started (i.e. the "Inactive" box in the Finder's Icon Info window was not checked). It does not indicate whether or not the module is currently loaded by HardPressed. FASCINATING FACTS Spre exists independently of HardPressed. It will work equally well whether HardPressed is running or not. There is no interaction between the two. However, Spre does require that the "HP.Modules" folder exist on the boot volume in the usual location (*:System:System.Setup:HP.Modules). You will discover that you can't edit the "Standard" profile. This is because the Standard profile is built into the HardPressed INIT, and can't be modified. It was done this way to provide a default profile, so that a system without any profiles on disk would be useful. Spre is intended to fill a gap, namely the inability to create and edit profiles. It is not intended to be the end-all of profile editors. I would prefer that somebody else write that, so that I can spend time working on stuff like more and better compression modules. Side note: it isn't necessary to divide filetypes into categories and then assign compression modules to them. It's possible to use an alternative scheme where each category represents a particular kind of compression, and then the various filetypes can be assigned to the categories according to how they should be compressed. Spre doesn't support this kind of editing, but I thought I'd mention it as a hint to any potential profile editor authors out there. THINGS A ÒREALÓ PROFILE EDITOR WOULD HAVE I don't plan to add these, but if you're in the mood to write a profile editor, it should have: × The ability to add, delete, or change the file types assigned to each category. The "FType.Apple" file is useful here. × The ability to edit the table of recognized filename suffixes. × The ability to edit more than one profile at a time, with cut and paste between them. × Nicer support for modules, so that clicking on a module in the ÒModule InfoÓ window would bring up a dialog with the ÒblurbÓ description for that module. × A dialog that allows the user to locate where the modules are. × Better handling of references to modules that don't exist. × A better user interface. FILE CATEGORIES 00 Unknown/unassigned $00 (NON) $0d (???) $0e (???) $17 (???) $18 (???) $1c (???) $1d (???) $1e (???) $1f (???) $23-28 (???) $2f-3f (???) $44-4f (???) $53 (???) $60-6a (???) $6c (???) $70-9f (???) $a1-aa (???) $ae-af (???) $be (???) $c4 (???) $cb-d4 (???) $d9 (???) $da (???) $dc (???) $dd (???) $de (???) $df (???) $e1 (???) $e3-ed (???) $f1 (???) User #1 $f2 (???) User #2 $f3 (???) User #3 $f4 (???) User #4 $f5 (???) User #5 $f6 (???) User #6 $f7 (???) User #7 $f8 (???) User #8 01 Pascal, CP/M, Apple /// $02 (PCD) $03 (PTX) $05 (PDA) $07 (FNT) $09 (BA3) $0a (DA3) $0b (WPF) $0c (SOS) $10 (RPD) $11 (RPI) $12 (AFD) $13 (AFM) $14 (AFR) $15 (SCL) $20 (TDM) $21 (???) (Instant Pascal source) $22 (???) (UCSD Pascal volume) $29 (???) (Apple /// SOS dictionary) $ef (PAS) 02 ProDOS 8 $08 (FOT) $16 (PFS) $19 (ADB) $1a (AWP) $1b (ASP) $2a (8SC) $2b (8OB) $2c (8IC) $2d (8LD) $2e (P8C) $41 (???) OCR data $43 (???) (Peripheral data) $5f (FIN) $6b (BIO) $6d (TDR) $6e (PRE) $6f (HDV) $a0 (WP ) $db (DBM) $ee (R16) $f0 (CMD) $fa (INT) $fb (IVR) $fc (BAS) $fd (VAR) $fe (REL) $ff (SYS) 03 Generic text $04 (TXT) 04 Generic binary $06 (BIN) 05 GS/OS Application $b1 (OBJ) $b2 (LIB) $b3 (S16) $b4 (RTL) $b5 (EXE) $bc (LDF) 06 Source code $b0 (SRC) 07 Development utility doc $5e (DVU) 08 Mostly text (WP) files $50 (GWP) 09 Mixed text/data $40 (DIC) $51 (GSS) $52 (GDB) $bf (DOC) 10 Desktop Publishing $54 (GDP) 11 Hypermedia/multimedia $55 (HMD) $5c (MUM) 12 Sound files $d6 (INS) $d8 (SND) filename.SND 13 Compressed data $c0/$0004-ffff (PNT) $e0 (LBR) filename.Z filename.ARC filename.ZOO filename.ZIP filename.GIF filename.JPG filename.SHK filename.SEA filename.BXY 14 GS/OS System data $42 (FTD) $ca (ICN) 15 Inits, DAs, Fonts, Tools, etc $b6 (PIF) $b7 (TIF) $b8 (NDA) $b9 (CDA) $ba (TOL) $bb (DVR) $bd (FST) $c7 (CDV) $c8 (FON) $f9 (OS ) 16 Uncompressed graphic data $5b (ANM) $c1 (PIC) $c2 (ANI) $c3 (PAL) $c5 (OOG) 17 Mildly compressed graphics $c0/$0000-$0003 (PNT) 18 Miscellaneous $56 (EDU) $57 (STN) $58 (HLP) $59 (COM) $5a (CFG) $5d (ENT) $ab (GSB) $ac (TDF) $ad (BDF) $c6 (SCR) $d5 (MUS) $d7 (MDI) $e2 (ATK) 19 Sparse $5f/$8001 (YMM) Special (cannot be compressed, ever): $01 (BAD - bad blocks file) $0f (DIR - directory) $5a/804b, $5a/804c, $5a/804d (HP preferences files) $bc/400f, $bc/c00f (HP compression module) $c9 (FND - Finder data file) $e0/800d, $e0/800e, $e0/800f (HP compressed data file) Side note: the ".SEA" suffix is part of Standard profiles created by Spre, but is not included in the standard HP v1.0 modules (an oversight on my part). PRODUCT INFORMATION I can be reached at: Internet: fadden@uts.amdahl.com GEnie: FADDEN SnailMail: 1822 Amelia Way #8 Santa Clara, CA 95050