home *** CD-ROM | disk | FTP | other *** search
- This file documents the Atari-specific features of MG2A. Please refer
- to the MG manual and the tutorial for more general information about
- how to use MG.
-
- This version of MG has been brought to you by....
-
- Sandra Loosemore (sandra@cs.utah.edu, utah-cs!sandra)
- Marion Hakanson (hakanson@cs.orst.edu, orstcs!hakanson)
-
-
-
- Keyboard Handling:
- ------------------
-
- The ALT key acts as the META key. The command meta-key-mode can be
- used to toggle this behavior. (On non-US keyboards, the ALT key is
- normally used as a modifier with certain other keys to produce printing
- characters.)
-
- MG supports 8-bit characters, although since neither of us have
- European keyboards we have not been able to test this thoroughly.
-
- The function keys may be bound to commands, although there are no
- default bindings established for these keys. F1-F10 are as on the
- keyboard, F11-F20 are the shifted F1-F10, and F21-F28 are Help, Undo,
- Insert, Up, Clr/Home, Left, Down, and Right, respectively.
-
-
- Startup Files:
- --------------
-
- MG looks for its startup file first as MG.INI in the current directory,
- and it then looks for the file specified by the environment variable
- MGINIT if that fails. The code to look up the environment variables
- checks for all of the various environment styles that are supported
- by common shells such as the MWC shell and Gulam, as well as the one
- built for the desktop by GEMBOOT.
-
-
- Spawning a Shell:
- -----------------
-
- The suspend-emacs command checks the SHELL environment variable to
- determine what program to run. If the environment variable is not
- set, or if the attempt to execute the program fails (i.e., the program
- is not found), MG will prompt for a command to execute.
-
-
- Other Options:
- --------------
-
- Most of the optional features described in the MG manual are enabled,
- including the GOSMACS and DIRED features. The major piece of missing
- functionality is the regular expression code, which is nonportable and
- won't compile on the ST. There is also no support for backup files yet.
-
-
- Rebuilding MG:
- --------------
-
- MG has been developed using both the Alcyon (v4.14) and Mark Williams
- (v2.0) C compilers. Makefiles (maketop.mwc and makesys.mwc) are provided
- for MWC, and a Gulam shell script (build.g, also mglink.inp) for Alcyon.
- You may need to tweak these files if you have moved things around.
-
- Here is a list of the ST-specific source files:
-
- chrdef.h Character macro definition file
- sysdef.h ST-specific definitions
- ttydef.h More ST-specific definitions
- varargs.h Definitions for varargs macros
- alloc.c New "malloc" for Alcyon C, also used by MWC.
- cinfo.c Character functions.
- diredsup.c Functions to support the "cd" and "dired" features.
- fileio.c File i/o functions.
- misc.c Functions to support "spawn", etc.
- term.c High-level screen manipulation functions.
- ttyio.c Low-level terminal i/o functions.
- getn.s Functions to determine screen resolution.
- gemstart.s Needed for Alcyon C
-
-
- Changes since MG1B:
- -------------------
-
- File and terminal i/o have been completely rewritten to use low-level
- GemDOS functions instead of their C equivalents. It's now much faster.
-
- Improved memory management (new implementation of "malloc" and friends
- for Alcyon C) makes the "spawn" command more useful.
-
- The use of the ALT key as a meta key and support for 8-bit characters is
- new.
-
- The old "dirlist" function has been replaced by dired mode.
-
- Environment variables are now used to specify the startup file and the
- shell to run for suspend-emacs.
-
- A few minor cleanups and optimizations, some of which speed things
- up markedly.
-
-
- Bugs
- ----
-
- There is a bug in TOS that may result in MG creating multiple copies of
- files with the same name. It only seems to happen with very short files.
-
- There has been some question raised about the use of the "conterm"
- system variable on the "new" (Mega-ST) TOS ROMs, even though such use
- is documented in the MWC manual, and elsewhere. Perhaps someone can
- test this code on such a system and let us know if there are problems.
- A workaround would be to use Getshifts() separately, instead of having
- the kbshift value returned by Bconin().
-
-