This is the README file for RFFTOOL, a program to assist in the
building of RFF files.

RFF (Short for RAM FILE FORMAT) files are executionable objects for the
GEMSTAR eBook 1100.  This tool is intended to be the first step in utilizing
the eBook 1100 device in new and creative ways.

My intent was to create code which would run from the smartmedia interface
so that the device function might be changed by inserting a different card.
This is currently impossible without a minor hardware modification (one
byte on the on-board bootrom must be changed).

It is possible to reprogram the onboard flash using this mechanism, although
the installer is moderately complicated.  This tool remains a first step in
that process.

When writing your own code for the RFF format, you should specify a load
address that is greater than 1MB. The on-board ROM seems to require this.
Fortunately, the device has enough RAM that this isn't burdensome.

Building under Linux:
     Install zlib through your distribution specific mechanism.
     Command: gcc -o rfftool rfftool.c -lz

Building under Windows:
     First, get the zlib library source code.  This includes a makefile for
     Windows (nt/ directory).  Proceed to build zlib.
     Command: cl /ML /I <path to zlib> rfftool.c <path to zlib>/zlib.lib
     Copy zlib.dll from your zlib directory to one on your path.

Using:
     Take an existing RFF file (for example, the current one from your
     eBook 1100). You can use a 'rbget' style tool to get this.

     First, look at the file info with:
           rfftool ram.rff
     This will tell you more than you want to know about the RFF file.

     Now, let us say you wish to extract the RFF file for your curiousity or
     if reverse engineering is legal for you.
           rfftool ram.rff opemram.bin
     As a note, the first 532 octets of output are relocation code, so
     if you are to disassemble you should skip those bytes.

     Finally, the rebuilding stage.  Using the existing file as an example:
            rfftool -v "2.0.300" newram.rff openram.bin
     You should then be able to test the success with the NT command
            fc /b newram.rff ram.rff
     or
            diff ram.rff newram.rff

          
        


         
     




