Deframed v. 1.0 
By Chris Gillespie
gilles2@hubcap.clemson.edu

	Deframed v. 1.0 is a very crude utility to extract the frame table from
the registered version 1.2 of DOOM.EXE.  Patch files can be created in text
or binary format, edited and written back to DOOM.EXE.  Deframed must reside
in the directory with DOOM.EXE.

	Disclaimer:  The author is not responsible for any damage this software
causes to the DOOM.EXE file or any other software, files, or hardware.

	If you have problems with DEFRAMED, contact me via email at 
gilles2@hubcap.clemson.edu.

 
Text Patch File Format
----------------------

	The first thing in a text patch file is a .FORVERSION line, indicating
what version of DOOM the patch file is meant to be used with.  Only DOOM
version 1.2 is supported.

	Following the version number are the entries from the frame table.
The first line specifying an entry has a $ symbol in the first column,
followed by the entry number (0-511).  On a new line after the entry
are seven unsigned 4-byte integers.  The meaning of these integers is
explained in Matt Fell's Doom Specs.  As a side note, the fourth integer
is actually two 2-byte integers, but I was too lazy to split it apart :-).

	Text files do not have to contain the ENTIRE frame table.  It may only
contain a few entries and the entry # next the $ symbol will be used as
an index into the frame table.


Binary Patch File Format
------------------------

	Deframed can also produce binary patch files.  The first four bytes of
a binary patch file contain the float value for the version of DOOM the
patch file is for and the remaining bytes contain the raw frame table
data extracted from DOOM.EXE.



Usage
-----

	When using deframed, the names of text file patches must have the
extension, .FRT, and the names of binary file patches muse have the 
extension, .FRB.  If no file extension are specified, these extensions
are added automatically based on the option being used (it is assumed 
that binary files have .FRB for an extension and text files use .FRT).

THE EXTENSION NAME IS THE ONLY ERROR CHECKING DONE TO VERIFY WHETHER A
PATCH FILE IS BINARY OR TEXT.



Example Uses:

	deframed -cb binpatch txtpatch

	Converts a binary patch file named BINPATCH.FRB to a text patch file
	named TXTPATCH.FRT


	deframed -ct txtpatch binpatch
	
	Converts a text patch file named TXTPATCH.FRT to a binary patch file
	named BINPATCH.FRT.  

	Note:  If the text file is not a complete list of frame table entries,
	       it is combined with the frame table in DOOM.EXE for conversion.


	deframed -e txtpatch 18 31

	Extracts entries 18 through 31 in the frame table of DOOM.EXE and
	APPENDS them to a text patch file called TXTPATCH.FRT.  The -e option
	only works for text patch files.  Valid entry ranges for DOOM 1.2
	are 0 through 511.


	deframed -pb binpatch 

	Patches DOOM.EXE with the binary patch file named BINPATCH.FRB.


	deframed -pt txtpatch

	Patches DOOM.EXE with the text patch file named TXTPATCH.FRT.


	deframed -rb binpatch

	Retrieves a binary patch file named BINPATCH.FRB from DOOM.EXE.


	deframed -rt txtpatch

	Retrieves a complete text patch file named TXTPATCH.FRT from DOOM.EXE.


	deframed -rt txtpatch -con

	The -con option creates text patch files in a more condensed format,
	uliminating some of the extra spacing.

NOTE: DEFRAMED does not protect against overwrites.


I do not plan to release future versions; I'm hoping Greg Lewis's DEHACKED 
will support frame-table editing in the future :-).



Credits
-------

Thanks to Matt Fell (matt.burnett@acebbs.com) who produced the specs that
made editing the frame table possible.
