Path: ibmpcug!wendy.ibmpcug.co.uk!pipex!howland.reston.ans.net!swrinde!gatech!newsxfer.itd.umich.edu!newsrelay.iastate.edu!dunix.drake.edu!acad.drake.edu!pk6811s From: pk6811s@acad.drake.edu Newsgroups: rec.games.corewar Subject: Re: Scanner... Date: 11 Mar 95 21:58:22 CST Organization: Drake University, Des Moines, Iowa Lines: 66 Distribution: world Message-ID: <1995Mar11.215822@acad.drake.edu> References: <3jirar$nei@alpha.wright.edu> NNTP-Posting-Host: acad.drake.edu In article <3jirar$nei@alpha.wright.edu>, emoyer@valhalla.cs.wright.edu (Eric Moyer) writes: > What is a qscanner. What is the basic algorithm that they use. I know what > a bomber, an imp ring (or spiral), and a replicator are. But the FAQ and > the literature on soda don't mention much but the name for scanners. Before quick-scanners there were two basic kinds, cmp-scanners and b-scanners. A cmp-scanner uses the CMP instruction to compare two locations in core. If they are not equal it proceeds to attack one or both locations, usually with some kind of spl-bomb. A b-scanner uses a JMN instruction to check the b-field of a core-location for zero. B-scanners suffered somewhat from author's deliberately making b-fields zero to shield them from detection. Under '94 rules b-scanners are turned into f-scanners, making them much more difficult to fool. A basic cmp-scanner algorithm is Charon: ;redcode ;name Charon v8.0 ;kill Charon ;author Cisek,Strack,Kline ;strategy cmp-scanner, using spl-jmp bomb and imp-killing step ;strategy (extensive history deleted <- PK) STEP equ 164 ;scan constants: DIST equ 82 ;small, so can be reused in core clear DJNOFF equ decr-DIST FIRST equ DJNOFF+794 ;optimal offset to DJN train attack add switch,@compptr ;switch A- and B-fields mov jump,@comp compptr mov split,