======================================================================== === Hello World ======================================================== ======================================================================== 'Core Wars' is a battle between two programs inside your computer. The language used to write the programs closely resembles an assembler language with a set of 10 instructions. Our Version 2.1E for the Atari ST is implemented according to the Core War Standards as of May 21,1986. The Core War Standards are available at the following adress: Mark Clarkson 8619 Wassall Street Wichita Kansas 67210-1934 USA Please enclose a 4-dollar-bill (...oops...) Several articles dealing with Core Wars have been published in 'Scientific American'. In the german edition of 'Scentific American' articels about Core Wars were published at the following dates: 8/84, 5/85 and 4/87. Normally the original article is published one or two month before it is published in Germany. ======================================================================== === The following files are included with our version 2.1E ============= ======================================================================== MARS.ARC This file contains our MARS program together with BROWSER, an useful accesory, and an EDITOR BROWSE ACC 10056 which can be used to write your own battle EDITOR PRG 29250 programs. MARS PRG 32129 MARS RSC 5440 EDITOR TXT 1741 MARS TXT 8312 These are ready-to-load battle programs. COMMANDO RED 174 FACTA RED 158 KNIRPS RED 22 MICE RED 200 MIDGET RED 109 MINID RED 52 NOTHING RED 36 PARASITE RED 139 ZWILLING RED 315 COMMAND1 RED 333 CHANG1 RED 234 LOCUST RED 149 ======================================================================== === MARS operating instructions ===================================== ======================================================================== ============================ == Dropdown-Menu Select == ============================ Load Programs -------------- ...lets you select the two battle programs, which must have .RED as file name extension. The file selector box is shown twice, one for each program. Battle programs should not exceed a length of 10000 bytes of source code including comments. So, if you write very long programs, keep your comments short, else the program won't load. Each program is now moved to a random position in memory, and it is made sure that they don't overlap. If MARS find an illegal instruction it prints an error message and exits, otherwise execution of the 'battle' starts immediately. Setup ----- ...lets you change some default values such as: Core Size sets the size of the 'battle field' Instructions determines the number of instructions executed before the battle stops. A value of e.g. 1000 means that each of the two programs executes 500 instructions. Repeat lets you repeat the battle between the same programs any number of times without you having to select the programs each time. Editor ------ ...invokes an editor of your choice. Simply rename your own editor to EDITOR.PRG and use it from MARS. We hope that this feature works with most editors, but of course one can never be sure... Result -------- ...shows the result of the most recent battle. QUIT ---- ...quits. ========================== == Dropdown-Menu Output == ========================== Text ---- ...lets you watch the battle by printing each instruction currently being executed. A single line always shows two instructions, one of each program. Pushing any key causes a break in program execution, pressing the key again make the battle continue. Push the ESC-key to terminate the battle. Core ---- ...opens a window representing the battle field in which the upper left corner is the lowest adress and the bottom right corner the highest adress. Inside this window, the first and second program are represented by checkered squares and grey squares, respectively. With each instruction of either program, a checkered or grey square appears at its corresponding position. Additionally, after execution of a MOV instruction, a white square appears at the destination adress of the MOV. Save ---- ...lets you save all printed text output to a disc file named COREWARS.REC. This feature allows for a closer examination of the battle after the 'battle is over', but also slows down execution speed considerably. ======================== == Dropdown-Menu MODE == ======================== Single Step ----------- This mode only works while the TEXT window is open. In that case, each program executes one instruction, and then MARS waits for you to push a key. This repeats every time you push the space bar. Pushing any other key turns off single step mode. Single Player ------------- For debugging purposes it can sometimes be useful to just run a single program instead of two. Voila, here you go... Fixed Adress ------------ If this mode is active the first program is loaded at the lowest adress in memory, while the second program is moved to a random position. Again, this is sometimes useful for debugging or testing your 'warrior'. WARNING ------- If this mode is selected and the interpreter comes across an illegal adressing mode or operand, it prints a warning message as usual, but continues to read the rest of the source. This makes it possible to make your 'warrior' behave in ways different from those provided by the regular instruction set. However, try to avoid this programming style, since the programms using this feature might not behave the same on all versions of 'Core Wars'. Syntax ------ ...shows you the REDCODE instruction set and syntax. =================================================================== == ESC-key ====================================================== =================================================================== Anytime you wish to interrupt an ongoing battle, simply push the ESC-key. Although our version of CORE WARS is otherwise close to perfect ( isn't it ?!?) , it does not provide for arithmetic operations on labels and operands. Sorry, but you'll just have to live with it... ======================================================================== === Additional programs ============================================== ======================================================================== In the MARS directory you find an editor named EDITOR.PRG. It was written by U. Romahn and is a public domain program. Unfortunately for you ladies and gentlemen out there, this is a German program and therefore the messages are printed in German. File EDITOR.TXT contains some operating instructions to help you with this problem. Another excellent little accessory, BROWSE.ACC, can be used to have a look at text files. It shows all characters including line feeds and carriage return. Push the HELP key for more information. A note on labels: While in executing mode, MARS tries to find a label named START and begins execution at this position. If there is no such label execution begins at the first program line.