CivHackFAT 1.0.2

What is CivHackFAT?
CivHackFAT is a fat system extension (or INIT) that fixes a problem many
people have running the MicroProses Civilization on PCI-based PowerMacs under
System 7.5.2 and on all PowerMacs under 7.5.3. Running this extension should
solve at least one class of problems with Civ on PowerMacs.

Why CivHackFAT?
Why indeed, since theres a CivHackPCI out there that basically does the same
thing. The reason is technical: CivHackPCI patches a PowerPC-native trap with
680x0 code. This is fine when running old 680x0 applications, but generates
unnecessary (and very slow) mode-switching when running PowerPC-native
applications that like to twiddle the color cursor (e.g. NewsWatcher).
CivHackFAT solves this problem by applying a fat patch of both 680x0 and
PowerPC code. CivHackFAT also provides information about whether it loaded
correctly at startup time, which CivHackPCI does not.

Installing CivHackFAT
All you should have to do to install CivHackFAT is to drag the file onto your
System Folder icon, click OK in response to the dialogs that appear, and
reboot. If you were running CivHackPCI, you should remove it.



Distribution
CivHackFAT may be distributed freely as long as it is not modified in any way
and accompanied by this ReadMe document and associated script files. There are
some exceptions: (1) services which charge on a per-download basis may not
distribute CivHackFAT; (2) the MicroSoft Network is prohibited from distributing
CivHackFAT. A license to distribute CivHackFAT is available to the MicroSoft
Network for $50,000 and distribution via MSN constitutes acceptance of this
license; (3) Jumbo (you know who you are) may not distribute CivHackFAT. Hint:
learn not to spam; and (4) folks who distribute collections of
freeware/shareware on CD-ROM must contact me first (dont worry, I usually say
yes but ask for a copy of the CD-ROM).

The latest version of CivHackFAT will always be sent to MacGifts and will always
be available at the Solar Systems Ltd. FTP site, which is:
<ftp://ftp.cc.gatech.edu/pub/people/byrne/SSL/>.

You will also be able to download CivHackFAT by visiting the Solar Systems Ltd.
web page:
<http://act.psy.cmu.edu/ACT/people/byrne/SSL/index.html>

Registration
CivHackFAT is free. However, Im a postdoc and I really should be spending my
time on research, not stuff like this. Thus, if you do use CivHackFAT, Id love
to at least hear from you, preferably a postcard but email would be great, too.
And if you wanted to send a small donation (say, $5) that would greatly help me
justify the time spent. (I promise to spend the money on development tools so
things like this can keep happening.)

Send postcards (or donations!) to:

Mike Byrne
Solar Systems Ltd.
6823 Thomas Blvd., Apt. #2
Pittsburgh, PA15208-2343
U.S.A.

If you do send something, please include your email address as Ill send out
email if/when updates are available. 

Technical Notes
CivHackFAT was developed with MetroWerks CodeWarrior environment and is based on
Gavriel States description of what the problem is. What is the problem, you
ask? Its technical, but it goes like this: it seems that with System 7.5.2 and
7.5.3, the _SetCCursor trap would trash the low-memory global that tells the
machine what the current GDevice is. Civ reasonably assumed that the GDevice
pointed to by this global would be valid after a call to _SetCCursor, but it
wasnt.

Contacting the Author
The best way to get a hold of me is via electronic mail,
<byrne+@andrew.cmu.edu>. Please include the string SSL in the subject header
so my filter will direct your mail correctly. If you dont have electronic mail,
get with the program. No, seriously, contact me via snail mail at the address
listed in the Registration section. 

I really do want to hear about feature requests and undocumented features (err,
bugs), so please contact me if you have either. For more information about Solar
Systems Ltd., check out the Web page:
<http://act.psy.cmu.edu/ACT/people/byrne/SSL/index.html>. 

Mike also has his own Web page, which is:
<http://act.psy.cmu.edu/ACT/people/byrne/index.html>.

Acknowledgements
The biggest thanks go to Gavriel State for figuring out what the problem is and
publicly releasing CivHackPCI. Thanks to Casady & Greene for Conflict Catcher,
which is what alerted me to the fact that CivHackPCI was patching a native trap
with emulated code. Thanks to Tom Thompsons book Power Macintosh Programming
Starter Kit for explaining how to build fat patches. Thanks to MetroWerks for
the way-cool CodeWarrior. Thanks to James Walker for the ShowIcon code. Thanks
to Spectrum-Holobyte (parent company of MicroProse) for finally deciding not to
give up on the Maccan we please have CivII and CivNET now? Thanks to William
Orbit, Billy Idol, Peter Gabriel, OMD, David Bowie, The Fixx, Nine Inch Nails
and others for the cool hacking tunes.

Legal Schlock
First thing we do is kill all the lawyers.  William Shakespeare

I think its a tragedy that a section like this should be necessary, but we live
in a society where someone can successfully sue a fast food chain when they
spill hot coffee on themselves and a convicted rapist can be out in a mere
handful of years earning millions for hitting people in the head. If that isnt
a mess, I dont know what is. Thus:

CivHackFAT is Copyright 1996 Solar Systems Ltd. & Mike Byrne, all rights
reserved.

All other copyrights and trademarks are property of their respective holders.

Solar Systems Ltd. and Mike Byrne hereby disclaim all warranties relating to
this software, whether express or implied, including without limitation any
implied warranties of merchantability or fitness for a particular purpose. Solar
Systems Ltd. and Mike Byrne will not be liable for any special, incidental,
consequential, indirect or similar damages due to loss of data or any other
reason, even if Solar Systems Ltd. and Mike Byrne or an agent of his has been
advised of the possibility of such damages. In no event shall Solar Systems Ltd.
or Mike Byrne be liable for any damages, regardless of the form of the claim.
The person using the software bears all risk as to the quality and performance
of the software.

