SCRNCH
Line 40: | Line 40: | ||
* {{CdTextfiles|simtel/simtel9510/disk2/DISC2/COMPRESS/SCRNC102.ZIP|SCRNCH v1.02}} (1988-03-28 / 1988-04-04) | * {{CdTextfiles|simtel/simtel9510/disk2/DISC2/COMPRESS/SCRNC102.ZIP|SCRNCH v1.02}} (1988-03-28 / 1988-04-04) | ||
* [{{SACFTPURL|pack|dese2b10.zip}} DeSCRE2B] - DOS utility to help decompress SCRNCHed EXE files | * [{{SACFTPURL|pack|dese2b10.zip}} DeSCRE2B] - DOS utility to help decompress SCRNCHed EXE files | ||
+ | |||
+ | == Sample files == | ||
+ | v1.00 Run Mode: | ||
+ | * {{CdTextfiles|gigabytesw/010b/sayclear.zip|sayclear.zip}} → SAY-DOC.COM | ||
+ | |||
+ | v1.02 Run Mode: | ||
+ | * {{CdTextfiles|gigabytesw/027a/em87.zip|em87.zip}} → EM87.COM | ||
+ | * {{CdTextfiles|simtel0692/MSDOS/DBASE/PCF501C.ZIP|PCF501C.ZIP}} → D0C.COM | ||
+ | * {{CdTextfiles|smsharew/GENERAL/STARWARS.ZIP|STARWARS.ZIP}} → HARDCOPY.EXE | ||
+ | * {{CdTextfiles|simtel0692/MSDOS/DBASE/PCF501B.ZIP|PCF501B.ZIP}} → DBRPT.EXE, FCONVERT.EXE, PCPACK.EXE | ||
+ | |||
+ | v1.02 Write Mode: | ||
+ | * {{CdTextfiles|pcsig12/CLA/DISK1769.ZIP|DISK1769.ZIP}} → README.COM | ||
+ | * {{CdTextfiles|gigabytesw/030a/grab57.zip|grab57.zip}} → README.COM | ||
+ | * {{CdTextfiles|gigabytesw/030a/prodev1.zip|prodev1.zip}} → PRICEDOC.EXE | ||
+ | |||
+ | Various: | ||
+ | * SCRNCH.COM and SCRDOC.COM from the SCRNCH distribution |
Revision as of 15:39, 2 January 2025
SCRNCH is an executable compression utility for DOS. It was developed by Graeme W. McRae, and distributed as shareware.
Contents[hide] |
Discussion
SCRNCH is fundamentally a COM file compressor, but it includes tools and features that make it possible to compress EXE files, by converting them to a COM or COM-like format that SCRNCH can compress, then back to EXE if desired.
SCRNCH's default COM-to-(COM or EXE) compression mode is called "Run Mode". It also has a mode it calls "Write Mode", which essentially creates self-decompressing files. In the simplest case, Write Mode converts a text file to an executable file that prints the text to the screen. With effort, it can be used for other things, like software installation.
SCRNCH v1.02 supports EXE-format output (but not input) in both modes. V1.00 supports EXE output only in Write Mode.
Identification
SCRNCH v1.00-compressed COM files (both modes) start with bytes bb ff ff b4 4a cd 21 81 eb
. The modes can be distinguished. For example, the byte at offset 37 seems to be 0x8c
for Run Mode, or 0xfc
for Write Mode.
SCRNCH v1.00-compressed EXE files (which must be Write Mode) have bb ff ff b4 4a cd 21 81 eb
at offset 512.
Based on analysis of the (decompressed) SCRNCH.COM file, a v1.02 SCRNCHed file contains one of six possible "signature" byte sequences:
eb 13 73 43 65 66 0c 03 ("sCef"): Run Mode, default for COM output eb 13 73 43 67 66 90 03 ("sCgf"): Run Mode eb 13 73 43 68 66 89 02 ("sChf"): Run Mode, default for EXE output eb 13 73 43 77 66 ba 03 ("sCwf"): Write Mode, default for COM output eb 13 73 43 79 66 b4 02 ("sCyf"): Write Mode, default for EXE output eb 20 73 43 7a 66 33 04 ("sCzf"): Write Mode
For COM format, the signature is at the start of the file. For EXE, it's at the start of the code image segment (refer to MS-DOS EXE#Special file positions), which is normally at offset 512.
Considering that SCRNCH plays fast and loose with converting between COM and EXE formats, one should probably assume that all six signatures could appear in both COM and EXE files.
Related formats
- SCRE2B
- ZIP - Reportedly[1], ZIP's Reduce compression method is based on SCRNCH's compression method.
Software
- SCRNCH v1.00 (1988-01-31)
- SCRNCH v1.02 (1988-03-28 / 1988-04-04)
- DeSCRE2B - DOS utility to help decompress SCRNCHed EXE files
Sample files
v1.00 Run Mode:
- sayclear.zip → SAY-DOC.COM
v1.02 Run Mode:
- em87.zip → EM87.COM
- PCF501C.ZIP → D0C.COM
- STARWARS.ZIP → HARDCOPY.EXE
- PCF501B.ZIP → DBRPT.EXE, FCONVERT.EXE, PCPACK.EXE
v1.02 Write Mode:
- DISK1769.ZIP → README.COM
- grab57.zip → README.COM
- prodev1.zip → PRICEDOC.EXE
Various:
- SCRNCH.COM and SCRDOC.COM from the SCRNCH distribution