Short: COREWAR GAME ASSEMBLY VIRUS

MADgic41.lzh is Version 4.1 of The MADgic Core: Core War for the Amiga
Copyright 1992 Mark A. Durham.  It is freely distributable in its complete
archived form.
 
The archive should be decompressed to an empty floppy disk to get the
full effect of the system.  It requires about 77% of an 880K disk.
 
Here are just some of the things new for version 4.1 of The MADgic Core:
 
ASR
---
 
   Multiple file assembly -
      By far the biggest new feature for 4.1 is the ability to assemble
      multiple files with a single invocation of ASR.  From the WorkBench,
      you SHIFT-Select multiple source files while starting up ASR.  ASR
      will issue a report on each individual file as it is assembled as
      well as list the number of successful and failed assemblies at the
      end of execution.  This will work even across volumes (different
      disks).
 
      From the Shell, just type the command ASR followed by a simple
      AmigaDOS pattern (one containing only #'s and/or ?'s).  ASR can
      handle multiple directories with a single pattern.  For instance,
      to assemble all of the ICWS tournament programs in each of the four
      directories as they appear on The MADgic Core disk in df0:,
      issue the command
 
         "ASR df0:#?/#?.s"
 
      ASR can handle even more levels (i.e. #?/#?/#?/#?.s) if necessary.
      Or you can just list multiple files (i.e. "ASR file1 file2 etc.").
 
      This feature has allowed the deletion of all of the object files from
      the tournament program directories to make room for other improvents.
 
   ToolTypes -
      ASR recognizes the following Tooltypes field of the ASR icon set
      using the WorkBench menu Info command.  They are:
 
         WINDOW=<left>/<top>/<width>/<height> where <left> is the left edge
            of the assembly window, <top> is the top edge, <width> is the
            <width>, and <height> is the height (in pixels).  Some
            combinations may not be available and could possibly result in
            a crash.
         NOCOMMAS=<TrueOrFalse> where <TrueOrFalse> is either TRUE or FALSE.
            NOCOMMAS=TRUE tells the assembler not to expect commas between
            operands.  If this option is set, operands are separated by
            whitespace and therefore no whitespace can occur with operand
            expressions.  Ordinarily ASR can determine whether operands
            are separated by whitespace or not, but some instructions can
            be ambiguous.  Example: DAT 2 -1  (Is it "DAT (2-1)" or is it
            "DAT 2, -1"?).
         NOICONS=<TrueOrFalse> where NOICONS=TRUE keeps ASR from saving
            .info files along with the object files.
         DISPLAY=<TrueOrFalse> where DISPLAY=TRUE will list the assembly
            to the window.
         PRINT=<TrueOrFalse> where PRINT=TRUE will list the assembly to the
            PRT: device.
         VERSION=<version> where <version> is 86 for ICWS'86 and 88 is for
            ICWS'88.  The fields for SPL were swapped between ICWS'86 and
            ICWS'88.  This option tells the assembler how to assemble
            instructions like "SPL 0".  The default is ICWS'88.  Only MARS
            truly supports the ICWS'86 style assembly.  SmallMARS and
            FastMARS really expect an ICWS'88 assembly, but otherwise
            behave as ICWS'86 rules dictate.  There is no way for you to
            know whether an object file was assembled as ICWS'86 or ICWS'88,
            so I recommend you use this option only if you absolutely have
            to do so.
 
   Command line options -
      ASR supports many command line options from the Shell.  They are:
 
         -c    Same as NOCOMMAS=TRUE above.
         -i    Same as NOICONS=TRUE above.
         -l    Same as DISPLAY=TRUE above.
         -v86  Same as VERSION=86 above.
         -v88  Same as VERSION=88 above (the default).
 
      There are AmigaDOS style options which fulfill the same functions as
      the above.  Here is the template for the ASR command:
 
         FILES/A/M,D=DISPLAY/S,P=PRINT,NC=NOCOMMAS/S,NI=NOICONS/S:
 
   Redcode support -
      ASR now supports all but the strangest abuses of Core War.  Colons
      and underscores in labels are the most frequent characters now
      supported in 4.1 but not in previous versions.
 
 
MARS
----
 
   Preloading filenames from WorkBench -
      If you SHIFT-Select one or two object file icons while starting up
      MARS from the WorkBench, the filenames are preloaded into the file
      requester brought up by the Load command.  You still need to issue
      the Load command to actually load the programs.  What is new for 4.1
      is that you can preload the file requester across volumes (disks).
 
   ToolTypes -
      You can set many defaults in the ToolTypes field of the MARS icon by
      using the WorkBench menu Info command.  Here are the recognized tools:
 
         SIZE=<size> where <size> is any of the Core sizes available from
            the Core menu (2000, 4000, 8000, 8192, 16000, 32000, 64000,
            and 128000).
         CYCLES=<maximum cycles before declaring a draw>
         TASKS=<maximum number of tasks per warrior>
         COLOR=<rgb>|<rgb>|<rgb>|<rgb>|<rgb>|<rgb>|<rgb>|<rgb> where each
            r, g, or b is a hexidecimal number (0-F).  The default colors
            are, in this order, grey, light blue, dark blue, white, black,
            light red, dark red, and green.
         VERSION=<version> where <version> is either 86 for the ICWS'86
            standard or 88 for the ICWS'88 standard.
 
      New for 4.1 are:
 
         CPU=<cpu type> where cpu type is MEMORY for Memory-Based and
            REGISTER for Register-Based.
         MEMORY=<left>/<top>/<width>/<height>/<display> where <left> is
            the left edge of the Memory Window, <top> the top edge,
            <width> the width, and <height> is the height.  Some
            combinations may not be available.  <display> is optional and
            can be either ON or OFF.
         TRACE=<left>/<top>/<width>/<height>/<display> where all the fields
            behave the same as above.
         GAUGE=<left>/<display>
         TIMER=<left>/<display>
         SOUND=<switch> where <switch> is either ON or OFF.
 
      MARS does not recognize any flags or commands from the Shell.
 
   Improved Style Guide Compliance -
      The Load requester no longer automatically selects the first string
      gadget.  Select the first gadget with the mouse or type the <TAB> or
      <RETURN> keys to automatically select the first gadget.  Otherwise,
      the <A>, <B>, or <R> keys will activate the A..., B..., or Random
      gadgets, respectively.
 
      Clicking outside active requesters will result in the Wait pointer
      (the 2.0 Stopwatch) being displayed.  The Wait pointer now appears
      during every activity which may impede interacting with the program.
 
   More keyboard shortcuts -
      Almost every menu command now has a keyboard equivalent with at least
      a remote relationship to the command.  (There are exceptions).
 
   New sound features -
      You can now control each warrior's sound volume individually from the
      Sound requester.
 
   New "processor" support -
      MARS now supports a Memory-Based interpretation of the standards as
      well as the original (default, and correct - so say I) Register-Based
      interpretation.
 
   New 2.0-look system gadgets -
      The Trace Window and Memory Window both now have system gadgets with
      2.0-look system gadgets, even under 1.x versions of the operating
      system.  This is a bit of an experimental hack, and I'm not sure
      whether I will keep them - or even if they will work under all
      circumstances.
 
 
        Mark A. Durham (MAD)
 Email: durham@ricevm1.rice.edu
 GEnie: M.DURHAM2
USmail: P.O. Box 301173
        Houston, TX 77230-1173
        USA
Architecture: m68k-amigaos