From corewar-l@stormking.com Sat Mar 9 02:04:35 1996 Received: by couchey.inria.fr (5.57/Ultrix3.0-C) id AA11446; Sat, 9 Mar 96 02:04:35 +0100 Received: from uu3.psi.com (uu3.psi.com [38.145.250.2]) by nez-perce.inria.fr (8.7.1/8.7.1) with SMTP id CAA25066 for ; Sat, 9 Mar 1996 02:04:33 +0100 (MET) Received: by uu3.psi.com (5.65b/4.0.940727-PSI/PSINet) via UUCP; id AA27043 for ; Fri, 8 Mar 96 19:11:18 -0500 Received: from (server@localhost [127.0.0.1]) by valhalla.stormking.com (8.6.12/8.6.12) with SMTP id SAA13247; Fri, 8 Mar 1996 18:34:03 -0500 Date: Fri, 8 Mar 1996 18:34:03 -0500 Message-Id: Errors-To: tuc@stormking.com Reply-To: ah228@traverse.lib.mi.us Originator: corewar-l@stormking.com Sender: corewar-l@stormking.com Precedence: bulk From: "Brian Haskin Jr." To: Multiple recipients of list Subject: RE: inteligent tourney X-Listprocessor-Version: 6.0b -- ListProcessor by Anastasios Kotsikonas X-Comment: Usenet News "rec.games.corewar" I really liked getting ready for this tournament. I thought that most of the programs would be some sort of scanner. The one thing I figured that I wouldn't run into was paper. Any way the program I ended up with was a cmp scanner with the redos as a decoy that I spl to because I didn't think that any one would shoot at it. Any tips on what might have made it better would be appreciated. Although I have a feeling from the way that this tournament went that future one's may be ruled by vamp's. Well here's viralOS. ;redcode ;name viralOS ;author Brian Haskin ;strategy Not many will shoot at the real thing. I hope. ;strategy cmp scanner + OS org virus version equ 2,0 STEP equ 218 DIST equ 96 FIRST equ 100 virus spl start spl code mov 2,>1 jmp -1,#-3 ;leave as little code behind as possible for 10 dat 0,0 rof code add inc,1 ;make a scanner that will kill scan cmp.f FIRST,FIRST+DIST ;everything but the real os, hopefully. slt #toe+DIST+1,scan jmp code seq @scan,wait mov bomb,@scan sne *scan,wait jmp dbl mov bomb,*scan jmp code for 7 dat 0,0 rof dbl mov.a scan,chk ;must be 17 instructions between scan chk seq 10,wait+17 ;and chk for number to end up right mov bomb,*scan ;this saved one add instruction jmp code bomb dat 0,0 for 10 dat 0,0 rof inc dat STEP,STEP for 13 dat 0,0 rof 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,inpu 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, toe dat 1,1 end Looking forward to the next tourney. Brian Haskin