myth/area/imc/
Merc Release 2.1
Sunday 01 August 1993

Furey	mec@shell.portal.com
Hatchet	hatchet@uclink.berkeley.edu
Kahn	michael@uclink.berkeley.edu



=== Platforms

We have ported Merc directly to these platforms:

	Apollo	???	Domain/OS
	Dec	5000	Ultrix
	Dec	5900	Ultrix
	Intel	386	MsDos
	Sequent	386	Dynix
	Sun	Sun-3	SunOS 4.1.2
	Sun	Sun-4	SunOS 4.1.2

Users have contributed ports to the following platforms, and we have folded
their changes into the base code.  See 'contrib.txt' for acknowledgments.

	Apple	68030	Macintosh
	Dec	uVax	Ultrix
	HP	9000	Hp/UX
	Intel	386	386 BSD
	Intel	486	Linux
	Intel	486	Interactive Systems Unix
	IBM	RS/6000	Aix
	Mips	R4000	Risc/OS 5.XX
	NeXT	68030	Mach
	Sun	Sun-4	Solaris 2.1

We are simply unable to test Merc on every platform.  Typically a user tries
a new platform, gets a file full of warnings, and mails us the warnings.
We fix the base code; on the next release we ask that users mail us the
new warnings (usually we never hear from the user again).



=== Requirements

The hardware requirements are essentially: two megabytes of memory; five
megabytes of disk space; any 32-bit processor; 50 kilobits per second network
bandwidth.  Processor speed is not important.

The software requirements are essentially: a C compiler (Ansi C preferred,
but Merc can be made to work with a K&R compiler via 'mktrad'); a Unix or
Unix-like operating system; BSD-compatible TCP/IP networking.

For machines which don't have Ansi C compilers, we supply the 'mktrad' script
to convert Merc source into traditional C.  See 'trad.txt' for details.

Merc uses 32-bit integers and is casual about the distinction between 'int' and
'long'.  (It is possible to clean up the code to run with 16-bit integers, but
the demand is nonexistent, and we don't have any 16-bit C compilers with which
to test.)  If you are running on a personal computer, make sure your C compiler
is giving you 32-bit integers and not running in 16-bit mode.

Area files, player files, the note file, and the bugs/ideas/typo files are all
in Ascii format, so that they may be freely moved from one machine type to
another.



=== MsDos Single-User Version

Merc runs in single-user mode (console only) on MsDos and Macintosh computers.
The MsDos version is built with DJ Delorie's 'djgpp' port of the Gnu C Compiler
and requires a 386 with 4 megabytes of memory.  You can ftp 'djgpp' from
grape.ecs.clarkson.edu.

A prebuilt executable, 'Merc.exe', is distributed with the release.

As the 'djgpp' documentation states: if you aren't already comfortable
programming in C, this isn't the compiler with which to learn.  Caveat Hacker.

The commands to build and run Merc on MsDos are:

	gcc -O -Wall -c *.c
	gcc -O -o merc *.o
	go32 merc



=== Macintosh Single-User Version

The Macintosh changes were contributed by Oleg.  It is built with Think-C
5.0.4 and requires 4 megabytes of system memory.  You have to define the
symbol 'macintosh' (if not already defined).

Following is an edited version from Oleg's notes for porting 2.0c, after
taking out everything that we folded into 2.1.  BTW Oleg, you did a
thorough and meticulous job on this port, and we hope we didn't make
any mistakes in deriving this section from your notes.

    **** My notes are preceeded by 4 asteristics
    **** Hardware - Macintosh Powerbook 180, 120 Meg Hard Drive, 8 Meg Ram
    **** Software - Symantec C++ version 6.0, System Software 7.1

    **** Added "#define macintosh" to project header (Da !!!!)
    **** Changed Project Type memory partition to 2,500 K
    **** Changed Project Type to include Far Code and Far Data
    **** Change compiler to 4 byte integers
    **** created application instead of running from development environment

    **** Redistributed all files in project to produce 32K segments
    **** Add unix library for write and close to project
    **** moved unixio.c and unixmisc.c for the unix library to the project file
    **** Add MacTraps to project file
    **** Add ANSI library to project file
    **** Recompile ANSI library.
    **** Recompile all *.c files.

    **** moved application to area folder




=== Performance

All this measured on a Sun 4 with SunOS 4.1.2.

Boot time:    4.3 CPU seconds.
Memory:       2.2 megabytes SZ size.
CPU usage:    30  CPU seconds per hour + 1-2 CPU seconds per player.
Disk space:   2.6 megabytes plus 8K per player file.
IP packets:   about 10 per second with 20 people logged in.