diff --git a/README.text b/README.text new file mode 100644 index 0000000..9948fc6 --- /dev/null +++ b/README.text @@ -0,0 +1,93 @@ +MPW Emulator +------------ + +by Kelvin W Sherlock. + +0. System compatibility: + +Currently, only OS X 10.8 with case-insensitive HFS+ is supported. + +1. License. + +The 680x0 CPU code is from WinFellow (http://fellow.sourceforge.net) and is +licensed under GPL v2 or later. Consequently, the rest of the code is licensed +under the GPL v2 as well. + +The memory allocator (NewHandle/NewPointer) code is from mempoolite, which +is a fork of the SQLite zero-alloc allocator by Jefty Negapatan +. It, as is SQLite, is in the public domain. + +2. Building + +Compiling requires cmake, ragel, and a recent version of clang++ with +c++11 support. It has only been built and tested with OS X 10.8. + +mkdir build +cd build +cmake .. +make + +This will generate bin/mpw and bin/disasm. + +3. Installation + +Certain configuration and execution files are generally useful. They are +stored in an mpw directory, which may be located: + +$MPW (shell variable) +~/mpw/ (your home directory) +/usr/local/share/mpw/ +/usr/share/mpw/ + +The layout is reminiscent of actual MPW installations. + +mpw/Environment.text +mpw/Tools/... +mpw/Interfaces/... +mpw/Libraries/... +mpw/Help/... + +4. Environment file + +The Environment.text file is new; it contains MPW environment variables (many +of them set the library and include file locations). The format is fairly +simple. + +# this is a comment + +#this sets a variable +name = value + +# this sets a variable if it is undefined. +name ?= value + +# values may refer to other variables +Libraries=$MPW:Libraries:Libraries: +Libraries=${MPW}:Libraries:Libraries: + +eventually, mpw will support a -Dname=value flag, so you can do something like: + +# use 3.2 headers/libraries unless overridden on the command line +MPWVersion ?= 3.2 +Libraries=$MPW:Libraries:Libraries-$MPWVersion: + + +5. Usage + +mpw [mpw flags] command-name [command arguments] + +you may also create shell aliases: + +alias AsmIIgs='mpw AsmIIgs' + +or create a shell script (in /usr/local/bin, etc) + +/usr/local/bin/AsmIIgs: + +#!/usr/bin/sh + +exec mpw AsmIIgs $@ + +mpw looks in the current directory and then in the $MPW:Tools: directory +for the command to run. The MPW $Commands variable is not yet supported. +