From news-rocq.inria.fr!jussieu.fr!oleane!news-raspail.gip.net!news-stkh.gip.net!news.gsl.net!gip.net!newsfeed1.funet.fi!128.214.205.17.MISMATCH!news.helsinki.fi!vesuri.Helsinki.FI!jpihlaja Thu Jun 18 11:07:49 1998 Article: 9201 of rec.games.corewar Path: news-rocq.inria.fr!jussieu.fr!oleane!news-raspail.gip.net!news-stkh.gip.net!news.gsl.net!gip.net!newsfeed1.funet.fi!128.214.205.17.MISMATCH!news.helsinki.fi!vesuri.Helsinki.FI!jpihlaja From: M Joonas Pihlaja Newsgroups: rec.games.corewar Subject: Silccon & Blurstone Date: Wed, 17 Jun 1998 21:31:17 +0300 Organization: University of Helsinki Lines: 324 Message-ID: Reply-To: M Joonas Pihlaja NNTP-Posting-Host: vesuri.helsinki.fi Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Sender: jpihlaja@vesuri.Helsinki.FI I'm starting my vacation tomorrow, so I thought that it would be a good idea to post some code. Silccon's clear is derived from kill-9, Harquebus, and Clisson. The object was to create a clear that could do pretty well against the imp/stones. Of course this isn't enough to keep it on the hill, so I did that which is looked upon badly these days: I pspaced the clear with a stone (from CW65) and a scanner. I wanted to create a small scanner with a spiral clear, since The Fugitive and ROROTJ were riding pretty high then. Everything I came up with looked more like Memories than a small scanner, so I went looking for some ideas. I found "There May Still Be Some Bugs In This" by Anton M. and used that as a starting point to create my own scanner with spiral clear. I 'improved' There may still... quite a lot and found out that I couldn't do it. I suspect this is just due to lack of imagination on my part :) Anyway, There may still... is completely intact in Silccon, no changes made... well except it has been reverse engineered and rewritten to be exactly the same. BTW: Of the imp/stones on the hill, Alien is one of the few ones that kick Silccon. Should have kept my mouth shut about Carbonite ;) The stone is mainly there to give Silccon some protection from the onslaught of scanners I was expecting as there was/is a lot of paper on the hill. When Freightrain 0.2 was submitted to the hill Silccon was king!! Then Espiritu submitted something (was it 0 by 0 :) and knocked it back from top spot. I became unhappy pretty quick. Anyway, Espiritu was working on Eraser at that time and I had been thinking about how to incorporate Ivners' scanning/stone engine into a scanner. Eraser put me thinking that the scanner/stone was well suited to be put into Blur. So Blurstone is the result. It doesn't do that well against most papers since it's scanning phase is quite short. Fire & Ice solves this really nicely. The scanning is _almost_ as effective as a cmp scan, but as it recognises djn streams and other such things it isn't. Also, if the hi pointer points at a non-zero b-field word that has a dat 0,0 right below it, then the scanner won't be triggered if the low pointer points to dat 0,0. i.e. if we hit the bottom of some code :( Hellos to Leapfrog and friends :) Joonas ;redcode-94 verbose ;name Silccon ;author M. J. Pihlaja ;strategy Trying to regain some foothold on the hill. ;strategy Switch a scanner, a clear, and a stone. ;strategy I'll tinker some more later. ;assert CORESIZE==8000 load0 z for 0 rof ;***** There may still be some bugs in this ;***** ; ; SDIST equ 1650 sboot mov clptr pscan jmz.f scan , @scan slt scan , #send+1-scan chg mov.i @pscan , @mv chk jmn scan , scan mov.f dclr , >chk djn.f kdst mov b , >kdst ksrc spl @kdst , clear mov >ksrc , >kdst mov >ksrc , >kdst mov >ksrc , >kdst mov >ksrc , >kdst djn ksrc , #2 kdst div.f #0 , load0+KDIST+gate-clear z for 7 dat 0 , 0 rof ; Clobbers most 3-pt stone/imps. gateins spl #0 , clend+2 gate equ (clear-5) ; dat 0 , 0 ; dat 0 , 0 ; dat <-2666 , <2667 b dat <-2666 , <2667 clear spl #0 , gate mov b , >gate djn.f -1 , {gate spl #0 , gate mov b , >gate djn.f -1 , {gate clend z for 6 dat 0 , 0 rof ;***** Stone ;***** ; ; Alladin-like stone picked up from CW 65 ; stboot mov Stone+2 , cptr sp sub step , @scan sptr mov -5-(N*STEP)+x, <1-(N*STEP)+x scan jmz.f -3 , gate djn.f -1 , >gate bdat dat >5335 , bdat+3-gate z for 25 dat 0 , 0 rof DIST equ (scan-load0+1504) boot mov >src , >dst mov >src , >dst mov >src , >dst mov >src , >dst mov >src , >dst djn boot , #2 sub #7 , dst src spl @dst , cptr dst div.f #0 , #load0+DIST z for 20 dat 0 , 0 rof ; decoy and crude brainwash with spl/stp pairs z for 4 spl #1 , }1 stp.a #CORESIZE/32, #1 spl #1 , {1 stp.a #CORESIZE/32, #1 spl.a #1 , }1 stp.a #1 , #1 spl.a #1 , {1 stp.a #0 , #1 rof end boot