From: pburgess@ocvaxa.cc.oberlin.edu Subject: RE: I need strategic help Date: 1 Jan 1995 00:16:49 GMT Message-ID: <3e4s9h$fti@news.cc.oberlin.edu> Correction: my address is zhuff@ocvaxa.cc.oberlin.edu not the on I posted... From: dcole@ug.cs.dal.ca (Derek A. Cole) Subject: REQ: FAQ for corewars please. Message-ID: Date: Tue, 10 Jan 1995 01:20:46 GMT Could someone please re-post the FAQ? Thank to the person how does. Derek From: froemel@zeus.rbi.informatik.uni-frankfurt.de (Christian Froemel) Subject: Looking for games like Corewars Date: 10 Jan 1995 10:56:48 GMT Message-ID: <3etp5g$sms@zeus.rbi.informatik.uni-frankfurt.de> I'm looking for for some games like Corewars. If You having something like this, or if You know where I can find such a game, then send me a mail, please. Christian From: PK6811S@ACAD.DRAKE.EDU Subject: The current ICWS '94 Experimental (Big) hill: Date: 10 Jan 1995 15:04:46 -0600 Message-ID: <01HLOO4FT8AQ002K3T@ACAD.DRAKE.EDU> /+|-+--+--+-|+--+--+--+|-+--+--+--|--+--+--+-|+--+--+--+|-+--+--+--|--+--+--+/ / * _________ . * . + . +__ __ * . * / /+ \========\ ____*_______ + ____* /==\* /==\_____ ._______+ ______ + / / . / \ .\/ /====\\===== \_/====\ \ \/\/ /\====\ \======\/=====/ / / \ \____( __ )| | \/\ ___/ + \ /. / __ \_| | \/\___ \ . / / * .\______ / \____/ |__|* \___ / . \__/\ / (____ /|__| /____ / / / . . + \/ + + . * \/ * .\/ + * \/ . + . \/ + / / * . . * . * . . * + / /|-+--+--+-|+--+--+--+|-+--+--+--|--+--+--+-|+--+--+--+|-+--+--+--|--+--+--+-/ The current ICWS '94 Experimental (Big) hill: # %W/ %L/ %T Name Author Score Age 1 46/ 32/ 22 ivscan6b J.Layland 161 35 2 47/ 36/ 17 Genocide 94x Mike Nonemacher 158 1 3 34/ 16/ 50 Big Phoenix 1.0 J.Pohjalainen 152 6 4 34/ 18/ 48 Aleph 1 Jay Han 150 33 5 44/ 38/ 19 Request-55440 Brant D. Thomsen 149 171 6 42/ 36/ 22 Stimpy v2.0 Brant D. Thomsen 148 26 7 46/ 44/ 10 Test Stefan Strack 147 7 8 43/ 41/ 16 Pyramid v5.3 Michael Constant 145 62 9 44/ 45/ 11 Rave B4.1 Stefan Strack 144 132 10 30/ 16/ 54 Big Silk Warrior 1.0 J.Pohjalainen 143 13 11 34/ 25/ 41 Variation G-1 Jay Han 142 135 12 38/ 39/ 23 Vanity IIx Stefan Strack 137 126 13 39/ 42/ 19 Fscan Jay Han 136 19 14 38/ 41/ 21 Aleph 0 Jay Han 136 34 15 30/ 27/ 43 Splash 1 Jay Han 133 136 16 29/ 26/ 45 Blue Funk Steven Morrell 133 25 17 29/ 25/ 47 NotSoBigImps James Layland 132 31 18 40/ 49/ 11 Squint Mike Nonemacher 131 109 19 31/ 31/ 38 Lucky 13 Stefan Strack 131 177 20 29/ 27/ 44 Der Zweite Blitzkrieg - 9 Mike Nonemacher 131 133 21 3/ 97/ 0 Status Check Anonymous 8 0 From: npc@uts.cc.utexas.edu (UT IEEE CS National Programming Contest) Subject: 1995 U. Texas IEEE Computer Society National Programming Contest Message-ID: Date: Thu, 12 Jan 95 07:24:07 CST 2 GM. 1995 15:52:24 -0600 Organization: The University of Texas at Austin; Austin, Texas Lines: 192 Message-ID: <3f1juoJR 2d@curly.cc.utexas.edu> Reply-To: answers@npc.ece.utexas.edu NNTP-Postinnetcomsocurly.cc.utexas.edu NPC corp e! We now have prize updates!!> { } > derived &operator= (derived &d) : base (d) > { > member1 = d.member1; > member2 = d.member2; > *((base *)this) = d; > } > > The -base- exepressions aDH.ly tRed iECToase class has >member-iltictalization lists. > >I credit Allen I. Holub's book "C+C++: Programming With Objects in Cz@9C++" for this insight - it soist DL a 24-hr bug I y wife>had the night before >esimadline. HTH :-) > >Feel free to correct this if I have mis-understood Holub's book. I haven't read Holub's book, but wut nyhave shown is not elf 5C++. For the copy constructor, the compiler is required to use the base-class and member copy constructors if it generates a copy ctor. It must NOT use From: stst@vuse.vanderbilt.edu (Stefan Strack) Subject: Re: beginner's help Message-ID: <1995Jan12.211049.23433@news.vanderbilt.edu> Date: Thu, 12 Jan 1995 21:10:49 GMT Kevin, my reply to you bounced, so I am posting this instead. > I recently read your faq posted in rec.games.corewar. Well, it was the > first time I have ever heard of corewar and I immediately became > interested. I have reread the faq and downloaded the documents you > mentioned from ftp.csua.berkeley.edu, but I am still having trouble > getting down the basics. I understand most of the commands and > addressing, but I still have a lot of questions. What do you reccomend? > What is the easiest way to get started? Are there any other documents I > should read? Any help would be greatly appreciated. Thanks. > > Kevin > ----------------=< kkennedy@kuentos.guam.net >=---------------- The best intro to the game is still A.K.Dewdney's books, although the rules have changed a little bit since. Check your local library. Once you're done with the books, download one of the warrior archives (e.g. pub/corewar/redcode/warrior10.zip) and try to understand how some of the simpler warriors work. Use a corewar simulator that can single-step through code to see exactly what's going on. Slowly work your way up to more complex warriors and read some of the "tutorial" material at csua in the meantime. If you're completely stuck with something, feel free to ask in the newsgroup. Good luck, Stefan From: stst@vuse.vanderbilt.edu (Stefan Strack) Subject: Re: Is there a '94mars for Amiga? Message-ID: <1995Jan12.222148.24916@news.vanderbilt.edu> Date: Thu, 12 Jan 1995 22:21:48 GMT In article Anders Eurenius writes: >Is there a '94-standard Mars for the Amiga? If there is, _Where_? This is covered in the FAQ ("Where do I find a system for ...?"). Get ftp://ftp.csua.berkeley.edu/pub/corewar/systems/ApMARS03.lha for a compiled version of pMARS v0.3 without display. To get the latest version v0.6.1 of Amiga pMARS, you need to compile it yourself from ftp://ftp.csua.berkeley.edu/pub/corewar/systems/pmars06s.zip Somebody was working on an Amiga display version of pMARS once, but I don't know what happened to it. -Stefan (stst@vuse.vanderbilt.edu) From: Levis_Tremblay@UQAT.UQUEBEC.CA () Subject: Is there a relation? Message-ID: Date: Fri, 13 Jan 1995 16:33:36 GMT I have a somewhat strange question for you guys: Did anyone here FIRST learn RedCode, THEN try the x86 assembly�? I never learn assembly, but I _try_ to learn RedCode. I wonder if it will help me with other assembly programs (for DOS). If there is no connections, well... It's fun anyway! -DeathStroke From: stst@vuse.vanderbilt.edu (Stefan Strack) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 16 Jan 1995 10:45:50 GMT Message-ID: Archive-name: games/corewar-faq Last-modified: 1994/11/25 Version: 2.3.1 These are the Frequently Asked Questions (and answers) from the USENET newsgroup rec.games.corewar. This FAQ list is also available by anonymous FTP from rtfm.mit.edu as pub/usenet/news.answers/games/corewar-faq.Z. TABLE OF CONTENTS Line ------------------------------------------------------------------------ 1. What is Core War? 69 2. Is it Core War or Core Wars? 82 3. Where can I find more information about Core War? 90 4. Core War has changed since Dewdney's articles. Where do I get 116 a copy of the current instruction set? 5. What is ICWS'94? Which simulators support ICWS'94? 135 6. What is the ICWS? 152 7. What is TCWN? 162 8. How do I join? 170 9. Are back issues of TCWNs available? 187 10. What is the EBS? 194 11. Where are the Core War archives? 208 12. Where can I find a Core War system for . . . ? 226 13. I do not have ftp. How do I get all of this great stuff? 275 14. I do not have access to Usenet. How do I post and receive news? 285 15. When is the next tournament? 303 16. What is KotH? How do I enter? 314 17. Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? 483 18. How does SLT (Skip if Less Than) work? 495 19. What does (expression or term of your choice) mean? 507 20. Other questions? 650 --------------------------------------------------------------------- Q 1: What is Core War? A 1: Core War is a game played by two or more programs (and vicariously by their authors) written in an assembly language called Redcode and run in a virtual computer called MARS (for Memory Array Redcode Simulator). The object of the game is to cause all of the opposing programs to terminate, leaving your program in sole posession of the machine. There are Core War systems available for most computer platforms. Redcode has been standardized by the ICWS, and is therefore transportable between all standard Core War systems. ---------------------------------------------------------------------- Q 2: Is it "Core War" or "Core Wars"? A 2: Both terms are used. Early references were to Core War. Later references seem to use Core Wars. I prefer "Core War" to refer to the game in general, "core wars" to refer to more than one specific battle. ---------------------------------------------------------------------- Q 3: Where can I find more information about Core War? A 3: Core War was first described in the "Core War Guidelines" of March, 1984 by D. G. Jones and A. K. Dewdney of the Department of Computer Science at The University of Western Ontario (Canada). Dewdney wrote several "Computer Recreations" articles in "Scientific American" which discussed Core War, starting with the May 1984 article. Those articles are contained in two anthologies: Author: Dewdney, A. K. Title: The Armchair Universe: An Exploration of Computer Worlds Published: New York: W. H. Freeman (c) 1988 ISBN: 0-7167-1939-8 Library of Congress Call Number: QA76.6 .D517 1988 Author: Dewdney, A. K. Title: The Magic Machine: A Handbook of Computer Sorcery Published: New York: W. H. Freeman (c) 1990 ISBN: 0-7167-2125-2 (Hardcover), 0-7167-2144-9 (Paperback) Library of Congress Call Number: QA76.6 .D5173 1990 A.K. Dewdney's articles are still the most readable introduction to Core War, even though the Redcode dialect described in there is no longer current (see Q 4). --------------------------------------------------------------------- Q 4: Core War has changed since Dewdney's articles. Where do I get a copy of the current instruction set? A 4: A draft of the official standard (ICWS'88) is available by anonymous FTP from the Core War archives (ftp.csua.berkeley.edu) as pub/corewar/documents/standards/redcode-icws-88.Z This document is formatted awkwardly and contains ambiguous statements. For a more approachable intro to Redcode, take a look at pub/corewar/documents/tutorial.1.Z tutorial.2.Z (See also Q11) Steven Morrell (morrell@math.utah.edu) is preparing a more practically oriented Redcode tutorial that discusses different warrior classes with lots of example code. Mail him for a preliminary version. Michael Constant (mconst@ ftp.csua.berkeley.edu) is reportedly working on a beginner's introduction. --------------------------------------------------------------------- Q 5: What is ICWS'94? Which simulators support ICWS'94? A 5: There is an ongoing discussion about future enhancements to the Redcode language. A proposed new standard, dubbed ICWS'94, is currently being evaluated. A major change is the addition of "instruction modifiers" that allow instructions to modify A-field, B-field or both. Also new is a post-increment indirect addressing mode and unrestricted opcode and addressing mode combination ("no illegal instructions"). ICWS'94 is backwards compatible; i.e. ICWS'88 warriors will run correctly on an ICWS'94 system. Take a look at the ICWS'94 draft for more information (ftp.csua.berkeley.edu pub/corewar/documents/icws94.0202.Z). You can try out the new standard by submitting warriors to the '94 hills of the KotH servers (see Q16). Two corewar systems currently support ICWS'94, pMARS (various platforms) and Redcoder (Mac), both available at soda (see Q12). --------------------------------------------------------------------- Q 6: What is the ICWS? A 6: About one year after Core War first appeared in Sci-Am, the "International Core War Society" (ICWS) was established. Since that time, the ICWS has been responsible for the creation and maintenance of Core War standards and the running of Core War tournaments. There have been six annual tournaments and two standards (ICWS'86 and ICWS'88). --------------------------------------------------------------------- Q 7: What is TCWN? A 7: Since March of 1987, "The Core War Newsletter" (TCWN) has been the official newsletter of the ICWS. It is published quarterly and recent issues are also available as Encapsulated PostScript on ftp.csua.berkeley.edu (see Q9). --------------------------------------------------------------------- Q 8: How do I join? A 8: For more information about joining the ICWS (which includes a subscription to TCWN), or to contribute an article, review, cartoon, letter, joke, rumor, etc. to TCWN, please contact: Jon Newman 13824 NE 87th Street Redmond, WA 98052-1959 email: jonn@microsoft.com (Note: Microsoft has NO affiliation with Core War. Jon Newman just happens to work there, and we want to keep it that way!) Current annual dues are $15.00 in US currency. ---------------------------------------------------------------------- Q 9: Are back issues of TCWN available? A 9: Recent issues can be found on ftp.csua.berkeley.edu (see Q11). Older issues (up to Winter 1991) are also available (see the next TCWN for details). --------------------------------------------------------------------- Q10: What is the EBS? A10: The Electronic Branch Section (EBS) of the ICWS is a group of Core War enthusiasts with access to electronic mail. There are no fees associated with being a member of the EBS, and members do reap some of the benefits of full ICWS membership without the expense. For instance, the ten best warriors submitted to the EBS tournament are entered into the annual ICWS tournament. All EBS business is conducted in the rec.games.corewar newsgroup. The current goal of the EBS is to be at the forefront of Core War by writing and implementing new standards and test suites (see Q 5). ---------------------------------------------------------------------- Q11: Where is the Core War archive? A11: Many documents such as the guidelines and the ICWS standards along with previous tournament Redcode entries and complete Core War systems are available via anonymous ftp from ftp.csua.berkeley.edu (128.32.43.51) in the /pub/corewar directories. Also, most of past rec.games.corewar postings (including Redcode source listings) are archived there. Jon Blow (blojo@ftp.csua.berkeley.edu) is the archive administrator. When uploading to /pub/corewar/incoming, ask Jon to move your upload to the appropriate directory and announce it on the net. Much of what is available on soda is also available on the German archive at iraun1.ira.uka.de (129.13.10.90) in the /pub/X11/corewars directory. This FAQ is automatically archived by news.answers. See the header for the current archive name and news.answers for how to get it. ---------------------------------------------------------------------- Q12: Where can I find a Core War system for . . . ? A12: Core War systems are available via anonymous ftp from ftp.csua.berkeley.edu in the pub/corewar/systems directory. Currently, there are UNIX, IBM PC-compatible, Macintosh, and Amiga Core War systems available there. It is a good idea to check pub/corewar/incoming for program updates first. CAUTION! There are many, many Core War systems available which are NOT ICWS'88 (or even ICWS'86) compatible available at various archive sites other than ftp.csua.berkeley.edu. Generally, the older the program - the less likely it will be ICWS compatible. Reviews of Core War systems would be greatly appreciated in the newsgroup and in the newsletter. Below is a not necessarily complete or up-to-date list of what's available at soda: MADgic41.lzh - corewar for the Amiga, v4.1 MAD4041.lzh - older version? MAD50B.lha - corewar for the Amiga, beta version 5.0 Redcoder-21.hqx - corewar for the Mac, supports ICWS'88 and '94 core-11.hqx - corewar for the Mac core-wars-simulator.hqx - same as core-11.hqx? corewar_unix_x11.tar.Z - corewar for UNIX/X-windows, ICWS'86 but not ICWS'88 compatible koth31.tar.Z - corewar for UNIX/X-windows. This program ran the former KotH server at intel.com koth.shar.Z - older version kothpc.zip - port of older version of KotH to the PC deluxe20c.tar.Z - corewar for UNIX (broken X-windows or curses) and PC mars.tar.Z - corewar for UNIX, likely not ICWS'88 compatible icons.zip - corewar icons for MS-Windows macrored.zip - a redcode macro-preprocessor (PC) c88v49.zip - PC corewar, textmode display mars88.zip - PC corewar, graphics mode display corwp302.zip - PC corewar, textmode display, slowish mercury2.zip - PC corewar written in assembly, fast! mtourn11.zip - tournament scheduler for mercury (req. 4DOS) pmars06s.zip - portable system, ICWS'88 and '94, runs on UNIX, PC, Mac, Amiga. C source archive pmars06s.tar.Z - same as above pmars062.zip - PC executables with graphics display, req 386+ macpmars02.sit.hqx - pMARS executable for Mac (port of version 0.2) buggy, no display MacpMARS.10.cpt.hqx - port of v0.6 for the Mac, with display and debugger MacpMARS.10s.cpt.hqx - C source (MPW, ThinkC) for Mac frontend ApMARS03.lha - pMARS executable for Amiga (port of version 0.3.1) wincor11.zip - MS-Windows system, shareware ($15) ---------------------------------------------------------------------- Q13: I do not have ftp. How do I get all of this great stuff? A13: There is an ftp email server at ftpmail@decwrl.dec.com. Send email with a subject and body text of "help" (without the quotes) for more information on its usage. If you don't have access to the net at all, send me a 3.5 '' diskette in a self-addressed disk mailer with postage and I will mail it back with an image of the Core War archives in PC format. My address is at the end of this post. ---------------------------------------------------------------------- Q14: I do not have access to Usenet. How do I post and receive news? A14: To receive rec.games.corewar articles by email, join the COREWAR-L list run on the Stormking.Com ListProcessor. To join, send: SUB COREWAR-L FirstName LastName to: LISTPROC@STORMKING.COM You can send mail to corewar-l@stormking.com to post even if you are not a member of the list. Responsible for the listserver is Scott J. Ellentuch (tuc@stormking.com). Another server that allows you to post (but not receive) articles is available. Email your post to rec-games-corewar@cs.utexas.edu and it will be automatically posted for you. ---------------------------------------------------------------------- Q15: When is the next tournament? A15: The ICWS holds an annual tournament. Traditionally, the deadline for entering is the 15th of December. The EBS usually holds a preliminary tournament around the 15th of November and sends the top finishers on to the ICWS tournament. Informal double-elimination tournaments are held frequently among readers of the newsgroup; watch there for announcements or contact me. ---------------------------------------------------------------------- Q16: What is KotH? How do I enter? A16: King Of The Hill (KotH) is an ongoing Core War tournament available to anyone with email. You enter by submitting via email a Redcode program with special comment lines. You will receive a reply indicating how well your program did against the current top twenty programs "on the hill". Your program will play 100 battles against each of the 20 other programs currently on the Hill. You receive 3 points for each win and 1 point for each tie. (The existing programs do not replay each other, but their previous battles are recalled.) All scores are updated to reflect your battles and all 21 programs are ranked from high to low. If you are number 21 you are pushed off the Hill, if you are higher than 21 someone else is pushed off. The original KotH was developed and run by William Shubert at Intel, and discontinued after almost three years of service. Currently, KotHs based on Bill's UNIX scripts but offering a wider variety of hills are are running at two sites: "koth@stormking.com" is maintained by Scott J. Ellentuch (tuc@stormking.com) and "pizza@ecst.csuchico.edu" by Thomas H. Davies (sd@ecst.csuchico.edu). Both KotHs provide very similar services and are therefore covered together. The principal difference is that "pizza" has a much faster internet connection than "stormking". Entry rules for King of the Hill Corewar: 1) Write a corewar program. KotH is fully ICWS '88 compatible, EXCEPT that a comma (",") is required between two arguments. 2) Put a line starting with ";redcode" at the top of your program. This MUST be the first line. Anything before it will be lost. If you wish to receive mail on every new entrant, use ";redcode verbose". Otherwise you will only receive mail if a challenger makes it onto the hill. Use ";redcode quiet" if you wish to receive mail only when you get shoved off the hill. (Also, see 5 below). Additionally, adding ";name " and ";author " will be helpful in the performance reports. Do NOT have a line beginning with ";address" in your code; this will confuse the mail daemon and you won't get mail back. In addition, it would be nice if you have lines beginning with ";strategy" that describe the algorithm you use. There are currently six separate hills you can select by starting your program with ;redcode, ;redcode-x, ;redcode-icws, ;redcode-b, ;redcode-94, or ;redcode-94x. More information on these hills is listed below. 3) Mail this file to "koth@stormking.com" or "pizza@ecst.csuchico.edu". "Pizza" requires a subject of "koth" (use the -s flag on most mailers). 4) Within a few minutes (or the next day for "stormking") you should get mail back telling you whether your program assembled correctly or not. If it did assemble correctly, sit back and wait; if not, make the change required and re-submit. 5) In an hour or so (or the next day for "stormking") you should get more mail telling you how your program performed against the current top 20 programs. If no news arrives during that time, don't worry; entries are put in a queue and run through the tournament one at a time. A backlog may develop. Be patient. If your program makes it onto the hill, you will get mail every time a new program makes it onto the hill. If this is too much mail, you can use ";redcode quiet" when you first mail in your program; then you will only get mail when you make it on the top 20 list or when you are knocked off. Using ";redcode verbose" will give you even more mail; here you get mail every time a new challenger arrives, even if they don't make it onto the top 20 list. Often programmers want to try out slight variations in their programs. If you already have a program named "foo V1.0" on the hill, adding the line ";kill foo" to a new program will automatically bump foo 1.0 off the hill. Just ";kill" will remove all of your programs when you submit the new one. The server kills programs by assigning an impossibly low score; it may therefore take another successful challenge before a killed program is actually removed from the hill. SAMPLE ENTRY: ;redcode ;name Dwarf ;author A. K. Dewdney ;strategy Throw DAT bombs around memory, hitting every 4th memory cell. ;strategy This program was presented in the first Corewar article. bomb DAT #0 dwarf ADD #4, bomb MOV bomb, @bomb JMP dwarf END dwarf ; Programs start at the first line unless ; an "END start" pseudo-op appears to indicate ; the first logical instruction. Also, nothing ; after the END instruction will be assembled. Here are the Specs for the various hills: ICWS'88 Standard Hill Specs: (Accessed with ";redcode", available at "stormking" and "pizza") coresize: 8000 max. processes: 8000 duration: after 80,000 cycles, a tie is declared. max. entry length: 100 minimum distance: 100 instruction set: ICWS '88 ICWS Annual Tournament Hill Specs: (Accessed with ";redcode-icws", available at "stormking" only) coresize: 8192 instructions max. processes: 8000 per program duration: After 100,000 cycles, a tie is declared. max. entry length: 300 minimum distance: 300 instruction set: ICWS '88 ICWS'88 Experimental (Small) Hill Specs: (Accessed with ";redcode-x", available at "pizza" only) coresize: 4096 max. processes: 32 duration: after 65,536 cycles, a tie is declared. max. entry length: 64 minimum distance: 64 instruction set: ICWS '88 ICWS'94 Draft Hill Specs: (Accessed with ";redcode-94", available at "stormking" and "pizza") coresize: 8000 max. processes: 8000 duration: after 80,000 cycles, a tie is declared. max. entry length: 100 minimum distance: 100 instruction set: ICWS '94 Draft ICWS'94 Beginner's Hill Specs: (Accessed with ";redcode-b", available at "pizza" only) coresize: 8000 max. processes: 8000 duration: after 80,000 cycles, a tie is declared. max. entry length: 100 minimum distance: 100 instruction set: ICWS '94 Draft ICWS'94 Experimental (Big) Hill Specs: (Accessed with ";redcode-94x", available at "stormking" and "pizza") coresize: 55440 max. processes: 10000 duration: after 500,000 cycles, a tie is declared. max. entry length: 200 minimum distance: 200 instruction set: ICWS '94 Draft If you just want to get a status report without actually challenging the hills, send email with ";status" as the message body (and don't forget "Subject: koth" for "pizza"). If you send mail to "pizza" with "Subject: koth help" you will receive instructions that may be more up to date than those contained in this document. All hills run portable MARS (pMARS) version 0.6, a platform-independent corewar system available at soda (see Q12). The '94 and '94x hills allow three experimental opcodes and addressing modes currently not covered in the ICWS'94 draft document: SEQ - Skip if EQual (synonym for CMP) SNE - Skip if Not Equal NOP - (No OPeration) * - indirect using A-field as pointer { - predecrement indirect using A-field } - postincrement indirect using A-field ---------------------------------------------------------------------- Q17: Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? A17: Core is initialized to DAT 0, 0. This is an "illegal" instruction under ICWS'88 rules and strictly compliant assemblers (such as KotH or pmars -8) will not let you write a DAT 0, 0 instruction - only DAT #0, #0. So this begs the question, how to compare something to see if it is empty core. The answer is, most likely the instruction before your first instruction and the instruction after your last instruction are both DAT 0, 0. You can use them, or any other likely unmodified instructions, for comparison. Note that under ICWS'94, DAT 0, 0 is a legal instruction. ---------------------------------------------------------------------- Q18: How does SLT (Skip if Less Than) work? A18: SLT gives some people trouble because of the way modular arithmetic works. It is important to note that all negative numbers are converted to positive numbers before a battles begins. Example: (-1) becomes (M - 1) where M is the memory size. Once you realize that all numbers are treated as positive, it is clear what is meant by "less than". It should also be clear that no number is less than zero. ---------------------------------------------------------------------- Q19: What does (expression or term of your choice) mean? A19: Here is a selected glossary of terms. If you have a definition and/or term you wish to see here, please send it to me. (References to an X-like program mean that the term X is derived from the specific program X and has become a generic term). Bootstrapping - Strategy of copying the active portion of the program away from the initial location, leaving a decoy behind and making the relocated program as small as possible. B-Scanners - Scanners which only recognize non-zero B-fields. example add #10,scan scan jmz example,10 C - Measure of speed, equal to one location per cycle. Speed of light. CMP-Scanner - A Scanner which uses a CMP instruction to look for opponents. example add step,scan scan cmp 10,30 jmp attack jmp example step dat #20,#20 Color - Property of bombs making them visible to scanners, causing them to attack useless locations, thus slowing them down. example dat #100 Core-Clear - code that sequentially overwrites core with DAT instructions; usually the last part of a program. Decoys - Bogus or unused instructions meant to slow down Scanners. Typically, DATs with non-zero B-fields. DJN-Stream (also DJN-Train) - Using a DJN command to rapidly decrement core locations. example . . . . . . djn example,<4000 Dwarf - the prototypical small bomber. Gate-busting - (also gate-crashing) technique to "interweave" a decrement-resistant imp-spiral (e.g. MOV 0, 2668) with a standard one to overrun imp-gates. Hybrids - warriors that combine two or more of the basic strategies, either in sequence (e.g. stone->paper) or in parallel (e.g. imp/stone). Imp - Program which only uses the MOV instruction. example MOV 0, 1 or example MOV 0, 2 MOV 0, 2 Imp-Gate - A location in core which is bombed or decremented continuously so that an Imp can not pass. Also used to describe the program-code which maintains the gate. example ... ... SPL 0, In article <3fep1o$mf3@news.cc.oberlin.edu>, pburgess@ocvaxa.cc.oberlin.edu writes: > Why is it that whenever I send a non-imp variant to the koth server > it always gets trompsed on by everything else? > Is it because my math is wrong or something? > By the way you 1-on-1 people: I had the same problem. Readm > The armchair Universe By a.k. Dewdney(suggested in the faq) It's > the best thing to get started with. > -Paul Based on your scores, you almost certainly were self-destructing. You should win more than one or two battles just by chance. How about posting one of your programs so we can tear it up verbally as well? :-) Paul Kline pk6811s@acad.drake.edu From: pk6811s@acad.drake.edu Subject: Re: Why imps fail:Code etc... Date: 17 Jan 95 14:23:04 CST Message-ID: <1995Jan17.142304@acad.drake.edu> Paul Huff challenges not only KotH, but KotH Authors! >;redcode verbose >;name Tango Zed >;author Paul Huff >DAT #8 >DAT #1008 >MOV <-2, <-1 >CMP #0, -3 >JMP 2 >JMP -3 >MOV #1008, 995 >MOV #8, #993 >JMP 994 1. The simulator will start with the first line if there is no END statement which means DAT #8 and you are dead. 2. CMP should be interpreted as skip-if-equal, but you seem to have it as skip-if-not-equal, so the counting is off (you get to save a line :-) There used to be a Mac simulator that had this wrong too - took me a long time to get used to it the right way after that. 3. This is a jumper like Gemini. Gemini had a brief success before the first replicator, but not much since. The idea was you could stay ahead of a short-step bomber long enough to overwrite his code. However, modern bombing patterns are much more efficient, and the variety on the Hills will make it very difficult to come up with a jump distance that works against many opponents. 4. Here is a multi-process version: st spl 1 ; create 2 processes spl 1 ; double that - 4 processes mov #4,0 ; reset pointer mov <-1,<1 ; 4 moves jmp @0,1008 ; 4 jumps dat #0 ; end st ; always tell simulator where to start Actually this isn't quite right, since 1008 gets decremented once after each copy. 5. Here is a 'Silk-variant' using '94-standard post-increments: st spl 1 ; create 2 processes mov -1,0 ; add 1 more spl @0,1008 ; spl instead of jmp mov }-1,>-1 ; 3 moves dat #0 ; left behind to die end st ; always tell simulator where to start For reference, here is Jon Newman's own Gemini source: ; GEMINI copies itself forward about 100 cells ; and then jumps to the copy. ; GEMINI has required considerable modification ; to run under Core War '89. Jon Newman offset equ 100 source dat 0,0 dest dat 0,source+offset loop add #1,source add #1,dest start mov @source,@dest cmp #last-source,source jmp loop,0 done mov #0,source+offset mov #source-dest+offset,dest+offset last jmp start+offset,0 end start Boy does this look old!!! Check out the copy routine in Mice, which will still beat every dat-bomber: ; MICE ; by: ; Chip Wendell ; ; ; org org ptr dat #0 #0 start mov #12 ptr loop mov @ptr ;redcode verbose ;name Tango Zed ;author Paul Huff DAT #8 DAT #1008 MOV <-2, <-1 CMP #0, -3 JMP 2 JMP -3 MOV #1008, 995 MOV #8, #993 JMP 994 Ok, here's the code :) It failed miserably. Maybe that's because all it did was jump forward every 1000 instructions. -Paul zhuff@ocvaxa.cc.oberlin.edu From: pburgess@ocvaxa.cc.oberlin.edu Subject: ;assert? Date: 18 Jan 1995 03:18:28 GMT Message-ID: <3fi1a4$5r@news.cc.oberlin.edu> I always get an error saying no ;assert statement. Well, actually it's called a "Warning." Can somebody please explain to me what that is? Thanks, -Paul zhuff@ocvaxa.cc.oberlin.edu From: richard@thegate.xs4all.nl (Richard van der Brugge ) Subject: Re: Is there a relation? Message-ID: Date: Wed, 18 Jan 95 23:28:25 GMT+1 Levis_Tremblay@UQAT.UQUEBEC.CA wrote: : I have a somewhat strange question for you guys: Did anyone here FIRST : learn RedCode, THEN try the x86 assembly�? I never learn assembly, but I : _try_ to learn RedCode. I wonder if it will help me with other assembly : programs (for DOS). If there is no connections, well... It's fun anyway! I found it a nice way to practice efficient programming skills. -- .-----------------------------------------------------------------------------. | Richard van der Brugge *PGP key available* | |GU -d+>d--- (!)H s++:++ g- p?+ !a w++ v?>!v C++++ P+ U--- L+ |###BitFusion###| |3- E---- N++ K- W--- M-- Y+ 5++ f? !V -po+ G'' b+++ D+ u- !n |#####Games#####| | Use the source, Luke! | +-----------------------------------------------------------------------------+ From: David@reggie.demon.co.uk (David Perrin) Subject: Re: 1-ON-1 Date: Fri, 20 Jan 1995 14:24:38 +0000 Message-ID: <790611878snz@reggie.demon.co.uk> In article <3f6oe1$nd9@freenet3.scri.fsu.edu> jricker@freenet2.scri.fsu.edu "Joel Ricker" writes: > I'm new to asssembly programming and am trying to learn corewars. Is > there anybody who would like to work to work 1-on-1 with me to help me > out? > > Thanx. Yeah, I read some stuff, have been writing PCrobots and am happy with the results but have absolutely no idea how you "actually" go about a corewars program. I'm happy to swap ignorances. -- Kermit From: Dustin Andrews Subject: addressing modes. Please help me Date: Mon, 23 Jan 1995 08:41:41 -0900 (AST) Message-ID: Ok, could someone please explain the addressing modes to me. In more or less plain english? --Dustin --------------------------- |Occasional MTG Player | "In matters of love and high explosives | |Free-lance computer | all of the factors can never be known" | |consulting and repair | -The morning of the day they did it. | -------------------------------------------------------------------- Subject: Comparing to address + #number Message-ID: <1995Jan23.094950.1588@rhodes> From: graham@harlie.mathcs.rhodes.edu (Randy Graham) Date: 23 Jan 95 09:49:49 -0500 I am trying to write a warrior with ICWS '94. I have everything working but one thing. I would like at one point to compare an address in the B-field of one instruction to an absolute number plus the address of the B-field of another instruction. For example, suppose I have the few following lines of code pulled from different spots in my warrior: site jmp begin, #-8 ... step jmp seep, #512 And at one point, I want to compare site's B-field (which is regularly decremented by step's B-field) to #18 + the B-field of step. This is in hopes of preventing attacks on myself, but still remaining CORESIZE independant (spelling?). I though slt.b site, #18+step would do it, but my warrior just constantly skips the next step and goes to the step reduction code, thus very quickly getting to my core sweep. So, can I do this? If so, what specifically do I do. I am already at 16 instructions. I don't want to be any larger. Can I do this compare in one step? The important thing is comparingto a number closer and closer to the end of my program after each redution in step size. Thx, Randy From: unbelver@bashful.cc.utexas.edu (Carlos Y. Villalpando) Subject: New! UTexas IEEECS Nat. Programming Contest Application update!! Date: 23 Jan 1995 10:55:39 -0600 Message-ID: <3g0n2b$nlh@bashful.cc.utexas.edu> Ignore previous post if cancel didn't get to you. Correct deadline is Feb 12! Hello all! Because there are a few spots for applications left and of numerous requests we have received, we have decided to extend the deadline to Feburary 12th and everybody will be notified the next day on the 13th. We decided to extend the deadline because of or lack of net connection for several weeks last semester. Although we had extended it already, we realized we extended the deadline over a period when many would not be at school. Several schools mailed me saying that they tried to contact me during our down time and didn't realize that mail to us worked again until too late. (they provided dates that I did not provide that agreed with our down time.) All applications will be treated equally and fairly. The quality of applications received so far will make it a lively selection process :^) On other notes, we have a WWW page under construction that should be finished soon. While under construction, it will be under the URL: http://npc.ece.utexas.edu:8000 When completed, it will be moved to URL: http://uts.cc.utexas.edu/~npc/npc.html Feel free to check it out and mail comments to the maintainers. --Carlos Villalpando 1995 NPC Administrative Chair ============================================================================= We now have prize updates!!! Thanks to Micron Technologies and Quarterdeck for their donations of 3 486 Multimedia Computers and Desqview X developer's kits! Send in your apps Real Soon NOW!!! Join in this exciting event!! :-----------------------------------------------------------------------------: ANNOUNCING THE 1995 IEEE-CS NATIONAL PROGRAMMING CONTEST :-----------------------------------------------------------------------------: EVENT: The 1995 IEEE Computer Society (inter)National Programming Contest WHERE: University of Texas at Austin, USA DATE: March 25, 26 1995 :-----------------------------------------------------------------------------: FREQUENTLY ASKED QUESTIONS ABOUT THE NATIONAL PROGRAMMING CONTEST Q: What is the IEEE CS National Programming Contest (NPC)? A: The NPC is an invitational computer programming contest which challenges 16 of the finest undergraduate student programing teams in the world to compete against each other in a new and exciting contest format. Each school sends a team of three students. These three students are given just one day to write a 'player', a program which will compete against other players in a game created for the contest by the NPC organizers. The nature of the game will not be revealed until the contest day. Last year, contestants wrote players that flew space ships around an arena which tried to bump or shoot each other out of the arena. Sources written by last years teams and binaries are available by anonymous ftp from npc.ece.utexas.edu in /pub/Space_Brawl_NPC94/. Q: What is the format of the National Programming Contest? A: On Friday night, the contestants will meet at the hotel for an introductory assembly and registration. Although the contest doesn't begin until Saturday morning, we ask the teams to arrive Friday evening, as this information session is very important. Team packets containing information about the game will be distributed at this time. On Saturday, the first contest day, the contestants will be transported to IBM for the day of programming. Approximately 18 hours over Saturday and Sunday will be allowed for programming. On Sunday, the second day of the contest, after a couple of hours of final work, the contestants' programs fight each other for first place. The contest will conclude with an awards ceremony and prize distribution. The 1995 NPC will be held at IBM's Austin facility. The programming and gameplay will take place on 50 IBM RS/6000 UNIX workstations linked through a token-ring network. The contestants will use C++ to write their programs. We ask that at least one member of the team be experienced with C++ programming in a UNIX environment. It is usually best if all three teammates know C++ programming. Q: Who may compete in the National Programming Contest? A: Although the NPC was originally intended to be only a national event, we are getting interest from international schools. We encourage these schools to submit applications if they are interested in sending a team. Teams will no longer be invited automatically, as we only have room for 16 teams. All teams interested in competing are encouraged to apply. All competitors must be undergraduate students (or equivalent) in their major on the day of the contest. If this requirement is not clear or your country uses a different system, please mail us for clarification, as this rule will be strictly enforced. All teams must consist of exactly three competitors. You DO NOT have to be a member of IEEE or IEEE-CS to compete. Q: Are there any contest fees for NPC? A: The NPC is free to the competitors. The sponsors of NPC will pay for all food during the contest days and all transportation between the hotel and contest site. To arrange for more than one hotel room or for rental cars, please phone ahead. The NPC will not cover the cost of transportation to and from Austin. However, you will be notified in time to arrange for reduced-rate advance air fares. Q: How old is the NPC? This is the fourth incarnation of the NPC. The first contest was held at the University of Texas on November 21, 1991 and last year's contest was held March 26th and 27th at IBM in Austin, Texas. IBM has graciously agreed to host our contest again this year. The winner of last year's contest was the team from Stanford University, Q: What are the prizes? A: Last year, Micron donated 3 486 computers and Watcom donated 9 of their 32-Bit Professional C compilers. This year's prizes are in the works. Stay tuned for more details. Q: What is the format of the application? A: Please submit applications via e-mail. There is no limit on size except common-sense. We will be looking over each application very carefully and may send mail back to you for clarifications. If you ABSOLUTELY don't have access to e-mail, we can be reached at: National Programming Contest University of Texas at Austin ENS 103 Austin, TX 78712 Please allow as much time as is necessary for your mail to reach us by the deadline. (This can be up to and over three weeks for international mail) And for our reply to reach you. Also remember that 'snail-mail' is not very reliable compared to e-mail, so we may not even receive your application if you send it in this manner. In the past, we've had trouble with several teams from a school having members with similar qualifications. The selection committee can use every bit of relevant information in making their decision (i.e. Computer-related experience, activities, honors & awards) Previous programming-contest experience is a plus, and could be used as a tie-breaker in making the selections. We must remind you that only one team will be selected per school, and each team must have three members. Please include the following information in your application: 1) Names of the three team members 2) E-mail address of a sponsor or contact (may be a member of the team) 3) School 4) Major of each member 5) Programming experience, honors, awards, activities & clubs (computer-related), and any other relevant info. If you have experience with programming AI, then include that. If you know some obscure language, then let us know. If you don't receive acknowledgement of your application withing one week, please resubmit it. Though you should receive an immediate reply, sometimes things can be lost in the shuffle. The application deadline is midnight, February 12, 1995. All applicants will be notified of their status by February 13th, 1995 at the latest. Q: Who is organizing this event? A: This event is organized by the students of the IEEE-CS Student Branch Chapter at the University of Texas at Austin, USA. With the help of some (in)voluntary recruits. Q: WHY do you do this? A: That's a hard one. Believe it or not, we have a lot of fun writing the game. (Which is half the work) Meetings are held weekly, with various tasks assigned to different people. These include writing the server, the API, the graphics server, sound, and various other programming tasks. Most of us plan to go into computer-related fields after graduation, and this is a step in that direction. Others, while involved in other fields, just have fun working with computers as a hobby. And, if the hard work weren't fulfillment enough (it isn't) the contest itself is a very exciting event for all who participate. Q: What if we want to start a contest at our school? A: Go for it. You'll need people to help program, to raise funds, to get sponsors, and to organize. And of course, you'll need contestants. For a smaller contest, you can host one at a local level, with a small entry fee to buy pizza for a small-scale one day contest. These can be organized very quickly, with minimal overhead. The NPC, however is very large-scale, and has been in development for the last four years, always growing. Work on next year's contest will begin the day after, and possibly before this year's contest. Always remember that you can re-use code and ideas from previous contests. :-----------------------------------------------------------------------------: APPLICATION DEADLINE: February 12, 1994 SEND APPLICATIONS TO: apply@npc.ece.utexas.edu SEND QUESTIONS TO: answers@npc.ece.utexas.edu :-----------------------------------------------------------------------------: From: PK6811S@ACAD.DRAKE.EDU Subject: The current Standard KotH hill: Message-ID: <01HM6RW012Z6002208@ACAD.DRAKE.EDU> Date: Mon, 23 Jan 1995 13:42:41 -0500 (CDT) /+|-+--+--+-|+--+--+--+|-+--+--+--|--+--+--+-|+--+--+--+|-+--+--+--|--+--+--+/ / * _________ . * . + . +__ __ * . * / /+ \========\ ____*_______ + ____* /==\* /==\_____ ._______+ ______ + / / . / \ .\/ /====\\===== \_/====\ \ \/\/ /\====\ \======\/=====/ / / \ \____( __ )| | \/\ ___/ + \ /. / __ \_| | \/\___ \ . / / * .\______ / \____/ |__|* \___ / . \__/\ / (____ /|__| /____ / / / . . + \/ + + . * \/ * .\/ + * \/ . + . \/ + / / * . . * . * . . * + / /|-+--+--+-|+--+--+--+|-+--+--+--|--+--+--+-|+--+--+--+|-+--+--+--|--+--+--+-/ The current Standard KotH hill: # %W/ %L/ %T Name Author Score Age 1 37/ 24/ 39 Yop La Boum v2.1 P.E.M & E.C. 151 76 2 43/ 39/ 18 Vanity II Stefan Strack 147 120 3 44/ 43/ 13 Iron Gate 1.5 Wayne Sheppard 146 129 4 42/ 38/ 19 Request v2.0 Brant D. Thomsen 146 99 5 36/ 28/ 36 Annihilator v2.1 Carlos Paredes 144 23 6 32/ 20/ 49 Smoke v1.3a Brian Zellner 143 10 7 31/ 19/ 50 Der Zweite Blitzkrieg Mike Nonemacher 143 80 8 40/ 38/ 22 Christopher Steven Morrell 142 72 9 31/ 20/ 49 Sphinx v5.1 W. Mintardjo 141 32 10 28/ 17/ 55 CAPS KEY IS STUCK AGAIN Steven Morrell 138 86 11 38/ 41/ 21 Titled Steven Morrell 135 22 12 34/ 35/ 31 Keystone t21 P.Kline 133 118 13 24/ 17/ 59 The Plauge Anonymous 132 35 14 24/ 16/ 60 Blue Funk 88 Steven Morrell 131 45 15 24/ 17/ 59 NC Killer Anonymous 131 36 16 24/ 17/ 59 Night Crawler Wayne Sheppard 131 25 17 23/ 15/ 62 ttti nandor sieben 130 102 18 20/ 16/ 64 Peace MR. JONES 125 8 19 20/ 16/ 64 Kembar Myst 125 7 20 5/ 27/ 68 Tango Farley v 2.2 Paul Huff 83 1 21 2/ 98/ 0 Status Check Anonymous 7 0 From: cm4bcrjc@bs47c.staffs.ac.uk (Richard Clamp) Subject: Re: Is there a relation? Date: 23 Jan 1995 14:33:45 GMT Message-ID: <3g0eo9$n18@bs33n.staffs.ac.uk> Levis_Tremblay@UQAT.UQUEBEC.CA wrote: : I have a somewhat strange question for you guys: Did anyone here FIRST : learn RedCode, THEN try the x86 assembly�? I never learn assembly, but I : _try_ to learn RedCode. I wonder if it will help me with other assembly : programs (for DOS). If there is no connections, well... It's fun anyway! I personally would doubt it. I'd feel te urge to steal command.com's processes and drive it into the ground (a fitting end in some respects) Richard -- Richard Clamp | Standard Disclaimer: My views are my own cm4bcrjc@bs47c.staffs.ac.uk | no one else wanted them. From: PK6811S@ACAD.DRAKE.EDU Subject: The current Experimental (Small) hill: Message-ID: <01HM6V0L36360022E2@ACAD.DRAKE.EDU> Date: Mon, 23 Jan 1995 15:11:55 -0500 (CDT) /+|-+--+--+-|+--+--+--+|-+--+--+--|--+--+--+-|+--+--+--+|-+--+--+--|--+--+--+/ / * _________ . * . + . +__ __ * . * / /+ \========\ ____*_______ + ____* /==\* /==\_____ ._______+ ______ + / / . / \ .\/ /====\\===== \_/====\ \ \/\/ /\====\ \======\/=====/ / / \ \____( __ )| | \/\ ___/ + \ /. / __ \_| | \/\___ \ . / / * .\______ / \____/ |__|* \___ / . \__/\ / (____ /|__| /____ / / / . . + \/ + + . * \/ * .\/ + * \/ . + . \/ + / / * . . * . * . . * + / /|-+--+--+-|+--+--+--+|-+--+--+--|--+--+--+-|+--+--+--+|-+--+--+--|--+--+--+-/ The current Experimental (Small) hill: # %W/ %L/ %T Name Author Score Age 1 63/ 26/ 11 Iron Gate Wayne Sheppard 201 26 2 47/ 16/ 36 Night Crawler Wayne Sheppard 178 28 3 43/ 12/ 45 Fore Wayne Sheppard 174 27 4 51/ 39/ 10 Poison-1 MR. JONES 163 4 5 45/ 29/ 26 Veeble Jr. T. H. Davies 161 92 6 38/ 17/ 44 Lots of imps Wayne Sheppard 159 93 7 39/ 19/ 42 Paperous-II Paperous-II 159 12 8 37/ 24/ 39 Killer Kevin Deitchman 150 56 9 32/ 19/ 50 Carbon Franz 145 8 10 30/ 17/ 53 Carbon 2 Franz 143 3 11 44/ 45/ 11 Killer Carbon Franz 142 1 12 43/ 48/ 9 Killer Carbon 1.1 Franz 139 2 13 30/ 26/ 45 Stupid IV Doctor QQ 134 9 14 41/ 56/ 4 No Ties Allowed Wayne Sheppard 126 25 15 39/ 52/ 9 Faster Hole v2.1 Franz 125 24 16 34/ 45/ 21 strange dwarf 2 Franz 122 20 17 36/ 52/ 12 Freeze-x! Anonymous 120 80 18 33/ 50/ 17 HotSand 1.1 J. Pohjalainen 116 88 19 33/ 50/ 17 strange dwarf Franz 116 22 20 33/ 52/ 15 QQQ Franz 114 18 21 2/ 97/ 0 Status Check Anonymous 7 0 From: rrognlie@netcom.com (Richard Rognlie) Subject: The Current C++Robots Koth Hill Message-ID: Date: Tue, 24 Jan 1995 12:21:50 GMT ----------------------------------------------------------------------------- | ______ ________ ____ __ | | /======\ \=======\ \===| _|==|_ | | / / \/ __ __ | ) | | (_ _) | | / / _|==|_ _|==|_ | __ / ____ | |__ ____ | | _____ | | \ \______(_ _)(_ _)| \ /====\ | \ /====\ | | /====/ | | \ / |__| |__| | |\ \ ( __ )| __ )( __ )| |_ \___ \ | | \______/ |__| \___\ \____/ |_____/ \____/ \___\ /____/ | | | | (c) 1995 Richard W. Rognlie | | | ----------------------------------------------------------------------------- For complete help about C++Robots, send an E-mail message to: pbmserv@netcom.com with "help c++robots" (without the quotes) as the Subject line. Program Name Score W / L / T Age Author ================ ===== =========== === ===================================== 1 crawl 273 91/ 9/ 0 21 blikror@inet.uni-c.dk (Mogens Olesen) 2 rikke 258 86/ 14/ 0 28 blikror@inet.uni-c.dk (Mogens Olesen) 3 one_man_one_bot 239 79/ 19/ 2 1 cfodor@megatek.com (Chris Fodor) 4 conan 205 68/ 31/ 1 11 tdavis@garnet.acns.fsu.edu (Thomas E. 5 damned1 189 63/ 37/ 0 7 hesiden@Stoner.COM (Mark Hesidence) 6 randwalk 184 61/ 38/ 1 22 hanwen@stack.urc.tue.nl (Han-Wen Nien 7 inyourface 176 57/ 38/ 5 2 hesiden@Stoner.COM (Mark Hesidence) 8 terror 175 58/ 41/ 1 8 robc@bigb.stortek.com (Rob Creager x2 9 snip3 157 48/ 39/ 13 31 hanwen@stack.urc.tue.nl (Han-Wen Nien 10 ittybittykitty 156 50/ 44/ 6 23 hansk@netcom.com (Hans Kellner) 11 tracker 153 49/ 45/ 6 25 rrognlie@netcom.com (Richard Rognlie) 12 proto5 121 40/ 59/ 1 29 robc@bigb.stortek.com (Rob Creager x2 13 pointnshoot 121 39/ 57/ 4 14 jbreed@doink.edaal.ingr.com (Jim Reed 14 newsitter3 115 37/ 59/ 4 26 gl8f@fermi.clas.virginia.edu (Greg Li 15 sponge2 106 35/ 64/ 1 30 garlock@iron.afsac.wpafb.af.mil (Erin 16 boxer 101 31/ 61/ 8 24 wfp5p@tigger.itc.virginia.edu (Bill P 17 hereicome 97 32/ 67/ 1 6 jbreed@doink.edaal.ingr.com (Jim Reed 18 orion 95 31/ 67/ 2 27 hanwen@stack.urc.tue.nl (Han-Wen Nien 19 turbostush 94 30/ 66/ 4 37 jesensky@cse.psu.edu (James J Jesensk 20 agility 85 28/ 71/ 1 3 dhouston@nynexmc.co.uk (David Houston -- /\/\/\ | Richard Rognlie / Sr. Computer Analyst / PRC Inc. / McLean, VA / \ \ \ | E-Mail: rrognlie@netcom.com *or* rognlie_richard@prc.com \ / / / | Phone: (Home) (703) 361-4764 (Office) (703) 556-2458 \/\/\/ | (Fax) (703) 556-1174 Subject: dat From: graham@harlie.mathcs.rhodes.edu (Randy Graham) Date: 24 Jan 95 12:56:43 -0500 I have seen a number of warriors with instructions like the following: dat <0-IVAL, <0-IVAL and I can't figure out what they are for. Even reading the standard I can't tell what happens. Is the decrement evaluated every time the dat instruction is referenced? I can understand it's use if you have a spl 0 preceding it to make an imp-gate, but I have seen this without any such lead in. Someone please explain what the use of a decrementing or incrementing dat instruction does when you never have your code execute it. Randy From: PK6811S@ACAD.DRAKE.EDU Subject: The current ICWS '94 Experimental (Big) hill: Message-ID: <01HM8PY8OYGY002R8K@ACAD.DRAKE.EDU> Date: Tue, 24 Jan 1995 23:08:49 -0500 (CDT) /+|-+--+--+-|+--+--+--+|-+--+--+--|--+--+--+-|+--+--+--+|-+--+--+--|--+--+--+/ / * _________ . * . + . +__ __ * . * / /+ \========\ ____*_______ + ____* /==\* /==\_____ ._______+ ______ + / / . / \ .\/ /====\\===== \_/====\ \ \/\/ /\====\ \======\/=====/ / / \ \____( __ )| | \/\ ___/ + \ /. / __ \_| | \/\___ \ . / / * .\______ / \____/ |__|* \___ / . \__/\ / (____ /|__| /____ / / / . . + \/ + + . * \/ * .\/ + * \/ . + . \/ + / / * . . * . * . . * + / /|-+--+--+-|+--+--+--+|-+--+--+--|--+--+--+-|+--+--+--+|-+--+--+--|--+--+--+-/ The current ICWS '94 Experimental (Big) hill: # %W/ %L/ %T Name Author Score Age 1 44/ 30/ 26 ivscan6b J.Layland 159 36 2 47/ 36/ 17 Genocide 94x Mike Nonemacher 157 2 3 43/ 35/ 22 Stimpy v2.0 Brant D. Thomsen 151 27 4 44/ 37/ 19 Request-55440 Brant D. Thomsen 151 172 5 47/ 43/ 10 Test Stefan Strack 150 8 6 46/ 43/ 10 Rave B4.1 Stefan Strack 149 133 7 32/ 18/ 51 Aleph 1 Jay Han 146 34 8 30/ 16/ 55 Big Phoenix 1.0 J.Pohjalainen 144 7 9 42/ 42/ 16 Pyramid v5.3 Michael Constant 141 63 10 38/ 38/ 24 Vanity IIx Stefan Strack 139 127 11 31/ 24/ 44 Variation G-1 Jay Han 139 136 12 26/ 18/ 56 Mad Rabbits Matthias Wollnik 135 1 13 26/ 16/ 58 Big Silk Warrior 1.0 J.Pohjalainen 135 14 14 37/ 43/ 20 Fscan Jay Han 131 20 15 28/ 26/ 46 Splash 1 Jay Han 130 137 16 36/ 42/ 22 Aleph 0 Jay Han 129 35 17 27/ 26/ 47 Der Zweite Blitzkrieg - 9 Mike Nonemacher 128 134 18 27/ 25/ 48 Blue Funk Steven Morrell 128 26 19 26/ 24/ 50 NotSoBigImps James Layland 128 32 20 28/ 31/ 41 Lucky 13 Stefan Strack 126 178 21 3/ 97/ 0 Status Check Anonymous 8 0 Subject: adding From: graham@harlie.mathcs.rhodes.edu (Randy Graham) Date: 25 Jan 95 15:45:16 -0500 I have seen programs that add a statement such as dat <19, <-19 to a statement like mov 2, <-3 and then queued the mov statement. If the above dat had been immediate (#) instead of predecrement indirect, I know what the result would have been. My question is, a far as adding goes, does this give the same result either way (that is, adds 19 to .a and subs 19 from .b)? Thx, Randy From: satya@chianti.ebay.sun.com (Satya Dodda) Subject: test Date: 25 Jan 1995 21:10:06 GMT Message-ID: <3g6ene$86u@male.EBay.Sun.COM> TEST From: mconst@soda.CSUA.Berkeley.EDU (Michael Constant) Subject: Re: adding Randy Graham wrote: >My question is, a far as adding goes, does this give the same result >either way (that is, adds 19 to .a and subs 19 from .b)? Most redcode instructions ignore the addressing modes of the source and destination instructions. So yes, the code fragment you posted will have the exact same effect as the same fragment with immediate addressing in the dat instruction instead of predecrement. Note that this means that no sort of double indirection is possible in corewar -- because this code fragment mov @1, foo dat #0, @bar will have the exact same effect as this one mov @1, foo dat #0, #bar even though you might have thought that the indirect addressing in the dat instruction (in the first fragment) would have some effect. -- Michael Constant (mconst@soda.csua.berkeley.edu) From: nscat@breeze.aer.com (NSCAT Investigator) Subject: RoboWar? Anybody know where to get it? Date: 26 Jan 1995 22:42:26 GMT Message-ID: Same as the subject. Thanks. E me. :-) :-) :-) From: bruce@blend.ugcs.caltech.edu (Bruce J. Bell) Subject: Re: dat graham@harlie.mathcs.rhodes.edu (Randy Graham) writes: >I have seen a number of warriors with instructions like the following: > dat <0-IVAL, <0-IVAL >and I can't figure out what they are for. Even reading the standard I >can't tell what happens. Is the decrement evaluated every time the >dat instruction is referenced? I can understand it's use if you have a >spl 0 preceding it to make an imp-gate, but I have seen this without >any such lead in. Someone please explain what the use of a >decrementing or incrementing dat instruction does when you never have >your code execute it. The decrement is evaluated every time the dat instruction is executed. The point is to make the *other* guy execute the dat instruction, in which case the decrements make the bomb that much more destructive. Added points for choosing offsets that specifically target popular imp-spiral configurations... Bruce -- You are the lens of the world: the lens through which the world may become aware of itself. The world, on the other hand, is the only lens in which you can see yourself. It is both lenses together that make vision. From: stst@vuse.vanderbilt.edu (Stefan Strack) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 31 Jan 1995 20:00:18 GMT Message-ID: Archive-name: games/corewar-faq Last-modified: 1994/11/25 Version: 2.3.1 These are the Frequently Asked Questions (and answers) from the USENET newsgroup rec.games.corewar. This FAQ list is also available by anonymous FTP from rtfm.mit.edu as pub/usenet/news.answers/games/corewar-faq.Z. TABLE OF CONTENTS Line ------------------------------------------------------------------------ 1. What is Core War? 69 2. Is it Core War or Core Wars? 82 3. Where can I find more information about Core War? 90 4. Core War has changed since Dewdney's articles. Where do I get 116 a copy of the current instruction set? 5. What is ICWS'94? Which simulators support ICWS'94? 135 6. What is the ICWS? 152 7. What is TCWN? 162 8. How do I join? 170 9. Are back issues of TCWNs available? 187 10. What is the EBS? 194 11. Where are the Core War archives? 208 12. Where can I find a Core War system for . . . ? 226 13. I do not have ftp. How do I get all of this great stuff? 275 14. I do not have access to Usenet. How do I post and receive news? 285 15. When is the next tournament? 303 16. What is KotH? How do I enter? 314 17. Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? 483 18. How does SLT (Skip if Less Than) work? 495 19. What does (expression or term of your choice) mean? 507 20. Other questions? 650 --------------------------------------------------------------------- Q 1: What is Core War? A 1: Core War is a game played by two or more programs (and vicariously by their authors) written in an assembly language called Redcode and run in a virtual computer called MARS (for Memory Array Redcode Simulator). The object of the game is to cause all of the opposing programs to terminate, leaving your program in sole posession of the machine. There are Core War systems available for most computer platforms. Redcode has been standardized by the ICWS, and is therefore transportable between all standard Core War systems. ---------------------------------------------------------------------- Q 2: Is it "Core War" or "Core Wars"? A 2: Both terms are used. Early references were to Core War. Later references seem to use Core Wars. I prefer "Core War" to refer to the game in general, "core wars" to refer to more than one specific battle. ---------------------------------------------------------------------- Q 3: Where can I find more information about Core War? A 3: Core War was first described in the "Core War Guidelines" of March, 1984 by D. G. Jones and A. K. Dewdney of the Department of Computer Science at The University of Western Ontario (Canada). Dewdney wrote several "Computer Recreations" articles in "Scientific American" which discussed Core War, starting with the May 1984 article. Those articles are contained in two anthologies: Author: Dewdney, A. K. Title: The Armchair Universe: An Exploration of Computer Worlds Published: New York: W. H. Freeman (c) 1988 ISBN: 0-7167-1939-8 Library of Congress Call Number: QA76.6 .D517 1988 Author: Dewdney, A. K. Title: The Magic Machine: A Handbook of Computer Sorcery Published: New York: W. H. Freeman (c) 1990 ISBN: 0-7167-2125-2 (Hardcover), 0-7167-2144-9 (Paperback) Library of Congress Call Number: QA76.6 .D5173 1990 A.K. Dewdney's articles are still the most readable introduction to Core War, even though the Redcode dialect described in there is no longer current (see Q 4). --------------------------------------------------------------------- Q 4: Core War has changed since Dewdney's articles. Where do I get a copy of the current instruction set? A 4: A draft of the official standard (ICWS'88) is available by anonymous FTP from the Core War archives (ftp.csua.berkeley.edu) as pub/corewar/documents/standards/redcode-icws-88.Z This document is formatted awkwardly and contains ambiguous statements. For a more approachable intro to Redcode, take a look at pub/corewar/documents/tutorial.1.Z tutorial.2.Z (See also Q11) Steven Morrell (morrell@math.utah.edu) is preparing a more practically oriented Redcode tutorial that discusses different warrior classes with lots of example code. Mail him for a preliminary version. Michael Constant (mconst@ ftp.csua.berkeley.edu) is reportedly working on a beginner's introduction. --------------------------------------------------------------------- Q 5: What is ICWS'94? Which simulators support ICWS'94? A 5: There is an ongoing discussion about future enhancements to the Redcode language. A proposed new standard, dubbed ICWS'94, is currently being evaluated. A major change is the addition of "instruction modifiers" that allow instructions to modify A-field, B-field or both. Also new is a post-increment indirect addressing mode and unrestricted opcode and addressing mode combination ("no illegal instructions"). ICWS'94 is backwards compatible; i.e. ICWS'88 warriors will run correctly on an ICWS'94 system. Take a look at the ICWS'94 draft for more information (ftp.csua.berkeley.edu pub/corewar/documents/icws94.0202.Z). You can try out the new standard by submitting warriors to the '94 hills of the KotH servers (see Q16). Two corewar systems currently support ICWS'94, pMARS (various platforms) and Redcoder (Mac), both available at soda (see Q12). --------------------------------------------------------------------- Q 6: What is the ICWS? A 6: About one year after Core War first appeared in Sci-Am, the "International Core War Society" (ICWS) was established. Since that time, the ICWS has been responsible for the creation and maintenance of Core War standards and the running of Core War tournaments. There have been six annual tournaments and two standards (ICWS'86 and ICWS'88). --------------------------------------------------------------------- Q 7: What is TCWN? A 7: Since March of 1987, "The Core War Newsletter" (TCWN) has been the official newsletter of the ICWS. It is published quarterly and recent issues are also available as Encapsulated PostScript on ftp.csua.berkeley.edu (see Q9). --------------------------------------------------------------------- Q 8: How do I join? A 8: For more information about joining the ICWS (which includes a subscription to TCWN), or to contribute an article, review, cartoon, letter, joke, rumor, etc. to TCWN, please contact: Jon Newman 13824 NE 87th Street Redmond, WA 98052-1959 email: jonn@microsoft.com (Note: Microsoft has NO affiliation with Core War. Jon Newman just happens to work there, and we want to keep it that way!) Current annual dues are $15.00 in US currency. ---------------------------------------------------------------------- Q 9: Are back issues of TCWN available? A 9: Recent issues can be found on ftp.csua.berkeley.edu (see Q11). Older issues (up to Winter 1991) are also available (see the next TCWN for details). --------------------------------------------------------------------- Q10: What is the EBS? A10: The Electronic Branch Section (EBS) of the ICWS is a group of Core War enthusiasts with access to electronic mail. There are no fees associated with being a member of the EBS, and members do reap some of the benefits of full ICWS membership without the expense. For instance, the ten best warriors submitted to the EBS tournament are entered into the annual ICWS tournament. All EBS business is conducted in the rec.games.corewar newsgroup. The current goal of the EBS is to be at the forefront of Core War by writing and implementing new standards and test suites (see Q 5). ---------------------------------------------------------------------- Q11: Where is the Core War archive? A11: Many documents such as the guidelines and the ICWS standards along with previous tournament Redcode entries and complete Core War systems are available via anonymous ftp from ftp.csua.berkeley.edu (128.32.43.51) in the /pub/corewar directories. Also, most of past rec.games.corewar postings (including Redcode source listings) are archived there. Jon Blow (blojo@ftp.csua.berkeley.edu) is the archive administrator. When uploading to /pub/corewar/incoming, ask Jon to move your upload to the appropriate directory and announce it on the net. Much of what is available on soda is also available on the German archive at iraun1.ira.uka.de (129.13.10.90) in the /pub/X11/corewars directory. This FAQ is automatically archived by news.answers. See the header for the current archive name and news.answers for how to get it. ---------------------------------------------------------------------- Q12: Where can I find a Core War system for . . . ? A12: Core War systems are available via anonymous ftp from ftp.csua.berkeley.edu in the pub/corewar/systems directory. Currently, there are UNIX, IBM PC-compatible, Macintosh, and Amiga Core War systems available there. It is a good idea to check pub/corewar/incoming for program updates first. CAUTION! There are many, many Core War systems available which are NOT ICWS'88 (or even ICWS'86) compatible available at various archive sites other than ftp.csua.berkeley.edu. Generally, the older the program - the less likely it will be ICWS compatible. Reviews of Core War systems would be greatly appreciated in the newsgroup and in the newsletter. Below is a not necessarily complete or up-to-date list of what's available at soda: MADgic41.lzh - corewar for the Amiga, v4.1 MAD4041.lzh - older version? MAD50B.lha - corewar for the Amiga, beta version 5.0 Redcoder-21.hqx - corewar for the Mac, supports ICWS'88 and '94 core-11.hqx - corewar for the Mac core-wars-simulator.hqx - same as core-11.hqx? corewar_unix_x11.tar.Z - corewar for UNIX/X-windows, ICWS'86 but not ICWS'88 compatible koth31.tar.Z - corewar for UNIX/X-windows. This program ran the former KotH server at intel.com koth.shar.Z - older version kothpc.zip - port of older version of KotH to the PC deluxe20c.tar.Z - corewar for UNIX (broken X-windows or curses) and PC mars.tar.Z - corewar for UNIX, likely not ICWS'88 compatible icons.zip - corewar icons for MS-Windows macrored.zip - a redcode macro-preprocessor (PC) c88v49.zip - PC corewar, textmode display mars88.zip - PC corewar, graphics mode display corwp302.zip - PC corewar, textmode display, slowish mercury2.zip - PC corewar written in assembly, fast! mtourn11.zip - tournament scheduler for mercury (req. 4DOS) pmars06s.zip - portable system, ICWS'88 and '94, runs on UNIX, PC, Mac, Amiga. C source archive pmars06s.tar.Z - same as above pmars062.zip - PC executables with graphics display, req 386+ macpmars02.sit.hqx - pMARS executable for Mac (port of version 0.2) buggy, no display MacpMARS.10.cpt.hqx - port of v0.6 for the Mac, with display and debugger MacpMARS.10s.cpt.hqx - C source (MPW, ThinkC) for Mac frontend ApMARS03.lha - pMARS executable for Amiga (port of version 0.3.1) wincor11.zip - MS-Windows system, shareware ($15) ---------------------------------------------------------------------- Q13: I do not have ftp. How do I get all of this great stuff? A13: There is an ftp email server at ftpmail@decwrl.dec.com. Send email with a subject and body text of "help" (without the quotes) for more information on its usage. If you don't have access to the net at all, send me a 3.5 '' diskette in a self-addressed disk mailer with postage and I will mail it back with an image of the Core War archives in PC format. My address is at the end of this post. ---------------------------------------------------------------------- Q14: I do not have access to Usenet. How do I post and receive news? A14: To receive rec.games.corewar articles by email, join the COREWAR-L list run on the Stormking.Com ListProcessor. To join, send: SUB COREWAR-L FirstName LastName to: LISTPROC@STORMKING.COM You can send mail to corewar-l@stormking.com to post even if you are not a member of the list. Responsible for the listserver is Scott J. Ellentuch (tuc@stormking.com). Another server that allows you to post (but not receive) articles is available. Email your post to rec-games-corewar@cs.utexas.edu and it will be automatically posted for you. ---------------------------------------------------------------------- Q15: When is the next tournament? A15: The ICWS holds an annual tournament. Traditionally, the deadline for entering is the 15th of December. The EBS usually holds a preliminary tournament around the 15th of November and sends the top finishers on to the ICWS tournament. Informal double-elimination tournaments are held frequently among readers of the newsgroup; watch there for announcements or contact me. ---------------------------------------------------------------------- Q16: What is KotH? How do I enter? A16: King Of The Hill (KotH) is an ongoing Core War tournament available to anyone with email. You enter by submitting via email a Redcode program with special comment lines. You will receive a reply indicating how well your program did against the current top twenty programs "on the hill". Your program will play 100 battles against each of the 20 other programs currently on the Hill. You receive 3 points for each win and 1 point for each tie. (The existing programs do not replay each other, but their previous battles are recalled.) All scores are updated to reflect your battles and all 21 programs are ranked from high to low. If you are number 21 you are pushed off the Hill, if you are higher than 21 someone else is pushed off. The original KotH was developed and run by William Shubert at Intel, and discontinued after almost three years of service. Currently, KotHs based on Bill's UNIX scripts but offering a wider variety of hills are are running at two sites: "koth@stormking.com" is maintained by Scott J. Ellentuch (tuc@stormking.com) and "pizza@ecst.csuchico.edu" by Thomas H. Davies (sd@ecst.csuchico.edu). Both KotHs provide very similar services and are therefore covered together. The principal difference is that "pizza" has a much faster internet connection than "stormking". Entry rules for King of the Hill Corewar: 1) Write a corewar program. KotH is fully ICWS '88 compatible, EXCEPT that a comma (",") is required between two arguments. 2) Put a line starting with ";redcode" at the top of your program. This MUST be the first line. Anything before it will be lost. If you wish to receive mail on every new entrant, use ";redcode verbose". Otherwise you will only receive mail if a challenger makes it onto the hill. Use ";redcode quiet" if you wish to receive mail only when you get shoved off the hill. (Also, see 5 below). Additionally, adding ";name " and ";author " will be helpful in the performance reports. Do NOT have a line beginning with ";address" in your code; this will confuse the mail daemon and you won't get mail back. In addition, it would be nice if you have lines beginning with ";strategy" that describe the algorithm you use. There are currently six separate hills you can select by starting your program with ;redcode, ;redcode-x, ;redcode-icws, ;redcode-b, ;redcode-94, or ;redcode-94x. More information on these hills is listed below. 3) Mail this file to "koth@stormking.com" or "pizza@ecst.csuchico.edu". "Pizza" requires a subject of "koth" (use the -s flag on most mailers). 4) Within a few minutes (or the next day for "stormking") you should get mail back telling you whether your program assembled correctly or not. If it did assemble correctly, sit back and wait; if not, make the change required and re-submit. 5) In an hour or so (or the next day for "stormking") you should get more mail telling you how your program performed against the current top 20 programs. If no news arrives during that time, don't worry; entries are put in a queue and run through the tournament one at a time. A backlog may develop. Be patient. If your program makes it onto the hill, you will get mail every time a new program makes it onto the hill. If this is too much mail, you can use ";redcode quiet" when you first mail in your program; then you will only get mail when you make it on the top 20 list or when you are knocked off. Using ";redcode verbose" will give you even more mail; here you get mail every time a new challenger arrives, even if they don't make it onto the top 20 list. Often programmers want to try out slight variations in their programs. If you already have a program named "foo V1.0" on the hill, adding the line ";kill foo" to a new program will automatically bump foo 1.0 off the hill. Just ";kill" will remove all of your programs when you submit the new one. The server kills programs by assigning an impossibly low score; it may therefore take another successful challenge before a killed program is actually removed from the hill. SAMPLE ENTRY: ;redcode ;name Dwarf ;author A. K. Dewdney ;strategy Throw DAT bombs around memory, hitting every 4th memory cell. ;strategy This program was presented in the first Corewar article. bomb DAT #0 dwarf ADD #4, bomb MOV bomb, @bomb JMP dwarf END dwarf ; Programs start at the first line unless ; an "END start" pseudo-op appears to indicate ; the first logical instruction. Also, nothing ; after the END instruction will be assembled. Here are the Specs for the various hills: ICWS'88 Standard Hill Specs: (Accessed with ";redcode", available at "stormking" and "pizza") coresize: 8000 max. processes: 8000 duration: after 80,000 cycles, a tie is declared. max. entry length: 100 minimum distance: 100 instruction set: ICWS '88 ICWS Annual Tournament Hill Specs: (Accessed with ";redcode-icws", available at "stormking" only) coresize: 8192 instructions max. processes: 8000 per program duration: After 100,000 cycles, a tie is declared. max. entry length: 300 minimum distance: 300 instruction set: ICWS '88 ICWS'88 Experimental (Small) Hill Specs: (Accessed with ";redcode-x", available at "pizza" only) coresize: 4096 max. processes: 32 duration: after 65,536 cycles, a tie is declared. max. entry length: 64 minimum distance: 64 instruction set: ICWS '88 ICWS'94 Draft Hill Specs: (Accessed with ";redcode-94", available at "stormking" and "pizza") coresize: 8000 max. processes: 8000 duration: after 80,000 cycles, a tie is declared. max. entry length: 100 minimum distance: 100 instruction set: ICWS '94 Draft ICWS'94 Beginner's Hill Specs: (Accessed with ";redcode-b", available at "pizza" only) coresize: 8000 max. processes: 8000 duration: after 80,000 cycles, a tie is declared. max. entry length: 100 minimum distance: 100 instruction set: ICWS '94 Draft ICWS'94 Experimental (Big) Hill Specs: (Accessed with ";redcode-94x", available at "stormking" and "pizza") coresize: 55440 max. processes: 10000 duration: after 500,000 cycles, a tie is declared. max. entry length: 200 minimum distance: 200 instruction set: ICWS '94 Draft If you just want to get a status report without actually challenging the hills, send email with ";status" as the message body (and don't forget "Subject: koth" for "pizza"). If you send mail to "pizza" with "Subject: koth help" you will receive instructions that may be more up to date than those contained in this document. All hills run portable MARS (pMARS) version 0.6, a platform-independent corewar system available at soda (see Q12). The '94 and '94x hills allow three experimental opcodes and addressing modes currently not covered in the ICWS'94 draft document: SEQ - Skip if EQual (synonym for CMP) SNE - Skip if Not Equal NOP - (No OPeration) * - indirect using A-field as pointer { - predecrement indirect using A-field } - postincrement indirect using A-field ---------------------------------------------------------------------- Q17: Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? A17: Core is initialized to DAT 0, 0. This is an "illegal" instruction under ICWS'88 rules and strictly compliant assemblers (such as KotH or pmars -8) will not let you write a DAT 0, 0 instruction - only DAT #0, #0. So this begs the question, how to compare something to see if it is empty core. The answer is, most likely the instruction before your first instruction and the instruction after your last instruction are both DAT 0, 0. You can use them, or any other likely unmodified instructions, for comparison. Note that under ICWS'94, DAT 0, 0 is a legal instruction. ---------------------------------------------------------------------- Q18: How does SLT (Skip if Less Than) work? A18: SLT gives some people trouble because of the way modular arithmetic works. It is important to note that all negative numbers are converted to positive numbers before a battles begins. Example: (-1) becomes (M - 1) where M is the memory size. Once you realize that all numbers are treated as positive, it is clear what is meant by "less than". It should also be clear that no number is less than zero. ---------------------------------------------------------------------- Q19: What does (expression or term of your choice) mean? A19: Here is a selected glossary of terms. If you have a definition and/or term you wish to see here, please send it to me. (References to an X-like program mean that the term X is derived from the specific program X and has become a generic term). Bootstrapping - Strategy of copying the active portion of the program away from the initial location, leaving a decoy behind and making the relocated program as small as possible. B-Scanners - Scanners which only recognize non-zero B-fields. example add #10,scan scan jmz example,10 C - Measure of speed, equal to one location per cycle. Speed of light. CMP-Scanner - A Scanner which uses a CMP instruction to look for opponents. example add step,scan scan cmp 10,30 jmp attack jmp example step dat #20,#20 Color - Property of bombs making them visible to scanners, causing them to attack useless locations, thus slowing them down. example dat #100 Core-Clear - code that sequentially overwrites core with DAT instructions; usually the last part of a program. Decoys - Bogus or unused instructions meant to slow down Scanners. Typically, DATs with non-zero B-fields. DJN-Stream (also DJN-Train) - Using a DJN command to rapidly decrement core locations. example . . . . . . djn example,<4000 Dwarf - the prototypical small bomber. Gate-busting - (also gate-crashing) technique to "interweave" a decrement-resistant imp-spiral (e.g. MOV 0, 2668) with a standard one to overrun imp-gates. Hybrids - warriors that combine two or more of the basic strategies, either in sequence (e.g. stone->paper) or in parallel (e.g. imp/stone). Imp - Program which only uses the MOV instruction. example MOV 0, 1 or example MOV 0, 2 MOV 0, 2 Imp-Gate - A location in core which is bombed or decremented continuously so that an Imp can not pass. Also used to describe the program-code which maintains the gate. example ... ... SPL 0, Subject: How learn ? Hy... How can I learn Corewar ??? Where could I find much information ? Andy PGP 2.6.2 public key on demand.