Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Shamu!

7 views
Skip to first unread message

ia...@admin.drake.edu

unread,
Oct 30, 2006, 6:01:06 PM10/30/06
to
(Sorry if this is a duplicate, Google seems to be having problems)

Shamu begins with a coarse scan of core, if something is found it is
assumed to be startup code. It backs up to the beginning of the code
and begins examining a-fields (A) (you could also examine b-fields).
If 100 < A < 7900 it lays down a spl-carpet wherever A is pointing. The
100-7900 bracket is used to keep Shamu from garbling the startup code
itself. After examining 100 locations, or if nothing was found in the
coarse scan, Shamu begins a Geist-style ssd clear.

Simple, but it is a big program. The redirection logic is hard to do.
There are a couple neat tricks in Shamu that I do not want to reveal
just yet, hoping they will be useful in another large warrior.

For an early reference to boot-pointer picking I refer you to:
http://groups.google.com/group/rec.games.corewar/browse_frm/thread/4d259b7fbb6c2a88/6cce5721d5affbfb?lnk=gst&q=pointers+pk6811s&rnum=1#6cce5721d5affbfb

Also:
http://groups.google.com/group/rec.games.corewar/browse_frm/thread/e11a05341691c1f2/a10aaf22de806929?lnk=st&q=eclipse+pk6811s&rnum=1#a10aaf22de806929

Boot pointer wiping was in vogue for a while but appears to have been
forgotten. Shamu looks to be on the 94nop hill for a while, most of
the older warriors seem to have left a-pointers in their startup code.
Of course the authors could update them :-)

Also, "Nitro Step, BOO!" on the 94 hill is the same program as Shamu on
94nop, the name is an anagram of "boot pointers".

Happy Halloween to you all!

P. Kline

Roy

unread,
Oct 31, 2006, 7:42:45 AM10/31/06
to
Ah, very nice! Thats a cool idea, something you don't see very often.
It reminds me of the anti-qscan I tried to make some years ago (with
somebody on irc...you?)

The idea was: The biggest part of warriors now are the qscan tables, so
our anti-qscan-qscan, when it finds something scans the line it found.
If the A-field is between -100 and 0 (inside the qscan it means> the
real start of the warrior!) and starts bombing there. But it was too
complicated to work :(

You could also try to save the boot distance in P-space and use it in
the qscanner you might have for the 94draft hill.

Also a bomber with indirect bombing is also a fun thing to try, the
only problem is self-bombing...:
Something like this (very slow...0.28c):

bStep equ 12
bOffset equ -2

sPtr mov sSpl , *bOffset
mov sSpl , @-1
sAdd add.ab #bStep*2 , sPtr
mov.ab @sPtr , sCheck
add.b sPtr , sCheck
sCheck slt.ba #30 , #10 ;selfbomb check
jmp sPtr
djn.b sAdd , #10 ;10 selfbombs

jmp 0 , 0 ;endgame
dat 0 , 0
dat 0 , 0
dat 0 , 0

sSpl spl #bStep

0 new messages