OS4 DepotLogo by Kicko 
(anonymous IP: 3.16.203.27,0) 
 HomeRecentStatsSearchMirrorsContactInfoDisclaimerConfigAdmin
 Menu

 Features
   Crashlogs
   Bug tracker
   Locale browser
 

 Categories

   o Audio (343)
   o Datatype (51)
   o Demo (203)
   o Development (602)
   o Document (24)
   o Driver (97)
   o Emulation (149)
   o Game (1011)
   o Graphics (500)
   o Library (118)
   o Network (234)
   o Office (66)
   o Utility (932)
   o Video (69)

Total files: 4399

Full index file
Recent index file

 Links

  Amigans.net
  OpenAmiga
  Aminet
  UtilityBase
  IntuitionBase
  AmigaBounty


Support the site


 Readme for:  Development » Cross » sjcrunch.lha

Sjcrunch

Description: a Playstation 2 (PS2) elf cruncher.
Download: sjcrunch.lha       (TIPS: Use the right click menu if your browser takes you back here all the time)
Size: 75kb
Version: 2.1
Date: 29 Sep 08
Author: Sjeep, AmigaOS 4.x compile by Spot / Up Rough
Submitter: Spot / Up Rough
Email: spot/triad se
Category: development/cross
License: Other
Distribute: yes
Min OS Version: 4.0
FileID: 4109
 
Comments: 0
Snapshots: 0
Videos: 0
Downloads: 14  (Current version)
14  (Accumulated)

[Show comments] [Show snapshots] [Show videos] [Show content] [Show crashlogs] 
SjCRUNCH v2.1 - by Sjeep
------------------------

SjCRUNCH is an ELF packer for the PS2. It uses the LZO compression library to
create a compressed version of the input elf, which is then decompressed (VERY 
quickly, thanks to the LZO algo) at runtime. It consists of a PC-side
tool and script, and a EE-side decompression stub. The PC-side tool creates a
"memory image" of the input ELF then compresses this image. The compressed 
image is then linked with the EE-side decompression stub, forming a
self-extracting elf.

SjCRUNCH relies on ee-gcc, ee-as and ee-ld. You must have these tools installed
before you can use SjCRUNCH. Also, the PC-side script is written for the bash
shell - so you must either have bash installed (for linux, cygwin, whatever) or
re-write the script for a different interpreter :)

Usage directions:
-----------------

Extract the contents of the archive. Then, move the "sjcrunch" file from the
script/ directory to a directory within your path (ie: /usr/local/ps2dev/bin).
Open the sjcrunch script in a text editor, and edit the following variables
to match your setup: 

SJCRUNCH_PATH - this must point to the script/ dir from the SjCRUNCH archive.
SJCRUNCH_PACKER - this must point to the packer executable (which is generally
                  stored within the script/ directory).
EE_GCC - this must point to ee-gcc. If ee-gcc is not in your path, then it must
         be an absolute filename.

Now you are ready to go. To pack an elf, use the following command: (assuming
that sjcrunch is now correctly install and is in your path)

sjcrunch INPUT.ELF OUTPUT.ELF [START ADDRESS]

The input and output ELF's may be the same file. The start address is optional,
and in hexadecimal format (ie: 0x1b00000)

Notes:
------

* The start address of the resulting packed elf may be specified when sjcrunch
  is invoked. Use this to prevent elf load location conflicts.
* Adresd has done some experimenting with the RNC compression algorithm, and
  has modified SjCRUNCH to use this. In general, RNC does achieve a better
  compression ratio than LZO. Contact Adresd if you are interested in the RNC
  implementation
* Have fun :)

Changes from v2.0:
------------------

* The depacker stub now passes arguments to the packed elf (dont know why
  I wasnt doing this originally).
* Fixed a problem preventing ELF's packed with SjCRUNCH from loading via
  the AR2 swap.

Changes from v0.3:
------------------

* SjCRUNCH now builds the elf "memory image" using program headers instead of 
  elf section headers.
* The de-packed elf is now started using the ExecPS2 system call, which is much
  safer than simply jumping to the de-packed code (which the older release did).
* The start address of the resulting packed elf may now be specified on the
  command line.
* Works with GCC 3.2.2


- Sjeep

e-mail: sjeep()gamebase.ca


Copyright (c) 2004-2024 by Björn Hagström All Rights Reserved
Amiga OS and its logos are registered trademarks of Hyperion Entertainment