Flashback to the 70's: "These are cola nuts... these are un-cola nuts..."
(fyi, actor/dancer/director Geoffrey Holder passed away on October 5 this year)
Unpit is a streamlined version of TearsOfNu. Instead of jumping to a djn it jumps directly to the pit which is a dat 0,0 - the 'unpit'. Executing a fang increments the unpit which triggers the ssd wipe. If you are a single-process warrior you will arrive before the wipe and die, if you are slow like paper the unpit will be spl-wiped before you arrive and you will be trapped.
Examining recently published vampires showed a difference in the ssd-clears. Some use } and some use >. The first is more effective against a-imps and the second against b-imps. The 94nop hill currently holds 2 silks with b-imps, and several stones with a-imps, so you have to choose which to suffer most. Looking at the big array at
koth.org you can easily tell which vamps are using which form of clear and which imps are in play. Neither is really good at killing imps but there is a clear difference.
After much testing and dithering I finally concluded that a 3-line wiper is not more effective than a 2-line one so eliminated one of the mov lines.
Before this week I was using a step-size that was picked after a short optimization run. Today I found better steps! One of them is on the hill, and another is here:
;redcode-94nop
;name Unpit
;kill Unpit
;author P. Kline
;assert 1==1
;strategy vamping with unpit
step equ 7389
first equ (unpit+step*491)
vamp sub.x incr ,}unpit
mov fang ,*fang
mov {unpit ,@fang
jmz.f 0 ,unpit
jmp wipes ,<wipeg
for 11
dat 0 ,0
rof
wipeg dat 0 ,0
wiped dat 1 ,#8
wipes spl #3600 ,#wipen-wipeg
mov *wiped ,>wipeg
mov *wiped ,>wipeg
djn.f -2 ,}wipes
dat 0 ,0
wipen dat 0 ,0
for 88-CURLINE
dat 0 ,0
rof
fang jmp >unpit-first ,>first
unpit dat 0 ,0
incr dat #step ,#-step
for 5
dat 0 ,0
rof
ps equ (2916)
airbag spl 2 ,{unpit+ps+step
spl 1 ,{unpit+ps+step*2
djn.f {vamp+3 ,{unpit+ps
end airbag