From news-rocq.inria.fr!jussieu.fr!math.ohio-state.edu!cs.utexas.edu!swrinde!news-res.gsl.net!news.gsl.net!nntp.coast.net!news.kei.com!newsfeed.internetmci.com!netnews.nwnet.net!mule.fhcrc.org!news Mon Aug 5 11:39:24 1996 Article: 5730 of rec.games.corewar Path: news-rocq.inria.fr!jussieu.fr!math.ohio-state.edu!cs.utexas.edu!swrinde!news-res.gsl.net!news.gsl.net!nntp.coast.net!news.kei.com!newsfeed.internetmci.com!netnews.nwnet.net!mule.fhcrc.org!news From: Ross Morgan-Linial Newsgroups: rec.games.corewar Subject: Here's Versatility Date: Sat, 03 Aug 1996 17:43:09 -0700 Organization: Fred Hutchinson Cancer Research Center Lines: 136 Message-ID: <3203F21D.2FD@fhcrc.org> NNTP-Posting-Host: port02-rem.fhcrc.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 2.0 (Win16; I) Okay, I got bored... so I'm posting Versatility 1.5. The switcher is the only original part. The components were taken from successful pspacers. The switcher is a lot more versatile than the way I've used it, and the table could probably (no, could definitely) be compacted. Comments, suggestions, etc. are appreciated. ---cut here--- ;redcode-94 ;name Versatility 1.5 ;author Ross Morgan-Linial ;assert CORESIZE==8000 ;strategy brainwash-resistant table-based ;strategy pspacer with a scanner from Chameleon, a ;strategy paper from Grilled Octopus and tornado 3.0 ;strategy ;strategy I decided the version of tornado from ;strategy Armory was weak... ;kill Versatility ; scanner, stolen from Chameleon dist EQU 66 spread EQU dist*2 stun spl #spread, spread w2 top add stun, scan ;start here scan cmp dist+top, top slt.ab #100, scan djn.f top, <5100 mov sjump, @scan mov stun, w2 on loss DAT #toffs+0, #w1-jump ;w1->w1 on win DAT #toffs+3, #w2-jump ;w1->w2 on tie DAT #toffs+6, #w3-jump ;w2->w3 on loss DAT #toffs+3, #w2-jump ;w2->w2 on win DAT #toffs+3, #w2-jump ;w2->w2 on tie DAT #toffs+0, #w1-jump ;w3->w1 on loss DAT #toffs+6, #w3-jump ;w3->w3 on win endtab DAT #toffs+3, #w2-jump ;w3->w2 on tie ;w1, w2, and w3 (boot points) go here ;paper module, stolen from Grilled Octopus ;non-booted (of course) dest0 equ 2200 dest1 equ 3740 dest2 equ -1278 ; pmars optimized range equ 933 ; pmars optimized w3 paper SPL.B 1, #0 ;\ SPL.B 1, #0 ;-> generate 8 processes SPL.B 1, #0 ;/ silk SPL.B @0, {dest0 MOV.I }-1, >-1 silk1 SPL.B @0, -1 MOV.I ibomb, }range MOV.I {silk1, dest2 ibomb DAT.F <2667, <5334 ;tornado, stolen from Armory-A5 dms equ 25 dmd equ -2500 step equ -45 djnoff equ -2205 bootd equ 1000 ;changed, for my protection B equ 24 ;boot (mine) dta dat gate, gate+bootd w1 mov }dta, >dta djn -1, #8 add.ab #B, dta mov }dta, >dta djn -1, #9 jmp bombs+bootd+B gate dat -100, 100 dat <-10, <2667 ;anti imp bit dat -4000, djmp-gate+2 stclr spl #-3000, djmp-gate+2 tclear mov @djmp, >gate mov @djmp, >gate djmp djn.b clear, {stclr dat 0,0 dat 0,0 bombs spl #step, -step ;hit spl start1 sub incr, @b1 stone mov (0*step)+jump2,*(1*step)+jump2 b2 mov bombs, @stone b1 mov bombm, *stone jump2 djn.f start1, -3*step,>-3*step last bombm mov {step, 1 end start