From news-rocq.inria.fr!jussieu.fr!math.ohio-state.edu!howland.reston.ans.net!newsfeed.internetmci.com!newsxfer2.itd.umich.edu!news.itd.umich.edu!ren.us.itd.umich.edu!not-for-mail Mon Feb 19 11:15:10 1996 Article: 3901 of rec.games.corewar Path: news-rocq.inria.fr!jussieu.fr!math.ohio-state.edu!howland.reston.ans.net!newsfeed.internetmci.com!newsxfer2.itd.umich.edu!news.itd.umich.edu!ren.us.itd.umich.edu!not-for-mail From: jklewis@ren.us.itd.umich.edu (John K. Lewis) Newsgroups: rec.games.corewar Subject: Int Tourney Date: 19 Feb 1996 01:20:59 GMT Organization: University of Michigan Lines: 103 Message-ID: <4g8j9r$5gr@lastactionhero.rs.itd.umich.edu> NNTP-Posting-Host: ren.us.itd.umich.edu X-Newsreader: TIN [UNIX 1.3 950824BETA PL0] The Intelligent Warrior Tournament v1.0 The subject of intelligent warriors often revolves around the idea that programs don't need to be intelligent to win. The reason for this is fairly simply, the core is very forgiving. There is little need for intelligence if the only thing you can break in core is the other program. This isn't true in most computers. Most computers need an operating system. Programs might act a little smarter if there was an OS in core. The rules are fairly straight forward, they are exactly the same as the 94 hill on Pizza, with one small exeption: RedOS. The RedOS is a simulated operating system which resides somewhere in core with the two combatants. Should the RedOS die, for any reason, the computer will "crash". Scoring goes something like this. Points | Condition 3 Program kills opposing program and kept OS alive. 1 Program, opponent, and OS live. 0 Program dies, opponent and OS live. -3 OS dies. Below you will find a listing for the RedOS. Bear in mind that the RedOS is dynamic. It makes several calls to P-Space and uses these numbers for internal checks. ;redcode-94 ;name RedOS ;author jkl org start version equ 2,0 head dat CORESIZE,CORESIZE-toe ;CORESIZE, CORESIZE-OS dat version input dat 0,0 start ldp #0,#0 ; last state request sne.b start,#-1 ; check for start up jmp cold ; goto cold_boot sne.b start,#0 ; check for error after hard crash jmp error ; goto error stp #1,#1 wait jmz 0,input ; wait for input sne input,#1 ; check for run jmp run ; sne input,#2 ; check for user clear jmp clear sne input,#3 ; user cold boot jmp cold mov clean,input jmp error jmp wait ; future function go here error ldp #1,#0 ; load previous error count add #1,error stp.b -2,#1 ; store error codes slt.b #10,error jmp wait clear mov.b head,2 mov clean,>toe ; clear memory djn -1,#0 mov.ab #1,toe mov fix,head ; bug fix mov clean,input jmp wait ; goto wait cold stp #0,#1 ; clean error count mov clean,input jmp wait run spl *input mov clean,input jmp wait fix dat CORESIZE,CORESIZE-toe+head ;CORESIZE, CORESIZE-OS clean dat 0,0 toe dat 1,1 ;----------end os---------- The tournament rules: One program person. Programs should be mailed to jklewis@umich.edu before 3/5/96. The tournament will be round robin style. Results will be given on rec.games.corewars as soon as they are completed. If you have further questions feel free to contact me at the address above. John K. Lewis ------------------------------------------------------------------------------ John K. Lewis John's sig.virus; copy me! http://www.us.itd.umich.edu/~jklewis